There were a few problems in checkpointing that were fixed in rev 1.49 that are likely causing the problem. Curious... why is the device being remounted readonly? -- CHarles On Friday 17 August 2007 11:09:10 Wookey wrote: > This board is using kernel 2.6.21.1 with balloon mods > (http://balloonboard.org/cgi-bin/viewcvs.cgi/balloon/trunk/kernel/ ) > with what appears to be a yaffs around this vintage: > "$Id: yaffs_fs.c,v 1.59 2007/03/20 20:59:40 charles Exp $" > "$Id: yaffs_guts.c,v 1.48 2007/03/12 20:55:39 charles Exp $"; > (see > http://balloonboard.org/cgi-bin/viewcvs.cgi/balloon/trunk/kernel/2.6.21.yaf >fs.patch?rev=163&view=log ) > > It has a 1GB yaffs partition and after a couple of weeks use > (generally just being turned off, not unmounted) seems to > have got itself in a state where the checkpointing code oopses the > kernel (see log below). > > I should have this on my desk shortly. Anyone got any suggestions what > might have gone wrong, as it would be good to avoid this, and I want > to give it an analyse? > > > ----- Forwarded message from His Majesty ----- > > From: His Majesty > Date: Mon, 30 Jul 2007 12:38:25 +0100 > To: Wookey > Subject: Achtung... Achtung .... Balloon would not boot up. > Reply-To: b.kolluru@dcs.shef.ac.uk > X-Spam-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,HTML_10_20, > HTML_MESSAGE autolearn=no version=3.1.7-deb, No > > Hi Wookey, > It was good on friday when I switched it off. > However, the balloon wouldnot boot up this morning!! > Eagerly await your response. > This is the message I get on screen: > > .... > DUCK > VRSN > FFFFFFF9 > STKP > A39F3FF0 > &_start=00000000 > FLASH_BASE=00000000 > Large memory model selected, bank size 256Mbytes > Bank 0: A0000000-A7FFFFFC (128Mbytes), bank not full > Bank 1: B0000000-B7FFFFFC (128Mbytes), bank not full > Bank 2: 90000000: no RAM found > Bank 3: 80000000-87FFFFFC (128Mbytes), bank not full > > enabling mmu > FLASH_BASE=00000000 > PXA: Evacuating 1MB of Flash to DRAM at: A3E00000 > done > Map Flash virtual section to DRAM at: A3E00000 > MMU table entries > 00000000 A3E00C0A > ... > Using bit swapping... > Programming Device... > FPGA image size (bytes)=0x000625F8 > FPGA Device Programmed OK > FPGA Version 0x > 000000FF > Set 0x00000080 > Clr 0x00000100 > FPGA initialised > Peripheral Power established > Scanning for nand chips at 0x10E00000 > Found MTDs: 0x00000001 > Flash style = 1x16 > verify flash size... > No non-CFI chip detected. Ignoring fake CFI table. > Resetting flash algorithm. > re-verifying flash size... > btflash_init: mfrid=00000004 > devid=000022D7 > mfrid=00000004 > deviceid=000022D7 > walking flash descriptors (1x16) > btflash_init: found flash MBM29LV650UE_1x16 > flashDescriptor=000323A4 > flashSectors=00032074 > nsectors=00000080 > flash_size=00800000 > flash_address_mask=007FFFFF > protecting the bootldr > amdFlashProtectRange: unimplemented!! > root partition size set to 0x3FC00000 > mach_type ->00000405 > reset_partitions: partition_table = 0x00000000 > reset_partitions: flashDescriptor = 0x000323A4 > define_partition: base 0x00000000 > define_partition: partition_table 0x00000000 > allocated partition_table > defining partition: bootldr > define_partition: base 0x00100000 > define_partition: partition_table 0xA3A01AB4 > defining partition: fpga > define_partition: base 0x00200000 > define_partition: partition_table 0xA3A01AB4 > defining partition: kernel > define_partition: base 0x00000000 > define_partition: partition_table 0xA3A01AB4 > defining partition: boot > define_partition: base 0x00400000 > define_partition: partition_table 0xA3A01AB4 > defining partition: root > initialize_by_mach_type done > probing ram > Probing bank0 memory size... > max memory size is 0x10000000 > > bank0 memory size=08000000 > MDCNFG=89D309D3 > dram_size_ptr=00034590 > Probing memory size bank 0 > dram_base=A0000000 > memory size=08000000 > dram_size_ptr=000345A4 > Probing memory size bank 1 > dram_base=B0000000 > memory size=08000000 > dram_size_ptr=000345B8 > Probing memory size bank 2 > dram_base=90000000 > seems to be no dram in bank 2 > dram_size_ptr=000345CC > Probing memory size bank 3 > dram_base=80000000 > memory size=08000000 > n_banks=00000003 > dram_sizes[0]=08000000 > dram_sizes[1]=08000000 > dram_sizes[2]=FFFFFFFF > dram_sizes[3]=08000000 > SDRAM size: 0x08000000 > in megs: 128M > set_params_by_name 1 > get_param: could not find parameter rootfs > partition deleted > define_partition: base 0x00400000 > define_partition: partition_table 0xA3A01AB4 > defining partition: root > MTD device not found ... > yaffs_mount(/boot) ok > > >> Compaq OHH BootLoader, Rev 2-21-13-tcl36 for Balloon > > [LARGE_MEMORY_MODEL] [B]>> 07-05-27_14:44 > > >> Last link date: Fri Jun 29 08:44:10 UTC 2007 > >> Contact: [1]bootldr@handhelds.org > > Cpu company: INTEL > Cpu Architecture: XScale > Cpu Part: PXA270 > > >> ARM Processor Rev=00050000 > >> (c) 2000-2001 Compaq Computer Corporation, provided with NO WARRANTY > > under t.>> See [2]http://www.handhelds.org/bootldr/ for full license and > sourcesPress Retuu > params_eval: prefix_in =bootldr: > params_eval: just_show =00000000 > RXSTAT error: 000000FF > booting yaffs... > Rootfs is "yaffs2" > Kernel filesize = 0x0012F780 > Booting file "/boot/zImage"... > kernel partition base A0008000 > kernel_magic=E1A00000 > kernel_region_words[9]=016F2818 > Linux ELF flash_imgstart=A0008000 size=0012F780 dest=A0000000 > offset=00008000 > MMU Control=00000079 > MMU PIDVAM=00000000 > copying Linux kernel ... done > A0008000: E1A00000 > A0008004: E1A00000 > A0008008: E1A00000 > A000800C: E1A00000 > A0008010: E1A00000 > A0008014: E1A00000 > A0008018: E1A00000 > A000801C: E1A00000 > A0008020: EA000002 > A0008024: 016F2818 > root_filesystem_name=yaffs2 > Grabbed linuxargs, argc = 00000003 > Using mach_type 00000405 > pre unparse setting boot parameters to > noinitrd root=/dev/mtdblock1 init=/linuxrc console=ttyS2,115200 > setting boot parameters to > noinitrd root=/dev/mtdblock1 init=/linuxrc console=ttyS2,115200 > Making core tag at A0000100 > Making cmdline tag at A0000114 > Making mem32 tag at A00001C8 > Making mem32 tag at A00001D8 > Making mem32 tag at A00001E8 > command line is: noinitrd root=/dev/mtdblock1 init=/linuxrc > console=ttyS2,1152 > linuxEntryPoint=A0008000 > Booting Linux image > Uncompressing > Linux.............................................................Linux > version 2.6.21.1-pxa270 (wookey@eisluft) (gcc version 4.1.2 20061115 > (pre7CPU: XScale-PXA270 [69054114] revision 4 (ARMv5TE), cr=0000397f > Machine: Balloon3 > Memory policy: ECC disabled, Data cache writeback > Running balloon3_map_io() > calling pxa_map_io() > Run Mode clock: 208.00MHz (*16) > Turbo Mode clock: 520.00MHz (*2.5, active) > Memory clock: 104.00MHz (/2) > System bus clock: 104.00MHz > pxa_map_io() done > iotable_init() done > CPU0: D VIVT undefined 5 cache > CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets > CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets > Built 1 zonelists. Total pages: 64768 > Kernel command line: noinitrd root=/dev/mtdblock1 init=/linuxrc > console=ttyS2, > balloon3_init_irq: chained handler installed - irq 126 automatically > enabled > PID hash table entries: 1024 (order: 10, 4096 bytes) > Console: colour dummy device 80x30 > Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) > Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) > Memory: 128MB 128MB 0MB = 256MB total > Memory: 257152KB available (2244K code, 183K data, 92K init) > Mount-cache hash table entries: 512 > CPU: Testing write buffer coherency: ok > NET: Registered protocol family 16 > Running balloon3_init() > NET: Registered protocol family 2 > Time: pxa_timer clocksource has been installed. > IP route cache hash table entries: 2048 (order: 1, 8192 bytes) > TCP established hash table entries: 8192 (order: 4, 65536 bytes) > TCP bind hash table entries: 8192 (order: 3, 32768 bytes) > TCP: Hash tables configured (established 8192 bind 8192) > TCP reno registered > NetWinder Floating Point Emulator V0.97 (double precision) > VFS: Disk quotas dquot_6.5.1 > Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) > yaffs Jul 3 2007 14:42:23 Installing. > io scheduler noop registered > io scheduler anticipatory registered (default) > io scheduler deadline registered > io scheduler cfq registered > balloon3_backlight_power: power is on > Console: switching to colour frame buffer device 60x40 > pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 22) is a FFUART > pxa2xx-uart.1: ttyS1 at MMIO 0x40200000 (irq = 21) is a BTUART > pxa2xx-uart.2: ttyS2 at MMIO 0x40700000 (irq = 20) is a STUART > NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB > 3,3V 8-b)4 NAND chips detected > Scanning device for bad blocks > Bad eraseblock 2590 at 0x143c0000 > Bad eraseblock 3937 at 0x1ec20000 > Bad eraseblock 5984 at 0x2ec00000 > cmdlinepart partition parsing not available > Creating 2 MTD partitions on "balloon3-nand": > 0x00000000-0x00400000 : "Boot" > 0x00400000-0x40000000 : "Root fs" > mice: PS/2 mouse device common for all mice > TCP cubic registered > NET: Registered protocol family 1 > NET: Registered protocol family 17 > XScale iWMMXt coprocessor detected. > yaffs: dev is 32505857 name is "mtdblock1" > yaffs: Attempting MTD mount on 31.1, "mtdblock1" > block 2559 is bad > block 3906 is bad > block 5953 is bad > Freechunks verification failure 485768 242888 242880 > VFS: Mounted root (yaffs2 filesystem). > Freeing init memory: 92K > Failed to execute /linuxrc. Attempting defaults... > INIT: version 2.86 booting > Starting the hotplug events dispatcher: udevd. > Synthesizing the initial hotplug events...done. > Waiting for /dev to be fully populated...done. > Activating swap...done. > Unable to handle kernel NULL pointer dereference at virtual address > 00000000 > pgd = d72e4000 > [00000000] *pgd=b7233031, *pte=00000000, *ppte=00000000 > Internal error: Oops: 17 [#1] > Modules linked in: > CPU: 0 > PC is at yaffs_CheckpointClose+0x2c/0x184 > LR is at yaffs_CheckpointSave+0x7c/0x434 > pc : [] lr : [] Not tainted > sp : d6c2fd3c ip : d6c2fd5c fp : d6c2fd58 > r10: c0744000 r9 : 00000000 r8 : c025cd18 > r7 : 00000000 r6 : d724d000 r5 : c0744000 r4 : 00000000 > r3 : 0000000e r2 : 00000000 r1 : 00000000 r0 : 00000000 > Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment user > Control: 397F > Table: B72E4000 DAC: 00000015 > Process mount (pid: 1410, stack limit = 0xd6c2e258) > Stack: (0xd6c2fd3c to 0xd6c30000) > fd20: > 00000000 > fd40: c03b9280 d724d000 00000000 d6c2fdc8 d6c2fd5c c00e6c50 c00e8c24 > 3fc00000 > ... > ... > ffe0: 400ee1d0 bead5af4 0000aa58 400ee1dc 60000010 000242a8 00000000 > 00000000 > > Backtrace: > [] (yaffs_CheckpointClose+0x0/0x184) from [] > (yaffs_Checkpo) r7 = 00000000 r6 = D724D000 r5 = C03B9280 r4 = > 00000000 [] (yaffs_CheckpointSave+0x0/0x434) from [] > (yaffs_remount_)[] (yaffs_remount_fs+0x0/0xac) from [] > (do_remount_sb+0xf8/) r5 = 00000000 r4 = C0444400 > [] (do_remount_sb+0x0/0x160) from [] > (do_mount+0x19c/0x5e0) > r6 = C0444400 r5 = 00000021 r4 = C044443C > [] (do_mount+0x0/0x5e0) from [] > (sys_mount+0x8c/0xd4) [] (sys_mount+0x0/0xd4) from [] > (ret_fast_syscall+0x0/0x2c) > r7 = 00000015 r6 = 00000000 r5 = 000242F8 r4 = 000242F8 > Code: e59030e8 e3530000 da00004f e59000f8 (e5904000) > BUG: at kernel/exit.c:861 do_exit() > /etc/rcS.d/S10checkroot.sh: line 24: 1410 Segmentation fault mount > -n -o / > > -- > BalaKrishna Kolluru > > References > > Visible links > 1. mailto:bootldr@handhelds.org > 2. http://www.handhelds.org/bootldr/ > > ----- End forwarded message ----- > Wookey