On 2 May 2017 at 03:19, Matthew Gorski <[email protected]> wrote: > Seems if you change the FIT description from anything but > > "description = "Chrome OS kernel image with one or more FDT blobs";" > > the kernel wont load. So this issue has to be in the kernel-big.its > <https://git.collabora.com/cgit/user/tomeu/u-boot.git/tree/kernel-big.its?h=nyan-big&id=35bcb399c0d78ba6a050cc775d467ee75ed06923> > > https://git.collabora.com/cgit/user/tomeu/u-boot.git/tree/kernel-big.its?h=nyan-big&id=35bcb399c0d78ba6a050cc775d467ee75ed06923 > > We may just need a proper working .its for nyan
Hi Matthew, it has been quite a while, but I remember that if we only tried chainloading U-Boot was because the goal was to integrate these machines in our LAVA lab, which to date doesn't support Depthcharge (though I hope this will change once I get back some time). I cannot remember how the correct position of the kernel within the FIT image was calculated, but it definitely involved looking at the depthcharge sources. But I do think to remember that it was only an issue once U-Boot tried to relocate itself. I don't see any reason why my old branch wouldn't work today on your machine, other than maybe your hw is a different revision with a memory chip that wasn't supported back then? I also don't see why mainline wouldn't work, provided you have that hack in the ITS. I'm adding Sjoerd to CC in case he remembers. Good luck, Tomeu > On Mon, May 1, 2017 at 7:45 PM, Matthew Gorski <[email protected]> > wrote: > >> >> >> On Mon, May 1, 2017 at 7:34 PM, Simon Glass <[email protected]> wrote: >> >>> Hi Matthew, >>> >>> On 1 May 2017 at 17:27, Matthew Gorski <[email protected]> wrote: >>> > >>> > >>> > On Mon, May 1, 2017 at 6:02 PM, Simon Glass <[email protected]> wrote: >>> >> >>> >> Hi Matthew, >>> >> >>> >> On 1 May 2017 at 14:30, Matthew Gorski <[email protected]> wrote: >>> >> > >>> >> > >>> >> > On Mon, May 1, 2017 at 2:36 PM, Simon Glass <[email protected]> >>> wrote: >>> >> >> >>> >> >> Hi Matthew, >>> >> >> >>> >> >> On 1 May 2017 at 11:26, Matthew Gorski <[email protected]> >>> wrote: >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > On Mon, May 1, 2017 at 1:03 PM, Simon Glass <[email protected]> >>> wrote: >>> >> >> >> >>> >> >> >> Hi Matthew, >>> >> >> >> >>> >> >> >> On 1 May 2017 at 10:40, Matthew Gorski <[email protected]> >>> >> >> >> wrote: >>> >> >> >> > Let me repost this to the bottom. New to the mailing list ;) >>> >> >> >> > >>> >> >> >> > I am using chained boot to test uboot as a FIT image so I I >>> don't >>> >> >> >> > have to >>> >> >> >> > flash to spl flash. Does CONFIG_SPL_TEXT_BASE need to be >>> adjusted >>> >> >> >> > for >>> >> >> >> > chained boot? >>> >> >> >> > >>> >> >> >> > I am using instructions to boot Linux for Tegra from >>> sdcard/USB in >>> >> >> >> > developer >>> >> >> >> > mode. I can boot L4T fine with kernel v3.10. >>> >> >> >> > >>> >> >> >> > What mainline branch should I try? >>> >> >> >> >>> >> >> >> There's only one mainline, here: >>> >> >> >> http://git.denx.de/?p=u-boot.git;a=summary >>> >> >> >> >>> >> >> >> There are various custodian branches but I don't believe the >>> tegra >>> >> >> >> one >>> >> >> >> has anything different from mainline at present. >>> >> >> >> >>> >> >> >> - Simon >>> >> >> >> >>> >> >> > I will give mainline a try with: >>> >> >> > >>> >> >> > CONFIG_SYS_TEXT_BASE 0x8010E000 >>> >> >> > and >>> >> >> > >>> >> >> > CONFIG_SPL_TEXT_BASE 0x80108000 >>> >> >> > >>> >> >> > >>> >> >> > I know I will also need: >>> >> >> > >>> >> >> > >>> >> >> > CONFIG_DISPLAY_PORT=y >>> >> >> >>> >> >> Do you mean CONFIG_DISPLAY? If so, it is already defined. >>> >> >> >>> >> >> > CONFIG_VIDEO_TEGRA124=y >>> >> >> >>> >> >> That is defined in mainline >>> >> >> >>> >> >> > >>> >> >> > >>> >> >> > for the console to display command prompt. >>> >> >> > >>> >> >> > >>> >> >> > The FIT config I am using is from >>> >> >> > >>> >> >> > here:https://git.collabora.com/cgit/user/tomeu/u-boot.git/ >>> commit/?h=nyan-big >>> >> >> > >>> >> >> > >>> >> >> > Do I need to adjust: >>> >> >> > >>> >> >> > >>> >> >> > load = <0>; >>> >> >> > entry = <0>; >>> >> >> > >>> >> >> > >>> >> >> > /dts-v1/; >>> >> >> > >>> >> >> > / { >>> >> >> > description = "U-Boot + FDT --------- THIS PADDING IS NEEDED >>> SO >>> >> >> > THE >>> >> >> > IMAGE STARTS AT THE RIGHT OFFSET"; >>> >> >> >>> >> >> Perhaps you need to adjust this? How was the length of it >>> calcualted? >>> >> > >>> >> > >>> >> > I am really not sure how the padding was calculated. I just assumed >>> >> > this >>> >> > kernel-big.its FIT config was correct for nyan_big. I will try >>> using my >>> >> > working linux kernel fit config. >>> >> >> >>> >> >> >>> >> >> > #address-cells = <1>; >>> >> >> > images { >>> >> >> > kernel@1{ >>> >> >> > description = "kernel"; >>> >> >> > data = /incbin/("u-boot-dtb.bin"); >>> >> >> > type = "kernel_noload"; >>> >> >> > arch = "arm"; >>> >> >> > os = "linux"; >>> >> >> > compression = "none"; >>> >> >> > load = <0>; >>> >> >> > entry = <0>; >>> >> >> > }; >>> >> >> > fdt@1{ >>> >> >> > description = "tegra124-nyan-big.dtb"; >>> >> >> > data = /incbin/("dts/dt.dtb"); >>> >> >> > type = "flat_dt"; >>> >> >> > arch = "arm"; >>> >> >> > compression = "none"; >>> >> >> > hash@1{ >>> >> >> > algo = "sha1"; >>> >> >> > }; >>> >> >> > }; >>> >> >> > }; >>> >> >> > configurations { >>> >> >> > default = "conf@1"; >>> >> >> > conf@1{ >>> >> >> > kernel = "kernel@1"; >>> >> >> > fdt = "fdt@1"; >>> >> >> > }; >>> >> >> > }; >>> >> >> > }; >>> >> >> > >>> >> >> > >>> >> >> > please let me know if I should also adjust the SPL CONFIG even >>> though >>> >> >> > I >>> >> >> > am chainbooting uboot: >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > https://www.chromium.org/chromium-os/firmware-porting-guide/ >>> using-nv-u-boot-on-the-samsung-arm-chromebook#TOC-Installing >>> -nv-U-Boot-chained-U-Boot-method- >>> >> >> >>> >> >> This is exynos, where we booted directly into U-Boot. Actually I'm >>> >> >> wondering we should boot directly into U-Boot (instead of SPL) on >>> nyan >>> >> >> also. Perhaps someone at collabora would know? Did you search the >>> >> >> mailing list? >>> >> >> >>> >> >> Regards, >>> >> >> Simon >>> >> > >>> >> > >>> >> > I have not searched the mailing list. What should I search for? >>> >> > Booting >>> >> > nyan to u-boot directly bypassing SPL? >>> >> >>> >> Here are two subjects to search for: >>> >> >>> >> Veyron-speedy u-boot >>> >> [PATCH 0/20] tegra: Expand Nyan-big support >>> >> >>> >> Regards, >>> >> Simon >>> > >>> > >>> > Very odd if I do not use "#address-cells = <1>;" the display flashes and >>> > reboots into recovery but if I do use #address-cells = <1>; in my FIT >>> config >>> > I get a blank screen >>> > so something is working when not using the padding. >>> >>> If you figure out where u-boot-dtb.bin needs to start by looking at >>> depthcharge or where the kernel starts, then you can figure out how >>> long the padding needs to be at the start of the FIT. Rather than >>> guessing...! >>> >>> - Simon >>> >>> Okay so depthcharge starts at 0x81000000 from here: >> https://chromium.googlesource.com/chromiumos/platform/ >> depthcharge/+/master/board/nyan_big/defconfig#11 >> >> In my System.map for u-boot after building says the start is: >> 81000100 T __image_copy_start >> 81000100 T _start >> >> Hence the define CONFIG_SYS_TEXT_BASE 0x81000100 >> >> So you say use 0x81000000 as the CONFIG_SYS_TEXT_BASE and not 0x81000100 >> correct? >> >>> > >>> > /dts-v1/; >>> > >>> > / { >>> > description = "Chrome OS nyan u-boot chain boot method"; >>> > #address-cells = <1>; >>> > images { >>> > kernel@1{ >>> > >>> >> >>> >> >> >>> >> >> >>> >> >> >> >>> >> >> >> > >>> >> >>> >> >> >> > On May 1, 2017 12:11 PM, "Matthew Gorski" < >>> [email protected]> >>> >> >> >> > wrote: >>> >> >> >> > >>> >> >> >> > On May 1, 2017 11:45 AM, "Simon Glass" <[email protected]> >>> wrote: >>> >> >> >> > >>> >> >> >> > Hi Matthew, >>> >> >> >> > >>> >> >> >> > On 1 May 2017 at 09:37, Matthew Gorski <[email protected]> >>> >> >> >> > wrote: >>> >> >> >> >> Thanks for the reply Simon. >>> >> >> >> >> >>> >> >> >> >> I have been trying to find the System.map for depthcharge to >>> see >>> >> >> >> >> the >>> >> >> >> >> kernel >>> >> >> >> >> load address but I am unable to find anything. I have tried >>> >> >> >> >> multiple >>> >> >> >> >> CONFIG_SYS_TEXT_BASE settings with no luck. >>> >> >> >> > >>> >> >> >> > How did you choose what to use? Also note that Tegra uses SPL >>> to >>> >> >> >> > start, so you may need to adjust CONFIG_SPL_TEXT_BASE instead. >>> >> >> >> > >>> >> >> >> >> >>> >> >> >> >> I am creating my sdcard with a standard linux (Linux for >>> Tegra) >>> >> >> >> >> rootfs: >>> >> >> >> > >>> >> >> >> > Did these instructions come from a web site somewhere? >>> >> >> >> > >>> >> >> >> >> >>> >> >> >> >> Partition an SD card >>> >> >> >> >> >>> >> >> >> >> sudo cgpt create <MMC BLOCK DEVICE> >>> >> >> >> >> sudo cgpt add -b 34 -s 32768 -P 1 -S 1 -t kernel <MMC BLOCK >>> >> >> >> >> DEVICE> >>> >> >> >> >> # 16 >>> >> >> >> >> MB >>> >> >> >> >> kernel image partition >>> >> >> >> >> sudo cgpt add -b 32802 -s <ROOT PARTITION SIZE in 512B >>> sectors> >>> >> >> >> >> -t >>> >> >> >> >> rootfs >>> >> >> >> >> <MMC BLOCK DEVICE> >>> >> >> >> >> >>> >> >> >> >> cgpt doesn't seem to create a protective MBR. If one is not >>> >> >> >> >> already >>> >> >> >> >> in >>> >> >> >> >> place, it can be created with: >>> >> >> >> >> >>> >> >> >> >> sudo gdisk <MMC BLOCK DEVICE> # and enter command w >>> >> >> >> >> >>> >> >> >> >> Copy data to the SD card >>> >> >> >> >> >>> >> >> >> >> sudo dd if=./kernelpart.bin of=<MMC BLOCK DEVICE>p1 >>> >> >> >> >> sudo mkfs.ext4 <MMC BLOCK DEVICE>p2 >>> >> >> >> >> sudo mount <MMC BLOCK DEVICE>p2 /mnt/ >>> >> >> >> >> >>> >> >> >> > >>> >> >> >> > How are you actually making it boot? Is this in dev mode with >>> USB >>> >> >> >> > boot >>> >> >> >> > enabled and pressing Ctrl-U? >>> >> >> >> > >>> >> >> >> > Also, as this is a mailing list, please avoid top-posting. >>> >> >> >> > >>> >> >> >> > - Simon >>> >> >> >> > >>> >> >> >> > I am using chained boot to test uboot as a FIT image so I I >>> don't >>> >> >> >> > have to >>> >> >> >> > flash to spl flash. Does CONFIG_SPL_TEXT_BASE need to be >>> adjusted >>> >> >> >> > for >>> >> >> >> > chained boot? >>> >> >> >> > >>> >> >> >> > I am using instructions to boot Linux for Tegra from >>> sdcard/USB in >>> >> >> >> > developer >>> >> >> >> > mode. I can boot L4T fine with kernel v3.10. >>> >> >> >> > >>> >> >> >> > What mainline branch should I try? >>> >> >> >> > >>> >> >> >> > >>> >> >> >> >> >>> >> >> >> >> On Mon, May 1, 2017 at 11:14 AM, Simon Glass < >>> [email protected]> >>> >> >> >> >> wrote: >>> >> >> >> >>> >>> >> >> >> >>> Hi Matthew, >>> >> >> >> >>> >>> >> >> >> >>> On 1 May 2017 at 08:43, Matthew Gorski < >>> [email protected]> >>> >> >> >> >>> wrote: >>> >> >> >> >>> > I am porting u-boot to nyan_big and need some input. I >>> have >>> >> >> >> >>> > been >>> >> >> >> >>> > searching >>> >> >> >> >>> > high and low and found this thread here: [U-Boot] [PATCH >>> 0/20] >>> >> >> >> >>> > tegra: >>> >> >> >> >>> > Expand >>> >> >> >> >>> > Nyan-big support >>> >> >> >> >>> > >>> >> >> >> >>> > https://lists.denx.de/pipermail/u-boot/2015-March/209530. >>> html >>> >> >> >> >>> > >>> >> >> >> >>> > I have tried to build u-boot with the branch here: >>> >> >> >> >>> > >>> >> >> >> >>> > >>> >> >> >> >>> > >>> >> >> >> >>> > https://git.collabora.com/cgit >>> /user/tomeu/u-boot.git/commit/?h=nyan-big >>> >> >> >> >>> > >>> >> >> >> >>> > and also the official chromium next branch >>> >> >> >> >>> >>> >> >> >> >>> Have you tried mainline U-Boot? It already supports nyan-big. >>> >> >> >> >>> I'm >>> >> >> >> >>> not >>> >> >> >> >>> sure about the situation with the downstream trees. >>> >> >> >> >>> >>> >> >> >> >>> > >>> >> >> >> >>> > I followed building instructions here: >>> >> >> >> >>> > >>> >> >> >> >>> > >>> >> >> >> >>> > >>> >> >> >> >>> > >>> >> >> >> >>> > https://www.chromium.org/chrom >>> ium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung >>> -arm-chromebook >>> >> >> >> >>> > >>> >> >> >> >>> > I build with these commands: >>> >> >> >> >>> > >>> >> >> >> >>> > mkimage -e 0x81000100 -a 0x81000100 -f kernel-big.its >>> >> >> >> >>> > kernel-u-boot >>> >> >> >> >>> > >>> >> >> >> >>> > (with and without the load address setting) >>> >> >> >> >>> > >>> >> >> >> >>> > vbutil_kernel --arch arm --pack kernel.bin --keyblock >>> >> >> >> >>> > /usr/share/vboot/devkeys/kernel.keyblock --signprivate >>> >> >> >> >>> > /usr/share/vboot/devkeys/kernel_data_key.vbprivk >>> --version 1 >>> >> >> >> >>> > --config >>> >> >> >> >>> > dummy.txt --vmlinuz kernel-u-boot --bootloader dummy.txt >>> >> >> >> >>> > >>> >> >> >> >>> > I have had numerous failed attempts to boot uboot from >>> sdcard >>> >> >> >> >>> > mmcblk1p1 >>> >> >> >> >>> > >>> >> >> >> >>> > Any help is appreciated I have only gotten a blank screen >>> >> >> >> >>> > after >>> >> >> >> >>> > weeks >>> >> >> >> >>> > of >>> >> >> >> >>> > flashing. I can boot custom v3.10 kernels so I assume I am >>> >> >> >> >>> > using >>> >> >> >> >>> > the >>> >> >> >> >>> > correct building procedure. Thanks in advance for help >>> from >>> >> >> >> >>> > the >>> >> >> >> >>> > u-boot >>> >> >> >> >>> > community. >>> >> >> >> >>> >>> >> >> >> >>> It is possible that it needs a particular address due to >>> >> >> >> >>> limitations >>> >> >> >> >>> in the FIT support on Nyan. I'm not sure what it is but >>> might be >>> >> >> >> >>> able >>> >> >> >> >>> to take a look at some point. >>> >> >> >> >>> >>> >> >> >> >>> How are you building your SD card? Are you following some >>> >> >> >> >>> instructions >>> >> >> >> >>> from somewhere? >>> >> >> >> >>> >>> >> >> >> >>> Regards, >>> >> >> >> >>> Simon >>> >> >> >> >> >>> >> >> >> >> >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > >>> >> >> > >>> >> >> > >>> >> > >>> >> > >>> > >>> > >>> >> >> > _______________________________________________ > U-Boot mailing list > [email protected] > https://lists.denx.de/listinfo/u-boot _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

