I remebered having an animated lilo bootsplash (xray-blue) several years ago and decided that I want to check if it's still possible.
After some time I found that there's a site with it but the problem was that it was some specially patched lilo version, so I had to find it first.
Then I had to change liloinst.sh like that (so it won't overwrite my custom lilo.conf with message):
Code: Select all
#!/bin/bash # This script will make almost ANY partition bootable, regardless the filesystem # used on it. bootsyslinux.sh/bootinst.bat is only for FAT filesystems, while this one should # work everywhere. Moreover it setups a 'changes' directory to be used for # persistent changes. portdir=`pwd`/../../porteus bootdir=`pwd`/.. set -e TARGET="" MBR="" # Check md5sums before we start if [ ! -d $portdir ]; then echo "Please enter the path to your porteus directory:" echo "For example: /mnt/sda5/porteus" read portdir fi cd $portdir sh chkbase.sh cd $bootdir # Find out which partition or disk are we using MYMNT=$(cd -P $(dirname $0) ; pwd) while [ "$MYMNT" != "" -a "$MYMNT" != "." -a "$MYMNT" != "/" ]; do TARGET=$(egrep "[^[:space:]]+[[:space:]]+$MYMNT[[:space:]]+" /proc/mounts | cut -d " " -f 1) if [ "$TARGET" != "" ]; then break; fi MYMNT=$(dirname "$MYMNT") done if [ "$TARGET" = "" ]; then echo "Can't find device to install to." echo "Make sure you run this script from a mounted device." exit 1 fi if [ "$(cat /proc/mounts | grep "^$TARGET" | grep noexec)" ]; then echo "The disk $TARGET is mounted with noexec parameter, trying to remount..." mount -o remount,exec "$TARGET" fi clear echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" echo " Backup Mother Boot Record " echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" echo echo "Would you like to backup the MBR of $TARGET now?" echo "[36m(backing up is recommended)""[0m" echo "Press [y/n]" read bup if [ "$bup" = "y" ]; then dd if=$TARGET of=$MYMNT/mbr.bak bs=512 count=1 echo echo "Backup of mbr is now at $MYMNT/mbr.bak" echo "Instructions to restore an MBR in the case of overwriting" echo "can be found in boot/docs/restore-mbr.txt" echo echo "Press enter to continue" read abook fi MBR=$(echo "$TARGET" | sed -r "s/[0-9]+\$//g") NUM=$(echo "$TARGET" | sed s^$MBR^^) cd "$MYMNT" # only partition is allowed, not the whole disk if [ "$MBR" = "$TARGET" ]; then echo "Error: You must install your system to a partition, not the whole disk" exit 1 fi clear echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" echo " Welcome to Porteus boot installer " echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" echo echo "This installer will setup disk $TARGET to boot only Porteus." if [ "$MBR" != "$TARGET" ]; then echo echo "[31mWarning!""[0m" echo "Master boot record MBR of $MBR will be overwritten." echo echo "[36mIf you use $MBR to boot any existing operating system, it will not" echo "work anymore.[0m Only Porteus will boot from this device. Be careful!" echo "If you made a backup of your MBR it is at $MYMNT/mbr.bak" echo "Read the file boot/docs/restore-mbr.txt" echo echo "[31mNotice!""[0m" echo "When you are installing Porteus on writable media like usb stick/hard drive" echo "with FAT or NTFS filesystems, you need to use a save.dat container" echo "to save persistent changes. This is not necessary if you are saving your" echo "changes to a linux partition. You can create a save.dat container file" echo "using the Porteus save.dat Manager tool or Porteus Settings Assistant," echo "both of which are available from the KDE or LXDE menu, under the 'System'" echo "heading. Booting will continue in 'Always Fresh' mode, until a save.dat" echo "file is created and referenced in your /boot/porteus.cfg file." echo "[36mYou have been notified!""[0m" fi echo echo "Press any key to continue, or Ctrl+C to abort..." read junk clear echo "Flushing filesystem buffers, this may take a while..." sync if [ ! -f $MYMNT/boot/lilo.conf ] then cat << ENDOFTEXT >$MYMNT/boot/lilo.conf boot=$MBR prompt #timeout=100 large-memory lba32 compact change-rules reset install=menu menu-scheme = Wb:Yr:Wb:Wb menu-title = "Porteus Boot-Manager" default = "KDE" # kde image=$MYMNT/boot/vmlinuz initrd=$MYMNT/boot/initrd.xz label= "KDE" vga=791 append = "autoexec=xconf;telinit~4 changes=/porteus" # lxde image=$MYMNT/boot/vmlinuz initrd=$MYMNT/boot/initrd.xz label= "LXDE" vga=791 append = "lxde autoexec=xconf;telinit~4 changes=/porteus" # fresh image=$MYMNT/boot/vmlinuz initrd=$MYMNT/boot/initrd.xz label= "Always_Fresh" append = "nomagic autoexec=xconf;telinit~4" # cp2ram image=$MYMNT/boot/vmlinuz initrd=$MYMNT/boot/initrd.xz label= "Copy_To_RAM" vga=791 append = "copy2ram autoexec=xconf;telinit~4" # startx image=$MYMNT/boot/vmlinuz initrd=$MYMNT/boot/initrd.xz label= "VESA_mode" append = "autoexec=telinit~4 changes=/porteus" # text image=$MYMNT/boot/vmlinuz initrd=$MYMNT/boot/initrd.xz label="Text_mode" append = "" # pxe image=$MYMNT/boot/vmlinuz initrd=$MYMNT/boot/initrd.xz label= "PXE_server" append = "autoexec=pxe-boot;xconf;telinit~4" # plop image=$MYMNT/boot/syslinux/plpbt label= "PLoP" # memtest image=$MYMNT/boot/tools/mt86p label = "Memtest" # Windows? #other = /dev/sda1 #label = "First_partition" ENDOFTEXT fi echo "Updating MBR to setup boot record..." ./boot/syslinux/lilo -v -C $MYMNT/boot/lilo.conf -S $MYMNT/boot/lilo.boot -m $MYMNT/boot/lilo.map echo "Disk $MBR should be bootable now. Installation finished." echo echo "Read the information above and then press any key to exit..." read junk
Booted to Porteus 1.1rc1 32 bits (abovementioned lilo was compiled with dynamically linked libraries so it won't work on 64 bit system).
Backuped old lilo from /boot syslinux/lilo and placed new binary there
Ran patched liloinst.sh first time to generate default lilo.conf file, commented out line
Code: Select all
Code: Select all
Ran liloinst.sh a second time.
Well, after that I've rebooted, changed lilo.conf to get rid of /mnt/sda2 so everything pointed to /boot/ instead but that required tweaked liloinst.sh
And that's the end to this necrophylic/masochistic adventure.
I wasn't able to get patched sources anywhere to try to compile static lilo binaries. If anybody knows something, please post it!