JFFS2 FS is read-only (not what I want)
On Monday 03 July 2006 22:12, Ben Warren wrote: > On Mon, 2006-07-03 at 15:38 -0400, Ben Warren wrote: > > This is starting to look to me like a generation-time issue. I built > > another JFFS2 partition out of a random directory on my workstation, and > > it's behaving properly: > > Sorry for filling people's inboxes, but it turns out the problem was > between the chair and keyboard. arf ! computer hardly ever suffer this problem :) >My JFFS2 partition was slightly less > than 2MB, which I guess decompresses to > 2 MB, filling up the > partition. I must have been in the wrong directory when issuing the > 'du' command. On the plus side, I've learned quite a bit about MTD and > JFFS2 going through this exercise! > > regards, > Ben Regards, mathdesc --- I guess this illustrate a difference between knowledge and understanding. The first without second is confusion, the second without first is a miss.
JFFS2 FS is read-only (not what I want)
On Mon, 2006-07-03 at 15:38 -0400, Ben Warren wrote: > This is starting to look to me like a generation-time issue. I built > another JFFS2 partition out of a random directory on my workstation, and > it's behaving properly: Sorry for filling people's inboxes, but it turns out the problem was between the chair and keyboard. My JFFS2 partition was slightly less than 2MB, which I guess decompresses to > 2 MB, filling up the partition. I must have been in the wrong directory when issuing the 'du' command. On the plus side, I've learned quite a bit about MTD and JFFS2 going through this exercise! regards, Ben -- next part -- An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060703/dd75515c/attachment.htm
JFFS2 FS is read-only (not what I want)
Mathieu, > > IMHO, it's not a generation-time issue > This is starting to look to me like a generation-time issue. I built another JFFS2 partition out of a random directory on my workstation, and it's behaving properly: $mkfs.jffs2 -U -d util -b -e 0x2 -o /tftpboot/prism/myutil.img On the target, I booted from NFS and mounted both MTD images. The original one is in /dev/mtdblock4 and the new one is at /dev/mtdblock3: bash-3.00# pwd /tmp bash-3.00# mkdir mnt1 mnt2 bash-3.00# ll total 8 drwxr-xr-x 2 root root 4096 Jul 3 2006 mnt1 drwxr-xr-x 2 root root 4096 Jul 3 2006 mnt2 bash-3.00# mount -t jffs2 -o rw,nolock /dev/mtdblock3 mnt1 bash-3.00# mount -t jffs2 -o rw,nolock /dev/mtdblock4 mnt2 bash-3.00# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/nfs 72054096 13245480 55148432 20% / /dev/mtdblock32048 592 1456 29% /tmp/mnt1 /dev/mtdblock42048 2048 0 100% /tmp/mnt2 As you can see, the new image is working fine. Looks like I need to debug the root FS! Thanks to all people who helped me out here! cheers, Ben
JFFS2 FS is read-only (not what I want)
Hello Ben, On Saturday 01 July 2006 23:13, Ben Warren wrote: > Hello, > > When I boot from a JFFS2 file system on my eval board, the file system > is effectively read-only, and I can't figure out why. I'm pretty sure > the kernel's configured for R/W MTD block access. Any help is greatly > appreciated. > Do you mean that you can't even created a void file on / as root ? Else can you then put for instance text in it ? My point is can or can't you first create a new fs node and then can you write to file your changes, that's two possible causes. > > The hardware in use is: > > Freescale MPC8349EMDS eval board. > 8MB Q-flash with 64 uniform 128k sectors > [...] > # mount > /dev/mtdblock4 on / type jffs2 (rw) > /proc on /proc type proc (rw) > [...] > > I created the MTD partitions in a u-boot image that was pulled from the Yes indeed what about drivers/mtd/maps/physmap.c ? your parts are mask_flags: MTD_WRITEB_WRITEABLE and not MTD_CAP_ROM, aren't they ? > GIT tree about a week ago, and my kernel is 2.6.17-based. I wrote some > board init code that sets the MTD physical mappings. > > Here are the MTD and JFFS2 parts of my .config file: > > *** > # Memory Technology Devices (MTD) > # > CONFIG_MTD=y > # CONFIG_MTD_DEBUG is not set > # CONFIG_MTD_CONCAT is not set > CONFIG_MTD_PARTITIONS=y > # CONFIG_MTD_REDBOOT_PARTS is not set > # CONFIG_MTD_CMDLINE_PARTS is not set > [...] > # CONFIG_JFFS_FS is not set > CONFIG_JFFS2_FS=y Better avoid redundacy but this is not a clue, I guess make won't be fooled by this. > CONFIG_JFFS2_FS_DEBUG=0 > # CONFIG_JFFS2_FS_WRITEBUFFER is not set > # CONFIG_JFFS2_SUMMARY is not set > # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set > CONFIG_JFFS2_ZLIB=y > CONFIG_JFFS2_RTIME=y > # CONFIG_JFFS2_RUBIN is not set > *** > > The file system is the SELF that is included with DENX's ELDK, and built > as at: > http://www.denx.de/wiki/view/DULG/RootFileSystemDesignAndBuilding > > I used the following command to create the file system image, that was > > then loaded at address 0xfe48 via U-boot: > > mkfs.jffs2 -U -d rootfs -D rootfs_device.tab -b -e 0x2 -o jffs2.img > IMHO, it's not a generation-time issue > [...] That's all I have for now. Good luck. Regards, Mathieu Deschamps Com2gether Design Center Electronic and Embedded Engineering Services www.com2gether.net
JFFS2 FS is read-only (not what I want)
Also as a side note, I think even if you unlock your banks/sectors in U-Boot, when the Linux kernel is launched I am not sure if the sectors/banks remain unlocked. You can also use the MTD Utils to unlock the device, erase the device, etc. in the shell. Chetan From: Ben Warren [mailto:[EMAIL PROTECTED] Sent: Monday, July 03, 2006 9:36 AM To: Anantharaman Chetan-W16155 Cc: linuxppc-embedded at ozlabs.org Subject: RE: JFFS2 FS is read-only (not what I want) Chetan, On Mon, 2006-07-03 at 10:18 -0400, Anantharaman Chetan-W16155 wrote: Did you check to see if your flash banks are unlocked? According to U-Boot, only the first four sectors are locked. My JFFS2 partition is in sectors 37-52 (1-based). I'll definitely look more deeply into this, though. thanks, Ben -- next part -- An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060703/ee6cdc5e/attachment.htm
JFFS2 FS is read-only (not what I want)
Chetan, On Mon, 2006-07-03 at 10:18 -0400, Anantharaman Chetan-W16155 wrote: > Did you check to see if your flash banks are unlocked? > According to U-Boot, only the first four sectors are locked. My JFFS2 partition is in sectors 37-52 (1-based). I'll definitely look more deeply into this, though. thanks, Ben -- next part -- An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060703/e83f1de5/attachment.htm
JFFS2 FS is read-only (not what I want)
Mathieu, Thanks for responding! On Mon, 2006-07-03 at 12:42 +0200, Mathieu Deschamps wrote: > > > Do you mean that you can't even created a void file on / as root ? Else > can you then put for instance text in it ? My point is can or can't you > first create a new fs node and then can you write to file your > changes, that's two possible causes. # pwd / # touch newfile touch: newfile: No space left on device # > Yes indeed what about drivers/mtd/maps/physmap.c ? your parts are > mask_flags: MTD_WRITEB_WRITEABLE and not MTD_CAP_ROM, > aren't they ? > My chip is pretty standard NOR type Flash, and gets recognized by CFI as using command set 0001. It gets these flags: #define MTD_CAP_NORFLASH(MTD_CLEAR_BITS|MTD_ERASEABLE) > > *** > > # Memory Technology Devices (MTD) > > # > > CONFIG_MTD=y > > # CONFIG_MTD_DEBUG is not set > > # CONFIG_MTD_CONCAT is not set > > CONFIG_MTD_PARTITIONS=y > > # CONFIG_MTD_REDBOOT_PARTS is not set > > # CONFIG_MTD_CMDLINE_PARTS is not set > > > [...] > > # CONFIG_JFFS_FS is not set > > CONFIG_JFFS2_FS=y > > Better avoid redundacy but this is not a clue, I guess > make won't be fooled by this. > Sorry, what's redundant here? I just used 'make menuconfig', and hopefully it notices incorrect options. > > IMHO, it's not a generation-time issue > > > Good. I'll keep plugging away with my BDI thanks again, Ben -- next part -- An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060703/f79d96c7/attachment.htm
JFFS2 FS is read-only (not what I want)
Did you check to see if your flash banks are unlocked? Chetan Anantharaman Motorola Labs -Original Message- From: [EMAIL PROTECTED] [mailto:linuxppc-embedded-bounces+w16155=email.mot.com at ozlabs.org] On Behalf Of Ben Warren Sent: Saturday, July 01, 2006 4:14 PM To: linuxppc-embedded at ozlabs.org Subject: JFFS2 FS is read-only (not what I want) Hello, When I boot from a JFFS2 file system on my eval board, the file system is effectively read-only, and I can't figure out why. I'm pretty sure the kernel's configured for R/W MTD block access. Any help is greatly appreciated. The hardware in use is: Freescale MPC8349EMDS eval board. 8MB Q-flash with 64 uniform 128k sectors Here are the symptoms: # du -s 265492 .<-- only 265k of data # df Filesystem 1k-blocks Used Available Use% Mounted on /dev/mtdblock42048 2048 0 100% / # mount /dev/mtdblock4 on / type jffs2 (rw) /proc on /proc type proc (rw) Here's what the kernel spits out at boot-up: *** physmap flash device: 80 at fe00 phys_mapped_flash: Found 1 x16 devices at 0x0 in 16-bit bank Command set type 1 Intel/Sharp Extended Query Table at 0x0031 Using buffer write method cfi_cmdset_0001: Erase suspend on write enabled cmdlinepart partition parsing not available RedBoot partition parsing not available Using physmap partition definition Creating 6 MTD partitions on "phys_mapped_flash": 0x-0x0004 : "u-boot" 0x0004-0x0008 : "env" 0x0008-0x0028 : "kernel" <-- kernel boots from here 0x0028-0x0048 : "initrd" <-- no initrd, this is empty 0x0048-0x0068 : "jffs2" <-- 2MB partition 0x0068-0x0080 : "user" <-- empty *** I created the MTD partitions in a u-boot image that was pulled from the GIT tree about a week ago, and my kernel is 2.6.17-based. I wrote some board init code that sets the MTD physical mappings. Here are the MTD and JFFS2 parts of my .config file: *** # Memory Technology Devices (MTD) # CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set # CONFIG_MTD_CONCAT is not set CONFIG_MTD_PARTITIONS=y # CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_CMDLINE_PARTS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set # CONFIG_RFD_FTL is not set # # RAM/ROM/Flash chip drivers # CONFIG_MTD_CFI=y # CONFIG_MTD_JEDECPROBE is not set CONFIG_MTD_GEN_PROBE=y # CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I4 is not set # CONFIG_MTD_CFI_I8 is not set CONFIG_MTD_CFI_INTELEXT=y # CONFIG_MTD_CFI_AMDSTD is not set CONFIG_MTD_CFI_STAA=y CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access # # CONFIG_MTD_COMPLEX_MAPPINGS is not set CONFIG_MTD_PHYSMAP=y CONFIG_MTD_PHYSMAP_START=0xFE00 CONFIG_MTD_PHYSMAP_LEN=0x80 CONFIG_MTD_PHYSMAP_BANKWIDTH=2 # CONFIG_MTD_PLATRAM is not set # CONFIG_JFFS_FS is not set CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS_DEBUG=0 # CONFIG_JFFS2_FS_WRITEBUFFER is not set # CONFIG_JFFS2_SUMMARY is not set # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set CONFIG_JFFS2_ZLIB=y CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set *** The file system is the SELF that is included with DENX's ELDK, and built as at: http://www.denx.de/wiki/view/DULG/RootFileSystemDesignAndBuilding I used the following command to create the file system image, that was then loaded at address 0xfe48 via U-boot: > mkfs.jffs2 -U -d rootfs -D rootfs_device.tab -b -e 0x2 -o jffs2.img I modified the table to name my serial devices /dev/ttyS0 and /dev/ttyS1 thanks for the help. Sorry if this is too verbose or includes the wrong information. regards, Ben ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
JFFS2 FS is read-only (not what I want)
Ben Warren wrote: > Hello, > > When I boot from a JFFS2 file system on my eval board, the file system > is effectively read-only, and I can't figure out why. I'm pretty sure > the kernel's configured for R/W MTD block access. Any help is greatly > appreciated. The default uboot command line on the 8349E was: bootargs=root=/dev/mtdblock1 rootfstype=jffs2 rw console=ttyS0,115200 so I suspect you have dropped the rw ... try adding that. > The hardware in use is: > > Freescale MPC8349EMDS eval board. > 8MB Q-flash with 64 uniform 128k sectors I'm also working with that board, feel free to contact me off list and we can compare notes. When I've finished my evaluation I'll post a link to the list for anyone else thats interested. Cheers Dave
JFFS2 FS is read-only (not what I want)
Hello, When I boot from a JFFS2 file system on my eval board, the file system is effectively read-only, and I can't figure out why. I'm pretty sure the kernel's configured for R/W MTD block access. Any help is greatly appreciated. The hardware in use is: Freescale MPC8349EMDS eval board. 8MB Q-flash with 64 uniform 128k sectors Here are the symptoms: # du -s 265492 .<-- only 265k of data # df Filesystem 1k-blocks Used Available Use% Mounted on /dev/mtdblock42048 2048 0 100% / # mount /dev/mtdblock4 on / type jffs2 (rw) /proc on /proc type proc (rw) Here's what the kernel spits out at boot-up: *** physmap flash device: 80 at fe00 phys_mapped_flash: Found 1 x16 devices at 0x0 in 16-bit bank Command set type 1 Intel/Sharp Extended Query Table at 0x0031 Using buffer write method cfi_cmdset_0001: Erase suspend on write enabled cmdlinepart partition parsing not available RedBoot partition parsing not available Using physmap partition definition Creating 6 MTD partitions on "phys_mapped_flash": 0x-0x0004 : "u-boot" 0x0004-0x0008 : "env" 0x0008-0x0028 : "kernel" <-- kernel boots from here 0x0028-0x0048 : "initrd" <-- no initrd, this is empty 0x0048-0x0068 : "jffs2" <-- 2MB partition 0x0068-0x0080 : "user" <-- empty *** I created the MTD partitions in a u-boot image that was pulled from the GIT tree about a week ago, and my kernel is 2.6.17-based. I wrote some board init code that sets the MTD physical mappings. Here are the MTD and JFFS2 parts of my .config file: *** # Memory Technology Devices (MTD) # CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set # CONFIG_MTD_CONCAT is not set CONFIG_MTD_PARTITIONS=y # CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_CMDLINE_PARTS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set # CONFIG_RFD_FTL is not set # # RAM/ROM/Flash chip drivers # CONFIG_MTD_CFI=y # CONFIG_MTD_JEDECPROBE is not set CONFIG_MTD_GEN_PROBE=y # CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I4 is not set # CONFIG_MTD_CFI_I8 is not set CONFIG_MTD_CFI_INTELEXT=y # CONFIG_MTD_CFI_AMDSTD is not set CONFIG_MTD_CFI_STAA=y CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access # # CONFIG_MTD_COMPLEX_MAPPINGS is not set CONFIG_MTD_PHYSMAP=y CONFIG_MTD_PHYSMAP_START=0xFE00 CONFIG_MTD_PHYSMAP_LEN=0x80 CONFIG_MTD_PHYSMAP_BANKWIDTH=2 # CONFIG_MTD_PLATRAM is not set # CONFIG_JFFS_FS is not set CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS_DEBUG=0 # CONFIG_JFFS2_FS_WRITEBUFFER is not set # CONFIG_JFFS2_SUMMARY is not set # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set CONFIG_JFFS2_ZLIB=y CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set *** The file system is the SELF that is included with DENX's ELDK, and built as at: http://www.denx.de/wiki/view/DULG/RootFileSystemDesignAndBuilding I used the following command to create the file system image, that was then loaded at address 0xfe48 via U-boot: > mkfs.jffs2 -U -d rootfs -D rootfs_device.tab -b -e 0x2 -o jffs2.img I modified the table to name my serial devices /dev/ttyS0 and /dev/ttyS1 thanks for the help. Sorry if this is too verbose or includes the wrong information. regards, Ben