FsOS without X11

This package lists all software to be included in the fsOS distribution as a dependency, with the exception of graphical software. It further contains the instructions that configure and brand the distribution.

fsos-nox

Dependencies

 * alsa-utils
 * postlfs
 * which
 * nano
 * wget
 *  OS Prober
 *  BuildISO Dependencies
 *  BtrFs Progs
 * networkmanager
 * dhcpcd
 * wpa_supplicant
 *  Live CD Kernel (UnionFS)

Installation
mkdir -pv /usr/share/consolefonts mkdir -pv /etc/sysconfig
 * 1) Install the custom font

cat MnmKr16-IBMPC.psf.gz > /usr/share/consolefonts/MnmKr16-IBMPC.psf.gz

cat > /etc/sysconfig/console << "EOF"
 * 1) Begin /etc/sysconfig/console

FONT="MnmKr16-IBMPC -m 8859-1"

EOF
 * 1) End /etc/sysconfig/console

local LIVEDIR="usr/share/live"
 * 1) Prepare a LiveCD configuration with a graphical boot menu

mkdir -pv /${LIVEDIR}/medium/boot/isolinux cat fsos_boot.png > /${LIVEDIR}/medium/boot/isolinux/fsos_boot.png

cat > /${LIVEDIR}/medium/boot/isolinux/isolinux.cfg << "EOF" DEFAULT vesamenu.c32 PROMPT 0 TIMEOUT 300

MENU BACKGROUND fsos_boot.png

MENU COLOR border 0 #00000000 #00000000 none MENU COLOR title 0 #00000000 #00000000 none MENU COLOR tabmsg 0 #00000000 #00000000 none MENU COLOR unsel 0 #FFFFFFFF #00000000 none MENU COLOR hotkey 0 #FFFFFFFF #00000000 none MENU COLOR sel   0 #FF006080 #FFFFFFFF none MENU COLOR hotsel 0 #FF006080 #FFFFFFFF none

MENU VSHIFT 15 MENU MARGIN 22 MENU ROWS 4 MENU TIMEOUTROW -1 MENU CMDLINEROW -1

INCLUDE i486.cfg INCLUDE i586.cfg INCLUDE i686.cfg INCLUDE x86_64.cfg INCLUDE memtest86.cfg

LABEL harddisk MENU LABEL Boot from first ^Hard disk LOCALBOOT 0x80

EOF

cat > /${LIVEDIR}/medium/boot/isolinux/$(uname -m).cfg << "EOF" LABEL system_ MENU LABEL ^Boot the live system () KERNEL /boot//vmlinuz APPEND initrd=/boot//initram.fs vga=769 quiet EOF sed -i "s//$(uname -m)/g" /${LIVEDIR}/medium/boot/isolinux/$(uname -m).cfg

cat > /${LIVEDIR}/sec_init.sh << EndOfFile
 * 1) If this system is to be used as a Live CD, configure it as such
 * 1) !/bin/busybox sh


 * 1) This script modifies the system at boot time, but only if it is started from
 * 2) a Live CD. This way, the system image remains clean of any Live CD specific
 * 3) settings, and can be installed to harddisk as a normal OS.

b="\033[1;34m" # Light Blue c="\033[0;1m" # Bright White d="\033[1;33m" # Bright Yellow e="\033[1;31m" # Bright Red
 * 1) Print a welcome message before login

(/bin/busybox clear; echo -en "\${b}______________________________________________________________"; echo -e "___"; echo -e ""; echo -e "\${c} Welcome to the 'From Script' Live OS! "; echo -e ""; echo -e "\${b}    Created on \${d}_DATE_STAMP_\${b}."; echo -e "\${b}    Created with an \${e}$(uname -m)\${b} processor."; echo -e "\${b}    You are now using an \${e}\\m\${b} processor."; echo -e ""; echo -e "\${c}  Login instructions:"; echo -e "\${b}    In addition to the 'root' account, an unpriviledged account"; echo -e "\${b}    called 'user' is also available. There is no password set"; echo -e "\${b}    for either account."; echo -en "\${b}______________________________________________________________"; echo -e "___"; echo -e "\033[0m") > \${ROOT}/etc/issue

cat > \${ROOT}/etc/rc.d/rcS.d/S80livesetup << "EOF"
 * 1) Configure users
 * 1) !/bin/sh

case "\${1}" in   start)        # Add a normal user with sound card privileges        groupadd user        useradd -m user -g user -G audio

# Remove passwords for LiveCD users echo "user:" | chpasswd echo "root:" | chpasswd ;;   *)        echo "Usage: \${0} {start}"        exit 1        ;; esac EOF chmod 755 \${ROOT}/etc/rc.d/rcS.d/S80livesetup

EndOfFile chmod +x /${LIVEDIR}/sec_init.sh

Post-installation
local LIVEBOOT="/usr/share/live/medium/boot"

sed -i 's@#BRACKET="\\\\033\[1;34m" # Blue@BRACKET="\\\\033\[0;34m"@g' \ /etc/sysconfig/rc.site sed -i 's@#SUCCESS="\\\\033\[1;32m" # Green@SUCCESS="\\\\033\[1;34m"@g' \ /etc/sysconfig/rc.site
 * 1) Slightly change the colors of the "OK" messages on boot

local DATESTAMP="$(date +%B\ %d,\ %C%y)" sed -i "s@_DATE_STAMP_@${DATESTAMP}@g" /usr/share/live/sec_init.sh
 * 1) Apply a datestamp

cp -v /usr/share/syslinux/vesamenu.c32 ${LIVEBOOT}/isolinux
 * 1) Ensure the installed version of syslinux' vesamenu is copied to the live cd

[ ! -r /boot/memtest86 ] || cp -v /boot/memtest86 ${LIVEBOOT}
 * 1) If memtest has been installed, make it available in the live cd boot menu

[ ! -r /boot/memtest86 ] || cat > ${LIVEBOOT}/isolinux/memtest86.cfg << "EOF" LABEL memtest86 MENU LABEL ^Memory test (Memtest86+) KERNEL /boot/memtest86 EOF

sed 's/ /fsOS (LFScript 4)/g' -i /etc/lsb-release
 * 1) Set distribution codename