Switching Odroid C1 boot partition to FAT (#1964)

* Switching Odroid C1 boot partition to FAT

U-boot FAT driver is very unstable and there is no wish to dig into u-boot. Seems like a sane workaround @plntyk

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>

* Add notes for separate boot partitions

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>

* Typo

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>

* Bugfix: use zImage for converting to uImage since on FAT partitions we use move

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>

* Cleanup C1 boot scripts

We have no plans to ever support legacy kernel again. Removing related things

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>

* A bit more radical change. Moving meson current to (new) legacy, current to 5.6.y and dev to some development branch / commit.

* Remove unneded patch

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
This commit is contained in:
Igor Pečovnik 2020-05-15 21:50:26 +02:00 committed by GitHub
parent 528daf9deb
commit f054caca02
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 9818 additions and 304 deletions

View file

@ -4,6 +4,8 @@
| BOARD_NAME | welcome text and hostname |
| BOARDFAMILY | [sun8i, sun7i, rockchip64](../sources) |
| BOOTCONFIG | name of u-boot config |
| BOOTSIZE | size of a separate boot partition in Mib |
| BOOTFS_TYPE | boot partition type: ext4, fat |
| DEFAULT_OVERLAYS | usbhost1 usbhost2 ... |
| DEFAULT_CONSOLE | serial = change default boot output |
| MODULES_LEGACY | space delimited modules for legacy branch |

View file

@ -2,5 +2,7 @@
BOARD_NAME="Odroid C1"
BOARDFAMILY="meson8b"
BOOTCONFIG="odroidc_config"
KERNEL_TARGET="current,dev"
KERNEL_TARGET="legacy,current,dev"
BUILD_DESKTOP=no
BOOTSIZE="200"
BOOTFS_TYPE="fat"

View file

@ -73,7 +73,7 @@ setenv vpu "1"
setenv hdmioutput "1"
# Default Console Device Setting
if test -e mmc 0:1 boot/.next; then setenv condev "console=ttyAML0,115200n8"; else setenv condev "console=ttyS0,115200n8 console=tty0"; fi
setenv condev "console=ttyAML0,115200n8"
# Enable/Disable ODROID-VU7 Touchscreen
setenv disable_vu7 "false" # false
@ -93,14 +93,13 @@ if test "${cec}" = "1"; then setenv hdmi_cec "hdmitx=cecf"; fi
if test "${disable_vu7}" = "false"; then setenv hid_quirks "usbhid.quirks=0x0eef:0x0005:0x0004"; fi
# Boot Arguments
setenv bootargs "root=${rootdev} rootwait rw ${condev} rootfstype=${rootfstype} loglevel=7 no_console_suspend consoleblank=0 vdaccfg=0xa000 logo=osd1,loaded,0x7900000,720p,full dmfc=3 cvbsmode=576cvbs hdmimode=${m} m_bpp=${m_bpp} vout=${vout_mode} ${disableuhs} ${hdmi_hpd} ${hdmi_cec} ${enabledac} monitor_onoff=${monitor_onoff} max_freq=${max_freq} ${hid_quirks} ${extraargs}"
setenv bootargs "root=${rootdev} rootwait rw ${condev} rootfstype=${rootfstype} loglevel=1 no_console_suspend consoleblank=0 vdaccfg=0xa000 logo=osd1,loaded,0x7900000,720p,full dmfc=3 cvbsmode=576cvbs hdmimode=${m} m_bpp=${m_bpp} vout=${vout_mode} ${disableuhs} ${hdmi_hpd} ${hdmi_cec} ${enabledac} monitor_onoff=${monitor_onoff} max_freq=${max_freq} ${hid_quirks} ${extraargs}"
# Booting
ext4load mmc 0:1 0x20800000 /boot/uImage || fatload mmc 0:1 0x20800000 uImage || ext4load mmc 0:1 0x20800000 uImage
ext4load mmc 0:1 0x22000000 /boot/uInitrd || fatload mmc 0:1 0x22000000 uInitrd || ext4load mmc 0:1 0x22000000 uInitrd
ext4load mmc 0:1 0x21800000 /boot/dtb/meson8b_odroidc.dtb || fatload mmc 0:1 0x21800000 dtb/meson8b_odroidc.dtb || ext4load mmc 0:1 0x21800000 dtb/meson8b_odroidc.dtb
# mainline kernel
ext4load mmc 0:1 0x21800000 /boot/dtb/meson8b-odroidc1.dtb
ext4load mmc 0:1 0x21800000 /boot/dtb/meson8b-odroidc1.dtb || fatload mmc 0:1 0x21800000 dtb/meson8b-odroidc1.dtb || ext4load mmc 0:1 0x21800000 dtb/meson8b-odroidc1.dtb
fdt addr 21800000
if test "${vpu}" = "0"; then fdt rm /mesonstream; fdt rm /vdec; fdt rm /ppmgr; fi

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -13,16 +13,22 @@ CPUMAX=1632000
GOVERNOR=ondemand
case $BRANCH in
current)
legacy)
KERNELBRANCH="branch:linux-5.4.y"
KERNELPATCHDIR='meson-'$BRANCH
;;
current)
KERNELBRANCH="branch:linux-5.6.y"
KERNELPATCHDIR='meson-'$BRANCH
;;
dev)
KERNELBRANCH="branch:linux-5.6.y"
KERNELPATCHDIR='meson-'$BRANCH
KERNELSOURCE="https://github.com/xdarklight/linux"
KERNELBRANCH="commit:15faa34a0d22dcd15a6f6984a865895110c2f81b"
;;
esac

View file

@ -430,10 +430,10 @@ nanopia64 dev focal minimal beta yes
# Odroid C1
odroidc1 current focal minimal stable yes
odroidc1 current buster minimal stable yes
odroidc1 current focal minimal beta yes
odroidc1 current buster minimal beta yes
odroidc1 legacy focal cli stable yes
odroidc1 legacy buster cli stable yes
odroidc1 legacy bionic cli stable yes
odroidc1 legacy bullseye cli stable yes
# Odroid C2

View file

@ -18,12 +18,12 @@ compilation_prepare()
# Maintaining one from central location starting with 5.3+
# Temporally set for new "default->legacy,next->current" family naming
if linux-version compare $version ge 5.6 && [[ "$BRANCH" == current || "$BRANCH" == dev ]]; then
if linux-version compare $version ge 5.6; then
display_alert "Adjusting" "packaging" "info"
cd ${SRC}/cache/sources/${LINUXSOURCEDIR}
process_patch_file "${SRC}/patch/misc/general-packaging-5.6.y.patch" "applying"
else
if linux-version compare $version ge 5.3 && [[ "$BRANCH" == current || "$BRANCH" == dev ]]; then
if linux-version compare $version ge 5.3; then
display_alert "Adjusting" "packaging" "info"
cd ${SRC}/cache/sources/${LINUXSOURCEDIR}
process_patch_file "${SRC}/patch/misc/general-packaging-5.3.y.patch" "applying"

View file

@ -1,16 +0,0 @@
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 3b80bd3f6..79bb8de6d 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -285,6 +285,11 @@ if [ "$ARCH" != "um" ]; then
create_package "$dtb_packagename" "$dtb_dir"
fi
+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst
+cat >> $tmpdir/DEBIAN/postinst <<EOT
+mkimage -A arm -O linux -T kernel -C none -a 0x2080000 -e 0x2080000 -n "Linux" -d /$installed_image_path /boot/uImage > /dev/null 2>&1
+exit 0
+EOT
create_package "$packagename" "$tmpdir"
if [ -n "$BUILD_DEBUG" ] ; then

View file

@ -2,13 +2,14 @@ diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 3b80bd3f6..79bb8de6d 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -285,6 +285,11 @@ if [ "$ARCH" != "um" ]; then
@@ -285,6 +285,12 @@ if [ "$ARCH" != "um" ]; then
create_package "$dtb_packagename" "$dtb_dir"
fi
+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst
+cat >> $tmpdir/DEBIAN/postinst <<EOT
+mkimage -A arm -O linux -T kernel -C none -a 0x2080000 -e 0x2080000 -n "Linux" -d /$installed_image_path /boot/uImage > /dev/null 2>&1
+mkimage -A arm -O linux -T kernel -C none -a 0x2080000 -e 0x2080000 -n "Linux" -d /boot/zImage /boot/uImage > /dev/null 2>&1
+rm -f /boot/zImage
+exit 0
+EOT
create_package "$packagename" "$tmpdir"

1
patch/kernel/meson-dev Symbolic link
View file

@ -0,0 +1 @@
meson-current

1
patch/kernel/meson-legacy Symbolic link
View file

@ -0,0 +1 @@
meson-current