kopia lustrzana https://github.com/Links2004/x6100-armbian
uboot boot select via Button press
rodzic
792492dbb6
commit
ed4f83a059
|
@ -1,4 +1,4 @@
|
|||
userpatches/overlay/extracted/*
|
||||
userpatches/overlay/boot.scr
|
||||
userpatches/overlay/boot/boot.scr
|
||||
build/
|
||||
uboot_sdcard.bin
|
|
@ -69,7 +69,7 @@ git clone https://github.com/armbian/build --depth=1
|
|||
cp -r userpatches/ build/
|
||||
|
||||
cd build
|
||||
./compile.sh docker BOARD=lime-a33 BRANCH=current RELEASE=buster BUILD_MINIMAL=no BUILD_DESKTOP=yes KERNEL_ONLY=no KERNEL_CONFIGURE=no DESKTOP_ENVIRONMENT=xfce DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base DESKTOP_APPGROUPS_SELECTED="3dsupport browsers" COMPRESS_OUTPUTIMAGE=sha,gpg,img
|
||||
./compile.sh docker BOARD=lime-a33 BSPFREEZE=yes BRANCH=current RELEASE=buster BUILD_MINIMAL=no BUILD_DESKTOP=yes KERNEL_ONLY=no KERNEL_CONFIGURE=no DESKTOP_ENVIRONMENT=xfce DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base DESKTOP_APPGROUPS_SELECTED="3dsupport browsers" COMPRESS_OUTPUTIMAGE=sha,gpg,img
|
||||
```
|
||||
|
||||
## install on sdcard
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
# uboot default env
|
||||
|
||||
```ini
|
||||
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 ${devtypei
|
||||
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
|
||||
boot_net_usb_start=usb start
|
||||
boot_prefixes=/ /boot/
|
||||
boot_script_dhcp=boot.scr.uimg
|
||||
boot_scripts=boot.scr.uimg boot.scr
|
||||
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 ${fdt;
|
||||
bootcmd_fel=if test -n ${fel_booted} && test -n ${fel_scriptaddr}; then echo '(FEL boot)'; source ${fel_scriptaddr}; fi
|
||||
bootcmd_mmc0=setenv devnum 0; run mmc_boot
|
||||
bootcmd_mmc1=setenv 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 bootci
|
||||
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
|
||||
bootcmd_usb0=setenv devnum 0; run usb_boot
|
||||
bootm_size=0xa000000
|
||||
console=ttyS0,115200
|
||||
cpu=armv7
|
||||
dfu_alt_info_ram=kernel ram 0x42000000 0x1000000;fdt ram 0x43000000 0x100000;ramdisk ram 0x43300000 0x4000000
|
||||
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
|
||||
efi_dtb_prefixes=/ /dtb/ /dtb/current/
|
||||
ethaddr=de:ad:be:ef:00:01
|
||||
fdt_addr_r=0x43000000
|
||||
fdtcontroladdr=7af39548
|
||||
fdtfile=sun8i-r16-x6100.dtb
|
||||
kernel_addr_r=0x42000000
|
||||
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
|
||||
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
|
||||
mmc_bootdev=1
|
||||
preboot=usb start
|
||||
pxefile_addr_r=0x43200000
|
||||
ramdisk_addr_r=0x43300000
|
||||
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlin;
|
||||
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpare
|
||||
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boarde
|
||||
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}exti
|
||||
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then eche
|
||||
scriptaddr=0x43100000
|
||||
serial#=16554153070f725b
|
||||
soc=sunxi
|
||||
stderr=serial
|
||||
stdin=serial,usbkbd
|
||||
stdout=serial
|
||||
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
|
||||
usbnet_devaddr=de:ad:be:ef:00:01
|
||||
```
|
|
@ -23,16 +23,17 @@ Main() {
|
|||
apt-get -y remove chrony
|
||||
systemctl enable systemd-timesyncd.service
|
||||
|
||||
touch /root/.no_rootfs_resize
|
||||
#touch /root/.no_rootfs_resize
|
||||
|
||||
apt-get install -y wsjtx tightvncserver gdb-minimal gdbserver strace e2fsprogs xfce4-battery-plugin libqt5sql5-sqlite
|
||||
apt-get install -y wsjtx tightvncserver gdb-minimal gdbserver strace e2fsprogs xfce4-battery-plugin xfce4-power-manager libqt5sql5-sqlite
|
||||
apt-get install -y nano htop curl ncdu gpg dtrx localepurge mtr-tiny screen iotop git wget net-tools etckeeper sudo file bash-completion psmisc dnsutils software-properties-common apt-transport-https xauth aptitude fzf
|
||||
|
||||
cp /tmp/overlay/extracted/sun8i-r16-x6100.dtb /boot/
|
||||
cp /tmp/overlay/extracted/sun8i-r16-x6100.dts /boot/
|
||||
cp /tmp/overlay/extracted/zImage /boot/zImage_org
|
||||
|
||||
cp /tmp/overlay/boot.cmd /boot/boot.cmd
|
||||
mv /boot/boot.cmd /boot/boot.cmd.armbian
|
||||
cp /tmp/overlay/boot/* /boot/
|
||||
|
||||
mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
|
||||
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
setenv verbosity "1"
|
||||
setenv devnum "0"
|
||||
setenv rootdev "/dev/mmcblk${devnum}p1"
|
||||
|
||||
setenv kernel_addr_r 0x46000000
|
||||
setenv fdt_addr_r 0x49000000
|
||||
setenv ramdisk_addr_r 0x50000000
|
||||
|
||||
# Print boot source
|
||||
itest.b *0x28 == 0x00 && echo "U-boot loaded from SD"
|
||||
itest.b *0x28 == 0x02 && echo "U-boot loaded from eMMC or secondary SD"
|
||||
itest.b *0x28 == 0x03 && echo "U-boot loaded from SPI"
|
||||
|
||||
echo "devnum: ${devnum}"
|
||||
|
||||
if test "${devtype}" = "mmc"; then
|
||||
part uuid mmc ${devnum}:1 partuuid;
|
||||
setenv devnum ${mmc_bootdev}
|
||||
setenv rootdev "/dev/mmcblk${mmc_bootdev}p1"
|
||||
fi
|
||||
|
||||
echo "Boot script loaded from ${devtype}"
|
||||
echo "rootdev: ${rootdev}"
|
||||
echo "devnum: ${devnum}"
|
||||
echo "mmc_bootdev: ${mmc_bootdev}"
|
||||
echo "prefix: ${prefix}"
|
||||
|
||||
|
||||
echo "------------ x6100 boot script ------------"
|
||||
setenv bootargs console=ttyS0,115200 root=${rootdev} rootwait panic=10 fbcon=rotate:3 video=VGA:480x800 cgroup_enable=memory swapaccount=1 loglevel=${verbosity}
|
||||
|
||||
|
||||
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}/zImage_org
|
||||
load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}/uInitrd
|
||||
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}/sun8i-r16-x6100.dtb
|
||||
fdt addr ${fdt_addr_r}
|
||||
fdt resize 65536
|
||||
|
||||
bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
|
||||
|
||||
# Recompile with:
|
||||
# mkimage -C none -A arm -T script -d boot.cmd boot.scr
|
|
@ -0,0 +1,90 @@
|
|||
setenv verbosity "1"
|
||||
setenv devnum "0"
|
||||
setenv rootdev "/dev/mmcblk${devnum}p1"
|
||||
setenv nosdboot "0"
|
||||
|
||||
setenv kernel_addr_r 0x46000000
|
||||
setenv fdt_addr_r 0x49000000
|
||||
setenv ramdisk_addr_r 0x50000000
|
||||
|
||||
setenv consoleargs ""
|
||||
setenv console "both"
|
||||
setenv earlycon "on"
|
||||
setenv bootlogo "false"
|
||||
setenv docker_optimizations "on"
|
||||
|
||||
setenv fdtfile "sun8i-r16-x6100.dtb"
|
||||
setenv luInitrd "uInitrd"
|
||||
setenv bootargs_extra ""
|
||||
setenv lkernel "zImage"
|
||||
|
||||
# Print boot source
|
||||
itest.b *0x28 == 0x00 && echo "U-boot loaded from SD"
|
||||
itest.b *0x28 == 0x02 && echo "U-boot loaded from eMMC or secondary SD"
|
||||
itest.b *0x28 == 0x03 && echo "U-boot loaded from SPI"
|
||||
|
||||
if test "${devtype}" = "mmc"; then
|
||||
part uuid mmc ${devnum}:1 partuuid;
|
||||
setenv devnum ${mmc_bootdev}
|
||||
setenv rootdev "/dev/mmcblk${mmc_bootdev}p1"
|
||||
fi
|
||||
|
||||
echo "Boot script loaded from ${devtype}"
|
||||
echo "rootdev: ${rootdev}"
|
||||
echo "devnum: ${devnum}"
|
||||
echo "mmc_bootdev: ${mmc_bootdev}"
|
||||
echo "prefix: ${prefix}"
|
||||
|
||||
if test -e ${devtype} ${devnum} ${prefix}/x6100Env.txt; then
|
||||
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}/x6100Env.txt
|
||||
env import -t ${kernel_addr_r} ${filesize}
|
||||
fi
|
||||
|
||||
#set matrix row
|
||||
gpio clear PG6
|
||||
|
||||
if gpio input PE16 ; then
|
||||
echo "------------- BUTTON 1 -------------"
|
||||
run BUTTON_1
|
||||
elif gpio input PE17 ; then
|
||||
echo "------------- BUTTON 2 -------------"
|
||||
run BUTTON_2
|
||||
elif gpio input PE11 ; then
|
||||
echo "------------- BUTTON 3 -------------"
|
||||
run BUTTON_3
|
||||
else
|
||||
echo "------------- NO BUTTON -------------"
|
||||
run BUTTON_NONE
|
||||
fi
|
||||
|
||||
#reset matrix
|
||||
gpio input PG6
|
||||
|
||||
# enable key LEDs to show that the key can be released
|
||||
gpio set 143
|
||||
|
||||
if test "${nosdboot}" = "0" ; then
|
||||
|
||||
echo "------------ x6100 boot script ------------"
|
||||
|
||||
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 "${earlycon}" = "on"; then setenv consoleargs "earlycon ${consoleargs}"; fi
|
||||
if test "${bootlogo}" = "true"; then setenv consoleargs "bootsplash.bootfile=bootsplash.armbian ${consoleargs}"; fi
|
||||
|
||||
setenv bootargs "root=${rootdev} rootwait ${consoleargs} net.ifnames=0 panic=10 fbcon=rotate:3 video=VGA:480x800 ubootpart=${partuuid} ubootsource=${devtype} loglevel=${verbosity} ${bootargs_extra}"
|
||||
|
||||
if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=memory swapaccount=1"; fi
|
||||
|
||||
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}/${lkernel}
|
||||
load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}/${luInitrd}
|
||||
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}/${fdtfile}
|
||||
fdt addr ${fdt_addr_r}
|
||||
fdt resize 65536
|
||||
|
||||
bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
|
||||
|
||||
fi
|
||||
|
||||
# Recompile with:
|
||||
# mkimage -C none -A arm -T script -d boot.cmd boot.scr
|
|
@ -0,0 +1,4 @@
|
|||
BUTTON_NONE=setenv nosdboot 1
|
||||
BUTTON_1=setenv lkernel zImage_org; setenv bootargs_extra x6100_app=1 lightdm_screen=0 lightdm_vnc=1
|
||||
BUTTON_2=setenv lkernel zImage_org; setenv bootargs_extra x6100_app=0 lightdm_screen=1 lightdm_vnc=1
|
||||
BUTTON_3=setenv lkernel zImage; setenv bootargs_extra x6100_app=0 lightdm_screen=0 lightdm_vnc=1
|
Ładowanie…
Reference in New Issue