Code: Select all
U-Boot 2020.04-gc97dbbcad (Jan 28 2023 - 15:01:42 -0600) Allwinner Technology
CPU: Allwinner H6 (SUN50I)
Model: OrangePi 3 LTS
DRAM: 2 GiB
MMC: mmc@4020000: 0, mmc@4022000: 1
Loading Environment from FAT... Unable to use mmc 1:1... In: serial@5000000
Out: serial@5000000
Err: serial@5000000
Net: No ethernet found.
starting USB...
No working controllers found
Autoboot in 2 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
3206 bytes read in 3 ms (1 MiB/s)
## Executing script at 4fc00000
U-boot loaded from SD
Boot script loaded from mmc
203 bytes read in 2 ms (98.6 KiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Bad Linux ARM64 Image magic!
SCRIPT FAILED: continuing...
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
3206 bytes read in 2 ms (1.5 MiB/s)
## Executing script at 4fc00000
U-boot loaded from SD
Boot script loaded from mmc
203 bytes read in 1 ms (198.2 KiB/s)
37593 bytes read in 6 ms (6 MiB/s)
3844 bytes read in 3 ms (1.2 MiB/s)
Applying kernel provided DT fixup script (sun50i-h6-fixup.scr)
## Executing script at 45000000
13042247 bytes read in 1306 ms (9.5 MiB/s)
25868296 bytes read in 2589 ms (9.5 MiB/s)
## Loading init Ramdisk from Legacy Image at 4fe00000 ...
Image Name: uInitrd
Image Type: AArch64 Linux RAMDisk Image (gzip compressed)
Data Size: 13042183 Bytes = 12.4 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
Booting using the fdt blob at 0x4fa00000
Loading Ramdisk to 4938f000, end 49fff207 ... OK
Loading Device Tree to 000000004931d000, end 000000004938efff ... OK
Starting kernel ...
Code: Select all
mmc listpingtoo wrote:Did you make your kernel wrapped in u-boot image format? i.e. uImage?
It looks to me you have two mmc from your u-boot point of view. do you know which mmc (i.e mmc0 or mmc1) is your SD card? If you not sure would you able to break autoboot and issue u-boot commandCode: Select all
mmc list
It seems to me there are two different issues,JumboAg wrote:The good news: I was able to boot into a gentoo Linux system
The bad news: I had to do so by stealing the contents of a "stock" Orange Pi 3 LTS ubuntu /boot partition.
I just cannot get it to boot yet off a mainline kernel. Can't figure out what I'm doing wrong but will keep playing. Gives me a fdt error and falls back to the internal storage.
I do have one new problem: If I boot into Gentoo on the external SD, I lose the TTL over USB serial connection as soon as it gets to "Starting kernel" . Its just... dead. No clue why. With the ubuntu image, I still can log in over that serial session. Anyone know what I need to edit in /etc or enable on startup (and in boot or default runlevel?)
Which kernel used for boot into gentoo rootfs? I guess ubuntu's?JumboAg wrote:Correct that I have two issues.
The booting into gentoo rootfs issue is (I assume) just a minor config thing and not a kernel issue since the same kernel gives me serial access without the gentoo rootfs. Probably something in /etc/ to change.
I dont recall ever trying to escape to a command prompt in u-boot before. If you have anything you recommend I run from it to gather info I can definitely try to do so today.
Code: Select all
printenvCode: Select all
U-Boot SPL 2020.04-gc97dbbcad (Jan 28 2023 - 15:01:42 -0600)
DRAM: 2048 MiB
Trying to boot from MMC1
NOTICE: BL31: v2.8(debug):v2.8-312-g1678bbb57
NOTICE: BL31: Built : 09:26:15, Jan 27 2023
NOTICE: BL31: Detected Allwinner H6 SoC (1728)
NOTICE: BL31: Found U-Boot DTB at 0xa07a870, model: OrangePi 3 LTS
INFO: ARM GICv2 driver initialized
INFO: Configuring SPC Controller
INFO: PMIC: Probing AXP805 on RSB
INFO: PMIC: aldo1 voltage: 3.300V
INFO: PMIC: aldo2 voltage: 3.300V
INFO: PMIC: aldo3 voltage: 3.300V
INFO: PMIC: bldo1 voltage: 1.800V
INFO: PMIC: bldo2 voltage: 1.800V
INFO: PMIC: bldo3 voltage: 1.800V
INFO: PMIC: cldo1 voltage: 3.300V
INFO: PMIC: dcdcd voltage: 0.960V
INFO: PMIC: dcdce voltage: 1.200V
INFO: BL31: Platform setup done
INFO: BL31: Initializing runtime services
INFO: BL31: cortex_a53: CPU workaround for 855873 was applied
INFO: BL31: cortex_a53: CPU workaround for 1530924 was applied
INFO: PSCI: Suspend is unavailable
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x4a000000
INFO: SPSR = 0x3c9
U-Boot 2020.04-gc97dbbcad (Jan 28 2023 - 15:01:42 -0600) Allwinner Technology
CPU: Allwinner H6 (SUN50I)
Model: OrangePi 3 LTS
DRAM: 2 GiB
MMC: mmc@4020000: 0, mmc@4022000: 1
Loading Environment from FAT... Unable to use mmc 1:1... In: serial@5000000
Out: serial@5000000
Err: serial@5000000
Net: No ethernet found.
starting USB...
No working controllers found
Autoboot in 2 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
3206 bytes read in 4 ms (782.2 KiB/s)
## Executing script at 4fc00000
U-boot loaded from SD
Boot script loaded from mmc
203 bytes read in 3 ms (65.4 KiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Bad Linux ARM64 Image magic!
SCRIPT FAILED: continuing...
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
3206 bytes read in 2 ms (1.5 MiB/s)
## Executing script at 4fc00000
U-boot loaded from SD
Boot script loaded from mmc
203 bytes read in 1 ms (198.2 KiB/s)
37593 bytes read in 6 ms (6 MiB/s)
3844 bytes read in 3 ms (1.2 MiB/s)
Applying kernel provided DT fixup script (sun50i-h6-fixup.scr)
## Executing script at 45000000
13042247 bytes read in 1306 ms (9.5 MiB/s)
25868296 bytes read in 2590 ms (9.5 MiB/s)
## Loading init Ramdisk from Legacy Image at 4fe00000 ...
Image Name: uInitrd
Image Type: AArch64 Linux RAMDisk Image (gzip compressed)
Data Size: 13042183 Bytes = 12.4 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
Booting using the fdt blob at 0x4fa00000
Loading Ramdisk to 4938f000, end 49fff207 ... OK
Loading Device Tree to 000000004931d000, end 000000004938efff ... OK
Starting kernel ...
Orange Pi 3.0.8 Jammy ttyS0
orangepi3-lts login:
Code: Select all
=> printenv
arch=arm
baudrate=115200
board=sunxi
board_name=sunxi
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/bootaa64.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_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=fel mmc_auto usb0 pxe dhcp
bootcmd=run distro_bootcmd
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;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_fel=if test -n ${fel_booted} && test -n ${fel_scriptaddr}; then echo '(FEL boot)'; source ${fel_scriptaddr}; fi
bootcmd_mmc0=devnum=0; run mmc_boot
bootcmd_mmc1=devnum=1; run mmc_boot
bootcmd_mmc_auto=if test ${mmc_bootdev} -eq 1; then run bootcmd_mmc1; run bootcmd_mmc0; elif test ${mmc_bootdev} -eq 0; then run bootcmd_mmc0; run bootcmd_mmc1; fi
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcmd_usb0=devnum=0; run usb_boot
bootdelay=2
bootm_size=0xa000000
console=ttyS0,115200
cpu=armv8
dfu_alt_info_ram=kernel ram 0x40080000 0x1000000;fdt ram 0x4FA00000 0x100000;ramdisk ram 0x4FE00000 0x4000000
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
ethaddr=02:07:49:8a:f9:19
fdt_addr_r=0x4FA00000
fdtcontroladdr=bbf356d0
fdtfile=allwinner/sun50i-h6-orangepi-3-lts.dtb
kernel_addr_r=0x40080000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadsplash= for prefix in ${boot_prefixes}; do if test -e mmc 0 ${prefix}boot.bmp; then load mmc 0 ${splashimage} ${prefix}boot.bmp; bmp d ${splashimage}; fi; done
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
mmc_bootdev=0
partitions=name=loader1,start=8k,size=32k,uuid=${uuid_gpt_loader1};name=loader2,size=984k,uuid=${uuid_gpt_loader2};name=esp,size=128M,bootable,uuid=${uuid_gpt_esp};name=system,size=-,uuid=${uuid_gpt_system};
preboot=usb start
pxefile_addr_r=0x4FD00000
ramdisk_addr_r=0x4FE00000
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}; 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/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.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=0x4FC00000
serial#=82c00007498af919
soc=sunxi
splashimage=66000000
splashpos=m,m
stderr=serial@5000000
stdin=serial@5000000
stdout=serial@5000000
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
uuid_gpt_esp=c12a7328-f81f-11d2-ba4b-00a0c93ec93b
uuid_gpt_system=b921b045-1df0-41c3-af44-4c6f280d3fae
Environment size: 4645/131068 bytesCode: Select all
load mmc 1:1 4fc00000 /boot/boot.scr
md.b 4fc00000 cbCode: Select all
TIMEOUT 10
PROMPT 0
DEFAULT my-kernel
MENU TITLE SDcard /extlinux/extlinux.conf
LABEL my-kernel
MENU LABEL My Gentoo Kernel 5.xx.yy
KERNEL / \
APPEND < Depends on what is in boot.scr >
INITRD \ /
FDT \ /
Code: Select all
=> load mmc 1:1 4fc00000 /boot/boot.scr
3206 bytes read in 2 ms (1.5 MiB/s)
=> md.b 4fc00000 cb
4fc00000: 27 05 19 56 ae fe 53 82 63 17 2c 9c 00 00 0c 46 '..V..S.c.,....F
4fc00010: 00 00 00 00 00 00 00 00 09 24 1f 38 05 02 06 00 .........$.8....
4fc00020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
4fc00030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
4fc00040: 00 00 0c 3e 00 00 00 00 23 20 44 4f 20 4e 4f 54 ...>....# DO NOT
4fc00050: 20 45 44 49 54 20 54 48 49 53 20 46 49 4c 45 0a EDIT THIS FILE.
4fc00060: 23 0a 23 20 50 6c 65 61 73 65 20 65 64 69 74 20 #.# Please edit
4fc00070: 2f 62 6f 6f 74 2f 6f 72 61 6e 67 65 70 69 45 6e /boot/orangepiEn
4fc00080: 76 2e 74 78 74 20 74 6f 20 73 65 74 20 73 75 70 v.txt to set sup
4fc00090: 70 6f 72 74 65 64 20 70 61 72 61 6d 65 74 65 72 ported parameter
4fc000a0: 73 0a 23 0a 0a 23 20 64 65 66 61 75 6c 74 20 76 s.#..# default v
4fc000b0: 61 6c 75 65 73 0a 73 65 74 65 6e 76 20 6c 6f 61 alues.setenv loa
4fc000c0: 64 5f 61 64 64 72 20 22 30 78 34 d_addr "0x4
Code: Select all
md.b 4fc00000 c86Code: Select all
=> load mmc 1:1 4fc00000 /boot/boot.scr
3206 bytes read in 1 ms (3.1 MiB/s)
=> md.b 4fc00000 c86
4fc00000: 27 05 19 56 ae fe 53 82 63 17 2c 9c 00 00 0c 46 '..V..S.c.,....F
4fc00010: 00 00 00 00 00 00 00 00 09 24 1f 38 05 02 06 00 .........$.8....
4fc00020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
4fc00030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
4fc00040: 00 00 0c 3e 00 00 00 00 23 20 44 4f 20 4e 4f 54 ...>....# DO NOT
4fc00050: 20 45 44 49 54 20 54 48 49 53 20 46 49 4c 45 0a EDIT THIS FILE.
4fc00060: 23 0a 23 20 50 6c 65 61 73 65 20 65 64 69 74 20 #.# Please edit
4fc00070: 2f 62 6f 6f 74 2f 6f 72 61 6e 67 65 70 69 45 6e /boot/orangepiEn
4fc00080: 76 2e 74 78 74 20 74 6f 20 73 65 74 20 73 75 70 v.txt to set sup
4fc00090: 70 6f 72 74 65 64 20 70 61 72 61 6d 65 74 65 72 ported parameter
4fc000a0: 73 0a 23 0a 0a 23 20 64 65 66 61 75 6c 74 20 76 s.#..# default v
4fc000b0: 61 6c 75 65 73 0a 73 65 74 65 6e 76 20 6c 6f 61 alues.setenv loa
4fc000c0: 64 5f 61 64 64 72 20 22 30 78 34 35 30 30 30 30 d_addr "0x450000
4fc000d0: 30 30 22 0a 73 65 74 65 6e 76 20 6f 76 65 72 6c 00".setenv overl
4fc000e0: 61 79 5f 65 72 72 6f 72 20 22 66 61 6c 73 65 22 ay_error "false"
4fc000f0: 0a 73 65 74 65 6e 76 20 72 6f 6f 74 64 65 76 20 .setenv rootdev
4fc00100: 22 2f 64 65 76 2f 6d 6d 63 62 6c 6b 30 70 31 22 "/dev/mmcblk0p1"
4fc00110: 0a 73 65 74 65 6e 76 20 76 65 72 62 6f 73 69 74 .setenv verbosit
4fc00120: 79 20 22 31 22 0a 73 65 74 65 6e 76 20 72 6f 6f y "1".setenv roo
4fc00130: 74 66 73 74 79 70 65 20 22 65 78 74 34 22 0a 73 tfstype "ext4".s
4fc00140: 65 74 65 6e 76 20 63 6f 6e 73 6f 6c 65 20 22 62 etenv console "b
4fc00150: 6f 74 68 22 0a 73 65 74 65 6e 76 20 64 6f 63 6b oth".setenv dock
4fc00160: 65 72 5f 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 er_optimizations
4fc00170: 20 22 6f 6e 22 0a 73 65 74 65 6e 76 20 62 6f 6f "on".setenv boo
4fc00180: 74 6c 6f 67 6f 20 22 66 61 6c 73 65 22 0a 0a 23 tlogo "false"..#
4fc00190: 20 50 72 69 6e 74 20 62 6f 6f 74 20 73 6f 75 72 Print boot sour
4fc001a0: 63 65 0a 69 74 65 73 74 2e 62 20 2a 30 78 31 30 ce.itest.b *0x10
4fc001b0: 30 32 38 20 3d 3d 20 30 78 30 30 20 26 26 20 65 028 == 0x00 && e
4fc001c0: 63 68 6f 20 22 55 2d 62 6f 6f 74 20 6c 6f 61 64 cho "U-boot load
4fc001d0: 65 64 20 66 72 6f 6d 20 53 44 22 0a 69 74 65 73 ed from SD".ites
4fc001e0: 74 2e 62 20 2a 30 78 31 30 30 32 38 20 3d 3d 20 t.b *0x10028 ==
4fc001f0: 30 78 30 32 20 26 26 20 65 63 68 6f 20 22 55 2d 0x02 && echo "U-
4fc00200: 62 6f 6f 74 20 6c 6f 61 64 65 64 20 66 72 6f 6d boot loaded from
4fc00210: 20 65 4d 4d 43 20 6f 72 20 73 65 63 6f 6e 64 61 eMMC or seconda
4fc00220: 72 79 20 53 44 22 0a 69 74 65 73 74 2e 62 20 2a ry SD".itest.b *
4fc00230: 30 78 31 30 30 32 38 20 3d 3d 20 30 78 30 33 20 0x10028 == 0x03
4fc00240: 26 26 20 65 63 68 6f 20 22 55 2d 62 6f 6f 74 20 && echo "U-boot
4fc00250: 6c 6f 61 64 65 64 20 66 72 6f 6d 20 53 50 49 22 loaded from SPI"
4fc00260: 0a 0a 65 63 68 6f 20 22 42 6f 6f 74 20 73 63 72 ..echo "Boot scr
4fc00270: 69 70 74 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 ipt loaded from
4fc00280: 24 7b 64 65 76 74 79 70 65 7d 22 0a 0a 69 66 20 ${devtype}"..if
4fc00290: 74 65 73 74 20 2d 65 20 24 7b 64 65 76 74 79 70 test -e ${devtyp
4fc002a0: 65 7d 20 24 7b 64 65 76 6e 75 6d 7d 20 24 7b 70 e} ${devnum} ${p
4fc002b0: 72 65 66 69 78 7d 6f 72 61 6e 67 65 70 69 45 6e refix}orangepiEn
4fc002c0: 76 2e 74 78 74 3b 20 74 68 65 6e 0a 09 6c 6f 61 v.txt; then..loa
4fc002d0: 64 20 24 7b 64 65 76 74 79 70 65 7d 20 24 7b 64 d ${devtype} ${d
4fc002e0: 65 76 6e 75 6d 7d 20 24 7b 6c 6f 61 64 5f 61 64 evnum} ${load_ad
4fc002f0: 64 72 7d 20 24 7b 70 72 65 66 69 78 7d 6f 72 61 dr} ${prefix}ora
4fc00300: 6e 67 65 70 69 45 6e 76 2e 74 78 74 0a 09 65 6e ngepiEnv.txt..en
4fc00310: 76 20 69 6d 70 6f 72 74 20 2d 74 20 24 7b 6c 6f v import -t ${lo
4fc00320: 61 64 5f 61 64 64 72 7d 20 24 7b 66 69 6c 65 73 ad_addr} ${files
4fc00330: 69 7a 65 7d 0a 66 69 0a 0a 69 66 20 74 65 73 74 ize}.fi..if test
4fc00340: 20 22 24 7b 63 6f 6e 73 6f 6c 65 7d 22 20 3d 20 "${console}" =
4fc00350: 22 64 69 73 70 6c 61 79 22 20 7c 7c 20 74 65 73 "display" || tes
4fc00360: 74 20 22 24 7b 63 6f 6e 73 6f 6c 65 7d 22 20 3d t "${console}" =
4fc00370: 20 22 62 6f 74 68 22 3b 20 74 68 65 6e 20 73 65 "both"; then se
4fc00380: 74 65 6e 76 20 63 6f 6e 73 6f 6c 65 61 72 67 73 tenv consoleargs
4fc00390: 20 22 63 6f 6e 73 6f 6c 65 3d 74 74 79 53 30 2c "console=ttyS0,
4fc003a0: 31 31 35 32 30 30 20 63 6f 6e 73 6f 6c 65 3d 74 115200 console=t
4fc003b0: 74 79 31 22 3b 20 66 69 0a 69 66 20 74 65 73 74 ty1"; fi.if test
4fc003c0: 20 22 24 7b 63 6f 6e 73 6f 6c 65 7d 22 20 3d 20 "${console}" =
4fc003d0: 22 73 65 72 69 61 6c 22 3b 20 74 68 65 6e 20 73 "serial"; then s
4fc003e0: 65 74 65 6e 76 20 63 6f 6e 73 6f 6c 65 61 72 67 etenv consolearg
4fc003f0: 73 20 22 63 6f 6e 73 6f 6c 65 3d 74 74 79 53 30 s "console=ttyS0
4fc00400: 2c 31 31 35 32 30 30 22 3b 20 66 69 0a 69 66 20 ,115200"; fi.if
4fc00410: 74 65 73 74 20 22 24 7b 62 6f 6f 74 6c 6f 67 6f test "${bootlogo
4fc00420: 7d 22 20 3d 20 22 74 72 75 65 22 3b 20 74 68 65 }" = "true"; the
4fc00430: 6e 20 73 65 74 65 6e 76 20 63 6f 6e 73 6f 6c 65 n setenv console
4fc00440: 61 72 67 73 20 22 62 6f 6f 74 73 70 6c 61 73 68 args "bootsplash
4fc00450: 2e 62 6f 6f 74 66 69 6c 65 3d 62 6f 6f 74 73 70 .bootfile=bootsp
4fc00460: 6c 61 73 68 2e 6f 72 61 6e 67 65 70 69 20 24 7b lash.orangepi ${
4fc00470: 63 6f 6e 73 6f 6c 65 61 72 67 73 7d 22 3b 20 66 consoleargs}"; f
4fc00480: 69 0a 0a 23 20 67 65 74 20 50 41 52 54 55 55 49 i..# get PARTUUI
4fc00490: 44 20 6f 66 20 66 69 72 73 74 20 70 61 72 74 69 D of first parti
4fc004a0: 74 69 6f 6e 20 6f 6e 20 53 44 2f 65 4d 4d 43 20 tion on SD/eMMC
4fc004b0: 69 74 20 77 61 73 20 6c 6f 61 64 65 64 20 66 72 it was loaded fr
4fc004c0: 6f 6d 0a 23 20 6d 6d 63 20 30 20 69 73 20 61 6c om.# mmc 0 is al
4fc004d0: 77 61 79 73 20 6d 61 70 70 65 64 20 74 6f 20 64 ways mapped to d
4fc004e0: 65 76 69 63 65 20 75 2d 62 6f 6f 74 20 28 32 30 evice u-boot (20
4fc004f0: 31 36 2e 30 39 2b 29 20 77 61 73 20 6c 6f 61 64 16.09+) was load
4fc00500: 65 64 20 66 72 6f 6d 0a 69 66 20 74 65 73 74 20 ed from.if test
4fc00510: 22 24 7b 64 65 76 74 79 70 65 7d 22 20 3d 20 22 "${devtype}" = "
4fc00520: 6d 6d 63 22 3b 20 74 68 65 6e 20 70 61 72 74 20 mmc"; then part
4fc00530: 75 75 69 64 20 6d 6d 63 20 30 3a 31 20 70 61 72 uuid mmc 0:1 par
4fc00540: 74 75 75 69 64 3b 20 66 69 0a 0a 73 65 74 65 6e tuuid; fi..seten
4fc00550: 76 20 62 6f 6f 74 61 72 67 73 20 22 72 6f 6f 74 v bootargs "root
4fc00560: 3d 24 7b 72 6f 6f 74 64 65 76 7d 20 72 6f 6f 74 =${rootdev} root
4fc00570: 77 61 69 74 20 72 6f 6f 74 66 73 74 79 70 65 3d wait rootfstype=
4fc00580: 24 7b 72 6f 6f 74 66 73 74 79 70 65 7d 20 24 7b ${rootfstype} ${
4fc00590: 63 6f 6e 73 6f 6c 65 61 72 67 73 7d 20 63 6f 6e consoleargs} con
4fc005a0: 73 6f 6c 65 62 6c 61 6e 6b 3d 30 20 6c 6f 67 6c soleblank=0 logl
4fc005b0: 65 76 65 6c 3d 24 7b 76 65 72 62 6f 73 69 74 79 evel=${verbosity
4fc005c0: 7d 20 75 62 6f 6f 74 70 61 72 74 3d 24 7b 70 61 } ubootpart=${pa
4fc005d0: 72 74 75 75 69 64 7d 20 75 73 62 2d 73 74 6f 72 rtuuid} usb-stor
4fc005e0: 61 67 65 2e 71 75 69 72 6b 73 3d 24 7b 75 73 62 age.quirks=${usb
4fc005f0: 73 74 6f 72 61 67 65 71 75 69 72 6b 73 7d 20 24 storagequirks} $
4fc00600: 7b 65 78 74 72 61 61 72 67 73 7d 20 24 7b 65 78 {extraargs} ${ex
4fc00610: 74 72 61 62 6f 61 72 64 61 72 67 73 7d 22 0a 0a traboardargs}"..
4fc00620: 69 66 20 74 65 73 74 20 22 24 7b 64 6f 63 6b 65 if test "${docke
4fc00630: 72 5f 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 7d r_optimizations}
4fc00640: 22 20 3d 20 22 6f 6e 22 3b 20 74 68 65 6e 20 73 " = "on"; then s
4fc00650: 65 74 65 6e 76 20 62 6f 6f 74 61 72 67 73 20 22 etenv bootargs "
4fc00660: 24 7b 62 6f 6f 74 61 72 67 73 7d 20 63 67 72 6f ${bootargs} cgro
4fc00670: 75 70 5f 65 6e 61 62 6c 65 3d 6d 65 6d 6f 72 79 up_enable=memory
4fc00680: 20 73 77 61 70 61 63 63 6f 75 6e 74 3d 31 22 3b swapaccount=1";
4fc00690: 20 66 69 0a 0a 6c 6f 61 64 20 24 7b 64 65 76 74 fi..load ${devt
4fc006a0: 79 70 65 7d 20 24 7b 64 65 76 6e 75 6d 7d 20 24 ype} ${devnum} $
4fc006b0: 7b 66 64 74 5f 61 64 64 72 5f 72 7d 20 24 7b 70 {fdt_addr_r} ${p
4fc006c0: 72 65 66 69 78 7d 64 74 62 2f 24 7b 66 64 74 66 refix}dtb/${fdtf
4fc006d0: 69 6c 65 7d 0a 66 64 74 20 61 64 64 72 20 24 7b ile}.fdt addr ${
4fc006e0: 66 64 74 5f 61 64 64 72 5f 72 7d 0a 66 64 74 20 fdt_addr_r}.fdt
4fc006f0: 72 65 73 69 7a 65 20 36 35 35 33 36 0a 66 6f 72 resize 65536.for
4fc00700: 20 6f 76 65 72 6c 61 79 5f 66 69 6c 65 20 69 6e overlay_file in
4fc00710: 20 24 7b 6f 76 65 72 6c 61 79 73 7d 3b 20 64 6f ${overlays}; do
4fc00720: 0a 09 69 66 20 6c 6f 61 64 20 24 7b 64 65 76 74 ..if load ${devt
4fc00730: 79 70 65 7d 20 24 7b 64 65 76 6e 75 6d 7d 20 24 ype} ${devnum} $
4fc00740: 7b 6c 6f 61 64 5f 61 64 64 72 7d 20 24 7b 70 72 {load_addr} ${pr
4fc00750: 65 66 69 78 7d 64 74 62 2f 61 6c 6c 77 69 6e 6e efix}dtb/allwinn
4fc00760: 65 72 2f 6f 76 65 72 6c 61 79 2f 24 7b 6f 76 65 er/overlay/${ove
4fc00770: 72 6c 61 79 5f 70 72 65 66 69 78 7d 2d 24 7b 6f rlay_prefix}-${o
4fc00780: 76 65 72 6c 61 79 5f 66 69 6c 65 7d 2e 64 74 62 verlay_file}.dtb
4fc00790: 6f 3b 20 74 68 65 6e 0a 09 09 65 63 68 6f 20 22 o; then...echo "
4fc007a0: 41 70 70 6c 79 69 6e 67 20 6b 65 72 6e 65 6c 20 Applying kernel
4fc007b0: 70 72 6f 76 69 64 65 64 20 44 54 20 6f 76 65 72 provided DT over
4fc007c0: 6c 61 79 20 24 7b 6f 76 65 72 6c 61 79 5f 70 72 lay ${overlay_pr
4fc007d0: 65 66 69 78 7d 2d 24 7b 6f 76 65 72 6c 61 79 5f efix}-${overlay_
4fc007e0: 66 69 6c 65 7d 2e 64 74 62 6f 22 0a 09 09 66 64 file}.dtbo"...fd
4fc007f0: 74 20 61 70 70 6c 79 20 24 7b 6c 6f 61 64 5f 61 t apply ${load_a
4fc00800: 64 64 72 7d 20 7c 7c 20 73 65 74 65 6e 76 20 6f ddr} || setenv o
4fc00810: 76 65 72 6c 61 79 5f 65 72 72 6f 72 20 22 74 72 verlay_error "tr
4fc00820: 75 65 22 0a 09 66 69 0a 64 6f 6e 65 0a 66 6f 72 ue"..fi.done.for
4fc00830: 20 6f 76 65 72 6c 61 79 5f 66 69 6c 65 20 69 6e overlay_file in
4fc00840: 20 24 7b 75 73 65 72 5f 6f 76 65 72 6c 61 79 73 ${user_overlays
4fc00850: 7d 3b 20 64 6f 0a 09 69 66 20 6c 6f 61 64 20 24 }; do..if load $
4fc00860: 7b 64 65 76 74 79 70 65 7d 20 24 7b 64 65 76 6e {devtype} ${devn
4fc00870: 75 6d 7d 20 24 7b 6c 6f 61 64 5f 61 64 64 72 7d um} ${load_addr}
4fc00880: 20 24 7b 70 72 65 66 69 78 7d 6f 76 65 72 6c 61 ${prefix}overla
4fc00890: 79 2d 75 73 65 72 2f 24 7b 6f 76 65 72 6c 61 79 y-user/${overlay
4fc008a0: 5f 66 69 6c 65 7d 2e 64 74 62 6f 3b 20 74 68 65 _file}.dtbo; the
4fc008b0: 6e 0a 09 09 65 63 68 6f 20 22 41 70 70 6c 79 69 n...echo "Applyi
4fc008c0: 6e 67 20 75 73 65 72 20 70 72 6f 76 69 64 65 64 ng user provided
4fc008d0: 20 44 54 20 6f 76 65 72 6c 61 79 20 24 7b 6f 76 DT overlay ${ov
4fc008e0: 65 72 6c 61 79 5f 66 69 6c 65 7d 2e 64 74 62 6f erlay_file}.dtbo
4fc008f0: 22 0a 09 09 66 64 74 20 61 70 70 6c 79 20 24 7b "...fdt apply ${
4fc00900: 6c 6f 61 64 5f 61 64 64 72 7d 20 7c 7c 20 73 65 load_addr} || se
4fc00910: 74 65 6e 76 20 6f 76 65 72 6c 61 79 5f 65 72 72 tenv overlay_err
4fc00920: 6f 72 20 22 74 72 75 65 22 0a 09 66 69 0a 64 6f or "true"..fi.do
4fc00930: 6e 65 0a 69 66 20 74 65 73 74 20 22 24 7b 6f 76 ne.if test "${ov
4fc00940: 65 72 6c 61 79 5f 65 72 72 6f 72 7d 22 20 3d 20 erlay_error}" =
4fc00950: 22 74 72 75 65 22 3b 20 74 68 65 6e 0a 09 65 63 "true"; then..ec
4fc00960: 68 6f 20 22 45 72 72 6f 72 20 61 70 70 6c 79 69 ho "Error applyi
4fc00970: 6e 67 20 44 54 20 6f 76 65 72 6c 61 79 73 2c 20 ng DT overlays,
4fc00980: 72 65 73 74 6f 72 69 6e 67 20 6f 72 69 67 69 6e restoring origin
4fc00990: 61 6c 20 44 54 22 0a 09 6c 6f 61 64 20 24 7b 64 al DT"..load ${d
4fc009a0: 65 76 74 79 70 65 7d 20 24 7b 64 65 76 6e 75 6d evtype} ${devnum
4fc009b0: 7d 20 24 7b 66 64 74 5f 61 64 64 72 5f 72 7d 20 } ${fdt_addr_r}
4fc009c0: 24 7b 70 72 65 66 69 78 7d 64 74 62 2f 24 7b 66 ${prefix}dtb/${f
4fc009d0: 64 74 66 69 6c 65 7d 0a 65 6c 73 65 0a 09 69 66 dtfile}.else..if
4fc009e0: 20 6c 6f 61 64 20 24 7b 64 65 76 74 79 70 65 7d load ${devtype}
4fc009f0: 20 24 7b 64 65 76 6e 75 6d 7d 20 24 7b 6c 6f 61 ${devnum} ${loa
4fc00a00: 64 5f 61 64 64 72 7d 20 24 7b 70 72 65 66 69 78 d_addr} ${prefix
4fc00a10: 7d 64 74 62 2f 61 6c 6c 77 69 6e 6e 65 72 2f 6f }dtb/allwinner/o
4fc00a20: 76 65 72 6c 61 79 2f 24 7b 6f 76 65 72 6c 61 79 verlay/${overlay
4fc00a30: 5f 70 72 65 66 69 78 7d 2d 66 69 78 75 70 2e 73 _prefix}-fixup.s
4fc00a40: 63 72 3b 20 74 68 65 6e 0a 09 09 65 63 68 6f 20 cr; then...echo
4fc00a50: 22 41 70 70 6c 79 69 6e 67 20 6b 65 72 6e 65 6c "Applying kernel
4fc00a60: 20 70 72 6f 76 69 64 65 64 20 44 54 20 66 69 78 provided DT fix
4fc00a70: 75 70 20 73 63 72 69 70 74 20 28 24 7b 6f 76 65 up script (${ove
4fc00a80: 72 6c 61 79 5f 70 72 65 66 69 78 7d 2d 66 69 78 rlay_prefix}-fix
4fc00a90: 75 70 2e 73 63 72 29 22 0a 09 09 73 6f 75 72 63 up.scr)"...sourc
4fc00aa0: 65 20 24 7b 6c 6f 61 64 5f 61 64 64 72 7d 0a 09 e ${load_addr}..
4fc00ab0: 66 69 0a 09 69 66 20 74 65 73 74 20 2d 65 20 24 fi..if test -e $
4fc00ac0: 7b 64 65 76 74 79 70 65 7d 20 24 7b 64 65 76 6e {devtype} ${devn
4fc00ad0: 75 6d 7d 20 24 7b 70 72 65 66 69 78 7d 66 69 78 um} ${prefix}fix
4fc00ae0: 75 70 2e 73 63 72 3b 20 74 68 65 6e 0a 09 09 6c up.scr; then...l
4fc00af0: 6f 61 64 20 24 7b 64 65 76 74 79 70 65 7d 20 24 oad ${devtype} $
4fc00b00: 7b 64 65 76 6e 75 6d 7d 20 24 7b 6c 6f 61 64 5f {devnum} ${load_
4fc00b10: 61 64 64 72 7d 20 24 7b 70 72 65 66 69 78 7d 66 addr} ${prefix}f
4fc00b20: 69 78 75 70 2e 73 63 72 0a 09 09 65 63 68 6f 20 ixup.scr...echo
4fc00b30: 22 41 70 70 6c 79 69 6e 67 20 75 73 65 72 20 70 "Applying user p
4fc00b40: 72 6f 76 69 64 65 64 20 66 69 78 75 70 20 73 63 rovided fixup sc
4fc00b50: 72 69 70 74 20 28 66 69 78 75 70 2e 73 63 72 29 ript (fixup.scr)
4fc00b60: 22 0a 09 09 73 6f 75 72 63 65 20 24 7b 6c 6f 61 "...source ${loa
4fc00b70: 64 5f 61 64 64 72 7d 0a 09 66 69 0a 66 69 0a 0a d_addr}..fi.fi..
4fc00b80: 6c 6f 61 64 20 24 7b 64 65 76 74 79 70 65 7d 20 load ${devtype}
4fc00b90: 24 7b 64 65 76 6e 75 6d 7d 20 24 7b 72 61 6d 64 ${devnum} ${ramd
4fc00ba0: 69 73 6b 5f 61 64 64 72 5f 72 7d 20 24 7b 70 72 isk_addr_r} ${pr
4fc00bb0: 65 66 69 78 7d 75 49 6e 69 74 72 64 0a 6c 6f 61 efix}uInitrd.loa
4fc00bc0: 64 20 24 7b 64 65 76 74 79 70 65 7d 20 24 7b 64 d ${devtype} ${d
4fc00bd0: 65 76 6e 75 6d 7d 20 24 7b 6b 65 72 6e 65 6c 5f evnum} ${kernel_
4fc00be0: 61 64 64 72 5f 72 7d 20 24 7b 70 72 65 66 69 78 addr_r} ${prefix
4fc00bf0: 7d 49 6d 61 67 65 0a 0a 62 6f 6f 74 69 20 24 7b }Image..booti ${
4fc00c00: 6b 65 72 6e 65 6c 5f 61 64 64 72 5f 72 7d 20 24 kernel_addr_r} $
4fc00c10: 7b 72 61 6d 64 69 73 6b 5f 61 64 64 72 5f 72 7d {ramdisk_addr_r}
4fc00c20: 20 24 7b 66 64 74 5f 61 64 64 72 5f 72 7d 0a 0a ${fdt_addr_r}..
4fc00c30: 23 20 52 65 63 6f 6d 70 69 6c 65 20 77 69 74 68 # Recompile with
4fc00c40: 3a 0a 23 20 6d 6b 69 6d 61 67 65 20 2d 43 20 6e :.# mkimage -C n
4fc00c50: 6f 6e 65 20 2d 41 20 61 72 6d 20 2d 54 20 73 63 one -A arm -T sc
4fc00c60: 72 69 70 74 20 2d 64 20 2f 62 6f 6f 74 2f 62 6f ript -d /boot/bo
4fc00c70: 6f 74 2e 63 6d 64 20 2f 62 6f 6f 74 2f 62 6f 6f ot.cmd /boot/boo
4fc00c80: 74 2e 73 63 72 0a t.scr.
=>
Code: Select all
orangepi@orangepi3-lts:/mnt/gentoo/boot$ ls -la
total 41510
drwxr-xr-x 2 root root 1536 Jan 1 1970 .
drwxr-xr-x 22 root root 4096 Feb 1 18:21 ..
-rwxr-xr-x 1 root root 230456 Sep 6 11:18 boot.bmp
-rwxr-xr-x 1 root root 3134 Sep 6 11:18 boot.cmd
-rwxr-xr-x 1 root root 3206 Sep 6 11:18 boot.scr
-rwxr-xr-x 1 root root 9622616 Feb 2 02:47 initramfs-5.15.88-gentoo-arm64.img
-rwxr-xr-x 1 root root 203 Feb 1 02:08 orangepiEnv.txt
-rwxr-xr-x 1 root root 1542 Sep 6 11:18 orangepi_first_run.txt.template
-rwxr-xr-x 1 root root 5287345 Feb 1 14:54 System.map-5.15.88-gentoo-arm64
-rwxr-xr-x 1 root root 27349504 Feb 1 14:54 vmlinuz-5.15.88-gentoo-arm64
Code: Select all
# DO NOT EDIT THIS FILE.
#
# Please edit
/boot/orangepiEnv.txt to set supported parameters
#
# default values
setenv load_addr "0x45000000"
setenv overlay_error "false"
setenv rootdev "/dev/mmcblk0p1"
setenv verbosity "1"
setenv rootfstype "ext4"
setenv console "both"
setenv docker_optimizations "on"
setenv bootlogo "false"
# Print boot source
itest.b *0x10028 == 0x00 && echo "U-boot loaded from SD"
itest.b *0x10028 == 0x02 && echo "U-boot loaded from eMMC or secondary SD"
itest.b *0x10028 == 0x03 && echo "U-boot loaded from SPI"
echo "Boot script loaded from ${devtype}"
if test -e ${devtype} ${devnum} ${prefix}orangepiEnv.txt; then
load ${devtype} ${devnum} ${load_addr} ${prefix}orangepiEnv.txt
env import -t ${load_addr} ${filesize}
fi
if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=ttyS0,115200 console=tty1"; fi
if test "${console}" = "serial"; then setenv consoleargs "console=ttyS0,115200"; fi
if test "${bootlogo}" = "true"; then setenv consoleargs "bootsplash.bootfile=bootsplash.orangepi ${consoleargs}"; fi
# get PARTUUID of first partition on SD/eMMC it was loaded from
# mmc 0 is always mapped to device u-boot (2016.09+) was loaded from
if test "${devtype}" = "mmc"; then part uuid mmc 0:1 partuuid; fi
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=memory swapaccount=1"; fi
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
fdt addr ${fdt_addr_r}
fdt resize 65536
for overlay_file in ${overlays}; do
if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/allwinner/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
fdt apply ${load_addr} || setenv overlay_error "true"
fi
done
for overlay_file in ${user_overlays}; do
if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
echo "Applying user provided DT overlay ${overlay_file}.dtbo"
fdt apply ${load_addr} || setenv overlay_error "true"
fi
done
if test "${overlay_error}" = "true"; then
echo "Error applying DT overlays, restoring original DT"
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
else
if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/allwinner/overlay/${overlay_prefix}-fixup.scr; then
echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
source ${load_addr}
fi
if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
echo "Applying user provided fixup script (fixup.scr)"
source ${load_addr}
fi
fi
load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scris from SD card, Am I right?JumboAg wrote:Code: Select all
orangepi@orangepi3-lts:/mnt/gentoo/boot$ ls -la total 41510 drwxr-xr-x 2 root root 1536 Jan 1 1970 . drwxr-xr-x 22 root root 4096 Feb 1 18:21 .. -rwxr-xr-x 1 root root 230456 Sep 6 11:18 boot.bmp -rwxr-xr-x 1 root root 3134 Sep 6 11:18 boot.cmd -rwxr-xr-x 1 root root 3206 Sep 6 11:18 boot.scr -rwxr-xr-x 1 root root 9622616 Feb 2 02:47 initramfs-5.15.88-gentoo-arm64.img -rwxr-xr-x 1 root root 203 Feb 1 02:08 orangepiEnv.txt -rwxr-xr-x 1 root root 1542 Sep 6 11:18 orangepi_first_run.txt.template -rwxr-xr-x 1 root root 5287345 Feb 1 14:54 System.map-5.15.88-gentoo-arm64 -rwxr-xr-x 1 root root 27349504 Feb 1 14:54 vmlinuz-5.15.88-gentoo-arm64
Code: Select all
lsblk -f /dev/mmcblk1Code: Select all
load mmc 1 $kernel_addr_r /boot/Image
iminfo $kernel_addr_rCode: Select all
orangepi@orangepi3-lts:~$ lsblk -f /dev/mmcblk2
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
mmcblk2
│
└─mmcblk2p1
ext4 1.0 69e4cc7f-278c-467f-a040-793c97570f42 1.5G 73% /var/log.hdd
orangepi@orangepi3-lts:~$ ls -lR /boot
/boot:
total 55640
-rw-r--r-- 1 root root 230456 Sep 6 11:18 boot.bmp
-rw-r--r-- 1 root root 3134 Sep 6 11:18 boot.cmd
-rw-r--r-- 1 root root 3206 Sep 6 11:18 boot.scr
-rw-r--r-- 1 root root 199032 Sep 6 11:18 config-5.16.17-sun50iw6
lrwxrwxrwx 1 root root 20 Sep 6 11:18 dtb -> dtb-5.16.17-sun50iw6
drwxr-xr-x 3 root root 4096 Sep 6 11:18 dtb-5.16.17-sun50iw6
lrwxrwxrwx 1 root root 24 Sep 6 11:18 Image -> vmlinuz-5.16.17-sun50iw6
-rw-r--r-- 1 root root 13042183 Sep 6 11:18 initrd.img-5.16.17-sun50iw6
-rw-r--r-- 1 root root 203 Feb 3 01:32 orangepiEnv.txt
-rw-r--r-- 1 root root 1542 Sep 6 11:18 orangepi_first_run.txt.template
-rw-r--r-- 1 root root 4555421 Sep 6 11:18 System.map-5.16.17-sun50iw6
lrwxrwxrwx 1 root root 24 Sep 6 11:18 uInitrd -> uInitrd-5.16.17-sun50iw6
-rw-r--r-- 1 root root 13042247 Sep 6 11:18 uInitrd-5.16.17-sun50iw6
-rw-r--r-- 1 root root 25868296 Sep 6 11:18 vmlinuz-5.16.17-sun50iw6
/boot/dtb-5.16.17-sun50iw6:
total 4
drwxr-xr-x 3 root root 4096 Sep 6 11:18 allwinner
/boot/dtb-5.16.17-sun50iw6/allwinner:
total 456
drwxr-xr-x 2 root root 4096 Sep 6 11:18 overlay
-rw-r--r-- 1 root root 43112 Sep 6 11:18 sun50i-a64-orangepi-win.dtb
-rw-r--r-- 1 root root 32160 Sep 6 11:18 sun50i-h5-orangepi-pc2.dtb
-rw-r--r-- 1 root root 32061 Sep 6 11:18 sun50i-h5-orangepi-prime.dtb
-rw-r--r-- 1 root root 31254 Sep 6 11:18 sun50i-h5-orangepi-zero-plus2.dtb
-rw-r--r-- 1 root root 31329 Sep 6 11:18 sun50i-h5-orangepi-zero-plus.dtb
-rw-r--r-- 1 root root 38047 Sep 6 11:18 sun50i-h616-orangepi-zero2-b.dtb
-rw-r--r-- 1 root root 37897 Sep 6 11:18 sun50i-h616-orangepi-zero2.dtb
-rw-r--r-- 1 root root 38051 Sep 6 11:18 sun50i-h616-orangepi-zero2-lts.dtb
-rw-r--r-- 1 root root 37998 Sep 6 11:18 sun50i-h6-orangepi-3.dtb
-rw-r--r-- 1 root root 37593 Sep 6 11:18 sun50i-h6-orangepi-3-lts.dtb
-rw-r--r-- 1 root root 37599 Sep 6 11:18 sun50i-h6-orangepi-lite2.dtb
-rw-r--r-- 1 root root 37125 Sep 6 11:18 sun50i-h6-orangepi-one-plus.dtb
/boot/dtb-5.16.17-sun50iw6/allwinner/overlay:
total 264
-rw-r--r-- 1 root root 3998 Sep 6 11:18 README.sun50i-a64-overlays
-rw-r--r-- 1 root root 4737 Sep 6 11:18 README.sun50i-h5-overlays
-rw-r--r-- 1 root root 3821 Sep 6 11:18 sun50i-a64-fixup.scr
-rw-r--r-- 1 root root 794 Sep 6 11:18 sun50i-a64-i2c0.dtbo
-rw-r--r-- 1 root root 496 Sep 6 11:18 sun50i-a64-i2c1.dtbo
-rw-r--r-- 1 root root 2364 Sep 6 11:18 sun50i-a64-pine64-7inch-lcd.dtbo
-rw-r--r-- 1 root root 778 Sep 6 11:18 sun50i-a64-pps-gpio.dtbo
-rw-r--r-- 1 root root 1173 Sep 6 11:18 sun50i-a64-spi-add-cs1.dtbo
-rw-r--r-- 1 root root 668 Sep 6 11:18 sun50i-a64-spi-jedec-nor.dtbo
-rw-r--r-- 1 root root 792 Sep 6 11:18 sun50i-a64-spi-spidev.dtbo
-rw-r--r-- 1 root root 506 Sep 6 11:18 sun50i-a64-uart1.dtbo
-rw-r--r-- 1 root root 963 Sep 6 11:18 sun50i-a64-uart2.dtbo
-rw-r--r-- 1 root root 804 Sep 6 11:18 sun50i-a64-uart3.dtbo
-rw-r--r-- 1 root root 963 Sep 6 11:18 sun50i-a64-uart4.dtbo
-rw-r--r-- 1 root root 777 Sep 6 11:18 sun50i-a64-w1-gpio.dtbo
-rw-r--r-- 1 root root 339 Sep 6 11:18 sun50i-h5-analog-codec.dtbo
-rw-r--r-- 1 root root 384 Sep 6 11:18 sun50i-h5-cir.dtbo
-rw-r--r-- 1 root root 477 Sep 6 11:18 sun50i-h5-cpu-clock-1.0GHz-1.1v.dtbo
-rw-r--r-- 1 root root 477 Sep 6 11:18 sun50i-h5-cpu-clock-1.2GHz-1.3v.dtbo
-rw-r--r-- 1 root root 897 Sep 6 11:18 sun50i-h5-cpu-clock-1.3GHz-1.3v.dtbo
-rw-r--r-- 1 root root 4191 Sep 6 11:18 sun50i-h5-fixup.scr
-rw-r--r-- 1 root root 1020 Sep 6 11:18 sun50i-h5-gpio-regulator-1.3v.dtbo
-rw-r--r-- 1 root root 374 Sep 6 11:18 sun50i-h5-i2c0.dtbo
-rw-r--r-- 1 root root 374 Sep 6 11:18 sun50i-h5-i2c1.dtbo
-rw-r--r-- 1 root root 374 Sep 6 11:18 sun50i-h5-i2c2.dtbo
-rw-r--r-- 1 root root 778 Sep 6 11:18 sun50i-h5-pps-gpio.dtbo
-rw-r--r-- 1 root root 862 Sep 6 11:18 sun50i-h5-pwm.dtbo
-rw-r--r-- 1 root root 1040 Sep 6 11:18 sun50i-h5-spdif-out.dtbo
-rw-r--r-- 1 root root 1177 Sep 6 11:18 sun50i-h5-spi-add-cs1.dtbo
-rw-r--r-- 1 root root 804 Sep 6 11:18 sun50i-h5-spi-jedec-nor.dtbo
-rw-r--r-- 1 root root 788 Sep 6 11:18 sun50i-h5-spi-spidev.dtbo
-rw-r--r-- 1 root root 502 Sep 6 11:18 sun50i-h5-uart1.dtbo
-rw-r--r-- 1 root root 794 Sep 6 11:18 sun50i-h5-uart2.dtbo
-rw-r--r-- 1 root root 798 Sep 6 11:18 sun50i-h5-uart3.dtbo
-rw-r--r-- 1 root root 504 Sep 6 11:18 sun50i-h5-usbhost0.dtbo
-rw-r--r-- 1 root root 504 Sep 6 11:18 sun50i-h5-usbhost1.dtbo
-rw-r--r-- 1 root root 504 Sep 6 11:18 sun50i-h5-usbhost2.dtbo
-rw-r--r-- 1 root root 504 Sep 6 11:18 sun50i-h5-usbhost3.dtbo
-rw-r--r-- 1 root root 777 Sep 6 11:18 sun50i-h5-w1-gpio.dtbo
-rw-r--r-- 1 root root 4203 Sep 6 11:18 sun50i-h616-fixup.scr
-rw-r--r-- 1 root root 540 Sep 6 11:18 sun50i-h616-i2c1.dtbo
-rw-r--r-- 1 root root 378 Sep 6 11:18 sun50i-h616-i2c2.dtbo
-rw-r--r-- 1 root root 378 Sep 6 11:18 sun50i-h616-i2c3.dtbo
-rw-r--r-- 1 root root 378 Sep 6 11:18 sun50i-h616-i2c4.dtbo
-rw-r--r-- 1 root root 222 Sep 6 11:18 sun50i-h616-pwm12.dtbo
-rw-r--r-- 1 root root 344 Sep 6 11:18 sun50i-h616-pwm34.dtbo
-rw-r--r-- 1 root root 808 Sep 6 11:18 sun50i-h616-spi-spidev.dtbo
-rw-r--r-- 1 root root 387 Sep 6 11:18 sun50i-h616-uart2.dtbo
-rw-r--r-- 1 root root 509 Sep 6 11:18 sun50i-h616-uart5.dtbo
-rw-r--r-- 1 root root 3844 Sep 6 11:18 sun50i-h6-fixup.scr
-rw-r--r-- 1 root root 374 Sep 6 11:18 sun50i-h6-i2c0.dtbo
-rw-r--r-- 1 root root 374 Sep 6 11:18 sun50i-h6-i2c1.dtbo
-rw-r--r-- 1 root root 374 Sep 6 11:18 sun50i-h6-i2c2.dtbo
-rw-r--r-- 1 root root 671 Sep 6 11:18 sun50i-h6-pwm.dtbo
-rw-r--r-- 1 root root 268 Sep 6 11:18 sun50i-h6-ruart.dtbo
-rw-r--r-- 1 root root 1177 Sep 6 11:18 sun50i-h6-spi-add-cs1.dtbo
-rw-r--r-- 1 root root 804 Sep 6 11:18 sun50i-h6-spi-jedec-nor.dtbo
-rw-r--r-- 1 root root 523 Sep 6 11:18 sun50i-h6-spi-spidev1.dtbo
-rw-r--r-- 1 root root 808 Sep 6 11:18 sun50i-h6-spi-spidev.dtbo
-rw-r--r-- 1 root root 502 Sep 6 11:18 sun50i-h6-uart1.dtbo
-rw-r--r-- 1 root root 798 Sep 6 11:18 sun50i-h6-uart2.dtbo
-rw-r--r-- 1 root root 798 Sep 6 11:18 sun50i-h6-uart3.dtbo
-rw-r--r-- 1 root root 773 Sep 6 11:18 sun50i-h6-w1-gpio.dtbo
Code: Select all
=> load mmc 1 $kernel_addr_r /boot/Image
25868296 bytes read in 2590 ms (9.5 MiB/s)
=> iminfo $kernel_addr_r
## Checking Image at 40080000 ...
Unknown image format! /
Code: Select all
=> load mmc 1 45000000 boot/dtb/allwinner/overlay/sun50i-h6-fixup.scr
3844 bytes read in 3 ms (1.2 MiB/s)
=> md.b 45000000 f04
45000000: 27 05 19 56 63 d2 51 cc 62 fb 6e e2 00 00 0e c4 '..Vc.Q.b.n.....
45000010: 00 00 00 00 00 00 00 00 4a 2b 05 ea 05 16 06 00 ........J+......
45000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
45000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
45000040: 00 00 0e bc 00 00 00 00 23 20 6f 76 65 72 6c 61 ........# overla
45000050: 79 73 20 66 69 78 75 70 20 73 63 72 69 70 74 0a ys fixup script.
45000060: 23 20 69 6d 70 6c 65 6d 65 6e 74 73 20 28 6f 72 # implements (or
45000070: 20 72 61 74 68 65 72 20 73 75 62 73 74 69 74 75 rather substitu
45000080: 74 65 73 29 20 6f 76 65 72 6c 61 79 20 61 72 67 tes) overlay arg
45000090: 75 6d 65 6e 74 73 20 66 75 6e 63 74 69 6f 6e 61 uments functiona
450000a0: 6c 69 74 79 0a 23 20 75 73 69 6e 67 20 75 2d 62 lity.# using u-b
450000b0: 6f 6f 74 20 73 63 72 69 70 74 69 6e 67 2c 20 65 oot scripting, e
450000c0: 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 nvironment varia
450000d0: 62 6c 65 73 20 61 6e 64 20 22 66 64 74 22 20 63 bles and "fdt" c
450000e0: 6f 6d 6d 61 6e 64 0a 0a 23 20 73 65 74 65 78 70 ommand..# setexp
450000f0: 72 20 74 65 73 74 5f 76 61 72 20 24 7b 74 6d 70 r test_var ${tmp
45000100: 5f 62 61 6e 6b 7d 20 2d 20 41 0a 23 20 77 6f 72 _bank} - A.# wor
45000110: 6b 73 20 6f 6e 6c 79 20 66 6f 72 20 68 65 78 20 ks only for hex
45000120: 6e 75 6d 62 65 72 73 20 28 41 2d 46 29 0a 0a 73 numbers (A-F)..s
45000130: 65 74 65 6e 76 20 64 65 63 6f 6d 70 6f 73 65 5f etenv decompose_
45000140: 70 69 6e 20 27 73 65 74 65 78 70 72 20 74 6d 70 pin 'setexpr tmp
45000150: 5f 62 61 6e 6b 20 73 75 62 20 22 50 28 41 7c 43 _bank sub "P(A|C
45000160: 7c 44 7c 47 29 5c 5c 64 2b 22 20 22 5c 5c 31 22 |D|G)\\d+" "\\1"
45000170: 3b 0a 73 65 74 65 78 70 72 20 74 6d 70 5f 70 69 ;.setexpr tmp_pi
45000180: 6e 20 73 75 62 20 22 50 5c 5c 53 28 5c 5c 64 2b n sub "P\\S(\\d+
45000190: 29 22 20 22 5c 5c 31 22 3b 0a 74 65 73 74 20 22 )" "\\1";.test "
450001a0: 24 7b 74 6d 70 5f 62 61 6e 6b 7d 22 20 3d 20 22 ${tmp_bank}" = "
450001b0: 41 22 20 26 26 20 73 65 74 65 6e 76 20 74 6d 70 A" && setenv tmp
450001c0: 5f 62 61 6e 6b 20 30 3b 0a 74 65 73 74 20 22 24 _bank 0;.test "$
450001d0: 7b 74 6d 70 5f 62 61 6e 6b 7d 22 20 3d 20 22 43 {tmp_bank}" = "C
450001e0: 22 20 26 26 20 73 65 74 65 6e 76 20 74 6d 70 5f " && setenv tmp_
450001f0: 62 61 6e 6b 20 32 3b 0a 74 65 73 74 20 22 24 7b bank 2;.test "${
45000200: 74 6d 70 5f 62 61 6e 6b 7d 22 20 3d 20 22 44 22 tmp_bank}" = "D"
45000210: 20 26 26 20 73 65 74 65 6e 76 20 74 6d 70 5f 62 && setenv tmp_b
45000220: 61 6e 6b 20 33 3b 0a 74 65 73 74 20 22 24 7b 74 ank 3;.test "${t
45000230: 6d 70 5f 62 61 6e 6b 7d 22 20 3d 20 22 47 22 20 mp_bank}" = "G"
45000240: 26 26 20 73 65 74 65 6e 76 20 74 6d 70 5f 62 61 && setenv tmp_ba
45000250: 6e 6b 20 36 27 0a 0a 69 66 20 74 65 73 74 20 2d nk 6'..if test -
45000260: 6e 20 22 24 7b 70 61 72 61 6d 5f 73 70 69 6e 6f n "${param_spino
45000270: 72 5f 73 70 69 5f 62 75 73 7d 22 3b 20 74 68 65 r_spi_bus}"; the
45000280: 6e 0a 09 74 65 73 74 20 22 24 7b 70 61 72 61 6d n..test "${param
45000290: 5f 73 70 69 6e 6f 72 5f 73 70 69 5f 62 75 73 7d _spinor_spi_bus}
450002a0: 22 20 3d 20 22 30 22 20 26 26 20 73 65 74 65 6e " = "0" && seten
450002b0: 76 20 74 6d 70 5f 73 70 69 5f 70 61 74 68 20 22 v tmp_spi_path "
450002c0: 73 70 69 40 35 30 31 30 30 30 30 22 0a 09 74 65 spi@5010000"..te
450002d0: 73 74 20 22 24 7b 70 61 72 61 6d 5f 73 70 69 6e st "${param_spin
450002e0: 6f 72 5f 73 70 69 5f 62 75 73 7d 22 20 3d 20 22 or_spi_bus}" = "
450002f0: 31 22 20 26 26 20 73 65 74 65 6e 76 20 74 6d 70 1" && setenv tmp
45000300: 5f 73 70 69 5f 70 61 74 68 20 22 73 70 69 40 35 _spi_path "spi@5
45000310: 30 31 31 30 30 30 22 0a 09 66 64 74 20 73 65 74 011000"..fdt set
45000320: 20 2f 73 6f 63 2f 24 7b 74 6d 70 5f 73 70 69 5f /soc/${tmp_spi_
45000330: 70 61 74 68 7d 20 73 74 61 74 75 73 20 22 6f 6b path} status "ok
45000340: 61 79 22 0a 09 66 64 74 20 73 65 74 20 2f 73 6f ay"..fdt set /so
45000350: 63 2f 24 7b 74 6d 70 5f 73 70 69 5f 70 61 74 68 c/${tmp_spi_path
45000360: 7d 2f 73 70 69 66 6c 61 73 68 40 30 20 73 74 61 }/spiflash@0 sta
45000370: 74 75 73 20 22 6f 6b 61 79 22 0a 09 69 66 20 74 tus "okay"..if t
45000380: 65 73 74 20 2d 6e 20 22 24 7b 70 61 72 61 6d 5f est -n "${param_
45000390: 73 70 69 6e 6f 72 5f 6d 61 78 5f 66 72 65 71 7d spinor_max_freq}
450003a0: 22 3b 20 74 68 65 6e 0a 09 09 66 64 74 20 73 65 "; then...fdt se
450003b0: 74 20 2f 73 6f 63 2f 24 7b 74 6d 70 5f 73 70 69 t /soc/${tmp_spi
450003c0: 5f 70 61 74 68 7d 2f 73 70 69 66 6c 61 73 68 40 _path}/spiflash@
450003d0: 30 20 73 70 69 2d 6d 61 78 2d 66 72 65 71 75 65 0 spi-max-freque
450003e0: 6e 63 79 20 22 3c 24 7b 70 61 72 61 6d 5f 73 70 ncy "<${param_sp
450003f0: 69 6e 6f 72 5f 6d 61 78 5f 66 72 65 71 7d 3e 22 inor_max_freq}>"
45000400: 0a 09 66 69 0a 09 69 66 20 74 65 73 74 20 22 24 ..fi..if test "$
45000410: 7b 70 61 72 61 6d 5f 73 70 69 6e 6f 72 5f 73 70 {param_spinor_sp
45000420: 69 5f 63 73 7d 22 20 3d 20 22 31 22 3b 20 74 68 i_cs}" = "1"; th
45000430: 65 6e 0a 09 09 66 64 74 20 73 65 74 20 2f 73 6f en...fdt set /so
45000440: 63 2f 24 7b 74 6d 70 5f 73 70 69 5f 70 61 74 68 c/${tmp_spi_path
45000450: 7d 2f 73 70 69 66 6c 61 73 68 40 30 20 72 65 67 }/spiflash@0 reg
45000460: 20 22 3c 31 3e 22 0a 09 66 69 0a 09 65 6e 76 20 "<1>"..fi..env
45000470: 64 65 6c 65 74 65 20 74 6d 70 5f 73 70 69 5f 70 delete tmp_spi_p
45000480: 61 74 68 0a 66 69 0a 0a 69 66 20 74 65 73 74 20 ath.fi..if test
45000490: 2d 6e 20 22 24 7b 70 61 72 61 6d 5f 73 70 69 64 -n "${param_spid
450004a0: 65 76 5f 73 70 69 5f 62 75 73 7d 22 3b 20 74 68 ev_spi_bus}"; th
450004b0: 65 6e 0a 09 74 65 73 74 20 22 24 7b 70 61 72 61 en..test "${para
450004c0: 6d 5f 73 70 69 64 65 76 5f 73 70 69 5f 62 75 73 m_spidev_spi_bus
450004d0: 7d 22 20 3d 20 22 30 22 20 26 26 20 73 65 74 65 }" = "0" && sete
450004e0: 6e 76 20 74 6d 70 5f 73 70 69 5f 70 61 74 68 20 nv tmp_spi_path
450004f0: 22 73 70 69 40 35 30 31 30 30 30 30 22 0a 09 74 "spi@5010000"..t
45000500: 65 73 74 20 22 24 7b 70 61 72 61 6d 5f 73 70 69 est "${param_spi
45000510: 64 65 76 5f 73 70 69 5f 62 75 73 7d 22 20 3d 20 dev_spi_bus}" =
45000520: 22 31 22 20 26 26 20 73 65 74 65 6e 76 20 74 6d "1" && setenv tm
45000530: 70 5f 73 70 69 5f 70 61 74 68 20 22 73 70 69 40 p_spi_path "spi@
45000540: 35 30 31 31 30 30 30 22 0a 09 66 64 74 20 73 65 5011000"..fdt se
45000550: 74 20 2f 73 6f 63 2f 24 7b 74 6d 70 5f 73 70 69 t /soc/${tmp_spi
45000560: 5f 70 61 74 68 7d 20 73 74 61 74 75 73 20 22 6f _path} status "o
45000570: 6b 61 79 22 0a 09 66 64 74 20 73 65 74 20 2f 73 kay"..fdt set /s
45000580: 6f 63 2f 24 7b 74 6d 70 5f 73 70 69 5f 70 61 74 oc/${tmp_spi_pat
45000590: 68 7d 2f 73 70 69 64 65 76 20 73 74 61 74 75 73 h}/spidev status
450005a0: 20 22 6f 6b 61 79 22 0a 09 69 66 20 74 65 73 74 "okay"..if test
450005b0: 20 2d 6e 20 22 24 7b 70 61 72 61 6d 5f 73 70 69 -n "${param_spi
450005c0: 64 65 76 5f 6d 61 78 5f 66 72 65 71 7d 22 3b 20 dev_max_freq}";
450005d0: 74 68 65 6e 0a 09 09 66 64 74 20 73 65 74 20 2f then...fdt set /
450005e0: 73 6f 63 2f 24 7b 74 6d 70 5f 73 70 69 5f 70 61 soc/${tmp_spi_pa
450005f0: 74 68 7d 2f 73 70 69 64 65 76 20 73 70 69 2d 6d th}/spidev spi-m
45000600: 61 78 2d 66 72 65 71 75 65 6e 63 79 20 22 3c 24 ax-frequency "<$
45000610: 7b 70 61 72 61 6d 5f 73 70 69 64 65 76 5f 6d 61 {param_spidev_ma
45000620: 78 5f 66 72 65 71 7d 3e 22 0a 09 66 69 0a 09 69 x_freq}>"..fi..i
45000630: 66 20 74 65 73 74 20 22 24 7b 70 61 72 61 6d 5f f test "${param_
45000640: 73 70 69 64 65 76 5f 73 70 69 5f 63 73 7d 22 20 spidev_spi_cs}"
45000650: 3d 20 22 31 22 3b 20 74 68 65 6e 0a 09 09 66 64 = "1"; then...fd
45000660: 74 20 73 65 74 20 2f 73 6f 63 2f 24 7b 74 6d 70 t set /soc/${tmp
45000670: 5f 73 70 69 5f 70 61 74 68 7d 2f 73 70 69 64 65 _spi_path}/spide
45000680: 76 20 72 65 67 20 22 3c 31 3e 22 0a 09 66 69 0a v reg "<1>"..fi.
45000690: 09 65 6e 76 20 64 65 6c 65 74 65 20 74 6d 70 5f .env delete tmp_
450006a0: 73 70 69 5f 70 61 74 68 0a 66 69 0a 0a 69 66 20 spi_path.fi..if
450006b0: 74 65 73 74 20 2d 6e 20 22 24 7b 70 61 72 61 6d test -n "${param
450006c0: 5f 70 70 73 5f 70 69 6e 7d 22 3b 20 74 68 65 6e _pps_pin}"; then
450006d0: 0a 09 73 65 74 65 6e 76 20 74 6d 70 5f 62 61 6e ..setenv tmp_ban
450006e0: 6b 20 22 24 7b 70 61 72 61 6d 5f 70 70 73 5f 70 k "${param_pps_p
450006f0: 69 6e 7d 22 0a 09 73 65 74 65 6e 76 20 74 6d 70 in}"..setenv tmp
45000700: 5f 70 69 6e 20 22 24 7b 70 61 72 61 6d 5f 70 70 _pin "${param_pp
45000710: 73 5f 70 69 6e 7d 22 0a 09 72 75 6e 20 64 65 63 s_pin}"..run dec
45000720: 6f 6d 70 6f 73 65 5f 70 69 6e 0a 09 66 64 74 20 ompose_pin..fdt
45000730: 73 65 74 20 2f 73 6f 63 2f 70 69 6e 63 74 72 6c set /soc/pinctrl
45000740: 40 33 30 30 62 30 30 30 2f 70 70 73 5f 70 69 6e @300b000/pps_pin
45000750: 73 20 70 69 6e 73 20 22 24 7b 70 61 72 61 6d 5f s pins "${param_
45000760: 70 70 73 5f 70 69 6e 7d 22 0a 09 66 64 74 20 67 pps_pin}"..fdt g
45000770: 65 74 20 76 61 6c 75 65 20 74 6d 70 5f 70 68 61 et value tmp_pha
45000780: 6e 64 6c 65 20 2f 73 6f 63 2f 70 69 6e 63 74 72 ndle /soc/pinctr
45000790: 6c 40 33 30 30 62 30 30 30 20 70 68 61 6e 64 6c l@300b000 phandl
450007a0: 65 0a 09 66 64 74 20 73 65 74 20 2f 70 70 73 40 e..fdt set /pps@
450007b0: 30 20 67 70 69 6f 73 20 22 3c 24 7b 74 6d 70 5f 0 gpios "<${tmp_
450007c0: 70 68 61 6e 64 6c 65 7d 20 24 7b 74 6d 70 5f 62 phandle} ${tmp_b
450007d0: 61 6e 6b 7d 20 24 7b 74 6d 70 5f 70 69 6e 7d 20 ank} ${tmp_pin}
450007e0: 30 3e 22 0a 09 65 6e 76 20 64 65 6c 65 74 65 20 0>"..env delete
450007f0: 74 6d 70 5f 70 69 6e 20 74 6d 70 5f 62 61 6e 6b tmp_pin tmp_bank
45000800: 20 74 6d 70 5f 70 68 61 6e 64 6c 65 0a 66 69 0a tmp_phandle.fi.
45000810: 0a 69 66 20 74 65 73 74 20 22 24 7b 70 61 72 61 .if test "${para
45000820: 6d 5f 70 70 73 5f 66 61 6c 6c 69 6e 67 5f 65 64 m_pps_falling_ed
45000830: 67 65 7d 22 20 3d 20 22 31 22 3b 20 74 68 65 6e ge}" = "1"; then
45000840: 0a 09 66 64 74 20 73 65 74 20 2f 70 70 73 40 30 ..fdt set /pps@0
45000850: 20 61 73 73 65 72 74 2d 66 61 6c 6c 69 6e 67 2d assert-falling-
45000860: 65 64 67 65 0a 66 69 0a 0a 69 66 20 74 65 73 74 edge.fi..if test
45000870: 20 2d 6e 20 22 24 7b 70 61 72 61 6d 5f 77 31 5f -n "${param_w1_
45000880: 70 69 6e 7d 22 3b 20 74 68 65 6e 0a 09 73 65 74 pin}"; then..set
45000890: 65 6e 76 20 74 6d 70 5f 62 61 6e 6b 20 22 24 7b env tmp_bank "${
450008a0: 70 61 72 61 6d 5f 77 31 5f 70 69 6e 7d 22 0a 09 param_w1_pin}"..
450008b0: 73 65 74 65 6e 76 20 74 6d 70 5f 70 69 6e 20 22 setenv tmp_pin "
450008c0: 24 7b 70 61 72 61 6d 5f 77 31 5f 70 69 6e 7d 22 ${param_w1_pin}"
450008d0: 0a 09 72 75 6e 20 64 65 63 6f 6d 70 6f 73 65 5f ..run decompose_
450008e0: 70 69 6e 0a 09 66 64 74 20 73 65 74 20 2f 73 6f pin..fdt set /so
450008f0: 63 2f 70 69 6e 63 74 72 6c 40 33 30 30 62 30 30 c/pinctrl@300b00
45000900: 30 2f 77 31 5f 70 69 6e 73 20 70 69 6e 73 20 22 0/w1_pins pins "
45000910: 24 7b 70 61 72 61 6d 5f 77 31 5f 70 69 6e 7d 22 ${param_w1_pin}"
45000920: 0a 09 66 64 74 20 67 65 74 20 76 61 6c 75 65 20 ..fdt get value
45000930: 74 6d 70 5f 70 68 61 6e 64 6c 65 20 2f 73 6f 63 tmp_phandle /soc
45000940: 2f 70 69 6e 63 74 72 6c 40 33 30 30 62 30 30 30 /pinctrl@300b000
45000950: 20 70 68 61 6e 64 6c 65 0a 09 66 64 74 20 73 65 phandle..fdt se
45000960: 74 20 2f 6f 6e 65 77 69 72 65 40 30 20 67 70 69 t /onewire@0 gpi
45000970: 6f 73 20 22 3c 24 7b 74 6d 70 5f 70 68 61 6e 64 os "<${tmp_phand
45000980: 6c 65 7d 20 24 7b 74 6d 70 5f 62 61 6e 6b 7d 20 le} ${tmp_bank}
45000990: 24 7b 74 6d 70 5f 70 69 6e 7d 20 30 3e 22 0a 09 ${tmp_pin} 0>"..
450009a0: 65 6e 76 20 64 65 6c 65 74 65 20 74 6d 70 5f 70 env delete tmp_p
450009b0: 69 6e 20 74 6d 70 5f 62 61 6e 6b 20 74 6d 70 5f in tmp_bank tmp_
450009c0: 70 68 61 6e 64 6c 65 0a 66 69 0a 0a 69 66 20 74 phandle.fi..if t
450009d0: 65 73 74 20 22 24 7b 70 61 72 61 6d 5f 77 31 5f est "${param_w1_
450009e0: 70 69 6e 5f 69 6e 74 5f 70 75 6c 6c 75 70 7d 22 pin_int_pullup}"
450009f0: 20 3d 20 22 31 22 3b 20 74 68 65 6e 0a 09 66 64 = "1"; then..fd
45000a00: 74 20 73 65 74 20 2f 73 6f 63 2f 70 69 6e 63 74 t set /soc/pinct
45000a10: 72 6c 40 33 30 30 62 30 30 30 2f 77 31 5f 70 69 rl@300b000/w1_pi
45000a20: 6e 73 20 62 69 61 73 2d 70 75 6c 6c 2d 75 70 0a ns bias-pull-up.
45000a30: 66 69 0a 0a 69 66 20 74 65 73 74 20 22 24 7b 70 fi..if test "${p
45000a40: 61 72 61 6d 5f 75 61 72 74 31 5f 72 74 73 63 74 aram_uart1_rtsct
45000a50: 73 7d 22 20 3d 20 22 31 22 3b 20 74 68 65 6e 0a s}" = "1"; then.
45000a60: 09 66 64 74 20 67 65 74 20 76 61 6c 75 65 20 74 .fdt get value t
45000a70: 6d 70 5f 70 68 61 6e 64 6c 65 31 20 2f 73 6f 63 mp_phandle1 /soc
45000a80: 2f 70 69 6e 63 74 72 6c 40 33 30 30 62 30 30 30 /pinctrl@300b000
45000a90: 2f 75 61 72 74 31 2d 70 69 6e 73 20 70 68 61 6e /uart1-pins phan
45000aa0: 64 6c 65 0a 09 66 64 74 20 67 65 74 20 76 61 6c dle..fdt get val
45000ab0: 75 65 20 74 6d 70 5f 70 68 61 6e 64 6c 65 32 20 ue tmp_phandle2
45000ac0: 2f 73 6f 63 2f 70 69 6e 63 74 72 6c 40 33 30 30 /soc/pinctrl@300
45000ad0: 62 30 30 30 2f 75 61 72 74 31 2d 72 74 73 2d 63 b000/uart1-rts-c
45000ae0: 74 73 2d 70 69 6e 73 20 70 68 61 6e 64 6c 65 0a ts-pins phandle.
45000af0: 09 66 64 74 20 73 65 74 20 2f 73 6f 63 2f 73 65 .fdt set /soc/se
45000b00: 72 69 61 6c 40 35 30 30 30 34 30 30 20 70 69 6e rial@5000400 pin
45000b10: 63 74 72 6c 2d 6e 61 6d 65 73 20 22 64 65 66 61 ctrl-names "defa
45000b20: 75 6c 74 22 20 22 64 65 66 61 75 6c 74 22 0a 09 ult" "default"..
45000b30: 66 64 74 20 73 65 74 20 2f 73 6f 63 2f 73 65 72 fdt set /soc/ser
45000b40: 69 61 6c 40 35 30 30 30 34 30 30 20 70 69 6e 63 ial@5000400 pinc
45000b50: 74 72 6c 2d 30 20 22 3c 24 7b 74 6d 70 5f 70 68 trl-0 "<${tmp_ph
45000b60: 61 6e 64 6c 65 31 7d 3e 22 0a 09 66 64 74 20 73 andle1}>"..fdt s
45000b70: 65 74 20 2f 73 6f 63 2f 73 65 72 69 61 6c 40 35 et /soc/serial@5
45000b80: 30 30 30 34 30 30 20 70 69 6e 63 74 72 6c 2d 31 000400 pinctrl-1
45000b90: 20 22 3c 24 7b 74 6d 70 5f 70 68 61 6e 64 6c 65 "<${tmp_phandle
45000ba0: 32 7d 3e 22 0a 09 65 6e 76 20 64 65 6c 65 74 65 2}>"..env delete
45000bb0: 20 74 6d 70 5f 70 68 61 6e 64 6c 65 31 20 74 6d tmp_phandle1 tm
45000bc0: 70 5f 70 68 61 6e 64 6c 65 32 0a 66 69 0a 0a 69 p_phandle2.fi..i
45000bd0: 66 20 74 65 73 74 20 22 24 7b 70 61 72 61 6d 5f f test "${param_
45000be0: 75 61 72 74 32 5f 72 74 73 63 74 73 7d 22 20 3d uart2_rtscts}" =
45000bf0: 20 22 31 22 3b 20 74 68 65 6e 0a 09 66 64 74 20 "1"; then..fdt
45000c00: 67 65 74 20 76 61 6c 75 65 20 74 6d 70 5f 70 68 get value tmp_ph
45000c10: 61 6e 64 6c 65 31 20 2f 73 6f 63 2f 70 69 6e 63 andle1 /soc/pinc
45000c20: 74 72 6c 40 33 30 30 62 30 30 30 2f 75 61 72 74 trl@300b000/uart
45000c30: 32 2d 70 69 6e 73 20 70 68 61 6e 64 6c 65 0a 09 2-pins phandle..
45000c40: 66 64 74 20 67 65 74 20 76 61 6c 75 65 20 74 6d fdt get value tm
45000c50: 70 5f 70 68 61 6e 64 6c 65 32 20 2f 73 6f 63 2f p_phandle2 /soc/
45000c60: 70 69 6e 63 74 72 6c 40 33 30 30 62 30 30 30 2f pinctrl@300b000/
45000c70: 75 61 72 74 32 2d 72 74 73 2d 63 74 73 2d 70 69 uart2-rts-cts-pi
45000c80: 6e 73 20 70 68 61 6e 64 6c 65 0a 09 66 64 74 20 ns phandle..fdt
45000c90: 73 65 74 20 2f 73 6f 63 2f 73 65 72 69 61 6c 40 set /soc/serial@
45000ca0: 35 30 30 30 38 30 30 20 70 69 6e 63 74 72 6c 2d 5000800 pinctrl-
45000cb0: 6e 61 6d 65 73 20 22 64 65 66 61 75 6c 74 22 20 names "default"
45000cc0: 22 64 65 66 61 75 6c 74 22 0a 09 66 64 74 20 73 "default"..fdt s
45000cd0: 65 74 20 2f 73 6f 63 2f 73 65 72 69 61 6c 40 35 et /soc/serial@5
45000ce0: 30 30 30 38 30 30 20 70 69 6e 63 74 72 6c 2d 30 000800 pinctrl-0
45000cf0: 20 22 3c 24 7b 74 6d 70 5f 70 68 61 6e 64 6c 65 "<${tmp_phandle
45000d00: 31 7d 3e 22 0a 09 66 64 74 20 73 65 74 20 2f 73 1}>"..fdt set /s
45000d10: 6f 63 2f 73 65 72 69 61 6c 40 35 30 30 30 38 30 oc/serial@500080
45000d20: 30 20 70 69 6e 63 74 72 6c 2d 31 20 22 3c 24 7b 0 pinctrl-1 "<${
45000d30: 74 6d 70 5f 70 68 61 6e 64 6c 65 32 7d 3e 22 0a tmp_phandle2}>".
45000d40: 09 65 6e 76 20 64 65 6c 65 74 65 20 74 6d 70 5f .env delete tmp_
45000d50: 70 68 61 6e 64 6c 65 31 20 74 6d 70 5f 70 68 61 phandle1 tmp_pha
45000d60: 6e 64 6c 65 32 0a 66 69 0a 0a 69 66 20 74 65 73 ndle2.fi..if tes
45000d70: 74 20 22 24 7b 70 61 72 61 6d 5f 75 61 72 74 33 t "${param_uart3
45000d80: 5f 72 74 73 63 74 73 7d 22 20 3d 20 22 31 22 3b _rtscts}" = "1";
45000d90: 20 74 68 65 6e 0a 09 66 64 74 20 67 65 74 20 76 then..fdt get v
45000da0: 61 6c 75 65 20 74 6d 70 5f 70 68 61 6e 64 6c 65 alue tmp_phandle
45000db0: 31 20 2f 73 6f 63 2f 70 69 6e 63 74 72 6c 40 33 1 /soc/pinctrl@3
45000dc0: 30 30 62 30 30 30 2f 75 61 72 74 33 2d 70 69 6e 00b000/uart3-pin
45000dd0: 73 20 70 68 61 6e 64 6c 65 0a 09 66 64 74 20 67 s phandle..fdt g
45000de0: 65 74 20 76 61 6c 75 65 20 74 6d 70 5f 70 68 61 et value tmp_pha
45000df0: 6e 64 6c 65 32 20 2f 73 6f 63 2f 70 69 6e 63 74 ndle2 /soc/pinct
45000e00: 72 6c 40 33 30 30 62 30 30 30 2f 75 61 72 74 33 rl@300b000/uart3
45000e10: 2d 72 74 73 2d 63 74 73 2d 70 69 6e 73 20 70 68 -rts-cts-pins ph
45000e20: 61 6e 64 6c 65 0a 09 66 64 74 20 73 65 74 20 2f andle..fdt set /
45000e30: 73 6f 63 2f 73 65 72 69 61 6c 40 35 30 30 30 63 soc/serial@5000c
45000e40: 30 30 20 70 69 6e 63 74 72 6c 2d 6e 61 6d 65 73 00 pinctrl-names
45000e50: 20 22 64 65 66 61 75 6c 74 22 20 22 64 65 66 61 "default" "defa
45000e60: 75 6c 74 22 0a 09 66 64 74 20 73 65 74 20 2f 73 ult"..fdt set /s
45000e70: 6f 63 2f 73 65 72 69 61 6c 40 35 30 30 30 63 30 oc/serial@5000c0
45000e80: 30 20 70 69 6e 63 74 72 6c 2d 30 20 22 3c 24 7b 0 pinctrl-0 "<${
45000e90: 74 6d 70 5f 70 68 61 6e 64 6c 65 31 7d 3e 22 0a tmp_phandle1}>".
45000ea0: 09 66 64 74 20 73 65 74 20 2f 73 6f 63 2f 73 65 .fdt set /soc/se
45000eb0: 72 69 61 6c 40 35 30 30 30 63 30 30 20 70 69 6e rial@5000c00 pin
45000ec0: 63 74 72 6c 2d 31 20 22 3c 24 7b 74 6d 70 5f 70 ctrl-1 "<${tmp_p
45000ed0: 68 61 6e 64 6c 65 32 7d 3e 22 0a 09 65 6e 76 20 handle2}>"..env
45000ee0: 64 65 6c 65 74 65 20 74 6d 70 5f 70 68 61 6e 64 delete tmp_phand
45000ef0: 6c 65 31 20 74 6d 70 5f 70 68 61 6e 64 6c 65 32 le1 tmp_phandle2
45000f00: 0a 66 69 0a .fi.
=>
Code: Select all
# rough logic, please modify to meet your SD card format
# /boot is mmcblk2pX (Copy source)
# /mnt/gentoo/boot is mmcblk0pX (Copy destination)
cp -a /boot/dtb-5.16.17-sun50iw6 /mnt/gentoo/boot
# if /mnt/gentoo/boot is FAT
mv /mnt/gentoo/boot/dtb-5.16.17-sun50iw6 /mnt/gentoo/boot/dtb
# else if /mnt/gentoo/boot is extX
ln -s /mnt/gentoo/dtb-5.16.17-sun50iw6 /mnt/gentoo/boot/dtb
# NOTE: only do one of mv or ln -s, not both
# Kernel setup
# if /mnt/gentoo/boot is FAT
cp -a /mnt/gentoo/boot/initramfs-5.15.88-gentoo-arm64.img /mnt/gentoo/boot/uInitrd
cp -a /mnt/gentoo/boot/vmlinuz-5.15.88-gentoo-arm64 /mnt/gentoo/boot/Image
# else if /mnt/gentoo/boot is extX
ln -s /mnt/gentoo/boot/initramfs-5.15.88-gentoo-arm64.img /mnt/gentoo/boot/uInitrd
ln -s /mnt/gentoo/boot/vmlinuz-5.15.88-gentoo-arm64 /mnt/gentoo/boot/ImageCode: Select all
# Use boot.scr source code file boot.cmd
src=/mnt/gentoo/boot/boot.cmd
# Delete following three lines in boot.scr
# load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
# load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image
# booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
sed -i -E -e '/^load .*uInitrd$/d' -e '/^load .*Image$/d' -e '/^booti .*}$/d' $src
mkimage -C none -A arm -T script -d $src /mnt/gentoo/boot/boot.scrCode: Select all
src=/mnt/gentoo/boot
mkdir $src/extlinux
cat <<_EOF>$src/extlinux/extlinux.conf
TIMEOUT 10
PROMPT 0
DEFAULT my-kernel
MENU TITLE SDcard /extlinux/extlinux.conf
LABEL my-kernel
MENU LABEL My Gentoo Kernel 5.xx.yy
KERNEL /vmlinuz-5.15.88-gentoo-arm64
APPEND root=/dev/mmcblk0p1 rootwait rootfstype=ext4 console=ttyS0,115200 console=tty1
INITRD /initramfs-5.15.88-gentoo-arm64.img
_EOFPlease note, this method I have not tried myself. so if you want to pursue this we likely need to debug the entire process.3. Modify preboot environment variable wrote: There are two way to make modify. One is modify u-boot build configuration CONFIG_PREBOOT, from "usb start" to "usb start; load mmc 0 0x4FC00000 boot.scr; source 0x4FC00000". Flush this newly build u-boot on to SD card.
Or the other day is create a file name "uboot.env" on the root of SD card with contentusing uboot.env depend on u-boot was configured with CONFIG_ENV_(EXT4|FAT)_FILE value and CONFIG_ENV_IS_IN_(EXT4|FAT) is set to y.Code: Select all
preboot=usb start; load mmc 0 0x4FC0000 boot.scr; source 0x4FC00000
Code: Select all
U-Boot SPL 2020.04-gc97dbbcad (Jan 28 2023 - 15:01:42 -0600)
DRAM: 2048 MiB
Trying to boot from MMC1
NOTICE: BL31: v2.8(debug):v2.8-312-g1678bbb57
NOTICE: BL31: Built : 09:26:15, Jan 27 2023
NOTICE: BL31: Detected Allwinner H6 SoC (1728)
NOTICE: BL31: Found U-Boot DTB at 0xa07a870, model: OrangePi 3 LTS
INFO: ARM GICv2 driver initialized
INFO: Configuring SPC Controller
INFO: PMIC: Probing AXP805 on RSB
INFO: PMIC: aldo1 voltage: 3.300V
INFO: PMIC: aldo2 voltage: 3.300V
INFO: PMIC: aldo3 voltage: 3.300V
INFO: PMIC: bldo1 voltage: 1.800V
INFO: PMIC: bldo2 voltage: 1.800V
INFO: PMIC: bldo3 voltage: 1.800V
INFO: PMIC: cldo1 voltage: 3.300V
INFO: PMIC: dcdcd voltage: 0.960V
INFO: PMIC: dcdce voltage: 1.200V
INFO: BL31: Platform setup done
INFO: BL31: Initializing runtime services
INFO: BL31: cortex_a53: CPU workaround for 855873 was applied
INFO: BL31: cortex_a53: CPU workaround for 1530924 was applied
INFO: PSCI: Suspend is unavailable
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x4a000000
INFO: SPSR = 0x3c9
U-Boot 2020.04-gc97dbbcad (Jan 28 2023 - 15:01:42 -0600) Allwinner Technology
CPU: Allwinner H6 (SUN50I)
Model: OrangePi 3 LTS
DRAM: 2 GiB
MMC: mmc@4020000: 0, mmc@4022000: 1
Loading Environment from FAT... Unable to use mmc 1:1... In: serial@5000000
Out: serial@5000000
Err: serial@5000000
Net: No ethernet found.
starting USB...
No working controllers found
Autoboot in 2 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
3206 bytes read in 1 ms (3.1 MiB/s)
## Executing script at 4fc00000
U-boot loaded from SD
Boot script loaded from mmc
203 bytes read in 1 ms (198.2 KiB/s)
37593 bytes read in 6 ms (6 MiB/s)
3844 bytes read in 4 ms (938.5 KiB/s)
Applying kernel provided DT fixup script (sun50i-h6-fixup.scr)
## Executing script at 45000000
9622616 bytes read in 964 ms (9.5 MiB/s)
27349504 bytes read in 2737 ms (9.5 MiB/s)
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid
SCRIPT FAILED: continuing...
37593 bytes read in 6 ms (6 MiB/s)
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
3206 bytes read in 2 ms (1.5 MiB/s)
## Executing script at 4fc00000
U-boot loaded from SD
Boot script loaded from mmc
203 bytes read in 1 ms (198.2 KiB/s)
37593 bytes read in 6 ms (6 MiB/s)
3844 bytes read in 4 ms (938.5 KiB/s)
Applying kernel provided DT fixup script (sun50i-h6-fixup.scr)
## Executing script at 45000000
13042247 bytes read in 1306 ms (9.5 MiB/s)
25868296 bytes read in 2589 ms (9.5 MiB/s)
## Loading init Ramdisk from Legacy Image at 4fe00000 ...
Image Name: uInitrd
Image Type: AArch64 Linux RAMDisk Image (gzip compressed)
Data Size: 13042183 Bytes = 12.4 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
Booting using the fdt blob at 0x4fa00000
Loading Ramdisk to 4938f000, end 49fff207 ... OK
Loading Device Tree to 000000004931d000, end 000000004938efff ... OK
Starting kernel ...
Code: Select all
root@orangepi3-lts:/mnt/gentoo/boot# ls -la
total 41548
drwxr-xr-x 4 root root 4096 Feb 3 17:45 .
drwxr-xr-x 22 root root 4096 Feb 3 17:18 ..
-rwxr-xr-x 1 root root 230456 Sep 6 11:18 boot.bmp
-rwxr-xr-x 1 root root 3134 Sep 6 11:18 boot.cmd
-rwxr-xr-x 1 root root 3206 Sep 6 11:18 boot.scr
lrwxrwxrwx 1 root root 20 Feb 3 17:44 dtb -> dtb-5.16.17-sun50iw6
drwxr-xr-x 3 root root 4096 Sep 6 11:18 dtb-5.16.17-sun50iw6
lrwxrwxrwx 1 root root 28 Feb 3 17:45 Image -> vmlinuz-5.15.88-gentoo-arm64
-rwxr-xr-x 1 root root 9622616 Feb 2 02:47 initramfs-5.15.88-gentoo-arm64.img
drwx------ 2 root root 16384 Feb 3 17:18 lost+found
-rwxr-xr-x 1 root root 203 Feb 1 02:08 orangepiEnv.txt
-rwxr-xr-x 1 root root 1542 Sep 6 11:18 orangepi_first_run.txt.template
-rwxr-xr-x 1 root root 5287345 Feb 1 14:54 System.map-5.15.88-gentoo-arm64
lrwxrwxrwx 1 root root 34 Feb 3 17:44 uInitrd -> initramfs-5.15.88-gentoo-arm64.img
-rwxr-xr-x 1 root root 27349504 Feb 1 14:54 vmlinuz-5.15.88-gentoo-arm64
root@orangepi3-lts:/mnt/gentoo/boot# file vmlinuz-5.15.88-gentoo-arm64
vmlinuz-5.15.88-gentoo-arm64: Linux kernel ARM64 boot executable Image, little-endian, 4K pages
root@orangepi3-lts:/mnt/gentoo/boot# file initramfs-5.15.88-gentoo-arm64.img
initramfs-5.15.88-gentoo-arm64.img: XZ compressed data, checksum NONE