Dear Rogan, I've you set the uboot env machid to the correct value ? setenv machid <HexValue> just replace HexValue with the correct MACH_TYPE.
You must then see something like : Using machid 0xa76 from environment after kernel loaded by uboot. Best regards, Le 16/08/2010 09:24, Rogan Dawes a écrit : > Hi folks, > > I'm trying to get mainline u-boot working on my DNS323 (Orion5x based). > Until I am confident in the config, I'm using a chainloaded approach, > wrapping my featureful u-boot in an image file: > > $ mkimage -A arm -O u-boot -T kernel -C none -a 0x3000000 -e 0x3000000 > -n "UBoot dns323" -d u-boot.bin uImage.bin > > I am trying to boot the default kernel that is already flashed into the > device first. The first problem is that the DNS323 uses an incorrect > mach-type value of 526, while the registered value is 1542. See > <http://wiki.dns323.info/software:kernel>). I have modified > arch/arm/include/asm/mach-types.h to set MACH_TYPE_DNS323 to the > "correct" Dlink value, which should match what the default kernel is > expecting. > > Unfortunately, all I get is: > > DNS323B1> bootm FF820000 > ## Booting kernel from Legacy Image at ff820000 ... > Image Name: Linux-2.6.12.6-arm1 > Image Type: ARM Linux Kernel Image (uncompressed) > Data Size: 1490204 Bytes = 1.4 MiB > Load Address: 00008000 > Entry Point: 00008000 > Verifying Checksum ... OK > Loading Kernel Image ... > > and it hangs there. > > That appears to be this code from cmd_bootm: > > case IH_COMP_NONE: > if (load == blob_start) { > printf (" XIP %s ... ", type_name); > } else { > printf (" Loading %s ... ", type_name); > memmove_wd ((void *)load, (void *)image_start, > image_len, CHUNKSZ); > } > *load_end = load + image_len; > puts("OK\n"); > break; > > So, the memmove_wd never completes, it seems. > > I added a debug statement at the top of memmove_wd, and got: > > Moving memory from ff820040 to 00008000 > > Is that because the uImage header is 64 bytes? > > Also, the following suggests that there may be something wrong with the > addresses that I am using: > > DNS323B1> bootm FF820000 FF9A0000 > ## Booting kernel from Legacy Image at ff820000 ... > Image Name: Linux-2.6.12.6-arm1 > Image Type: ARM Linux Kernel Image (uncompressed) > Data Size: 1490204 Bytes = 1.4 MiB > Load Address: 00008000 > Entry Point: 00008000 > Verifying Checksum ... OK > ## Loading init Ramdisk from Legacy Image at ff9a0000 ... > Image Name: Ramdisk > Image Type: ARM Linux RAMDisk Image (gzip compressed) > Data Size: 5240600 Bytes = 5 MiB > Load Address: 00800000 > Entry Point: 00800000 > Verifying Checksum ... Bad Data CRC > Ramdisk image is corrupt or invalid > DNS323B1> > > My chainloaded u-boot is configured in an image to load at 0x3000000, > and stay there (no relocation), if I have understood these parameters > correctly: > > -a 0x3000000 -e 0x3000000 > > Can anyone see what I am doing wrong? > > Many thanks! > > Rogan > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot -- Gérald _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot