diff --git a/.linux_items/include/isolinux/isolinux.cfg b/.linux_items/include/isolinux/isolinux.cfg new file mode 100644 index 00000000..291d5610 --- /dev/null +++ b/.linux_items/include/isolinux/isolinux.cfg @@ -0,0 +1,6 @@ +PATH /%INSTALL_DIR%/boot/syslinux/ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG /%INSTALL_DIR%/boot/syslinux/wklive.cfg + APPEND /%INSTALL_DIR%/ diff --git a/.linux_items/include/syslinux/splash.png b/.linux_items/include/syslinux/splash.png new file mode 100644 index 00000000..e69de29b diff --git a/.linux_items/include/syslinux/syslinux.cfg b/.linux_items/include/syslinux/syslinux.cfg new file mode 100644 index 00000000..c379e5e2 --- /dev/null +++ b/.linux_items/include/syslinux/syslinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG wklive.cfg + APPEND ../../ diff --git a/.linux_items/include/syslinux/wklive.cfg b/.linux_items/include/syslinux/wklive.cfg new file mode 100644 index 00000000..e702e52f --- /dev/null +++ b/.linux_items/include/syslinux/wklive.cfg @@ -0,0 +1,11 @@ +DEFAULT select + +LABEL select +COM32 boot/syslinux/whichsys.c32 +APPEND -pxe- pxe -sys- sys -iso- sys + +LABEL pxe +CONFIG boot/syslinux/wklive_pxe.cfg + +LABEL sys +CONFIG boot/syslinux/wklive_sys.cfg diff --git a/.linux_items/include/syslinux/wklive_hdt.cfg b/.linux_items/include/syslinux/wklive_hdt.cfg new file mode 100644 index 00000000..44b6578f --- /dev/null +++ b/.linux_items/include/syslinux/wklive_hdt.cfg @@ -0,0 +1,5 @@ +# http://hdt-project.org/ +LABEL hdt +MENU LABEL Hardware Information (HDT) +COM32 boot/syslinux/hdt.c32 +APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz diff --git a/.linux_items/include/syslinux/wklive_head.cfg b/.linux_items/include/syslinux/wklive_head.cfg new file mode 100644 index 00000000..21c4a2d3 --- /dev/null +++ b/.linux_items/include/syslinux/wklive_head.cfg @@ -0,0 +1,43 @@ +SERIAL 0 38400 +UI boot/syslinux/vesamenu.c32 +MENU TITLE _______ +MENU BACKGROUND boot/syslinux/syslinux.png + +MENU WIDTH 80 +MENU MARGIN 10 +MENU ROWS 15 +MENU VSHIFT 2 +MENU TABMSGROW 22 +MENU CMDLINEROW 22 +MENU HELPMSGROW 24 +MENU HELPMSGENDROW -1 +MENU TABMSG + +# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu + +MENU COLOR screen 30;44 #a0000000 #a0000000 none +MENU COLOR border 30;44 #a0000000 #a0000000 none +MENU COLOR title 1;36;44 #9033ccff #a0000000 none +MENU COLOR sel 7;37;40 #e0ffffff #a0000000 std +MENU COLOR disabled 37;44 #50ffffff #a0000000 none +MENU COLOR unsel 37;44 #50ffffff #a0000000 none +MENU COLOR help 37;40 #c0ffffff #a0000000 none +MENU COLOR tabmsg 30;44 #a0000000 #a0000000 none +menu color cmdmark 1;36;44 #9033ccff #a0000000 none +menu color cmdline 37;40 #c0ffffff #a0000000 none +MENU COLOR timeout_msg 37;40 #80ffffff #a0000000 none +MENU COLOR timeout 1;37;40 #c0ffffff #a0000000 none +MENU COLOR msg07 37;40 #90ffffff #a0000000 none +MENU COLOR tabmsg 31;40 #30ffffff #a0000000 none + +# Start entries +MENU SEPARATOR + +# http://www.memtest.org/ +LABEL memtest +MENU LABEL Memtest86+ +TEXT HELP +Perform RAM diagnostics + * This utility is not recommended for testing DDR4 RAM +ENDTEXT +LINUX boot/memtest diff --git a/.linux_items/include/syslinux/wklive_pxe.cfg b/.linux_items/include/syslinux/wklive_pxe.cfg new file mode 100644 index 00000000..cc696837 --- /dev/null +++ b/.linux_items/include/syslinux/wklive_pxe.cfg @@ -0,0 +1,8 @@ +INCLUDE boot/syslinux/wklive_head.cfg +MENU BACKGROUND boot/syslinux/pxelinux.png + +INCLUDE boot/syslinux/wklive_pxe_linux.cfg +INCLUDE boot/syslinux/wklive_pxe_winpe.cfg +INCLUDE boot/syslinux/wklive_pxe_extras_entry.cfg + +INCLUDE boot/syslinux/wklive_tail.cfg diff --git a/.linux_items/include/syslinux/wklive_pxe_extras.cfg b/.linux_items/include/syslinux/wklive_pxe_extras.cfg new file mode 100644 index 00000000..4c1c0328 --- /dev/null +++ b/.linux_items/include/syslinux/wklive_pxe_extras.cfg @@ -0,0 +1,9 @@ +INCLUDE boot/syslinux/wklive_head.cfg +MENU BACKGROUND boot/syslinux/pxelinux.png + +INCLUDE boot/syslinux/wklive_pxe_linux.cfg +INCLUDE boot/syslinux/wklive_pxe_linux_extras.cfg +INCLUDE boot/syslinux/wklive_pxe_winpe.cfg +INCLUDE boot/syslinux/wklive_hdt.cfg + +INCLUDE boot/syslinux/wklive_tail.cfg diff --git a/.linux_items/include/syslinux/wklive_pxe_extras_entry.cfg b/.linux_items/include/syslinux/wklive_pxe_extras_entry.cfg new file mode 100644 index 00000000..f81692f6 --- /dev/null +++ b/.linux_items/include/syslinux/wklive_pxe_extras_entry.cfg @@ -0,0 +1,7 @@ +LABEL wklive_pxe_extras +TEXT HELP +Show extra boot options +ENDTEXT +MENU LABEL Extras +KERNEL vesamenu.c32 +APPEND boot/syslinux/wklive_pxe_extras.cfg diff --git a/.linux_items/include/syslinux/wklive_pxe_linux.cfg b/.linux_items/include/syslinux/wklive_pxe_linux.cfg new file mode 100644 index 00000000..f2103fea --- /dev/null +++ b/.linux_items/include/syslinux/wklive_pxe_linux.cfg @@ -0,0 +1,10 @@ +LABEL wklive_http_linux +TEXT HELP +A live Linux environment + * HW diagnostics, file-based backups, data recovery, etc +ENDTEXT +MENU LABEL Linux +LINUX boot/x86_64/vmlinuz +INITRD boot/intel_ucode.img,boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ quiet +SYSAPPEND 3 diff --git a/.linux_items/include/syslinux/wklive_pxe_linux_extras.cfg b/.linux_items/include/syslinux/wklive_pxe_linux_extras.cfg new file mode 100644 index 00000000..3c19adf2 --- /dev/null +++ b/.linux_items/include/syslinux/wklive_pxe_linux_extras.cfg @@ -0,0 +1,21 @@ +LABEL wklive_http_linux_i3 +TEXT HELP +A live Linux environment (i3) + * HW diagnostics, file-based backups, data recovery, etc +ENDTEXT +MENU LABEL Linux (i3) +LINUX boot/x86_64/vmlinuz +INITRD boot/intel_ucode.img,boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ quiet i3 +SYSAPPEND 3 + +LABEL wklive_http_linux_cli +TEXT HELP +A live Linux environment (CLI) + * HW diagnostics, file-based backups, data recovery, etc +ENDTEXT +MENU LABEL Linux (CLI) +LINUX boot/x86_64/vmlinuz +INITRD boot/intel_ucode.img,boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ quiet nox +SYSAPPEND 3 diff --git a/.linux_items/include/syslinux/wklive_pxe_winpe.cfg b/.linux_items/include/syslinux/wklive_pxe_winpe.cfg new file mode 100644 index 00000000..e1afbd2e --- /dev/null +++ b/.linux_items/include/syslinux/wklive_pxe_winpe.cfg @@ -0,0 +1,8 @@ +LABEL wklive_http_winpe +TEXT HELP +A live Windows environment + * Create partition backups, Install Windows, etc +ENDTEXT +MENU LABEL Windows PE +COM32 boot/syslinux/linux.c32 +APPEND boot/wimboot gui initrdfile=winpe/x86_64/bootmgr,winpe/x86_64/BCD,winpe/x86_64/boot.sdi,winpe/x86_64/boot.wim diff --git a/.linux_items/include/syslinux/wklive_sys.cfg b/.linux_items/include/syslinux/wklive_sys.cfg new file mode 100644 index 00000000..607e1a3d --- /dev/null +++ b/.linux_items/include/syslinux/wklive_sys.cfg @@ -0,0 +1,7 @@ +INCLUDE boot/syslinux/wklive_head.cfg + +INCLUDE boot/syslinux/wklive_sys_linux.cfg +INCLUDE boot/syslinux/wklive_sys_winpe.cfg +INCLUDE boot/syslinux/wklive_sys_extras_entry.cfg + +INCLUDE boot/syslinux/wklive_tail.cfg diff --git a/.linux_items/include/syslinux/wklive_sys_extras.cfg b/.linux_items/include/syslinux/wklive_sys_extras.cfg new file mode 100644 index 00000000..90614bfa --- /dev/null +++ b/.linux_items/include/syslinux/wklive_sys_extras.cfg @@ -0,0 +1,8 @@ +INCLUDE boot/syslinux/wklive_head.cfg + +INCLUDE boot/syslinux/wklive_sys_linux.cfg +INCLUDE boot/syslinux/wklive_sys_linux_extras.cfg +INCLUDE boot/syslinux/wklive_sys_winpe.cfg +INCLUDE boot/syslinux/wklive_hdt.cfg + +INCLUDE boot/syslinux/wklive_tail.cfg diff --git a/.linux_items/include/syslinux/wklive_sys_extras_entry.cfg b/.linux_items/include/syslinux/wklive_sys_extras_entry.cfg new file mode 100644 index 00000000..bfc5c15b --- /dev/null +++ b/.linux_items/include/syslinux/wklive_sys_extras_entry.cfg @@ -0,0 +1,7 @@ +LABEL wklive_sys_extras +TEXT HELP +Show extra boot options +ENDTEXT +MENU LABEL Extras +KERNEL vesamenu.c32 +APPEND boot/syslinux/wklive_sys_extras.cfg diff --git a/.linux_items/include/syslinux/wklive_sys_linux.cfg b/.linux_items/include/syslinux/wklive_sys_linux.cfg new file mode 100644 index 00000000..9b8da0cd --- /dev/null +++ b/.linux_items/include/syslinux/wklive_sys_linux.cfg @@ -0,0 +1,9 @@ +LABEL wklive_linux +TEXT HELP +A live Linux environment + * HW diagnostics, file-based backups, data recovery, etc +ENDTEXT +MENU LABEL Linux +LINUX boot/x86_64/vmlinuz +INITRD boot/intel_ucode.img,boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet copytoram loglevel=3 vga=current diff --git a/.linux_items/include/syslinux/wklive_sys_linux_extras.cfg b/.linux_items/include/syslinux/wklive_sys_linux_extras.cfg new file mode 100644 index 00000000..f3a4c0ef --- /dev/null +++ b/.linux_items/include/syslinux/wklive_sys_linux_extras.cfg @@ -0,0 +1,21 @@ +LABEL wklive_linux_i3 +TEXT HELP +A live Linux environment (i3) + * HW diagnostics, file-based backups, data recovery, etc +ENDTEXT +MENU LABEL Linux (i3) +LINUX boot/x86_64/vmlinuz +INITRD boot/intel_ucode.img,boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet copytoram loglevel=3 vga=current i3 +SYSAPPEND 3 + +LABEL wklive_linux_cli +TEXT HELP +A live Linux environment (CLI) + * HW diagnostics, file-based backups, data recovery, etc +ENDTEXT +MENU LABEL Linux (CLI) +LINUX boot/x86_64/vmlinuz +INITRD boot/intel_ucode.img,boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% quiet copytoram loglevel=3 vga=current nox +SYSAPPEND 3 diff --git a/.linux_items/include/syslinux/wklive_sys_winpe.cfg b/.linux_items/include/syslinux/wklive_sys_winpe.cfg new file mode 100644 index 00000000..942565ab --- /dev/null +++ b/.linux_items/include/syslinux/wklive_sys_winpe.cfg @@ -0,0 +1,8 @@ +LABEL wklive_winpe +TEXT HELP +A live Windows environment + * Create partition backups, Install Windows, etc +ENDTEXT +MENU LABEL Windows PE +COM32 boot/syslinux/linux.c32 +APPEND boot/wimboot gui initrdfile=../sources/bootmgr,../sources/BCD,../sources/boot.sdi,../sources/boot.wim diff --git a/.linux_items/include/syslinux/wklive_tail.cfg b/.linux_items/include/syslinux/wklive_tail.cfg new file mode 100644 index 00000000..29af2d63 --- /dev/null +++ b/.linux_items/include/syslinux/wklive_tail.cfg @@ -0,0 +1,9 @@ +MENU SEPARATOR + +LABEL reboot +MENU LABEL Reboot +COM32 boot/syslinux/reboot.c32 + +LABEL poweroff +MENU LABEL Power Off +COM32 boot/syslinux/poweroff.c32 diff --git a/Build Linux b/Build Linux index 7c84ad7a..3dd06572 100755 --- a/Build Linux +++ b/Build Linux @@ -93,11 +93,6 @@ function load_settings() { function copy_live_env() { echo "Copying Archlinux files..." rsync -aI /usr/share/archiso/configs/releng/ "$LIVE_DIR/" - - # Add items - rsync -aI "$ROOT_DIR/.linux_items/include/" "$LIVE_DIR/" - mkdir -p "$LIVE_DIR/airootfs/usr/local/bin" - rsync -aI "$ROOT_DIR/.bin/Scripts/" "$LIVE_DIR/airootfs/usr/local/bin/" # Remove items rm "$LIVE_DIR/airootfs/etc/systemd/scripts/choose-mirror" @@ -108,6 +103,13 @@ function copy_live_env() { rm "$LIVE_DIR/airootfs/etc/udev/rules.d/81-dhcpcd.rules" rmdir "$LIVE_DIR/airootfs/etc/udev/rules.d" --ignore-fail-on-non-empty rmdir "$LIVE_DIR/airootfs/etc/udev" --ignore-fail-on-non-empty + rm "$LIVE_DIR/isolinux/*.cfg" + rm "$LIVE_DIR/syslinux/*.cfg" "$LIVE_DIR/syslinux/*.png" + + # Add items + rsync -aI "$ROOT_DIR/.linux_items/include/" "$LIVE_DIR/" + mkdir -p "$LIVE_DIR/airootfs/usr/local/bin" + rsync -aI "$ROOT_DIR/.bin/Scripts/" "$LIVE_DIR/airootfs/usr/local/bin/" } function run_elevated() { @@ -125,6 +127,11 @@ function update_live_env() { hostname="$(echo "${KIT_NAME_SHORT}-linux" | tr "[:upper:]" "[:lower:]")" username="$(echo "${KIT_NAME_SHORT}tech" | tr "[:upper:]" "[:lower:]")" + # Boot config (legacy) + cp "$ROOT_DIR/Images/Pxelinux.png" "$LIVE_DIR/syslinux/pxelinux.png" + cp "$ROOT_DIR/Images/Syslinux.png" "$LIVE_DIR/syslinux/syslinux.png" + sed -i -r "s/_+/$KIT_NAME_FULL/" "$LIVE_DIR/syslinux/wklive_head.cfg" + # Hostname echo "$hostname" > "$LIVE_DIR/airootfs/etc/hostname" echo "127.0.1.1 $hostname.localdomain $hostname" >> "$LIVE_DIR/airootfs/etc/hosts" @@ -143,7 +150,7 @@ function update_live_env() { echo "sed -i 's/#Server/Server/g' /etc/pacman.d/mirrorlist" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh" # MOTD - sed -i "s/_+/$KIT_NAME_FULL Linux Environment/" "$LIVE_DIR/airootfs/etc/motd" + sed -i -r "s/_+/$KIT_NAME_FULL Linux Environment/" "$LIVE_DIR/airootfs/etc/motd" # Oh My ZSH git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git "$SKEL_DIR/.oh-my-zsh" @@ -257,11 +264,11 @@ function build_iso() { # Build ISO prefix="$(< "$LIVE_DIR/airootfs/etc/hostname")" label="${KIT_NAME_SHORT}_LINUX" - "$LIVE_DIR/build.sh" -N "$prefix" -V "$DATE" -L "$label" -w "$TEMP_DIR/Arch" -o "$OUT_DIR" -v | tee -a "$LOG_DIR/$DATETIME.log" + "$LIVE_DIR/build.sh" -N "$prefix" -V "$DATE" -L "$label" -D "wklive" -w "$TEMP_DIR/WKLive" -o "$OUT_DIR" -v | tee -a "$LOG_DIR/$DATETIME.log" # Cleanup echo "Removing temp files..." - rm "$TEMP_DIR/Arch" -Rf | tee -a "$LOG_DIR/$DATETIME.log" + rm "$TEMP_DIR/WKLive" -Rf | tee -a "$LOG_DIR/$DATETIME.log" echo "Reverting permissions..." chown $REAL_USER:$REAL_USER "$LIVE_DIR" -R