[U-Boot] [PATCH 0/20] tegra: Expand Nyan-big support

Matthew Gorski
2017-05-02T01:19:37Z

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

On Mon, May 1, 2017 at 7:45 PM, Matthew Gorski <matt.gorski@gmail.com>
wrote:

>
>
> On Mon, May 1, 2017 at 7:34 PM, Simon Glass <sjg@chromium.org> wrote:
>
>> Hi Matthew,
>>
>> On 1 May 2017 at 17:27, Matthew Gorski <matt.gorski@gmail.com> wrote:
>> >
>> >
>> > On Mon, May 1, 2017 at 6:02 PM, Simon Glass <sjg@chromium.org> wrote:
>> >>
>> >> Hi Matthew,
>> >>
>> >> On 1 May 2017 at 14:30, Matthew Gorski <matt.gorski@gmail.com> wrote:
>> >> >
>> >> >
>> >> > On Mon, May 1, 2017 at 2:36 PM, Simon Glass <sjg@chromium.org>
>> wrote:
>> >> >>
>> >> >> Hi Matthew,
>> >> >>
>> >> >> On 1 May 2017 at 11:26, Matthew Gorski <matt.gorski@gmail.com>
>> wrote:
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > On Mon, May 1, 2017 at 1:03 PM, Simon Glass <sjg@chromium.org>
>> wrote:
>> >> >> >>
>> >> >> >> Hi Matthew,
>> >> >> >>
>> >> >> >> On 1 May 2017 at 10:40, Matthew Gorski <matt.gorski@gmail.com>
>> >> >> >> 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 at 1{
>> >> >> > description = "kernel";
>> >> >> > data = /incbin/("u-boot-dtb.bin");
>> >> >> > type = "kernel_noload";
>> >> >> > arch = "arm";
>> >> >> > os = "linux";
>> >> >> > compression = "none";
>> >> >> > load = <0>;
>> >> >> > entry = <0>;
>> >> >> > };
>> >> >> > fdt at 1{
>> >> >> > description = "tegra124-nyan-big.dtb";
>> >> >> > data = /incbin/("dts/dt.dtb");
>> >> >> > type = "flat_dt";
>> >> >> > arch = "arm";
>> >> >> > compression = "none";
>> >> >> > hash at 1{
>> >> >> > algo = "sha1";
>> >> >> > };
>> >> >> > };
>> >> >> > };
>> >> >> > configurations {
>> >> >> > default = "conf at 1";
>> >> >> > conf at 1{
>> >> >> > kernel = "kernel at 1";
>> >> >> > fdt = "fdt at 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 at 1{
>> >
>> >>
>> >> >>
>> >> >>
>> >> >> >>
>> >> >> >> >
>> >>
>> >> >> >> > On May 1, 2017 12:11 PM, "Matthew Gorski" <
>> matt.gorski at gmail.com>
>> >> >> >> > wrote:
>> >> >> >> >
>> >> >> >> > On May 1, 2017 11:45 AM, "Simon Glass" <sjg@chromium.org>
>> wrote:
>> >> >> >> >
>> >> >> >> > Hi Matthew,
>> >> >> >> >
>> >> >> >> > On 1 May 2017 at 09:37, Matthew Gorski <matt.gorski@gmail.com>
>> >> >> >> > 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 <
>> sjg at chromium.org>
>> >> >> >> >> wrote:
>> >> >> >> >>>
>> >> >> >> >>> Hi Matthew,
>> >> >> >> >>>
>> >> >> >> >>> On 1 May 2017 at 08:43, Matthew Gorski <
>> matt.gorski at gmail.com>
>> >> >> >> >>> 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
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >
>> >> >> >
>> >> >
>> >> >
>> >
>> >
>>
>
>