diff options
-rw-r--r-- | main/mkinitfs/APKBUILD | 3 | ||||
-rw-r--r-- | main/mkinitfs/mkinitfs.trigger | 27 |
2 files changed, 27 insertions, 3 deletions
diff --git a/main/mkinitfs/APKBUILD b/main/mkinitfs/APKBUILD index c7823c5f1..3666e533b 100644 --- a/main/mkinitfs/APKBUILD +++ b/main/mkinitfs/APKBUILD @@ -1,10 +1,11 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=mkinitfs pkgver=2.0_rc5 -pkgrel=0 +pkgrel=1 pkgdesc="Tool to generate initramfs images for Alpine" url=http://git.alpinelinux.org/cgit/mkinitfs depends="busybox" +triggers="$pkgname.trigger:/usr/share/kernel/*" source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2 " license="GPL-2" diff --git a/main/mkinitfs/mkinitfs.trigger b/main/mkinitfs/mkinitfs.trigger index be15f52f0..4117524c2 100644 --- a/main/mkinitfs/mkinitfs.trigger +++ b/main/mkinitfs/mkinitfs.trigger @@ -2,7 +2,30 @@ for i in "$@"; do # get last element in path - kver=${i##*/} - mkinitfs $kver + flavor=${i##*/} + abi_release=$(cat "$i"/kernel.release) + initfs=initramfs-$abi_release + mkinitfs -o /boot/$initfs $abi_release + ln -sf $initfs /boot/initramfs-$flavor + ln -sf vmlinuz-$abi_release /boot/vmlinuz-$flavor + + # extlinux will use path relative partition, so if /boot is on a + # separate partition we want /boot/<kernel> resolve to /<kernel> + ln -sf / /boot/boot + + #this is for compat. to be removed eventually... + ln -sf vmlinuz-$flavor /boot/$flavor + ln -sf initramfs-$flavor /boot/$flavor.gz + ln -sf /boot/vmlinuz-$flavor /$flavor + ln -sf /boot/initramfs-$flavor /$flavor.gz + + # Update the /boot/extlinux.conf to point to correct kernel + f=/boot/extlinux.conf + if [ -f $f ] && grep -q -- "kernel /$flavor" $f; then + sed -i -e "s:kernel /$flavor:kernel /boot/vmlinuz-$flavor:" \ + -e "s:initrd=/$flavor.gz:initrd=/boot/initramfs-$flavor:" \ + -e "s:initrd /$flavor.gz:initrd /boot/initramfs-$flavor:" \ + $f + fi done |