Add kernel updater script (#625)

This commit is contained in:
Attila Szöllősi 2017-10-15 01:17:49 +02:00 committed by Oliver Smith
parent 2322bf5876
commit 477f4c9497
3 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,15 @@
pkgname=postmarketos-update-kernel
pkgver=0.0.1
pkgrel=0
pkgdesc="kernel updater script for postmarketOS"
url="https://github.com/postmarketOS"
depends="util-linux"
source="update-kernel.sh"
arch="noarch"
license="GPL3"
package() {
install -Dm755 "$srcdir/update-kernel.sh" \
"$pkgdir/sbin/pmos-update-kernel"
}
sha512sums="7d2f3031b1a468accff5a3584bd51d3607141b01e1d2a93d611852476bdeecc3edd7b80f8e3b034012d9b5f09de907af1de02f48586d82d06ee4b5746d4fd286 update-kernel.sh"

View File

@ -0,0 +1,41 @@
#!/bin/ash
# shellcheck shell=dash
set -e
case $1 in
--help|-h|'')
echo "Usage: pmos-update-kernel [flavor]"
exit 1
;;
esac
# shellcheck disable=SC1091
. /etc/deviceinfo
FLAVOR=$1
METHOD=${deviceinfo_flash_methods:?}
case $METHOD in
fastboot|heimdall-bootimg)
BOOT_PARTITION=$(findfs PARTLABEL="boot")
echo "Flashing boot.img..."
dd if=/boot/boot.img-"$FLAVOR" of="$BOOT_PARTITION" bs=1M
;;
heimdall-isorec)
KERNEL_PARTITION=$(findfs PARTLABEL="${deviceinfo_flash_heimdall_partition_kernel:?}")
INITFS_PARTITION=$(findfs PARTLABEL="${deviceinfo_flash_heimdall_partition_initfs:?}")
echo "Flashing kernel..."
dd if=/boot/vmlinuz-"$FLAVOR" of="$KERNEL_PARTITION" bs=1M
echo "Flashing initramfs..."
gunzip -c /boot/initramfs-"$FLAVOR" | lzop | dd of="$INITFS_PARTITION" bs=1M
;;
0xFFFF)
echo -n "No need to use this utility, since uboot loads the kernel directly from"
echo " the boot partition. Your kernel should be updated already."
exit 1
;;
*)
echo "Devices with flash method: $METHOD are not supported."
exit 1
;;
esac
echo "Done."

View File

@ -26,6 +26,7 @@ sh_files="
./aports/main/postmarketos-base/firmwareload.sh
./aports/main/postmarketos-mkinitfs/init.sh.in
./aports/main/postmarketos-mkinitfs/init_functions.sh
./aports/main/postmarketos-update-kernel/update-kernel.sh
./aports/main/postmarketos-android-recovery-installer/build_zip.sh
./aports/main/postmarketos-android-recovery-installer/pmos_install
./aports/main/postmarketos-android-recovery-installer/pmos_install_functions