X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=prep.sh;h=1765934b512c5bb57428c90336c2a09d39141798;hb=e818ea371fc9cc6f9b851ef0e4ef871653e98aa7;hp=b5031454eb8750c14db43594de498eab6ca31fb2;hpb=febc2cf8e9be3e1348934517613db295de7af0ea;p=bootcd.git diff --git a/prep.sh b/prep.sh index b503145..1765934 100755 --- a/prep.sh +++ b/prep.sh @@ -60,7 +60,7 @@ install -D -m 755 ipnmac/ipnmac.x86 $bootcd/usr/sbin/ipnmac # Install initscripts echo "* Installing initscripts" -for file in pl_functions pl_sysinit pl_hwinit pl_netinit pl_validateconf pl_boot pl_wrapper ; do +for file in pl_functions pl_sysinit pl_hwinit pl_netinit pl_validateconf pl_boot ; do sed -i -e "s,@PLDISTRO@,$pldistro,g" -e "s,@FCDISTRO@,$fcdistro,g" initscripts/$file install -D -m 755 initscripts/$file $bootcd/etc/init.d/$file done @@ -98,10 +98,19 @@ if [ -d $bootcd/etc/systemd/system ] ; then for file in pl_boot.service pl_boot.target ; do install -D -m 644 systemd/$file $bootcd/etc/systemd/system done - echo "* Enabling getty on tty2" + echo "* Configuration BootCD to start up pl_boot" + # first attempt was to totally replace everything with pl_boot.target + # this however leads to physical f21 nodes not starting up properly + # because biosdevname is not properly honored and so pl_netinit gets confused # select pl_boot target this way instead of using kargs, as kargs apply to kexec boot as well - ln -sf /etc/systemd/system/pl_boot.target $bootcd/etc/systemd/system/default.target - [ -d $bootcd/etc/systemd/system/default.target.wants ] || mkdir -p $bootcd/etc/systemd/system/default.target.wants + # ln -sf /etc/systemd/system/pl_boot.target $bootcd/etc/systemd/system/default.target + #[ -d $bootcd/etc/systemd/system/pl_boot.target.wants ] || mkdir -p $bootcd/etc/systemd/system/pl_boot.target.wants + # Let's try another approach completely + # xxx if that worked we would not need pl_boot.target at all + mkdir -p $bootcd/etc/systemd/system/default.target.wants + ln -sf /etc/systemd/system/pl_boot.service $bootcd/etc/systemd/system/default.target.wants + echo "* Enabling getty on tty2" + #ln -sf /usr/lib/systemd/system/getty@.service $bootcd/etc/systemd/system/pl_boot.target.wants/getty@tty2.service ln -sf /usr/lib/systemd/system/getty@.service $bootcd/etc/systemd/system/default.target.wants/getty@tty2.service fi @@ -120,9 +129,48 @@ install -d -m 755 $isofs for kernel in $bootcd/boot/vmlinuz-* ; do if [ -f $kernel ] ; then install -D -m 644 $kernel $isofs/kernel + echo "* BootCD kernel (1) created from $kernel" + echo "* kernel created (1) from $kernel" > $isofs/kernel.from fi done +# patch - Thierry - dec. 2015 +# somehow we see this good-old code produce a bootcd without a /kernel +# this is odd because as far as rpm is concerned, the name should not have changed +# anyways, at this point, here's what can be found in /boot +# [root@2015-12-07--f23-bcd boot]# pwd +# /build/BUILD/bootcd-lxc-f23-x86_64-5.3/bootcd/build/bootcd/boot +# [root@2015-12-07--f23-bcd boot]# ls -R +# .: +# 8adf0b93a7f44be69499d21fa18ab5b8 loader +# +# ./8adf0b93a7f44be69499d21fa18ab5b8: +# 4.2.6-301.fc23.x86_64 +# +# ./8adf0b93a7f44be69499d21fa18ab5b8/4.2.6-301.fc23.x86_64: +# initrd linux +# +# ./loader: +# entries +# +# ./loader/entries: +# 8adf0b93a7f44be69499d21fa18ab5b8-4.2.6-301.fc23.x86_64.conf + +# second chance if first approach would not work +if [ ! -f $isofs/kernel ] ; then + kernel=$(find $bootcd/boot -name linux) + if [ -f $kernel ] ; then + install -D -m 644 $kernel $isofs/kernel + echo "* BootCD kernel (2) created from $kernel" + echo "* kernel created (2) from $kernel" > $isofs/kernel.from + fi +fi + +if [ ! -f $isofs/kernel ] ; then + echo "* BootCD prep.sh : FATAL: could not locate kernel - exiting" + exit 1 +fi + # Don't need /boot anymore rm -rf $bootcd/boot