From b26ea56b4f541edd3cf937c7a1b3b49256b944b2 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Sat, 28 Sep 2013 10:54:12 +0000 Subject: [PATCH] integrate-distro.sh: Persisting mkinitrd scripts Signed-off-by: Jan Lindemann --- scripts/integrate-distro.sh | 60 ++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 21 deletions(-) diff --git a/scripts/integrate-distro.sh b/scripts/integrate-distro.sh index aa936458..f75edab4 100644 --- a/scripts/integrate-distro.sh +++ b/scripts/integrate-distro.sh @@ -91,7 +91,6 @@ case $suse_version in ftp-server-run bprof-run " - # currently unused variable devel_pkgs=" ant @@ -128,7 +127,8 @@ case $suse_version in rpm_kernel_version=3.7.10~jng12-1 #kernel_version=3.9.9-jng20-1.2$kernel_flavour - #rpm_kernel_version=3.9.9~jng20-1.2 + kernel_version=3.9.9-jng20$kernel_flavour + rpm_kernel_version=3.9.9~jng20-1.2 ;; esac @@ -464,6 +464,9 @@ canonicalize() check_mount() { local canonicalized=`realpath $root/$1 2>/dev/null` + #echo root="$root" + #echo arg="$1" + #echo canonicalized="$canonicalized" [ ! "$canonicalized" ] && return 1 grep -q " $canonicalized " /proc/mounts && return 0 canonicalized=`canonicalize $root/$1` @@ -810,6 +813,7 @@ setup_boot_loader_local() local boot="($drivename,$grub_boot_partition_num)" local slash_boot="($drivename,$grub_slash_boot_partition_num)" local map=/tmp/$myname-grub-device.map + local mkinitrd_sh=/root/bin/mkinitrd-local.sh echo "($drivename) $install_dev" > $map #dd if=$root/boot/grub/stage1 of=$install_dev count=512 count=1 @@ -823,31 +827,45 @@ EOT make_sysconfig_bootloader > $root/etc/sysconfig/bootloader make_boot_menu > $root/boot/grub/menu.lst - run_chroot /sbin/mkinitrd \ - -B \ - -k /boot/vmlinuz-$kernel_version \ - -i /boot/initrd-local-$kernel_version \ - -M /boot/System.map-$kernel_version \ - -m "$initrd_modules" \ - -d $install_dev_root + _cat << EOT > $root$mkinitrd_sh + |#!/bin/sh + |umask 0022 + |/sbin/mkinitrd \\ + | -B \\ + | -k /boot/vmlinuz-$kernel_version \\ + | -i /boot/initrd-local-$kernel_version \\ + | -M /boot/System.map-$kernel_version \\ + | -m "$initrd_modules" \\ + | -d $install_dev_root + |ln -sf initrd-local-$kernel_version /boot/initrd-local) + |chmod 644 /boot/initrd-local-$kernel_version +EOT + chmod 755 $root$mkinitrd_sh - (cd $root/boot; ln -sf initrd-local-$kernel_version initrd-local) + run_chroot $mkinitrd_sh } setup_boot_loader_net() { - run_chroot /sbin/mkinitrd \ - -B \ - -k /boot/vmlinuz-$kernel_version \ - -i /boot/initrd-netboot-$kernel_version \ - -M /boot/System.map-$kernel_version \ - -m "$initrd_modules" \ - -d jan://blub/dings + local mkinitrd_sh=/root/bin/mkinitrd-net.sh - # -s "853x480" is illegal in newer mkinitrd (as of SuSE 11.4) + _cat << EOT > $root$mkinitrd_sh + |#!/bin/sh + |umask 0022 + |/sbin/mkinitrd \\ + | -B \\ + | -k /boot/vmlinuz-$kernel_version \\ + | -i /boot/initrd-netboot-$kernel_version \\ + | -M /boot/System.map-$kernel_version \\ + | -m "$initrd_modules" \\ + | -d jan://blub/dings + |ln -sf initrd-netboot-$kernel_version /boot/initrd-netboot + |ln -sf memtest.bin /boot/memtest + |chmod 644 /boot/initrd-netboot-$kernel_version +EOT + chmod 755 $root$mkinitrd_sh - (cd $root/boot; ln -sf initrd-netboot-$kernel_version initrd-netboot) - (cd $root/boot; ln -sf memtest.bin memtest) + run_chroot $mkinitrd_sh } undo_rpmnew() @@ -1036,7 +1054,7 @@ cmd_install() *) ;; esac - run_chroot /opt/jux/bin/jux-init-namespace.sh + [ -x $root/opt/jux/bin/jux-init-namespace.sh ] && run_chroot /opt/jux/bin/jux-init-namespace.sh run_chroot /sbin/ldconfig run_chroot install -m 755 -d /srv/nfs/var run_chroot install -m 777 -d /srv/nfs/var/cores