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

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?
On May 1, 2017 12:11 PM, "Matthew Gorski" matt.gorski@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@chromium.org wrote:
Hi Matthew,
On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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/chromium-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

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
On May 1, 2017 12:11 PM, "Matthew Gorski" matt.gorski@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@chromium.org wrote:
Hi Matthew,
On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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/chromium-os/firmware-porting-guide/using-nv-u-boot-...
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

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 CONFIG_VIDEO_TEGRA124=y
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"; #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 May 1, 2017 12:11 PM, "Matthew Gorski" matt.gorski@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@chromium.org wrote:
Hi Matthew,
On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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:
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:
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

On Mon, May 1, 2017 at 1:26 PM, 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.g it;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 CONFIG_VIDEO_TEGRA124=y
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"; #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-...
Okay I tried a couple kernelpart.bin builds with the stock 0x80110000 CONFIG_SYS_TEXT_BASE and no adjustment to CONFIG_SPL_TEXT_BASE still no u-boot prompt.
Tried CONFIG_SYS_TEXT_BASE 0x8010E000 and still no command prompt.
What setting should I use for SPL? CONFIG_SPL_TEXT_BASE ?
I read from the older thread I should be getting a command prompt and I am familiar with porting u-boot as I have ported my own custom builds to Toradex Apalis TK1 and also Jetson TK1 boards.
I always used the L4T SYS TEXT BASE: define CONFIG_SYS_TEXT_BASE 0x8010E000
On May 1, 2017 12:11 PM, "Matthew Gorski" matt.gorski@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@chromium.org wrote:
Hi Matthew,
On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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/chromium-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

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?
#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-...
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
On May 1, 2017 12:11 PM, "Matthew Gorski" matt.gorski@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@chromium.org wrote:
Hi Matthew,
On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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/chromium-os/firmware-porting-guide/using-nv-u-boot-...
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

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@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:
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?
On May 1, 2017 12:11 PM, "Matthew Gorski" matt.gorski@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@chromium.org
wrote:
Hi Matthew,
On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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/chromium-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

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@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-...
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
On May 1, 2017 12:11 PM, "Matthew Gorski" matt.gorski@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@chromium.org wrote: > > Hi Matthew, > > On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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/chromium-os/firmware-porting-guide/using-nv-u-boot-... > > > > 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

First off THANK YOU Simon for all the help and time. I am making progress now.
I found this here: https://lists.denx.de/pipermail/u-boot/2017- February/281572.html
I adjusted my FIT its and now the display flashes like its entering u-boot but immediately reboots into chromeos usb recovery. I used the same fit config I am using for a regular kernel and I am using mainline master branch.
/dts-v1/;
/ { description = "Chrome OS kernel image with one or more FDT blobs"; 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"; }; }; };
How do I adjust the padding in the FIT its file as shown here: #address-cells = <1>; and is it needed at all?
+/ { + description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET"; + #address-cells = <1>; + images { + kernel@1{
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@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:
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
On May 1, 2017 12:11 PM, "Matthew Gorski" matt.gorski@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@chromium.org > wrote: >> >> Hi Matthew, >> >> On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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/chromium-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 > >

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@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:
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.
/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" matt.gorski@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@chromium.org > wrote: >> >> Hi Matthew, >> >> On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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/chromium-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 > >

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@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-...
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
/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" matt.gorski@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@chromium.org >> wrote: >>> >>> Hi Matthew, >>> >>> On 1 May 2017 at 08:43, Matthew Gorski matt.gorski@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/chromium-os/firmware-porting-guide/using-nv-u-boot-... >>> > >>> > 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 >> >> > > >

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
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:
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/b...
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" <
matt.gorski@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@chromium.org
> >> wrote: > >>> > >>> Hi Matthew, > >>> > >>> On 1 May 2017 at 08:43, Matthew Gorski <matt.gorski@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/chromium-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 > >> > >> > > > > > >

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=n...
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@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" <
matt.gorski@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@chromium.org>
>> >> wrote: >> >>> >> >>> Hi Matthew, >> >>> >> >>> On 1 May 2017 at 08:43, Matthew Gorski <
matt.gorski@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 >> >> >> >> >> > >> > >> > > >

On 2 May 2017 at 03:19, Matthew Gorski matt.gorski@gmail.com 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=n...
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 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@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" <
matt.gorski@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@chromium.org>
> >> >> wrote: > >> >>> > >> >>> Hi Matthew, > >> >>> > >> >>> On 1 May 2017 at 08:43, Matthew Gorski <
matt.gorski@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 > >> >> > >> >> > >> > > >> > > >> > > > > >
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

On 2 May 2017 at 08:40, Tomeu Vizoso tomeu@tomeuvizoso.net wrote:
On 2 May 2017 at 03:19, Matthew Gorski matt.gorski@gmail.com 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=n...
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.
Actually, I have grepped my IRC logs and turns out that we need for the start of U-Boot's code to be aligned to 64kB.
Thus the padding.
Regards,
Tomeu
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 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@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" <
matt.gorski@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@chromium.org>
>> >> >> wrote: >> >> >>> >> >> >>> Hi Matthew, >> >> >>> >> >> >>> On 1 May 2017 at 08:43, Matthew Gorski <
matt.gorski@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 >> >> >> >> >> >> >> >> > >> >> > >> >> > >> > >> > > >
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

On Tue, 2017-05-02 at 08:42 +0200, Tomeu Vizoso wrote:
On 2 May 2017 at 08:40, Tomeu Vizoso tomeu@tomeuvizoso.net wrote:
On 2 May 2017 at 03:19, Matthew Gorski matt.gorski@gmail.com 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.
Actually, I have grepped my IRC logs and turns out that we need for the start of U-Boot's code to be aligned to 64kB.
Yup, U-boot both needs to be properly aligned and know its text base address.
So the calculation we did was basically look at depthcharge where in memory the FIT image gets loaded, determine a suitable load address after that (e.g fit load + 64k), configure that in u-boot and then add enough padding in the fit image itself such that the u-boot code starts at the determined address in memory by putting in just the right amount of padding ;).
It is rather ugly, but it does allow running u-boot without the need to change the firmware in flash.
Thus the padding.
Regards,
Tomeu
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 <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.o rg> 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@chromi > > um.org>
wrote:
> > > > > > Hi Matthew, > > > > > > On 1 May 2017 at 11:26, Matthew Gorski <matt.gorski@g > > > mail.com>
wrote:
> > > > > > > > > > > > > > > > On Mon, May 1, 2017 at 1:03 PM, Simon Glass <sjg@ch > > > > romium.org>
wrote:
> > > > > > > > > > Hi Matthew, > > > > > > > > > > On 1 May 2017 at 10:40, Matthew Gorski <matt.gors > > > > > ki@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-bo > > > > ot.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-porti > > > > ng-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" <
matt.gorski@gmail.com>
> > > > > > wrote: > > > > > > > > > > > > On May 1, 2017 11:45 AM, "Simon Glass" <sjg@chr > > > > > > omium.org>
wrote:
> > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > On 1 May 2017 at 09:37, Matthew Gorski <matt.go > > > > > > rski@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@chromium.org>
> > > > > > > wrote: > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > On 1 May 2017 at 08:43, Matthew Gorski <
matt.gorski@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/2 > > > > > > > > > 015-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 U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

On Tue, May 2, 2017 at 2:54 AM, Sjoerd Simons <sjoerd.simons@collabora.co.uk
wrote:
On Tue, 2017-05-02 at 08:42 +0200, Tomeu Vizoso wrote:
On 2 May 2017 at 08:40, Tomeu Vizoso tomeu@tomeuvizoso.net wrote:
On 2 May 2017 at 03:19, Matthew Gorski matt.gorski@gmail.com 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.
Actually, I have grepped my IRC logs and turns out that we need for the start of U-Boot's code to be aligned to 64kB.
Yup, U-boot both needs to be properly aligned and know its text base address.
So the calculation we did was basically look at depthcharge where in memory the FIT image gets loaded, determine a suitable load address after that (e.g fit load + 64k), configure that in u-boot and then add enough padding in the fit image itself such that the u-boot code starts at the determined address in memory by putting in just the right amount of padding ;).
It is rather ugly, but it does allow running u-boot without the need to change the firmware in flash.
Thank You Tomeu, Sjoerd and Simon for taking the time to chime in on an old but interesting topic.
I believe I have enough info from you all to get this figured out now.
Since depthcharch loads the FIT image at 0x81000000 https://chromium.googlesource.com/chromiumos/platform/depthcharge/+/master/b...
I need to determine a suitable load address e.g fit load + 64k
So 81000000 + 64k.
One thing I am not certain about is adding the padding to the FIT .its config. How is this done?
description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET";
Thus the padding.
Regards,
Tomeu
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 <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.o > rg> 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@chromi > > > um.org>
wrote: > > > > > > > > Hi Matthew, > > > > > > > > On 1 May 2017 at 11:26, Matthew Gorski <matt.gorski@g > > > > mail.com>
wrote: > > > > > > > > > > > > > > > > > > > > On Mon, May 1, 2017 at 1:03 PM, Simon Glass <sjg@ch > > > > > romium.org>
wrote: > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > On 1 May 2017 at 10:40, Matthew Gorski <matt.gors > > > > > > ki@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-bo > > > > > ot.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-porti > > > > > ng-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" <
matt.gorski@gmail.com> > > > > > > > wrote: > > > > > > > > > > > > > > On May 1, 2017 11:45 AM, "Simon Glass" <sjg@chr > > > > > > > omium.org>
wrote: > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > On 1 May 2017 at 09:37, Matthew Gorski <matt.go > > > > > > > rski@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@chromium.org> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > > > On 1 May 2017 at 08:43, Matthew Gorski <
matt.gorski@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/2 > > > > > > > > > > 015-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 U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
-- Sjoerd Simons Collabora Ltd.

On Tue, May 2, 2017 at 9:25 AM, Matthew Gorski matt.gorski@gmail.com wrote:
On Tue, May 2, 2017 at 2:54 AM, Sjoerd Simons < sjoerd.simons@collabora.co.uk> wrote:
On Tue, 2017-05-02 at 08:42 +0200, Tomeu Vizoso wrote:
On 2 May 2017 at 08:40, Tomeu Vizoso tomeu@tomeuvizoso.net wrote:
On 2 May 2017 at 03:19, Matthew Gorski matt.gorski@gmail.com 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.
Actually, I have grepped my IRC logs and turns out that we need for the start of U-Boot's code to be aligned to 64kB.
Yup, U-boot both needs to be properly aligned and know its text base address.
So the calculation we did was basically look at depthcharge where in memory the FIT image gets loaded, determine a suitable load address after that (e.g fit load + 64k), configure that in u-boot and then add enough padding in the fit image itself such that the u-boot code starts at the determined address in memory by putting in just the right amount of padding ;).
It is rather ugly, but it does allow running u-boot without the need to change the firmware in flash.
Thank You Tomeu, Sjoerd and Simon for taking the time to chime in on an old but interesting topic.
I believe I have enough info from you all to get this figured out now.
Since depthcharch loads the FIT image at 0x81000000 https://chromium.googlesource.com/chromiumos/platform/ depthcharge/+/master/board/nyan_big/defconfig#11
I need to determine a suitable load address e.g fit load + 64k
So 81000000 + 64k.
One thing I am not certain about is adding the padding to the FIT .its config. How is this done?
description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET";
Seems if I use the description "description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET"; "
I get a blank display that shows no signs of loading uboot BUT if I use:
description = "Chrome OS kernel image with one or more FDT blobs";
Nyan tries to load something because the display flashes like a normal bootup but immediately reboots into chromeos usb/sdcard recovery.
So the hack in the the collabora uboot kernel-big.its doesnt seem to work anymore unless the padding is messing with the load address.
I am using mainline uboot with CONFIG_SYS_TEXT_BASE 0x81000100 should this be changed?
Also i am trying to figure out how padding is calculated in a fit image and this is confusing. Is the padding the actual description length?
Thus the padding.
Regards,
Tomeu
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 <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.o > > rg> 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@chromi > > > > um.org> > > wrote: > > > > > > > > > > Hi Matthew, > > > > > > > > > > On 1 May 2017 at 11:26, Matthew Gorski <matt.gorski@g > > > > > mail.com> > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > On Mon, May 1, 2017 at 1:03 PM, Simon Glass <sjg@ch > > > > > > romium.org> > > wrote: > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > On 1 May 2017 at 10:40, Matthew Gorski <matt.gors > > > > > > > ki@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-bo > > > > > > ot.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-porti > > > > > > ng-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" < > > matt.gorski@gmail.com> > > > > > > > > wrote: > > > > > > > > > > > > > > > > On May 1, 2017 11:45 AM, "Simon Glass" <sjg@chr > > > > > > > > omium.org> > > wrote: > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > On 1 May 2017 at 09:37, Matthew Gorski <matt.go > > > > > > > > rski@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@chromium.org> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > > > > > On 1 May 2017 at 08:43, Matthew Gorski < > > matt.gorski@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/2 > > > > > > > > > > > 015-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 U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
-- Sjoerd Simons Collabora Ltd.

I have yet to produce a u-boot command prompt. I can get the display to flash using u-boot mainline with 0x81000100 as the SYS_TEXT_BASE and using:
description = "Chrome OS kernel image with one or more FDT blobs";
but the boot process forces a reboot into recovery.
If I use:
description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET"; Produces a blank screen with the exact u-boot.bin
I hope someone can confirm nyan can chainboot u-boot and possibly post what the used for their FIT its config. Thanks for all the help and guided responses.
On Tue, May 2, 2017 at 11:34 AM, Matthew Gorski matt.gorski@gmail.com wrote:
On Tue, May 2, 2017 at 9:25 AM, Matthew Gorski matt.gorski@gmail.com wrote:
On Tue, May 2, 2017 at 2:54 AM, Sjoerd Simons < sjoerd.simons@collabora.co.uk> wrote:
On Tue, 2017-05-02 at 08:42 +0200, Tomeu Vizoso wrote:
On 2 May 2017 at 08:40, Tomeu Vizoso tomeu@tomeuvizoso.net wrote:
On 2 May 2017 at 03:19, Matthew Gorski matt.gorski@gmail.com 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.
Actually, I have grepped my IRC logs and turns out that we need for the start of U-Boot's code to be aligned to 64kB.
Yup, U-boot both needs to be properly aligned and know its text base address.
So the calculation we did was basically look at depthcharge where in memory the FIT image gets loaded, determine a suitable load address after that (e.g fit load + 64k), configure that in u-boot and then add enough padding in the fit image itself such that the u-boot code starts at the determined address in memory by putting in just the right amount of padding ;).
It is rather ugly, but it does allow running u-boot without the need to change the firmware in flash.
Thank You Tomeu, Sjoerd and Simon for taking the time to chime in on an old but interesting topic.
I believe I have enough info from you all to get this figured out now.
Since depthcharch loads the FIT image at 0x81000000 https://chromium.googlesource.com/chromiumos/platform/depthc harge/+/master/board/nyan_big/defconfig#11
I need to determine a suitable load address e.g fit load + 64k
So 81000000 + 64k.
One thing I am not certain about is adding the padding to the FIT .its config. How is this done?
description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET";
Seems if I use the description "description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET"; "
I get a blank display that shows no signs of loading uboot BUT if I use:
description = "Chrome OS kernel image with one or more FDT blobs";
Nyan tries to load something because the display flashes like a normal bootup but immediately reboots into chromeos usb/sdcard recovery.
So the hack in the the collabora uboot kernel-big.its doesnt seem to work anymore unless the padding is messing with the load address.
I am using mainline uboot with CONFIG_SYS_TEXT_BASE 0x81000100 should this be changed?
Also i am trying to figure out how padding is calculated in a fit image and this is confusing. Is the padding the actual description length?
Thus the padding.
Regards,
Tomeu
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 <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.o > > > rg> 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@chromi > > > > > um.org> > > > > wrote: > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > On 1 May 2017 at 11:26, Matthew Gorski <matt.gorski@g > > > > > > mail.com> > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, May 1, 2017 at 1:03 PM, Simon Glass <sjg@ch > > > > > > > romium.org> > > > > wrote: > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > On 1 May 2017 at 10:40, Matthew Gorski <matt.gors > > > > > > > > ki@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-bo > > > > > > > ot.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-porti > > > > > > > ng-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" < > > > > matt.gorski@gmail.com> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > On May 1, 2017 11:45 AM, "Simon Glass" <sjg@chr > > > > > > > > > omium.org> > > > > wrote: > > > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > > > On 1 May 2017 at 09:37, Matthew Gorski <matt.go > > > > > > > > > rski@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@chromium.org> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > > > > > > > On 1 May 2017 at 08:43, Matthew Gorski < > > > > matt.gorski@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/2 > > > > > > > > > > > > 015-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 U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
-- Sjoerd Simons Collabora Ltd.

Hi Matthew,
On 2 May 2017 at 18:51, Matthew Gorski matt.gorski@gmail.com wrote:
I have yet to produce a u-boot command prompt. I can get the display to flash using u-boot mainline with 0x81000100 as the SYS_TEXT_BASE and using:
description = "Chrome OS kernel image with one or more FDT blobs";
but the boot process forces a reboot into recovery.
If I use:
description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET"; Produces a blank screen with the exact u-boot.bin
I hope someone can confirm nyan can chainboot u-boot and possibly post what the used for their FIT its config. Thanks for all the help and guided responses.
I hope to be able to try this later in the week.
- Simon
On Tue, May 2, 2017 at 11:34 AM, Matthew Gorski matt.gorski@gmail.com wrote:
On Tue, May 2, 2017 at 9:25 AM, Matthew Gorski matt.gorski@gmail.com wrote:
On Tue, May 2, 2017 at 2:54 AM, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
On Tue, 2017-05-02 at 08:42 +0200, Tomeu Vizoso wrote:
On 2 May 2017 at 08:40, Tomeu Vizoso tomeu@tomeuvizoso.net wrote:
On 2 May 2017 at 03:19, Matthew Gorski matt.gorski@gmail.com 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.
Actually, I have grepped my IRC logs and turns out that we need for the start of U-Boot's code to be aligned to 64kB.
Yup, U-boot both needs to be properly aligned and know its text base address.
So the calculation we did was basically look at depthcharge where in memory the FIT image gets loaded, determine a suitable load address after that (e.g fit load + 64k), configure that in u-boot and then add enough padding in the fit image itself such that the u-boot code starts at the determined address in memory by putting in just the right amount of padding ;).
It is rather ugly, but it does allow running u-boot without the need to change the firmware in flash.
Thank You Tomeu, Sjoerd and Simon for taking the time to chime in on an old but interesting topic.
I believe I have enough info from you all to get this figured out now.
Since depthcharch loads the FIT image at 0x81000000 https://chromium.googlesource.com/chromiumos/platform/depthcharge/+/master/b...
I need to determine a suitable load address e.g fit load + 64k
So 81000000 + 64k.
One thing I am not certain about is adding the padding to the FIT .its config. How is this done?
description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET";
Seems if I use the description "description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO THE IMAGE STARTS AT THE RIGHT OFFSET"; "
I get a blank display that shows no signs of loading uboot BUT if I use:
description = "Chrome OS kernel image with one or more FDT blobs";
Nyan tries to load something because the display flashes like a normal bootup but immediately reboots into chromeos usb/sdcard recovery.
So the hack in the the collabora uboot kernel-big.its doesnt seem to work anymore unless the padding is messing with the load address.
I am using mainline uboot with CONFIG_SYS_TEXT_BASE 0x81000100 should this be changed?
Also i am trying to figure out how padding is calculated in a fit image and this is confusing. Is the padding the actual description length?
Thus the padding.
Regards,
Tomeu
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 <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.o > > > > rg> 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@chromi > > > > > > um.org> > > > > > > wrote: > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > On 1 May 2017 at 11:26, Matthew Gorski <matt.gorski@g > > > > > > > mail.com> > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, May 1, 2017 at 1:03 PM, Simon Glass <sjg@ch > > > > > > > > romium.org> > > > > > > wrote: > > > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > > > On 1 May 2017 at 10:40, Matthew Gorski <matt.gors > > > > > > > > > ki@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-bo > > > > > > > > ot.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-porti > > > > > > > > ng-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" < > > > > > > matt.gorski@gmail.com> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > On May 1, 2017 11:45 AM, "Simon Glass" <sjg@chr > > > > > > > > > > omium.org> > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > > > > > On 1 May 2017 at 09:37, Matthew Gorski <matt.go > > > > > > > > > > rski@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@chromium.org> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > Hi Matthew, > > > > > > > > > > > > > > > > > > > > > > > > On 1 May 2017 at 08:43, Matthew Gorski < > > > > > > matt.gorski@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/2 > > > > > > > > > > > > > 015-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 > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot
-- Sjoerd Simons Collabora Ltd.
participants (4)
-
Matthew Gorski
-
Simon Glass
-
Sjoerd Simons
-
Tomeu Vizoso