X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=prep.sh;h=1765934b512c5bb57428c90336c2a09d39141798;hb=af6ec9162eaa930f564bd25c01a7c768b32438e0;hp=0d0a87292114c6b0e9e041a6869a23c2926238a8;hpb=ab12c48e13809375bf18cb6c695293f95cb6b9dd;p=bootcd.git diff --git a/prep.sh b/prep.sh index 0d0a872..1765934 100755 --- a/prep.sh +++ b/prep.sh @@ -98,11 +98,20 @@ 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/pl_boot.target.wants ] || mkdir -p $bootcd/etc/systemd/system/pl_boot.target.wants - ln -sf /usr/lib/systemd/system/getty@.service $bootcd/etc/systemd/system/pl_boot.target.wants/getty@tty2.service + # 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 # Install fallback node configuration file @@ -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