diff --git a/auto/config b/auto/config index 6ddeb28..ae209f8 100755 --- a/auto/config +++ b/auto/config @@ -78,6 +78,11 @@ linux-image-$kernel_flavour xserver-xorg-legacy EOF +# Configure bootloader +cp -f config/bootloaders/live.cfg.in config/bootloaders/isolinux/ +sed -e s/@VERSION@/"$VERSION_PRETTY"/g config/bootloaders/splash.svg.in > config/bootloaders/splash.svg +mv -f config/bootloaders/splash.svg config/bootloaders/isolinux/ + IMAGE_FILENAME=pureos-$dist_version-live lb config noauto \ diff --git a/config/bootloaders/.gitignore b/config/bootloaders/.gitignore new file mode 100644 index 0000000..959a378 --- /dev/null +++ b/config/bootloaders/.gitignore @@ -0,0 +1,2 @@ +isolinux/splash.svg +syslinux/splash.svg diff --git a/config/bootloaders/grub-pc/grub.cfg b/config/bootloaders/grub-pc/grub.cfg new file mode 100644 index 0000000..3430b63 --- /dev/null +++ b/config/bootloaders/grub-pc/grub.cfg @@ -0,0 +1,12 @@ +set default=0 + +insmod tga +background_image ($root)/boot/grub/splash.tga +set color_normal=cyan/blue +set color_highlight=white/blue + +LINUX_LIVE + +LINUX_INSTALL + +MEMTEST diff --git a/config/bootloaders/grub-pc/splash.tga b/config/bootloaders/grub-pc/splash.tga new file mode 100644 index 0000000..90b790d Binary files /dev/null and b/config/bootloaders/grub-pc/splash.tga differ diff --git a/config/bootloaders/isolinux/advanced.cfg b/config/bootloaders/isolinux/advanced.cfg new file mode 100644 index 0000000..e8c476a --- /dev/null +++ b/config/bootloaders/isolinux/advanced.cfg @@ -0,0 +1,18 @@ +label install + menu label ^Alternate installation (non-GUI) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ -- quiet + +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label disctest + menu label Check disc for defects + linux /casper/vmlinuz boot=casper integrity-check quiet splash --- + initrd /casper/initrd.gz + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/config/bootloaders/isolinux/gfxboot.c32 b/config/bootloaders/isolinux/gfxboot.c32 new file mode 120000 index 0000000..132d534 --- /dev/null +++ b/config/bootloaders/isolinux/gfxboot.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/gfxboot.c32 \ No newline at end of file diff --git a/config/bootloaders/isolinux/gfxboot.cfg b/config/bootloaders/isolinux/gfxboot.cfg new file mode 100644 index 0000000..29e8bd6 --- /dev/null +++ b/config/bootloaders/isolinux/gfxboot.cfg @@ -0,0 +1,5 @@ +hidden-timeout=300 +screen-colour=0x2D3335 +label normal=Normal +append normal= +mainmenu.entries=4 diff --git a/config/bootloaders/isolinux/hdt.c32 b/config/bootloaders/isolinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/config/bootloaders/isolinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32 \ No newline at end of file diff --git a/config/bootloaders/isolinux/isolinux.bin b/config/bootloaders/isolinux/isolinux.bin new file mode 120000 index 0000000..33a2ad6 --- /dev/null +++ b/config/bootloaders/isolinux/isolinux.bin @@ -0,0 +1 @@ +/usr/lib/ISOLINUX/isolinux.bin \ No newline at end of file diff --git a/config/bootloaders/isolinux/isolinux.cfg b/config/bootloaders/isolinux/isolinux.cfg new file mode 100644 index 0000000..3e8f2a8 --- /dev/null +++ b/config/bootloaders/isolinux/isolinux.cfg @@ -0,0 +1,6 @@ +path +include menu.cfg +default vesamenu.c32 +ui gfxboot.c32 bootlogo +prompt 0 +timeout 0 diff --git a/config/bootloaders/isolinux/ldlinux.c32 b/config/bootloaders/isolinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/config/bootloaders/isolinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32 \ No newline at end of file diff --git a/config/bootloaders/isolinux/libcom32.c32 b/config/bootloaders/isolinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/config/bootloaders/isolinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32 \ No newline at end of file diff --git a/config/bootloaders/isolinux/libutil.c32 b/config/bootloaders/isolinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/config/bootloaders/isolinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32 \ No newline at end of file diff --git a/config/bootloaders/isolinux/menu.cfg b/config/bootloaders/isolinux/menu.cfg new file mode 100644 index 0000000..71ff198 --- /dev/null +++ b/config/bootloaders/isolinux/menu.cfg @@ -0,0 +1,13 @@ +menu hshift 7 +menu width 60 + +menu title Boot menu +include stdmenu.cfg +include live.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + include advanced.cfg +menu end + +menu clear diff --git a/config/bootloaders/isolinux/stdmenu.cfg b/config/bootloaders/isolinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/config/bootloaders/isolinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/config/bootloaders/isolinux/vesamenu.c32 b/config/bootloaders/isolinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/config/bootloaders/isolinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32 \ No newline at end of file diff --git a/config/bootloaders/live.cfg.in b/config/bootloaders/live.cfg.in new file mode 100644 index 0000000..31c22e9 --- /dev/null +++ b/config/bootloaders/live.cfg.in @@ -0,0 +1,22 @@ +label live-@FLAVOUR@ + menu label ^Start PureOS Live + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label Start PureOS Live (^failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ + +label installgui + menu label ^Install PureOS + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ -- quiet + +label hd + menu label ^Boot from first hard disk + localboot 0x80 diff --git a/config/bootloaders/splash.svg.in b/config/bootloaders/splash.svg.in new file mode 100644 index 0000000..a79f870 --- /dev/null +++ b/config/bootloaders/splash.svg.in @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + @VERSION@ + + + + + + + + + + + diff --git a/config/hooks/001-plymouth-theme.hook.chroot b/config/hooks/001-plymouth-theme.hook.chroot new file mode 100755 index 0000000..7015d34 --- /dev/null +++ b/config/hooks/001-plymouth-theme.hook.chroot @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +if [ -e /usr/sbin/plymouth-set-default-theme ] +then + if [ -e /usr/share/plymouth/themes/pureos-logo/pureos-logo.plymouth ] + then + # likely a GUI configuration, we want the nice PureOS splash + plymouth-set-default-theme pureos-logo + else + # likely a server/non-gui setup. We want to be verbose and show details. + plymouth-set-default-theme details + fi + /usr/sbin/update-initramfs -u +fi diff --git a/config/hooks/002-command-not-found.hook.chroot b/config/hooks/002-command-not-found.hook.chroot new file mode 100755 index 0000000..c918a41 --- /dev/null +++ b/config/hooks/002-command-not-found.hook.chroot @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +if [ -e /usr/sbin/update-command-not-found ] +then + /usr/sbin/update-command-not-found +fi