linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Odroid U3 - Upgrade to latest u-boot kernel load fails.
@ 2019-03-18 12:32 Anand Moon
  2019-03-18 12:50 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 6+ messages in thread
From: Anand Moon @ 2019-03-18 12:32 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Marek Szyprowski, linux-samsung-soc,
	Bartlomiej Zolnierkiewicz
  Cc: U-Boot Mailing List, linux-arm-kernel

Hi Krzysztof / Marek,

After I update the latest u-boot on my Odroud U3+ it fails to load the
kernel it hangs.
I am using Archlinux on Odroid U3.

U-Boot 2019.04-rc3-00131-g8303467e80d-dirty (Mar 18 2019 - 12:12:23 +0000)

CPU:   Exynos4412 @ 1 GHz
Model: Odroid based on Exynos4412
Type:  u3
DRAM:  2 GiB
LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
LDO21@TFLASH_2.8V: set 2800000 uV; enabling
MMC:   SAMSUNG SDHCI: 1, EXYNOS DWMMC: 0
Loading Environment from MMC... Card did not respond to voltage select!
*** Warning - No block device, using default environment

Net:   No ethernet found.
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
769 bytes read in 6 ms (125 KiB/s)
## Executing script at 42000000
6901856 bytes read in 253 ms (26 MiB/s)
53078 bytes read in 19 ms (2.7 MiB/s)
6590950 bytes read in 240 ms (26.2 MiB/s)
Kernel image @ 0x41000000 [ 0x000000 - 0x695060 ]
## Flattened Device Tree blob at 40800000
   Booting using the fdt blob at 0x40800000
   Loading Ramdisk to 4f9b6000, end 4ffff1e6 ... OK
   Loading Device Tree to 4f9a6000, end 4f9b5f55 ... OK

Starting kernel ...

Old u-boot boots fine see the logs below.
--------------------------------------------------------------------------------------------------
U-Boot 2018.01-1 (Feb 13 2018 - 02:19:55 +0000) Arch Linux ARM

CPU:   Exynos4412 @ 1 GHz
Model: Odroid based on Exynos4412
Board: Odroid based on Exynos4412
Type:  u3
DRAM:  2 GiB
LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
LDO21@TFLASH_2.8V: set 2800000 uV; enabling
MMC:   sdhci@12530000 - probe failed: -19

*** Warning - bad CRC, using default environment

Net:   No ethernet found.
Hit any key to stop autoboot:  0
no mmc device at slot 1
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
770 bytes read in 31 ms (23.4 KiB/s)
## Executing script at 50000000
6625416 bytes read in 267 ms (23.7 MiB/s)
72531 bytes read in 483 ms (146.5 KiB/s)
6590888 bytes read in 256 ms (24.6 MiB/s)
Kernel image @ 0x42000000 [ 0x000000 - 0x651888 ]
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Loading Ramdisk to 4f9b6000, end 4ffff1a8 ... OK
   Loading Device Tree to 4f9a1000, end 4f9b5b52 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0xa00
[    0.000000] Linux version 5.0.1-1-ARCH (builduser@leming) (gcc
version 8.2.1 20181127 (GCC)) #1 SMP PREEMPT Tue Mar 12 04:09:35 UTC
2019
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
instruction cache
[    0.000000] OF: fdt: Machine model: Hardkernel ODROID-U3 board
based on Exynos4412
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created DMA memory pool at 0xbf700000,
size 8 MiB
[    0.000000] OF: reserved mem: initialized node region_mfc_right,
compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0xbd300000,
size 36 MiB

Please could you share the details on how to debug this issue or how to resolve.

Best Regards
-Anand

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Odroid U3 - Upgrade to latest u-boot kernel load fails.
  2019-03-18 12:32 Odroid U3 - Upgrade to latest u-boot kernel load fails Anand Moon
@ 2019-03-18 12:50 ` Krzysztof Kozlowski
  2019-03-18 17:49   ` Anand Moon
  0 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2019-03-18 12:50 UTC (permalink / raw)
  To: Anand Moon
  Cc: U-Boot Mailing List, Bartlomiej Zolnierkiewicz,
	linux-samsung-soc, linux-arm-kernel, Marek Szyprowski

On Mon, 18 Mar 2019 at 13:32, Anand Moon <linux.amoon@gmail.com> wrote:
>
> Hi Krzysztof / Marek,
>
> After I update the latest u-boot on my Odroud U3+ it fails to load the
> kernel it hangs.
> I am using Archlinux on Odroid U3.
>
> U-Boot 2019.04-rc3-00131-g8303467e80d-dirty (Mar 18 2019 - 12:12:23 +0000)
>
> CPU:   Exynos4412 @ 1 GHz
> Model: Odroid based on Exynos4412
> Type:  u3
> DRAM:  2 GiB
> LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
> LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
> LDO21@TFLASH_2.8V: set 2800000 uV; enabling
> MMC:   SAMSUNG SDHCI: 1, EXYNOS DWMMC: 0
> Loading Environment from MMC... Card did not respond to voltage select!
> *** Warning - No block device, using default environment
>
> Net:   No ethernet found.
> Hit any key to stop autoboot:  0
> switch to partitions #0, OK
> mmc1 is current device
> Scanning mmc 1:1...
> Found U-Boot script /boot/boot.scr
> 769 bytes read in 6 ms (125 KiB/s)
> ## Executing script at 42000000
> 6901856 bytes read in 253 ms (26 MiB/s)
> 53078 bytes read in 19 ms (2.7 MiB/s)
> 6590950 bytes read in 240 ms (26.2 MiB/s)
> Kernel image @ 0x41000000 [ 0x000000 - 0x695060 ]
> ## Flattened Device Tree blob at 40800000
>    Booting using the fdt blob at 0x40800000
>    Loading Ramdisk to 4f9b6000, end 4ffff1e6 ... OK
>    Loading Device Tree to 4f9a6000, end 4f9b5f55 ... OK
>
> Starting kernel ...

Can you attach your boot.init file (the source of boot.scr)?

By the size of DTB you can see that different DTB is loaded. I assume
you tried to boot the same kernel, then it could mean that boardname
was used instead of board_name to choose DTB. Suspicious is that
kernel size also differs... so maybe you booted something else? As
usual debugging practice, reduce number of unknown factors. Do not
change kernel and U-Boot at the same time.

Also, you can try reverting commit e6b1467081d3 ("arm: exynos: Remove
duplicated "boardname" env setting") and see if it helps. Or just try
to bisect around changes coming from u-boot samsung tree. Try booting
v2019.01 and paste the results as well.

Best regards,
Krzysztof

>
> Old u-boot boots fine see the logs below.
> --------------------------------------------------------------------------------------------------
> U-Boot 2018.01-1 (Feb 13 2018 - 02:19:55 +0000) Arch Linux ARM
>
> CPU:   Exynos4412 @ 1 GHz
> Model: Odroid based on Exynos4412
> Board: Odroid based on Exynos4412
> Type:  u3
> DRAM:  2 GiB
> LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
> LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
> LDO21@TFLASH_2.8V: set 2800000 uV; enabling
> MMC:   sdhci@12530000 - probe failed: -19
>
> *** Warning - bad CRC, using default environment
>
> Net:   No ethernet found.
> Hit any key to stop autoboot:  0
> no mmc device at slot 1
> switch to partitions #0, OK
> mmc0(part 0) is current device
> Scanning mmc 0:1...
> Found U-Boot script /boot/boot.scr
> 770 bytes read in 31 ms (23.4 KiB/s)
> ## Executing script at 50000000
> 6625416 bytes read in 267 ms (23.7 MiB/s)
> 72531 bytes read in 483 ms (146.5 KiB/s)
> 6590888 bytes read in 256 ms (24.6 MiB/s)
> Kernel image @ 0x42000000 [ 0x000000 - 0x651888 ]
> ## Flattened Device Tree blob at 43000000
>    Booting using the fdt blob at 0x43000000
>    Loading Ramdisk to 4f9b6000, end 4ffff1a8 ... OK
>    Loading Device Tree to 4f9a1000, end 4f9b5b52 ... OK
>
> Starting kernel ...
>
> [    0.000000] Booting Linux on physical CPU 0xa00
> [    0.000000] Linux version 5.0.1-1-ARCH (builduser@leming) (gcc
> version 8.2.1 20181127 (GCC)) #1 SMP PREEMPT Tue Mar 12 04:09:35 UTC
> 2019
> [    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
> instruction cache
> [    0.000000] OF: fdt: Machine model: Hardkernel ODROID-U3 board
> based on Exynos4412
> [    0.000000] Memory policy: Data cache writealloc
> [    0.000000] Reserved memory: created DMA memory pool at 0xbf700000,
> size 8 MiB
> [    0.000000] OF: reserved mem: initialized node region_mfc_right,
> compatible id shared-dma-pool
> [    0.000000] Reserved memory: created DMA memory pool at 0xbd300000,
> size 36 MiB
>
> Please could you share the details on how to debug this issue or how to resolve.
>
> Best Regards
> -Anand

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Odroid U3 - Upgrade to latest u-boot kernel load fails.
  2019-03-18 12:50 ` Krzysztof Kozlowski
@ 2019-03-18 17:49   ` Anand Moon
  2019-03-18 18:03     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 6+ messages in thread
From: Anand Moon @ 2019-03-18 17:49 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: U-Boot Mailing List, Bartlomiej Zolnierkiewicz,
	linux-samsung-soc, linux-arm-kernel, Marek Szyprowski

[-- Attachment #1: Type: text/plain, Size: 2893 bytes --]

Hi Krzysztof,

On Mon, 18 Mar 2019 at 18:20, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On Mon, 18 Mar 2019 at 13:32, Anand Moon <linux.amoon@gmail.com> wrote:
> >
> > Hi Krzysztof / Marek,
> >
> > After I update the latest u-boot on my Odroud U3+ it fails to load the
> > kernel it hangs.
> > I am using Archlinux on Odroid U3.
> >
> > U-Boot 2019.04-rc3-00131-g8303467e80d-dirty (Mar 18 2019 - 12:12:23 +0000)
> >
> > CPU:   Exynos4412 @ 1 GHz
> > Model: Odroid based on Exynos4412
> > Type:  u3
> > DRAM:  2 GiB
> > LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
> > LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
> > LDO21@TFLASH_2.8V: set 2800000 uV; enabling
> > MMC:   SAMSUNG SDHCI: 1, EXYNOS DWMMC: 0
> > Loading Environment from MMC... Card did not respond to voltage select!
> > *** Warning - No block device, using default environment
> >
> > Net:   No ethernet found.
> > Hit any key to stop autoboot:  0
> > switch to partitions #0, OK
> > mmc1 is current device
> > Scanning mmc 1:1...
> > Found U-Boot script /boot/boot.scr
> > 769 bytes read in 6 ms (125 KiB/s)
> > ## Executing script at 42000000
> > 6901856 bytes read in 253 ms (26 MiB/s)
> > 53078 bytes read in 19 ms (2.7 MiB/s)
> > 6590950 bytes read in 240 ms (26.2 MiB/s)
> > Kernel image @ 0x41000000 [ 0x000000 - 0x695060 ]
> > ## Flattened Device Tree blob at 40800000
> >    Booting using the fdt blob at 0x40800000
> >    Loading Ramdisk to 4f9b6000, end 4ffff1e6 ... OK
> >    Loading Device Tree to 4f9a6000, end 4f9b5f55 ... OK
> >
> > Starting kernel ...
>
> Can you attach your boot.init file (the source of boot.scr)?
>
> By the size of DTB you can see that different DTB is loaded. I assume
> you tried to boot the same kernel, then it could mean that boardname
> was used instead of board_name to choose DTB. Suspicious is that
> kernel size also differs... so maybe you booted something else? As
> usual debugging practice, reduce number of unknown factors. Do not
> change kernel and U-Boot at the same time.
>
> Also, you can try reverting commit e6b1467081d3 ("arm: exynos: Remove
> duplicated "boardname" env setting") and see if it helps. Or just try
> to bisect around changes coming from u-boot samsung tree. Try booting
> v2019.01 and paste the results as well.
>
> Best regards,
> Krzysztof
>

I have tested with pre-compiled image and the cross compiled kernel image
both failed to load the kernel.

No revert of the commit e6b1467081d3 did not help.

Yes it seem strange that that load address is changes some how in the u-boot env

printenv setting of the latest u-boot     U-Boot
2019.04-rc3-00131-g8303467e80d-dirty
[0] https://pastebin.com/1Hgc5xxC      (newu-boot.txt)

printenv setting for the old u-boot.      U-Boot 2018.01-1
[1] https://pastebin.com/wD6zK6eG    (oldu-boot.txt)

Attach is the boot.txt (boot.scr), also the u-boot env old and u-boot-env new

Best Regards
-Anand

[-- Attachment #2: boot.txt --]
[-- Type: text/plain, Size: 697 bytes --]

# After modifying, run ./mkscr

# MAC address configuration
# setenv macaddr "00:1e:ee:61:7a:39"
setenv macaddr "3A:02:DD:67:B6:01"

part uuid ${devtype} ${devnum}:${bootpart} uuid
setenv bootargs "console=tty1 console=${console} root=PARTUUID=${uuid} rw rootwait smsc95xx.macaddr=${macaddr}"

if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/zImage; then
  if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then
    if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then
      bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};
    else
      bootz ${kernel_addr_r} - ${fdt_addr_r};
    fi;
  fi;
fi

[-- Attachment #3: newu-boot.txt --]
[-- Type: text/plain, Size: 5336 bytes --]

U-Boot 2019.04-rc3-00131-g8303467e80d-dirty (Mar 18 2019 - 16:27:40 +0000)

CPU:   Exynos4412 @ 1 GHz
Model: Odroid based on Exynos4412
Type:  u3
DRAM:  2 GiB
LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
LDO21@TFLASH_2.8V: set 2800000 uV; enabling
MMC:   SAMSUNG SDHCI: 1, EXYNOS DWMMC: 0
Loading Environment from MMC... Card did not respond to voltage select!
*** Warning - No block device, using default environment

Net:   No ethernet found.
Hit any key to stop autoboot:  0
Odroid #
Odroid #
Odroid #
Odroid #
Odroid # print env
## Error: "env" not defined
Odroid # printenv
arch=arm
autoboot=if test -e mmc 0 boot.scr; then; run boot_script; elif test -e mmc 0 Image.itb; then; run boot_fit;elif test -e mmc 0 zImage; then; run boot_zimg;elif test -e mmc 0 uImage; then; run boot_uimg;fi;
baudrate=115200
board=odroid
board_name=odroid
boardname=odroidu3
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
boot_fit=setenv kernelname Image.itb;run loadkernel;run kernel_args;bootm ${kernel_addr_r}#${boardname}
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script=run loadbootscript;source ${scriptaddr}
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=mmc1 mmc0
boot_uimg=setenv kernelname uImage;run check_dtb;run check_ramdisk;run loadkernel;run kernel_args;bootm ${kernel_addr_r} ${initrd_addr} ${fdt_addr};
boot_zimg=setenv kernelname zImage;run check_dtb;run check_ramdisk;run loadkernel;run kernel_args;bootz ${kernel_addr_r} ${initrd_addr} ${fdt_addr};
bootargs=Please use defined boot
bootcmd=run distro_bootcmd ; run autoboot
bootcmd_mmc0=devnum=0; run mmc_boot
bootcmd_mmc1=devnum=1; run mmc_boot
bootdelay=2
check_dtb=if run loaddtb; then setenv fdt_addr ${fdt_addr_r};else setenv fdt_addr;fi;
check_ramdisk=if run loadinitrd; then setenv initrd_addr ${ramdisk_addr_r};else setenv initrd_addr -;fi;
console=console=ttySAC1,115200n8
consoleoff=set console console=ram; save; reset
consoleon=set console console=ttySAC1,115200n8; save; reset
cpu=armv7
dfu_alt_info=Please reset the board
dfu_alt_system=uImage fat 0 1;zImage fat 0 1;Image.itb fat 0 1;uInitrd fat 0 1;exynos4412-odroidu3.dtb fat 0 1;exynos4412-odroidx2.dtb fat 0 1;boot part 0 1;platform part 0 2
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
fdt_addr_r=0x40800000
fdtcontroladdr=bae71f08
fdtfile=exynos4412-odroidu3.dtb
initrdname=uInitrd
kernel_addr_r=0x41000000
kernel_args=setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart} rootwait ${console} ${opts}
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} ${scriptaddr} boot.scr
loaddtb=load mmc ${mmcbootdev}:${mmcbootpart} ${fdt_addr_r} ${fdtfile}
loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${ramdisk_addr_r} ${initrdname}
loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kernel_addr_r} ${kernelname}
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
mmcbootdev=0
mmcbootpart=1
mmcrootdev=0
mmcrootpart=2
ramdisk_addr_r=0x42000000
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done; setenv devplist
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x42000000
soc=exynos
soc_id=4412
soc_rev=2.0
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
vendor=samsung

Environment size: 4673/16380 bytes


[-- Attachment #4: oldu-boot.txt --]
[-- Type: text/plain, Size: 5400 bytes --]

U-Boot 2018.01-1 (Feb 13 2018 - 02:19:55 +0000) Arch Linux ARM

CPU:   Exynos4412 @ 1 GHz
Model: Odroid based on Exynos4412
Board: Odroid based on Exynos4412
Type:  u3
DRAM:  2 GiB
LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
LDO21@TFLASH_2.8V: set 2800000 uV; enabling
MMC:   SAMSUNG SDHCI: 1, EXYNOS DWMMC: 0
Card did not respond to voltage select!
mmc_init: -95, time 10
*** Warning - No block device, using default environment

Net:   No ethernet found.
Hit any key to stop autoboot:  0
Odroid #
Odroid #
Odroid #
Odroid # printenv
arch=arm
autoboot=if test -e mmc 0 boot.scr; then; run boot_script; elif test -e mmc 0 Image.itb; then; run boot_fit;elif test -e mmc 0 zImage; then; run boot_zimg;elif test -e mmc 0 uImage; then; run boot_uimg;fi;
baudrate=115200
board=odroid
board_name=odroid
boardname=odroidu3
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
boot_fit=setenv kerneladdr 0x42000000;setenv kernelname Image.itb;run loadkernel;run kernel_args;bootm ${kerneladdr}#${boardname}
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script=run loadbootscript;source ${scriptaddr}
boot_script_dhcp=boot.scr.uimg
x
boot_scripts=boot.scr.uimg boot.scr
boot_targets=mmc1 mmc0
boot_uimg=setenv kerneladdr 0x40007FC0;setenv kernelname uImage;run check_dtb;run check_ramdisk;run loadkernel;run kernel_args;bootm ${kerneladdr} ${initrd_addr} ${fdt_addr};
boot_zimg=setenv kerneladdr 0x40007FC0;setenv kernelname zImage;run check_dtb;run check_ramdisk;run loadkernel;run kernel_args;bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};
bootargs=Please use defined boot
bootcmd=run distro_bootcmd
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_mmc1=setenv devnum 1; run mmc_boot
bootdelay=2
bootm_size=0x10000000
check_dtb=if run loaddtb; then setenv fdt_addr ${fdtaddr};else setenv fdt_addr;fi;
check_ramdisk=if run loadinitrd; then setenv initrd_addr ${initrdaddr};else setenv initrd_addr -;fi;
console=ttySAC1,115200n8
consoleoff=set console console=ram; save; reset
consoleon=set console console=ttySAC1,115200n8; save; reset
cpu=armv7
dfu_alt_info=Please reset the board
dfu_alt_system=uImage fat 0 1;zImage fat 0 1;Image.itb fat 0 1;uInitrd fat 0 1;exynos4412-odroidu3.dtb fat 0 1;exynos4412-odroidx2.dtb fat 0 1;boot part 0 1;platform part 0 2
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
fdt_addr_r=0x43000000
fdtaddr=40800000
x
fdtcontroladdr=bae3def0
fdtfile=exynos4412-odroidu3.dtb
initrdaddr=42000000
initrdname=uInitrd
kernel_addr_r=0x42000000
kernel_args=setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart} rootwait ${console} ${opts}
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} ${scriptaddr} boot.scr
loaddtb=load mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} ${fdtfile}
loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} ${initrdname}
loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} ${kernelname}
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
mmcbootdev=0
mmcbootpart=1
mmcrootdev=0
mmcrootpart=2
pxefile_addr_r=0x51000000
ramdisk_addr_r=0x43300000
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x50000000
soc=exynos
soc_id=4412
soc_rev=2.0
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
vendor=samsung

Environment size: 4898/8188 bytes
Odroid #


[-- Attachment #5: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Odroid U3 - Upgrade to latest u-boot kernel load fails.
  2019-03-18 17:49   ` Anand Moon
@ 2019-03-18 18:03     ` Krzysztof Kozlowski
  2019-03-18 19:17       ` Anand Moon
       [not found]       ` <CANAwSgTpzXzfs6EBC9ydpyWJxLtMyefYNnCaSkMHs-=ppYwNeQ@mail.gmail.com>
  0 siblings, 2 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2019-03-18 18:03 UTC (permalink / raw)
  To: Anand Moon
  Cc: U-Boot Mailing List, Bartlomiej Zolnierkiewicz,
	linux-samsung-soc, linux-arm-kernel, Marek Szyprowski

On Mon, 18 Mar 2019 at 18:49, Anand Moon <linux.amoon@gmail.com> wrote:
>
> Hi Krzysztof,
>
> On Mon, 18 Mar 2019 at 18:20, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> >
> > On Mon, 18 Mar 2019 at 13:32, Anand Moon <linux.amoon@gmail.com> wrote:
> > >
> > > Hi Krzysztof / Marek,
> > >
> > > After I update the latest u-boot on my Odroud U3+ it fails to load the
> > > kernel it hangs.
> > > I am using Archlinux on Odroid U3.
> > >
> > > U-Boot 2019.04-rc3-00131-g8303467e80d-dirty (Mar 18 2019 - 12:12:23 +0000)
> > >
> > > CPU:   Exynos4412 @ 1 GHz
> > > Model: Odroid based on Exynos4412
> > > Type:  u3
> > > DRAM:  2 GiB
> > > LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
> > > LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
> > > LDO21@TFLASH_2.8V: set 2800000 uV; enabling
> > > MMC:   SAMSUNG SDHCI: 1, EXYNOS DWMMC: 0
> > > Loading Environment from MMC... Card did not respond to voltage select!
> > > *** Warning - No block device, using default environment
> > >
> > > Net:   No ethernet found.
> > > Hit any key to stop autoboot:  0
> > > switch to partitions #0, OK
> > > mmc1 is current device
> > > Scanning mmc 1:1...
> > > Found U-Boot script /boot/boot.scr
> > > 769 bytes read in 6 ms (125 KiB/s)
> > > ## Executing script at 42000000
> > > 6901856 bytes read in 253 ms (26 MiB/s)
> > > 53078 bytes read in 19 ms (2.7 MiB/s)
> > > 6590950 bytes read in 240 ms (26.2 MiB/s)
> > > Kernel image @ 0x41000000 [ 0x000000 - 0x695060 ]
> > > ## Flattened Device Tree blob at 40800000
> > >    Booting using the fdt blob at 0x40800000
> > >    Loading Ramdisk to 4f9b6000, end 4ffff1e6 ... OK
> > >    Loading Device Tree to 4f9a6000, end 4f9b5f55 ... OK
> > >
> > > Starting kernel ...
> >
> > Can you attach your boot.init file (the source of boot.scr)?
> >
> > By the size of DTB you can see that different DTB is loaded. I assume
> > you tried to boot the same kernel, then it could mean that boardname
> > was used instead of board_name to choose DTB. Suspicious is that
> > kernel size also differs... so maybe you booted something else? As
> > usual debugging practice, reduce number of unknown factors. Do not
> > change kernel and U-Boot at the same time.
> >
> > Also, you can try reverting commit e6b1467081d3 ("arm: exynos: Remove
> > duplicated "boardname" env setting") and see if it helps. Or just try
> > to bisect around changes coming from u-boot samsung tree. Try booting
> > v2019.01 and paste the results as well.
> >
> > Best regards,
> > Krzysztof
> >
>
> I have tested with pre-compiled image and the cross compiled kernel image
> both failed to load the kernel.
>
> No revert of the commit e6b1467081d3 did not help.
>
> Yes it seem strange that that load address is changes some how in the u-boot env
>
> printenv setting of the latest u-boot     U-Boot
> 2019.04-rc3-00131-g8303467e80d-dirty
> [0] https://pastebin.com/1Hgc5xxC      (newu-boot.txt)
>
> printenv setting for the old u-boot.      U-Boot 2018.01-1
> [1] https://pastebin.com/wD6zK6eG    (oldu-boot.txt)
>
> Attach is the boot.txt (boot.scr), also the u-boot env old and u-boot-env new

And does 2019.01 work?

Krzysztof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Odroid U3 - Upgrade to latest u-boot kernel load fails.
  2019-03-18 18:03     ` Krzysztof Kozlowski
@ 2019-03-18 19:17       ` Anand Moon
       [not found]       ` <CANAwSgTpzXzfs6EBC9ydpyWJxLtMyefYNnCaSkMHs-=ppYwNeQ@mail.gmail.com>
  1 sibling, 0 replies; 6+ messages in thread
From: Anand Moon @ 2019-03-18 19:17 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: U-Boot Mailing List, Bartlomiej Zolnierkiewicz,
	linux-samsung-soc, linux-arm-kernel, Marek Szyprowski

Hi Krzysztof,

On Mon, 18 Mar 2019 at 23:33, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On Mon, 18 Mar 2019 at 18:49, Anand Moon <linux.amoon@gmail.com> wrote:
> >
> > Hi Krzysztof,
> >
> > On Mon, 18 Mar 2019 at 18:20, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > >
> > > On Mon, 18 Mar 2019 at 13:32, Anand Moon <linux.amoon@gmail.com> wrote:
> > > >
> > > > Hi Krzysztof / Marek,
> > > >
> > > > After I update the latest u-boot on my Odroud U3+ it fails to load the
> > > > kernel it hangs.
> > > > I am using Archlinux on Odroid U3.
> > > >
> > > > U-Boot 2019.04-rc3-00131-g8303467e80d-dirty (Mar 18 2019 - 12:12:23 +0000)
> > > >
> > > > CPU:   Exynos4412 @ 1 GHz
> > > > Model: Odroid based on Exynos4412
> > > > Type:  u3
> > > > DRAM:  2 GiB
> > > > LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
> > > > LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
> > > > LDO21@TFLASH_2.8V: set 2800000 uV; enabling
> > > > MMC:   SAMSUNG SDHCI: 1, EXYNOS DWMMC: 0
> > > > Loading Environment from MMC... Card did not respond to voltage select!
> > > > *** Warning - No block device, using default environment
> > > >
> > > > Net:   No ethernet found.
> > > > Hit any key to stop autoboot:  0
> > > > switch to partitions #0, OK
> > > > mmc1 is current device
> > > > Scanning mmc 1:1...
> > > > Found U-Boot script /boot/boot.scr
> > > > 769 bytes read in 6 ms (125 KiB/s)
> > > > ## Executing script at 42000000
> > > > 6901856 bytes read in 253 ms (26 MiB/s)
> > > > 53078 bytes read in 19 ms (2.7 MiB/s)
> > > > 6590950 bytes read in 240 ms (26.2 MiB/s)
> > > > Kernel image @ 0x41000000 [ 0x000000 - 0x695060 ]
> > > > ## Flattened Device Tree blob at 40800000
> > > >    Booting using the fdt blob at 0x40800000
> > > >    Loading Ramdisk to 4f9b6000, end 4ffff1e6 ... OK
> > > >    Loading Device Tree to 4f9a6000, end 4f9b5f55 ... OK
> > > >
> > > > Starting kernel ...
> > >
> > > Can you attach your boot.init file (the source of boot.scr)?
> > >
> > > By the size of DTB you can see that different DTB is loaded. I assume
> > > you tried to boot the same kernel, then it could mean that boardname
> > > was used instead of board_name to choose DTB. Suspicious is that
> > > kernel size also differs... so maybe you booted something else? As
> > > usual debugging practice, reduce number of unknown factors. Do not
> > > change kernel and U-Boot at the same time.
> > >
> > > Also, you can try reverting commit e6b1467081d3 ("arm: exynos: Remove
> > > duplicated "boardname" env setting") and see if it helps. Or just try
> > > to bisect around changes coming from u-boot samsung tree. Try booting
> > > v2019.01 and paste the results as well.
> > >
> > > Best regards,
> > > Krzysztof
> > >
> >
> > I have tested with pre-compiled image and the cross compiled kernel image
> > both failed to load the kernel.
> >
> > No revert of the commit e6b1467081d3 did not help.
> >
> > Yes it seem strange that that load address is changes some how in the u-boot env
> >
> > printenv setting of the latest u-boot     U-Boot
> > 2019.04-rc3-00131-g8303467e80d-dirty
> > [0] https://pastebin.com/1Hgc5xxC      (newu-boot.txt)
> >
> > printenv setting for the old u-boot.      U-Boot 2018.01-1
> > [1] https://pastebin.com/wD6zK6eG    (oldu-boot.txt)
> >
> > Attach is the boot.txt (boot.scr), also the u-boot env old and u-boot-env new
>
> And does 2019.01 work?

I have not tied this version.

>
> Krzysztof

I have flashed the latest Archlinux Image for Odroid U3 on the sdcard.
did full update on the kernel image and then tried to update the latest u-boot
it failed to boot. It looks like the some u-boot environment settings
are incorrect.

Best Regards
-Anand

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Odroid U3 - Upgrade to latest u-boot kernel load fails.
       [not found]       ` <CANAwSgTpzXzfs6EBC9ydpyWJxLtMyefYNnCaSkMHs-=ppYwNeQ@mail.gmail.com>
@ 2019-03-19  9:42         ` Anand Moon
  0 siblings, 0 replies; 6+ messages in thread
From: Anand Moon @ 2019-03-19  9:42 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: U-Boot Mailing List, Bartlomiej Zolnierkiewicz,
	linux-samsung-soc, linux-arm-kernel, Marek Szyprowski

Hi Krzysztof,


On Tue, 19 Mar 2019 at 01:54, Anand Moon <linux.amoon@gmail.com> wrote:
>
> Hi Krzysztof,
>
> On Mon, 18 Mar 2019 at 23:33, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> >
> > On Mon, 18 Mar 2019 at 18:49, Anand Moon <linux.amoon@gmail.com> wrote:
> > >
> > > Hi Krzysztof,
> > >
> > > On Mon, 18 Mar 2019 at 18:20, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > > >
> > > > On Mon, 18 Mar 2019 at 13:32, Anand Moon <linux.amoon@gmail.com> wrote:
> > > > >
> > > > > Hi Krzysztof / Marek,
> > > > >
> > > > > After I update the latest u-boot on my Odroud U3+ it fails to load the
> > > > > kernel it hangs.
> > > > > I am using Archlinux on Odroid U3.
> > > > >
> > > > > U-Boot 2019.04-rc3-00131-g8303467e80d-dirty (Mar 18 2019 - 12:12:23 +0000)
> > > > >
> > > > > CPU:   Exynos4412 @ 1 GHz
> > > > > Model: Odroid based on Exynos4412
> > > > > Type:  u3
> > > > > DRAM:  2 GiB
> > > > > LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
> > > > > LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
> > > > > LDO21@TFLASH_2.8V: set 2800000 uV; enabling
> > > > > MMC:   SAMSUNG SDHCI: 1, EXYNOS DWMMC: 0
> > > > > Loading Environment from MMC... Card did not respond to voltage select!
> > > > > *** Warning - No block device, using default environment
> > > > >
> > > > > Net:   No ethernet found.
> > > > > Hit any key to stop autoboot:  0
> > > > > switch to partitions #0, OK
> > > > > mmc1 is current device
> > > > > Scanning mmc 1:1...
> > > > > Found U-Boot script /boot/boot.scr
> > > > > 769 bytes read in 6 ms (125 KiB/s)
> > > > > ## Executing script at 42000000
> > > > > 6901856 bytes read in 253 ms (26 MiB/s)
> > > > > 53078 bytes read in 19 ms (2.7 MiB/s)
> > > > > 6590950 bytes read in 240 ms (26.2 MiB/s)
> > > > > Kernel image @ 0x41000000 [ 0x000000 - 0x695060 ]
> > > > > ## Flattened Device Tree blob at 40800000
> > > > >    Booting using the fdt blob at 0x40800000
> > > > >    Loading Ramdisk to 4f9b6000, end 4ffff1e6 ... OK
> > > > >    Loading Device Tree to 4f9a6000, end 4f9b5f55 ... OK
> > > > >
> > > > > Starting kernel ...
> > > >
> > > > Can you attach your boot.init file (the source of boot.scr)?
> > > >
> > > > By the size of DTB you can see that different DTB is loaded. I assume
> > > > you tried to boot the same kernel, then it could mean that boardname
> > > > was used instead of board_name to choose DTB. Suspicious is that
> > > > kernel size also differs... so maybe you booted something else? As
> > > > usual debugging practice, reduce number of unknown factors. Do not
> > > > change kernel and U-Boot at the same time.
> > > >
> > > > Also, you can try reverting commit e6b1467081d3 ("arm: exynos: Remove
> > > > duplicated "boardname" env setting") and see if it helps. Or just try
> > > > to bisect around changes coming from u-boot samsung tree. Try booting
> > > > v2019.01 and paste the results as well.
> > > >
> > > > Best regards,
> > > > Krzysztof
> > > >
> > >
> > > I have tested with pre-compiled image and the cross compiled kernel image
> > > both failed to load the kernel.
> > >
> > > No revert of the commit e6b1467081d3 did not help.
> > >
> > > Yes it seem strange that that load address is changes some how in the u-boot env
> > >
> > > printenv setting of the latest u-boot     U-Boot
> > > 2019.04-rc3-00131-g8303467e80d-dirty
> > > [0] https://pastebin.com/1Hgc5xxC      (newu-boot.txt)
> > >
> > > printenv setting for the old u-boot.      U-Boot 2018.01-1
> > > [1] https://pastebin.com/wD6zK6eG    (oldu-boot.txt)
> > >
> > > Attach is the boot.txt (boot.scr), also the u-boot env old and u-boot-env new
> >
> > And does 2019.01 work?
> >
> > Krzysztof
>
> It looks like Archlinux uboot for Odroid U3 set some extra environment variable to make this work.
>
> [0] https://github.com/archlinuxarm/PKGBUILDs/blob/master/alarm/uboot-odroid/0001-Convert-odroid-to-use-distro_bootcmd.patch
> [1] https://github.com/archlinuxarm/PKGBUILDs/blob/master/alarm/uboot-odroid/0002-odroid-x-support.patch
>
> I gave these patches a try but no success
>
> Best Regards
> -Anand

If found out the commit that break the boot on Odroid U3
Revert of below commit breaks the booting of the kernel.

From: Seung-Woo Kim <sw0312.kim@samsung.com>
Date: Tue, 20 Nov 2018 14:54:39 +0900
Subject: [PATCH] Revert "arm: config: fix default console only to specify the
 device"

This reverts commit 232ed3ca534708527a9515c7c41bc3542949525c.

In exynos boards, ${console} is used to set bootargs but it sets
without "console=", so CONFIG_DEFAULT_CONSOLE for these boards is
designated with "console=" but it is removed. So revert the commit.

References for using ${console} in
   board/samsung/common/bootscripts/autoboot.cmd
   board/samsung/common/bootscripts/bootzimg.cmd

Please let me know it how to resolve this issue.

Best Regards
-Anand

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-03-19  9:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-18 12:32 Odroid U3 - Upgrade to latest u-boot kernel load fails Anand Moon
2019-03-18 12:50 ` Krzysztof Kozlowski
2019-03-18 17:49   ` Anand Moon
2019-03-18 18:03     ` Krzysztof Kozlowski
2019-03-18 19:17       ` Anand Moon
     [not found]       ` <CANAwSgTpzXzfs6EBC9ydpyWJxLtMyefYNnCaSkMHs-=ppYwNeQ@mail.gmail.com>
2019-03-19  9:42         ` Anand Moon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).