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/extracted/*
|
||||||
userpatches/overlay/boot.scr
|
userpatches/overlay/boot/boot.scr
|
||||||
build/
|
build/
|
||||||
uboot_sdcard.bin
|
uboot_sdcard.bin
|
|
@ -69,7 +69,7 @@ git clone https://github.com/armbian/build --depth=1
|
||||||
cp -r userpatches/ build/
|
cp -r userpatches/ build/
|
||||||
|
|
||||||
cd 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
|
## 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
|
apt-get -y remove chrony
|
||||||
systemctl enable systemd-timesyncd.service
|
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
|
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.dtb /boot/
|
||||||
cp /tmp/overlay/extracted/sun8i-r16-x6100.dts /boot/
|
cp /tmp/overlay/extracted/sun8i-r16-x6100.dts /boot/
|
||||||
cp /tmp/overlay/extracted/zImage /boot/zImage_org
|
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
|
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