Hi,,, I have burned u-boot, uImage and qtopia_64M in my nand. While booting, it shows me this and gets stuck at the end saying. Bad Data CRC. ERROR: can't get kernel image! This is the output on minicom. Please let me know the solution to this problem. U-Boot 1.3.2-mini2440 (May 25 2010 - 19:15:21) I2C: ready DRAM: 64 MB Flash: 2 MB NAND: Bad block table not found for chip 0 Bad block table not found for chip 0 64 MiB Found Environment offset in OOB.. USB: S3C2410 USB Deviced In: serial Out: serial Err: serial MAC: 08:08:11:18:12:27 Hit any key to stop autoboot: 0 Loading from NAND 64MiB 3,3V 8-bit, offset 0x60000 Image Name: Linux-2.6.32.2-FriendlyARM Created: 2012-05-24 6:15:14 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2235584 Bytes = 2.1 MB Load Address: 30008000 Entry Point: 30008000 reading NAND page at offset 0x60400 failed ** Read error ## Booting kernel from Legacy Image at 32000000 ... Image Name: Linux-2.6.32.2-FriendlyARM Created: 2012-05-24 6:15:14 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2235584 Bytes = 2.1 MB Load Address: 30008000 Entry Point: 30008000 Verifying Checksum ... Bad Data CRC ERROR: can't get kernel image! MINI2440 #
Bad Data CRC. ERROR: can't get kernel image!
> I have burned u-boot, uImage and qtopia_64M in my nand. All from the DVD? Any mods to the kernel? Is that all you see while it is booting up? The full boot message down to the first error might be more helpful.
I made my own kernel image using arm-linux-gnuebi toolchain using standard procedure,as far as u-boot and qtopia are concerned, they are from DVD. Kernel image used to work fine with NFS server using u-boot. However, It throws me this error when I try to get it booted from NAND. And ya....it is the only thing I get. It stops there giving me "u-boot" prompt.
So, you managed to get u-boot to load your kernel and root filesystem using NFS? I only ever used u-boot to load stuff into NAND and part of that task involved <nand scrub>. This took care of the BBT issue. Could you reference the tutorial you used or state your procedure to get u-boot to do: nand scrub mtdparts dynenv set etc. when using NFS. I would like to understand how you managed to do that. Which toolchain did you use to make you own kernel? One issue is that there is limit around 2+M where you have to increase the kernel partition size. There were posts along the lines of <kernel too big> a long time ago.
Ok. Let me tell how I did it. 1. I booted my system from nor. 2. Then I formatted nand. 3. Then I did bon part 0 320 k 23xx k thing. 4. Then I went to supervivi prompt by pressing q. 5. I deleted default partition table and created partition so that...ultimately partitions look like as follows. 0. vivi ---> 0x0 --- 0x40000 0 1. param ----> 0x40000 --- 0x60000 0 2. kernel -----> 0x60000 --- 0x500000 0 3. root -----> 0x560000 --- 0x3aa0000 0 6. then I typed menu to get first selection menu 7. I pressed v to download vivi using USB, but i downloaded u-boot image instead. (I mean bootloaders are bootloaders. They do not make any difference, do they ?) 8. Then again menu and pressed k to download kernel image. As I increased my partition size, it allows me to download upto 5 MB image size. 9. Then menu ---> followed by y to download yffs system and download root_qtopia_64M 10. I flipped switch to nand so that boot takes place from nand. 11. It shows me u-boot prompt. 12. I fired command. *dynenv set 40000* (to set env offset) 13. Then I set bootm using.... *setenv nboot.e kernel \; bootm* 14. I saved env variables using saveenv. And then reset and I get the above error. Bad CRC. Can't get kernel image. I tried loading different images (zImages). but in some it says, Wrong kernel image. My system is 64 MB DRAM, 64 MB NAND, 2 MB NOR, 3.5" touch screen.
I was wondering if you can tell me the how to change the offset of kernel in u-boot. i.e. if i have kernel stored in 0x70000 stead 0x60000 how do i set env variables in u-boot to fetch kernel from 0x70000 stead 0x60000.
(I mean bootloaders are bootloaders. They do not make any difference, do they ?) Yes, they do. As far as I am aware: - Supervivi can only load zImages - uboot can only load uImages - Barebox only loads uImages 7 and 9 confuse me. 7. you mean you loaded u-boot using something like: sudo ./s3c2410_boot_usb u-boot.bin or using usbpush 9. loading a YFFS2 filesystem? uImages go with a JFFS2 root filesystem. Normal procedure: u-boot uImage JFFS2 supervivi zImage YAFFS2 Suggest you place this into Google: <deploying u-boot linux kernel and GPE> You might not be able to get the files he refers to, but the procedure may cast some light on your situation.
Regarding 7..... Yes, I pushed u-boot using usbpush. sudo ./usbpush/usbpush u-boot-128M.bin Regarding 9, I think I have made a mistake here... I am trying to run uImage with yffs2 file system. Let me check.
Here is an update. I got passed through my error by loading using supervivi, zImage of my compiled linux and root_qtopia-64M. Thanks Dave. :) It was showing error because I was using yffs2 with uImage. :) However got stuck in kernel panic as it failed to execute linuxrc. I changed supervivi linx_cmd_line to "/dev/mtdblock3" but it throws the same error. I will have to rectify it. Thanks, pal. :)
> Yes, I pushed u-boot using usbpush. sudo ./usbpush/usbpush u-boot-128M.bin I thought you were running a 64M machine as you said you were trying to load qtopia_64M u-boot-128M is for 128M and greater mini2440s.
I am running a 64 M machine but u-boot-128M was working fine I guess. Is there any difference in page size in 64 M and 128 M versions ? How does it affect u-boot any way ?
The erase page size is one value for the 64M machine and a different value for ALL the other mini2440s. Maybe somebody has developed a clever version of u-boot but I thought that there were different versions to match erase page size. There are many threads on this topic on this site.
I am getting the following error MPC8270 Reset Status: External Soft, External Hard MPC8270 Clock Configuration - Bus-to-Core Mult 3x, VCO Div 4, 60x Bus Freq 16-50 , Core Freq 50-150 - dfbrg 0, corecnf 0x10, busdf 3, cpmdf 1, plldf 0, pllmf 3, pcidf 3 - vco_out 264000000, scc_clk 66000000, brg_clk 66000000 - cpu_clk 198000000, cpm_clk 132000000, bus_clk 66000000 - pci_clk 33000000 CPU: MPC8270 (HiP7 Rev 14, Mask 1.0 1K49M) at 198 MHz Board: KAT2000 SPU Emerson Network Power, Embedded Computing cPLD Ver: 10 Reset cause: 0x6 (SPU PORESET) Executed out of: Intel StrataFlash, Bank 1 POST Mode: Short Watchdog enabled (warn 0s, expire 5s) DRAM: 32 MB, ECC enabled POST pld PASSED POST memory PASSED POST psram PASSED FLASH: 16 MB In: serial Out: serial Err: serial Net: FCC1 ETHERNET POST flash PASSED Hit any key to stop autoboot: 0 ## Executing script at fffe0000 Bad data crc KAT2000 SPU (1.5)=>