[U-Boot] Upgrading U-Boot stops Linux booting.
Ben Hewson
ben at frazer-nash.com
Thu Apr 30 08:27:51 CEST 2015
Hi Simon,
Thanks for the suggestion.
I actually sorted it out late yesterday. A stupid error I suppose, but one
that I completely over looked.
I turned on CONFIG_DEBUG_LL in the kernel, tried again and it complained about
the machine id not matching.
I just needed to change CONFIG_MACH_TYPE to the correct number in U-Boot.
I didn't realise until after some googling that this was done. I just assumed
U-Boot did a jump to the kernel start and that was it. Still live and learn !
The only issue I have now, is that if I enable CONFIG_ENV_IS_IN_FAT U-Boot
tries to load the environment before the SATA is initialised and fails.
If I do sata init at the U-Boot prompt, I can save the environment, but that
is not much use if it isnt loaded at boot.
I can probably live without being able to save the environment, but would be
nice to have the option. I did notice after having a quick look through the
code that there appears to be a late load option for the environment. Can't
remember exactly what it was.
many thanks
Ben
On Wednesday 29 Apr 2015 23:09:34 Simon Glass wrote:
> Hi Ben,
>
> On 27 Apr 2015 8:09 am, "Ben Hewson" <ben at frazer-nash.com> wrote:
> >
> > Hi,
> >
> > I am having some trouble and wondered if anyone has any suggestions.
> >
> > I have a iMX6 (Quad core, 1Gb Ram) based board by Digi.com. It follows
> pretty
> > closely the Sabrelite reference design.
> >
> > I am trying to boot Android from SATA on this board. Booting from the SD
> card
> > works fine, using the u-boot supplied with Android, however booting from
> SATA
> > hangs.
> >
> > I get the following boot output when booting from SD
> >
> >
> > U-Boot 2013.04 - dub-2.3.0.3-git (Mar 20 2015 - 19:01:46)
> >
> > CPU: Freescale i.MX6Q rev1.5 at 792 MHz
> > CPU: Temperature 22 C, calibration data: 0x57f4e869
> >
> > reading uImage-ccimx6sbc.bin
> > 4773736 bytes read in 233 ms (19.5 MiB/s)
> > reading uImage-imx6q-ccimx6sbc.dtb
> > ** Unable to read file uImage-imx6q-ccimx6sbc.dtb **
> > reading uramdisk.img
> > 278888 bytes read in 30 ms (8.9 MiB/s)
> > ## Booting kernel from Legacy Image at 12000000 ...
> > Image Name: Linux-3.0.35
> > Image Type: ARM Linux Kernel Image (uncompressed)
> > Data Size: 4773672 Bytes = 4.6 MiB
> > Load Address: 10008000
> > Entry Point: 10008000
> > Verifying Checksum ... OK
> > ## Loading init Ramdisk from Legacy Image at 19000000 ...
> > Image Name: Android u-boot ramdisk
> > Image Type: ARM Linux RAMDisk Image (gzip compressed)
> > Data Size: 278824 Bytes = 272.3 KiB
> > Load Address: 00000000
> > Entry Point: 00000000
> > Verifying Checksum ... OK
> > Loading Kernel Image ... OK
> > OK
> >
> > Starting kernel ...
> >
> > Uncompressing Linux... done, booting the kernel.
> > Initializing cgroup subsys cpu
> > Linux version 3.0.35 (ben at FNR-BEN-PC) (gcc version 4.6.x-google 20120106
> > (prerelease) (GCC) ) #6 SMP PREEMPT Thu Apr 23 10:35:09 BST 2015
> >
> > However this version of u-boot hangs when trying to boot from SATA.
> > For the same board I am also booting a version of Linux, with a newer
> u-boot.
> >
> >
> > U-Boot 2014.10-00573-g11ada92-dirty (Apr 08 2015 - 09:20:20)
> >
> > CPU: Freescale i.MX6Q rev1.5 at 792 MHz
> >
> >
> > Booting from mmc ...
> > reading uImage
> > 4213792 bytes read in 249 ms (16.1 MiB/s)
> > reading imx6q-ccimx6sbc.dtb
> > 51277 bytes read in 21 ms (2.3 MiB/s)
> > ## Booting kernel from Legacy Image at 12000000 ...
> > Image Name: Linux-3.10.54-dey+gb1b3828
> > Image Type: ARM Linux Kernel Image (uncompressed)
> > Data Size: 4213728 Bytes = 4 MiB
> > Load Address: 10008000
> > Entry Point: 10008000
> > Verifying Checksum ... OK
> > ## Flattened Device Tree blob at 18000000
> > Booting using the fdt blob at 0x18000000
> > Loading Kernel Image ... OK
> > Using Device Tree in place at 18000000, end 1800f84c
> >
> > Starting kernel ...
> >
> > Booting Linux on physical CPU 0x0
> > Linux version 3.10.54-dey+gb1b3828 (ben at FNR-BEN-PC) (gcc version 4.8.3
> > (Buildroot 2014.11-rc2-00045-g3036252-dirty) ) #3 SMP Tue Jan 20 13:56:05
> GMT
> > 2015
> >
> >
> > Newer kernel and u-boot and everything boots.
> >
> > Now if I try this newer version of u-boot with the Android kernel and do
> the
> > following
> >
> >
> > U-Boot > sata device 0
> >
> > SATA device 0: Model: ATP IG SlimSATA Firm: 20130702 Ser#:
> > 99001140331004000001
> > Type: Hard Disk
> > Capacity: 3775.5 MB = 3.6 GB (7732368 x 512)
> > ... is now current device
> > U-Boot > fatload sata 0:1 0x12000000 uimage-ccimx6sbc.bin
> > reading uimage-ccimx6sbc.bin
> > 4773736 bytes read in 91 ms (50 MiB/s)
> > U-Boot > fatload sata 0:1 0x19000000 uramdisk.img
> > reading uramdisk.img
> > 278888 bytes read in 13 ms (20.5 MiB/s)
> > U-Boot > bootm 0x12000000 0x19000000
> >
> >
> > ## Booting kernel from Legacy Image at 12000000 ...
> > Image Name: Linux-3.0.35
> > Image Type: ARM Linux Kernel Image (uncompressed)
> > Data Size: 4773672 Bytes = 4.6 MiB
> > Load Address: 10008000
> > Entry Point: 10008000
> > Verifying Checksum ... OK
> > ## Loading init Ramdisk from Legacy Image at 19000000 ...
> > Image Name: Android u-boot ramdisk
> > Image Type: ARM Linux RAMDisk Image (gzip compressed)
> > Data Size: 278824 Bytes = 272.3 KiB
> > Load Address: 00000000
> > Entry Point: 00000000
> > Verifying Checksum ... OK
> > Loading Kernel Image ... OK
> >
> > Starting kernel ...
> >
> >
> > and then the kernel just seems to hang.
> >
> > The entry points and load addresses are the same, so I am not sure what is
> > happening.
> >
> > Is there something obvious I am missing ?
> >
> > I would rather use a newer u-boot than try to retro fit and SATA changes
> to
> > the older version.
> >
> > many thanks for any help
>
> Missing device tree?
>
> Regards,
> Simon
>
> > Ben
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > http://lists.denx.de/mailman/listinfo/u-boot
More information about the U-Boot
mailing list