diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2015-01-26 15:39:01 +0200 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2015-01-26 15:39:01 +0200 |
commit | a99e2526a63f6fd2f19ecfb79ffae8f9cf861145 (patch) | |
tree | 9aec2be5685908e124149db24341fbd1ba0acec6 | |
parent | 63a3fbcfde479d18bcce3ccccbbab54fd1252591 (diff) | |
download | alpine-conf-a99e2526a63f6fd2f19ecfb79ffae8f9cf861145.tar.bz2 alpine-conf-a99e2526a63f6fd2f19ecfb79ffae8f9cf861145.tar.xz |
update-kernel: support for arm architecture
-rw-r--r-- | update-kernel.in | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/update-kernel.in b/update-kernel.in index 8086f5c..34b45dd 100644 --- a/update-kernel.in +++ b/update-kernel.in @@ -152,6 +152,9 @@ if [ -z "$FLAVOR" ]; then [ "$FLAVOR" ] || FLAVOR=vanilla fi +[ "$ARCH" ] || ARCH=$(apk --print-arch) +ARM=$(echo "$ARCH" | grep ^arm || :) + TMPDIR=$(mktemp -d /tmp/$SCRIPT.XXXXXX) ROOT=$TMPDIR/root BOOT=$ROOT/boot @@ -176,7 +179,7 @@ _apk() { wrapper="fakeroot $opt -s $fake_env --" fi - $wrapper apk $cmd $QUIET_OPT -p $ROOT ${ARCH:+--arch "$ARCH"} \ + $wrapper apk $cmd $QUIET_OPT -p $ROOT --arch "$ARCH" \ --keys-dir /etc/apk/keys \ --repositories-file /etc/apk/repositories $* } @@ -193,7 +196,7 @@ _apk add --initdb --update-cache if [ "$BUILDDIR" ]; then mkdir -p $BOOT - make -C "$BUILDDIR" firmware_install install modules_install \ + make -C "$BUILDDIR" ${ARM:+z}install firmware_install modules_install \ INSTALL_MOD_PATH=$ROOT INSTALL_PATH=$BOOT else if [ -z "$PACKAGES" ]; then @@ -214,8 +217,9 @@ depmod -b $ROOT "$KVER" STAGING=$TMPDIR/boot MODLOOP=$TMPDIR/modloop MODIMG=modloop-$FLAVOR +DTB_STAGING=$TMPDIR/dtbs -mkdir $MODLOOP $STAGING +mkdir $DTB_STAGING $MODLOOP $STAGING cp -a $ROOT/lib/modules $MODLOOP cp -a $ROOT/lib/firmware $MODLOOP/modules _exec mksquashfs $MODLOOP "$STAGING/$MODIMG" -comp xz @@ -227,6 +231,12 @@ for file in System.map config vmlinuz; do cp "$BOOT/$file$KVER_FLAVOR" $STAGING done +if [ "$ARM" ]; then + DTBDIR=$ROOT/usr/lib/linux-$KVER + [ "$BUILDDIR" ] && DTBDIR=$BUILDDIR/source/arch/arm/boot/dts + cp "$DTBDIR"/*.dtb $DTB_STAGING +fi + if [ "$MNTDIR" ]; then ignore_sigs @@ -236,6 +246,12 @@ fi mv $STAGING/* "$DESTDIR" +if [ "$ARM" ]; then + DTBDIR=$DESTDIR/dtbs + mkdir -p "$DTBDIR" + mv $DTB_STAGING/* "$DTBDIR" +fi + if [ "$MNTDIR" ]; then set +e sync |