Commit a6051acf authored by Anton Midyukov's avatar Anton Midyukov

kernel, stage2: make initrd and initfs for all kernels

parent 3d54dc5e
...@@ -3,12 +3,13 @@ ...@@ -3,12 +3,13 @@
fatal() { echo "** error: $@" >&1; exit 1; } fatal() { echo "** error: $@" >&1; exit 1; }
kver="$(rpm -qa 'kernel-image*' \ kver=
--qf '%{installtime} %{version}-%{name}-%{release}\n' \ for KFLAVOUR in $GLOBAL_KFLAVOURS; do
| sort -n \ kver+=" $(rpm -qa 'kernel-image*' \
| tail -n 1 \ --qf '%{version}-%{name}-%{release}\n' \
| cut -f 2 -d ' ' \ | grep "$KFLAVOUR" \
| sed 's/kernel-image-//')" | sed 's/kernel-image-//')"
done
[ -n "$kver" ] || [ -n "$kver" ] ||
fatal "no kernel version identified" fatal "no kernel version identified"
...@@ -18,7 +19,7 @@ kver="$(rpm -qa 'kernel-image*' \ ...@@ -18,7 +19,7 @@ kver="$(rpm -qa 'kernel-image*' \
rm -vf /usr/share/make-initrd/data/etc/udev/rules.d/00-debug.rules \ rm -vf /usr/share/make-initrd/data/etc/udev/rules.d/00-debug.rules \
/usr/share/make-initrd/data/lib/uevent/filters/debug /usr/share/make-initrd/data/lib/uevent/filters/debug
MAKE_INITRD_OPTS="--no-checks -k $kver" MAKE_INITRD_OPTS="--no-checks"
MAKE_INITRD_VER="`make-initrd -V \ MAKE_INITRD_VER="`make-initrd -V \
| sed -rn 's/^make-initrd version ([0-9.]+)/\1/p'`" | sed -rn 's/^make-initrd version ([0-9.]+)/\1/p'`"
...@@ -30,8 +31,12 @@ fi ...@@ -30,8 +31,12 @@ fi
[ -z "$GLOBAL_VERBOSE" ] || [ -z "$GLOBAL_VERBOSE" ] ||
MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS -v" MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS -v"
make-initrd $MAKE_INITRD_OPTS || cd /boot
for KVER in $kver; do
make-initrd $MAKE_INITRD_OPTS -k "$KVER" ||
fatal "make-initrd failed" fatal "make-initrd failed"
done
case `arch` in case `arch` in
e2k) e2k)
...@@ -40,10 +45,8 @@ e2k) ...@@ -40,10 +45,8 @@ e2k)
kname=vmlinuz;; kname=vmlinuz;;
esac esac
[ -h /boot/vmlinuz ] || rm -f $kname initrd.img
ln -s $kname-$kver /boot/$kname ln -s $kname-$KVER $kname
ln -s initrd-$KVER.img initrd.img
[ -h /boot/initrd.img ] ||
ln -s initrd-$kver.img /boot/initrd.img
: :
...@@ -3,11 +3,27 @@ ...@@ -3,11 +3,27 @@
verbose() { [ -z "$GLOBAL_VERBOSE" ] || echo "** 81-make-initfs: $@" >&2; } verbose() { [ -z "$GLOBAL_VERBOSE" ] || echo "** 81-make-initfs: $@" >&2; }
if [ -h /boot/initrd.img ]; then initrd="$(find /boot -type f -name 'initrd*.img' -print)"
if [ -n "$initrd" ]; then
pdir="$(getconf LIBDIR)/propagator" pdir="$(getconf LIBDIR)/propagator"
mkdir -p "$pdir" mkdir -p "$pdir"
gzip < /boot/initrd.img > "$pdir"/initfs for INITRD in $initrd; do
KVER=${INITRD#*-}
KVER=${KVER%.*}
gzip < "$INITRD" > "$pdir"/initfs-"$KVER"
done
else
verbose '/boot/initrd*.img missing'
exit 1
fi
if [ -h /boot/initrd.img ]; then
KVER=$(readlink -ev /boot/initrd.img)
KVER=${INITRD#*-}
KVER=${KVER%.*}
cp "$pdir"/initfs-$KVER "$pdir"/initfs
else else
verbose "/boot/initrd.img missing" verbose "/boot/initrd.img missing"
cp "$pdir"/initfs-"$KVER" "$pdir"/initfs
exit 1 exit 1
fi fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment