Reverse back to Original TK1-SOM U-boot
Hi all, I’m using a TK1-SOM board. Following the document (https://docs.sel4.systems/Hardware/CEI_TK1_SOM/#u-boot https://docs.sel4.systems/Hardware/CEI_TK1_SOM/#u-boot) I flashed the U-boot to enable booting HYP mode. How do I reverse back to the original U-boot so that I can boot the original on board Linux? Thank you! Best Regards -Daniel Wang
Hi Daniel, You shouldn't have to reflash to boot the original Linux. If you want to, use Nvidia's L4T tool. But try to reset the secure mode booting by doing setenv bootm_boot_mode sec saveenv at the u-boot prompt. This should enable the original kernel to boot. Peter C -- Dr Peter Chubb Tel: +61 2 9490 5852 http://ts.data61.csiro.au/ Trustworthy Systems Group Data61, CSIRO (formerly NICTA)
Hi Dr. Chubb, Thank you for your response. I tried it, but when the boot process hangs after as shown in the following. (I did not delete the default kernel in MMC) U-Boot 2018.03-rc3-00090-g3990c9d (Mar 01 2018 - 14:33:40 -0500) TEGRA124 Model: Colorado Engineering TK1-SOM Board: CEI tk1-som DRAM: 2 GiB MMC: sdhci@700b0400: 1, sdhci@700b0600: 0 Loading Environment from MMC... OK In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:1... Found /boot/extlinux/extlinux.conf Retrieving file: /boot/extlinux/extlinux.conf 839 bytes read in 139 ms (5.9 KiB/s) Jetson-TK1 eMMC boot options 1: primary kernel Enter choice: 1: primary kernel Retrieving file: /boot/zImage 6090032 bytes read in 187 ms (31.1 MiB/s) append: console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M mem=6144M@4096M memtype=1 ddr_die=2048M@2048M ddr_die=6144M@4096M vmalloc=300M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 tsec=32M@3913M otf_key=c75e5bb91eb3bd947560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter modem_id=0 android.kerneltype=normal fbcon=map:1 commchip_id=0 usb_port_owner_info=2 lane_owner_info=1 emc_max_dvfs=0 touch_id=0@0 board_info=0x0177:0x0000:0x02:0x43:0x00 root=/dev/mmcblk0p1 rw rootwait tegraboot=sdmmc gpt Retrieving file: /boot/tegra124-tk1-som-pm375-000-c00-00.dtb 57253 bytes read in 274 ms (203.1 KiB/s) ## Flattened Device Tree blob at 82000000 Booting using the fdt blob at 0x82000000 Using Device Tree in place at 82000000, end 82010fa4 Starting kernel ... Best Regards -Daniel Wang
On Oct 10, 2018, at 11:30 PM,
wrote: Hi Daniel, You shouldn't have to reflash to boot the original Linux. If you want to, use Nvidia's L4T tool. But try to reset the secure mode booting by doing setenv bootm_boot_mode sec saveenv at the u-boot prompt. This should enable the original kernel to boot.
Peter C -- Dr Peter Chubb Tel: +61 2 9490 5852 http://ts.data61.csiro.au/ Trustworthy Systems Group Data61, CSIRO (formerly NICTA)
Hi Dr. Chubb and others, I changed the bootm_boot_mode to sec, the original Linux still cannot boot, but the seL4 microvisor can still boot the VM… It seems like the variable does not make any difference. Here are my U-boot printenv. Did I do anything wrong? Tegra124 (TK1-SOM) # printenv arch=arm baudrate=115200 board=cei-tk1-som board_name=cei-tk1-som 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_net_pci_enum=pci enum boot_net_usb_start=usb start boot_prefixes=/ /boot/ boot_script_dhcp=boot.scr.uimg boot_scripts=boot.scr.uimg boot.scr boot_targets=mmc1 mmc0 usb0 pxe dhcp bootcmd=run distro_bootcmd bootcmd_dhcp=run boot_net_usb_start; run boot_net_pci_enum; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci; bootcmd_mmc0=setenv devnum 0; run mmc_boot bootcmd_mmc1=setenv devnum 1; run mmc_boot bootcmd_pxe=run boot_net_usb_start; run boot_net_pci_enum; dhcp; if pxe get; then pxe boot; fi bootcmd_usb0=setenv devnum 0; run usb_boot bootdelay=2 bootm_boot_mode=sec bootm_mode=sec cpu=armv7 dfu_alt_info=kernel ram 0x81000000 0x10000000 distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done efi_dtb_prefixes=/ /dtb/ /dtb/current/ env=bootm_boot_mode nonsec fdt_addr_r=0x82000000 fdt_high=ffffffff fdtcontroladdr=fda327d8 initrd_high=ffffffff kernel_addr_r=0x81000000 load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile} loadaddr=0x81000000 mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi pxefile_addr_r=0x90100000 ramdisk_addr_r=0x82100000 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=0x90000000 soc=tegra124 stderr=serial stdin=serial stdout=serial usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi vendor=cei Best Regards -Daniel Wang
On Oct 10, 2018, at 11:35 PM, Daniel Wang
wrote: Hi Dr. Chubb,
Thank you for your response. I tried it, but when the boot process hangs after as shown in the following. (I did not delete the default kernel in MMC)
U-Boot 2018.03-rc3-00090-g3990c9d (Mar 01 2018 - 14:33:40 -0500)
TEGRA124 Model: Colorado Engineering TK1-SOM Board: CEI tk1-som DRAM: 2 GiB MMC: sdhci@700b0400: 1, sdhci@700b0600: 0 Loading Environment from MMC... OK In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:1... Found /boot/extlinux/extlinux.conf Retrieving file: /boot/extlinux/extlinux.conf 839 bytes read in 139 ms (5.9 KiB/s) Jetson-TK1 eMMC boot options 1: primary kernel Enter choice: 1: primary kernel Retrieving file: /boot/zImage 6090032 bytes read in 187 ms (31.1 MiB/s) append: console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M mem=6144M@4096M memtype=1 ddr_die=2048M@2048M ddr_die=6144M@4096M vmalloc=300M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 tsec=32M@3913M otf_key=c75e5bb91eb3bd947560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter modem_id=0 android.kerneltype=normal fbcon=map:1 commchip_id=0 usb_port_owner_info=2 lane_owner_info=1 emc_max_dvfs=0 touch_id=0@0 board_info=0x0177:0x0000:0x02:0x43:0x00 root=/dev/mmcblk0p1 rw rootwait tegraboot=sdmmc gpt Retrieving file: /boot/tegra124-tk1-som-pm375-000-c00-00.dtb 57253 bytes read in 274 ms (203.1 KiB/s) ## Flattened Device Tree blob at 82000000 Booting using the fdt blob at 0x82000000 Using Device Tree in place at 82000000, end 82010fa4
Starting kernel ...
Best Regards -Daniel Wang
On Oct 10, 2018, at 11:30 PM,
mailto:Peter.Chubb@data61.csiro.au> mailto:Peter.Chubb@data61.csiro.au> wrote: Hi Daniel, You shouldn't have to reflash to boot the original Linux. If you want to, use Nvidia's L4T tool. But try to reset the secure mode booting by doing setenv bootm_boot_mode sec saveenv at the u-boot prompt. This should enable the original kernel to boot.
Peter C -- Dr Peter Chubb Tel: +61 2 9490 5852 http://ts.data61.csiro.au/ http://ts.data61.csiro.au/ Trustworthy Systems Group Data61, CSIRO (formerly NICTA)
Hi Daniel, There must be something else funny about your system. I just took a CEI-TK1_SOM, flashed it with Colorado's images from their FTP site (if you don't already have access to these, you should ask Colorado Engineering --- they give it freely to customers), and checked it could boot. I then flashed the current upstream U-Boot, and attempted to boot, with bootm_boot_mode set to `sec' -- and Linux Ubuntu booted. I then set the variable to `nonsec' and see: ... Jetson-TK1 eMMC boot options Enter choice: 1 1: primary kernel Retrieving file: /boot/zImage 5995744 bytes read in 156 ms (36.7 MiB/s) append: console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0t Retrieving file: /boot/tegra124-tk1-som-pm375-000-c00-00.dtb 59720 bytes read in 11 ms (5.2 MiB/s) ## Flattened Device Tree blob at 82000000 Booting using the fdt blob at 0x82000000 Using Device Tree in place at 82000000, end 82011947 couldn't find /cpus ERROR: arch-specific fdt fixup failed - must RESET the board to recover. ... which is what I expect. My guess is that something on the eMMC has become corrupted, and you may be best off reflashing the entire board using Colorado's image. -- Dr Peter Chubb Tel: +61 2 9490 5852 http://ts.data61.csiro.au/ Trustworthy Systems Group Data61, CSIRO (formerly NICTA)
Thank you very much Dr. Chubb! Yes I think you are right. I got access to their FTP and did the same thing now I can boot original Linux. Will flash the U-boot so I can boot seL4. Thank you for confirming it, and thank you for testing out for me. Best Regards -Daniel Wang
On Oct 11, 2018, at 7:10 PM,
wrote: Hi Daniel, There must be something else funny about your system. I just took a CEI-TK1_SOM, flashed it with Colorado's images from their FTP site (if you don't already have access to these, you should ask Colorado Engineering --- they give it freely to customers), and checked it could boot.
I then flashed the current upstream U-Boot, and attempted to boot, with bootm_boot_mode set to `sec' -- and Linux Ubuntu booted. I then set the variable to `nonsec' and see: ... Jetson-TK1 eMMC boot options Enter choice: 1 1: primary kernel Retrieving file: /boot/zImage 5995744 bytes read in 156 ms (36.7 MiB/s) append: console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0t Retrieving file: /boot/tegra124-tk1-som-pm375-000-c00-00.dtb 59720 bytes read in 11 ms (5.2 MiB/s) ## Flattened Device Tree blob at 82000000 Booting using the fdt blob at 0x82000000 Using Device Tree in place at 82000000, end 82011947 couldn't find /cpus ERROR: arch-specific fdt fixup failed - must RESET the board to recover. ... which is what I expect.
My guess is that something on the eMMC has become corrupted, and you may be best off reflashing the entire board using Colorado's image. -- Dr Peter Chubb Tel: +61 2 9490 5852 http://ts.data61.csiro.au/ Trustworthy Systems Group Data61, CSIRO (formerly NICTA)
participants (2)
-
Daniel Wang
-
Peter.Chubb@data61.csiro.au