Skip to content

Commit c4e02b9

Browse files
committed
Update Allwinner Settings
1 parent 02ea36d commit c4e02b9

File tree

4 files changed

+79
-56
lines changed

4 files changed

+79
-56
lines changed

build-armbian/armbian-files/common-files/usr/sbin/armbian-update

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -419,15 +419,15 @@ update_kernel() {
419419

420420
# 01. For /boot five files
421421
tar -xzf boot-${kernel_name}.tar.gz -C /boot
422-
[[ "${PLATFORM}" == "amlogic" ]] && (cd /boot && cp -f uInitrd-${kernel_name} uInitrd && cp -f vmlinuz-${kernel_name} zImage)
423-
[[ "${PLATFORM}" == "rockchip" || "${PLATFORM}" == "allwinner" ]] && (cd /boot && ln -sf uInitrd-${kernel_name} uInitrd && ln -sf vmlinuz-${kernel_name} Image)
422+
[[ "${PLATFORM}" == "amlogic" || "${PLATFORM}" == "allwinner" ]] && (cd /boot && cp -f uInitrd-${kernel_name} uInitrd && cp -f vmlinuz-${kernel_name} zImage)
423+
[[ "${PLATFORM}" == "rockchip" ]] && (cd /boot && ln -sf uInitrd-${kernel_name} uInitrd && ln -sf vmlinuz-${kernel_name} Image)
424424
[[ "$(ls /boot/*${kernel_name}* -l 2>/dev/null | grep "^-" | wc -l)" -ge "4" ]] || error_msg "The /boot files is missing."
425425
echo -e "${INFO} (1/4) Unpacking [ boot-${kernel_name}.tar.gz ] done."
426426

427427
# 02. For /boot/dtb/${PLATFORM}/*
428428
[[ -d "/boot/dtb/${PLATFORM}" ]] || mkdir -p /boot/dtb/${PLATFORM}
429429
tar -xzf dtb-${PLATFORM}-${kernel_name}.tar.gz -C /boot/dtb/${PLATFORM}
430-
[[ "${PLATFORM}" == "rockchip" || "${PLATFORM}" == "allwinner" ]] && ln -sf dtb /boot/dtb-${kernel_name}
430+
[[ "${PLATFORM}" == "rockchip" ]] && ln -sf dtb /boot/dtb-${kernel_name}
431431
[[ "$(ls /boot/dtb/${PLATFORM} -l 2>/dev/null | grep "^-" | wc -l)" -ge "2" ]] || error_msg "/boot/dtb/${PLATFORM} files is missing."
432432
echo -e "${INFO} (2/4) Unpacking [ dtb-${PLATFORM}-${kernel_name}.tar.gz ] done."
433433

build-armbian/armbian-files/platform-files/allwinner/bootfs/boot.cmd

Lines changed: 59 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,33 @@
33
# Please edit /boot/armbianEnv.txt to set supported parameters
44
#
55

6-
# default values
76
setenv load_addr "0x45000000"
87
setenv overlay_error "false"
9-
setenv rootdev "/dev/mmcblk0p1"
8+
# default values
109
setenv verbosity "1"
11-
setenv rootfstype "ext4"
1210
setenv console "both"
11+
setenv disp_mem_reserves "off"
12+
setenv disp_mode "1920x1080p60"
13+
setenv rootfstype "ext4"
1314
setenv docker_optimizations "on"
1415
setenv bootlogo "false"
16+
setenv devnum "0"
17+
setenv rootdev "/dev/mmcblk${devnum}p1"
18+
setenv earlycon "off"
1519

1620
# Print boot source
17-
itest.b *0x10028 == 0x00 && echo "U-boot loaded from SD"
18-
itest.b *0x10028 == 0x02 && echo "U-boot loaded from eMMC or secondary SD"
19-
itest.b *0x10028 == 0x03 && echo "U-boot loaded from SPI"
21+
itest.b *0x28 == 0x00 && echo "U-boot loaded from SD"
22+
itest.b *0x28 == 0x01 && echo "U-boot loaded from NAND"
23+
itest.b *0x28 == 0x02 && echo "U-boot loaded from eMMC or secondary SD"
24+
itest.b *0x28 == 0x03 && echo "U-boot loaded from SPI"
25+
26+
# get PARTUUID of first partition on SD/eMMC it was loaded from
27+
# mmc 0 is always mapped to device u-boot (2016.09+) was loaded from
28+
if test "${devtype}" = "mmc"; then
29+
part uuid mmc ${devnum}:1 partuuid;
30+
setenv devnum ${mmc_bootdev}
31+
setenv rootdev "/dev/mmcblk${mmc_bootdev}p1"
32+
fi
2033

2134
echo "Boot script loaded from ${devtype}"
2235

@@ -27,54 +40,58 @@ fi
2740

2841
if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=ttyS0,115200 console=tty1"; fi
2942
if test "${console}" = "serial"; then setenv consoleargs "console=ttyS0,115200"; fi
43+
if test "${earlycon}" = "on"; then setenv consoleargs "earlycon ${consoleargs}"; fi
3044
if test "${bootlogo}" = "true"; then
3145
setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}"
3246
else
3347
setenv consoleargs "splash=verbose ${consoleargs}"
3448
fi
3549

36-
# get PARTUUID of first partition on SD/eMMC it was loaded from
37-
# mmc 0 is always mapped to device u-boot (2016.09+) was loaded from
38-
if test "${devtype}" = "mmc"; then part uuid mmc 0:1 partuuid; fi
39-
40-
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
50+
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} hdmi.audio=EDID:0 disp.screen0_output_mode=${disp_mode} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} ubootsource=${devtype} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
4151

52+
if test "${disp_mem_reserves}" = "off"; then setenv bootargs "${bootargs} sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16"; fi
4253
if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=memory swapaccount=1"; fi
4354

44-
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
45-
fdt addr ${fdt_addr_r}
46-
fdt resize 65536
47-
for overlay_file in ${overlays}; do
48-
if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/allwinner/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
49-
echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
50-
fdt apply ${load_addr} || setenv overlay_error "true"
51-
fi
52-
done
53-
for overlay_file in ${user_overlays}; do
54-
if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
55-
echo "Applying user provided DT overlay ${overlay_file}.dtbo"
56-
fdt apply ${load_addr} || setenv overlay_error "true"
57-
fi
58-
done
59-
if test "${overlay_error}" = "true"; then
60-
echo "Error applying DT overlays, restoring original DT"
55+
load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
56+
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}zImage
57+
58+
if test -e ${devtype} ${devnum} "${prefix}.next"; then
59+
echo "Found mainline kernel configuration"
6160
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
62-
else
63-
if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/allwinner/overlay/${overlay_prefix}-fixup.scr; then
64-
echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
65-
source ${load_addr}
66-
fi
67-
if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
68-
load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
69-
echo "Applying user provided fixup script (fixup.scr)"
70-
source ${load_addr}
61+
fdt addr ${fdt_addr_r}
62+
fdt resize 65536
63+
for overlay_file in ${overlays}; do
64+
if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
65+
echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
66+
fdt apply ${load_addr} || setenv overlay_error "true"
67+
fi
68+
done
69+
for overlay_file in ${user_overlays}; do
70+
if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
71+
echo "Applying user provided DT overlay ${overlay_file}.dtbo"
72+
fdt apply ${load_addr} || setenv overlay_error "true"
73+
fi
74+
done
75+
if test "${overlay_error}" = "true"; then
76+
echo "Error applying DT overlays, restoring original DT"
77+
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
78+
else
79+
if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/overlay/${overlay_prefix}-fixup.scr; then
80+
echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
81+
source ${load_addr}
82+
fi
83+
if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
84+
load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
85+
echo "Applying user provided fixup script (fixup.scr)"
86+
source ${load_addr}
87+
fi
7188
fi
89+
bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
90+
else
91+
echo "Found legacy kernel configuration"
92+
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}script.bin
93+
bootz ${kernel_addr_r} ${ramdisk_addr_r}
7294
fi
7395

74-
load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
75-
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image
76-
77-
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
78-
7996
# Recompile with:
8097
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
Binary file not shown.

rebuild

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -436,9 +436,14 @@ confirm_version() {
436436
# Set up the welcome board
437437
bd_name="${board}"
438438
# Set Armbian image file parameters
439-
[[ "${PLATFORM}" == "rockchip" ]] && partition_table_type="gpt"
440-
[[ "${PLATFORM}" == "allwinner" ]] && partition_table_type="msdos"
441-
bootfs_type="ext4"
439+
[[ "${PLATFORM}" == "rockchip" ]] && {
440+
partition_table_type="gpt"
441+
bootfs_type="ext4"
442+
}
443+
[[ "${PLATFORM}" == "allwinner" ]] && {
444+
partition_table_type="msdos"
445+
bootfs_type="fat32"
446+
}
442447
# Set directory name
443448
platform_bootfs="${platform_files}/${PLATFORM}/bootfs"
444449
platform_rootfs="${platform_files}/${PLATFORM}/rootfs"
@@ -515,10 +520,11 @@ make_image() {
515520
[[ -n "${loop_new}" ]] || error_msg "losetup ${build_image_file} failed."
516521

517522
# Format bootfs partition
518-
[[ "${PLATFORM}" == "amlogic" ]] && mkfs.vfat -F 32 -n "BOOT" ${loop_new}p1 >/dev/null 2>&1
519-
[[ "${PLATFORM}" == "rockchip" || "${PLATFORM}" == "allwinner" ]] && {
523+
if [[ "${bootfs_type}" == "fat32" ]]; then
524+
mkfs.vfat -F 32 -n "BOOT" ${loop_new}p1 >/dev/null 2>&1
525+
else
520526
mkfs.ext4 -F -q -U ${BOOT_UUID} -L "BOOT" -b 4k -m 0 ${loop_new}p1 >/dev/null 2>&1
521-
}
527+
fi
522528

523529
# Format rootfs partition
524530
if [[ "${ROOTFS_TYPE}" == "btrfs" ]]; then
@@ -587,7 +593,7 @@ copy_files() {
587593
mkdir -p ${tag_bootfs} ${tag_rootfs}
588594

589595
# Mount bootfs
590-
if [[ "${PLATFORM}" == "amlogic" ]]; then
596+
if [[ "${bootfs_type}" == "fat32" ]]; then
591597
mount -t vfat -o discard ${loop_new}p1 ${tag_bootfs}
592598
else
593599
mount -t ext4 -o discard ${loop_new}p1 ${tag_bootfs}
@@ -637,15 +643,15 @@ replace_kernel() {
637643

638644
# 01. For /boot five files
639645
tar -xzf ${kernel_boot} -C ${tag_bootfs}
640-
[[ "${PLATFORM}" == "amlogic" ]] && (cd ${tag_bootfs} && cp -f uInitrd-${kernel_name} uInitrd && cp -f vmlinuz-${kernel_name} zImage)
641-
[[ "${PLATFORM}" == "rockchip" || "${PLATFORM}" == "allwinner" ]] && (cd ${tag_bootfs} && ln -sf uInitrd-${kernel_name} uInitrd && ln -sf vmlinuz-${kernel_name} Image)
646+
[[ "${PLATFORM}" == "amlogic" || "${PLATFORM}" == "allwinner" ]] && (cd ${tag_bootfs} && cp -f uInitrd-${kernel_name} uInitrd && cp -f vmlinuz-${kernel_name} zImage)
647+
[[ "${PLATFORM}" == "rockchip" ]] && (cd ${tag_bootfs} && ln -sf uInitrd-${kernel_name} uInitrd && ln -sf vmlinuz-${kernel_name} Image)
642648
[[ "$(ls ${tag_bootfs}/*${kernel_name} -l 2>/dev/null | grep "^-" | wc -l)" -ge "2" ]] || error_msg "The /boot files is missing."
643649
[[ "${PLATFORM}" == "amlogic" ]] && get_textoffset "${tag_bootfs}/zImage"
644650

645651
# 02. For /boot/dtb/${PLATFORM}/*
646652
[[ -d "${tag_bootfs}/dtb/${PLATFORM}" ]] || mkdir -p ${tag_bootfs}/dtb/${PLATFORM}
647653
tar -xzf ${kernel_dtb} -C ${tag_bootfs}/dtb/${PLATFORM}
648-
[[ "${PLATFORM}" == "rockchip" || "${PLATFORM}" == "allwinner" ]] && ln -sf dtb ${tag_bootfs}/dtb-${kernel_name}
654+
[[ "${PLATFORM}" == "rockchip" ]] && ln -sf dtb ${tag_bootfs}/dtb-${kernel_name}
649655
[[ "$(ls ${tag_bootfs}/dtb/${PLATFORM} -l 2>/dev/null | grep "^-" | wc -l)" -ge "2" ]] || error_msg "/boot/dtb/${PLATFORM} files is missing."
650656

651657
# 03. For /usr/src/linux-headers-${kernel_name}
@@ -789,7 +795,7 @@ refactor_files() {
789795
# Edit the etc/fstab
790796
[[ -f "etc/fstab" ]] || error_msg "The etc/fstab File does not exist."
791797
sed -i "s|LABEL=ROOTFS.*|UUID=${ROOTFS_UUID} / ${ROOTFS_TYPE} ${fstab_string} 0 1|g" etc/fstab
792-
[[ "${PLATFORM}" == "rockchip" || "${PLATFORM}" == "allwinner" ]] && {
798+
[[ "${PLATFORM}" == "rockchip" ]] && {
793799
sed -i "s|LABEL=BOOT.*|UUID=${BOOT_UUID} /boot ext4 discard,defaults 0 2|g" etc/fstab
794800
}
795801

0 commit comments

Comments
 (0)