Difference between revisions of "FsOS without X11"
From LFScript
m (moved FsOS without X11, 32-bit to FsOS without X11) |
|||
Line 1: | Line 1: | ||
[[Category:Scripts]] | [[Category:Scripts]] | ||
− | <scriptname>fsos-nox- | + | 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. |
+ | |||
+ | <scriptname>fsos-nox</scriptname> | ||
+ | |||
+ | == Sources == | ||
+ | * <sourcecode>http://www.lfscript.org/sources/fsos_boot.png</sourcecode> | ||
+ | * <sourcecode>http://www.lfscript.org/sources/MnmKr16-IBMPC.psf.gz</sourcecode> | ||
+ | |||
+ | <md5>f7828ddf8eef71a2d269462d9cef3a03 fsos_boot.png | ||
+ | 4ad62706f96d28304a501b96ecd107a7 MnmKr16-IBMPC.psf.gz</md5> | ||
+ | |||
+ | The file <code>fsos_boot.png</code> is used as background image for the <code>isolinux</code> boot menu on the Live CD. <code>MnmKr16-IBMPC.psf.gz</code> is a custom font which is heavily based on the font presented on http://powerman.name/config/font.html. | ||
== Dependencies == | == Dependencies == | ||
− | * <dependency value=" | + | ''File systems'': |
+ | * <dependency>btrfs-progs</dependency> | ||
+ | * <dependency>ntfs-3g</dependency> | ||
+ | |||
+ | ''Tools'': | ||
+ | * <dependency>cpio</dependency> | ||
+ | * <dependency>nano</dependency> | ||
+ | * <dependency>postlfs</dependency> | ||
+ | * <dependency>screen</dependency> | ||
+ | * <dependency>unrar</dependency> | ||
+ | * <dependency>which</dependency> | ||
+ | |||
+ | ''Sound'': | ||
+ | * <dependency>alsa-utils</dependency> | ||
+ | |||
+ | ''Networking:'' | ||
+ | * <dependency>dhcpcd</dependency> | ||
+ | * <dependency>networkmanager</dependency> | ||
+ | * <dependency>nmap</dependency> | ||
+ | * <dependency>openssh</dependency> | ||
+ | * <dependency>rsync</dependency> | ||
+ | * <dependency>traceroute</dependency> | ||
+ | * <dependency>wget</dependency> | ||
+ | * <dependency>whois</dependency> | ||
+ | * <dependency>wpa_supplicant</dependency> | ||
+ | |||
+ | ''Installation and Live CD'': | ||
+ | * <dependency value="buildiso-dep"></dependency>[[BuildISO Dependencies]] | ||
+ | * <dependency value="os-prober"></dependency>[[OS Prober]] | ||
+ | * <dependency value="memtest86+"></dependency>[[Memtest86+]] | ||
== Installation == | == Installation == | ||
− | This is a [[ | + | <build user="root"># Install the custom font |
+ | mkdir -pv /usr/share/consolefonts | ||
+ | mkdir -pv /etc/sysconfig | ||
+ | |||
+ | cat MnmKr16-IBMPC.psf.gz > /usr/share/consolefonts/MnmKr16-IBMPC.psf.gz | ||
+ | |||
+ | cat > /etc/sysconfig/console << "EOF" | ||
+ | # Begin /etc/sysconfig/console | ||
+ | |||
+ | FONT="MnmKr16-IBMPC -m 8859-1" | ||
+ | |||
+ | # End /etc/sysconfig/console | ||
+ | EOF</build> | ||
+ | |||
+ | <!-- Spaces around the var, ensures ${FAKEROOT} is added --> | ||
+ | <build user="root"># Prepare a LiveCD configuration with a graphical boot menu | ||
+ | local LIVEDIR="usr/share/live" | ||
+ | |||
+ | 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 memtest86plus.cfg | ||
+ | |||
+ | LABEL harddisk | ||
+ | MENU LABEL Boot from first ^Hard disk | ||
+ | LOCALBOOT 0x80 | ||
+ | |||
+ | EOF | ||
+ | |||
+ | cat > /${LIVEDIR}/medium/boot/isolinux/$(uname -m).cfg << "EOF" | ||
+ | LABEL system_<ARCH> | ||
+ | MENU LABEL ^Boot the live system (<ARCH>) | ||
+ | KERNEL /boot/<ARCH>/vmlinuz | ||
+ | APPEND initrd=/boot/<ARCH>/initram.fs quiet | ||
+ | |||
+ | LABEL system_<ARCH>_force_vga | ||
+ | MENU LABEL ^Boot the live system (<ARCH>), force VGA: 1024x768x24 | ||
+ | KERNEL /boot/<ARCH>/vmlinuz | ||
+ | APPEND initrd=/boot/<ARCH>/initram.fs quiet vga=792 | ||
+ | EOF | ||
+ | sed -i "s/<ARCH>/$(uname -m)/g" /${LIVEDIR}/medium/boot/isolinux/$(uname -m).cfg</build> | ||
+ | |||
+ | <build user="root"># If this system is to be used as a Live CD, configure it as such | ||
+ | cat > /${LIVEDIR}/sec_init.sh << EndOfFile | ||
+ | #!/bin/busybox sh | ||
+ | |||
+ | # This script modifies the system at boot time, but only if it is started from | ||
+ | # a Live CD. This way, the system image remains clean of any Live CD specific | ||
+ | # settings, and can be installed to harddisk as a normal OS. | ||
+ | |||
+ | # Print a welcome message before login | ||
+ | b="\033[1;34m" # Light Blue | ||
+ | c="\033[0;1m" # Bright White | ||
+ | d="\033[1;33m" # Bright Yellow | ||
+ | e="\033[1;31m" # Bright Red | ||
+ | |||
+ | (/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 | ||
+ | |||
+ | # Configure users | ||
+ | cat > \${ROOT}/etc/rc.d/rcS.d/S80livesetup << "EOF" | ||
+ | #!/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</build> | ||
+ | |||
+ | == Post-installation == | ||
+ | <delaypostinst/><postinst>local LIVEBOOT="/usr/share/live/medium/boot"</postinst> | ||
+ | |||
+ | <postinst># Slightly change the colors of the "OK" messages on 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</postinst> | ||
+ | |||
+ | <postinst># Apply a datestamp | ||
+ | local DATESTAMP="$(date +%B\ %d,\ %C%y)" | ||
+ | sed -i "s@_DATE_STAMP_@${DATESTAMP}@g" /usr/share/live/sec_init.sh</postinst> | ||
+ | |||
+ | <postinst># Ensure the installed version of syslinux' vesamenu is copied to the live cd | ||
+ | cp -v /usr/share/syslinux/vesamenu.c32 ${LIVEBOOT}/isolinux | ||
+ | cp -v /usr/share/syslinux/libcom32.c32 ${LIVEBOOT}/isolinux | ||
+ | cp -v /usr/share/syslinux/libutil.c32 ${LIVEBOOT}/isolinux</postinst> | ||
+ | |||
+ | <postinst># If memtest has been installed, make it available in the live cd boot menu | ||
+ | [ ! -r /boot/memtest86plus ] || | ||
+ | cp -v /boot/memtest86plus ${LIVEBOOT} | ||
+ | |||
+ | [ ! -r /boot/memtest86plus ] || | ||
+ | cat > ${LIVEBOOT}/isolinux/memtest86plus.cfg << "EOF" | ||
+ | LABEL memtest86plus | ||
+ | MENU LABEL ^Memory test (Memtest86+) | ||
+ | KERNEL /boot/memtest86plus | ||
+ | EOF</postinst> | ||
+ | |||
+ | <postinst># Set distribution codename | ||
+ | sed 's/<your name here>/fsOS (LFScript 4)/g' -i /etc/lsb-release</postinst> |
Revision as of 20:28, 9 April 2017
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.
LFScript can find this software under the name fsos-nox
.
Sources
MD5 Checksums:
f7828ddf8eef71a2d269462d9cef3a03 fsos_boot.png 4ad62706f96d28304a501b96ecd107a7 MnmKr16-IBMPC.psf.gz
The file fsos_boot.png
is used as background image for the isolinux
boot menu on the Live CD. MnmKr16-IBMPC.psf.gz
is a custom font which is heavily based on the font presented on http://powerman.name/config/font.html.
Dependencies
File systems:
- btrfs-progs
- ntfs-3g
Tools:
- cpio
- nano
- postlfs
- screen
- unrar
- which
Sound:
- alsa-utils
Networking:
- dhcpcd
- networkmanager
- nmap
- openssh
- rsync
- traceroute
- wget
- whois
- wpa_supplicant
Installation and Live CD:
Installation
As the root user:
# Install the custom font mkdir -pv /usr/share/consolefonts mkdir -pv /etc/sysconfig cat MnmKr16-IBMPC.psf.gz > /usr/share/consolefonts/MnmKr16-IBMPC.psf.gz cat > /etc/sysconfig/console << "EOF" # Begin /etc/sysconfig/console FONT="MnmKr16-IBMPC -m 8859-1" # End /etc/sysconfig/console EOF
As the root user:
# Prepare a LiveCD configuration with a graphical boot menu local LIVEDIR="usr/share/live" 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 memtest86plus.cfg LABEL harddisk MENU LABEL Boot from first ^Hard disk LOCALBOOT 0x80 EOF cat > /${LIVEDIR}/medium/boot/isolinux/$(uname -m).cfg << "EOF" LABEL system_<ARCH> MENU LABEL ^Boot the live system (<ARCH>) KERNEL /boot/<ARCH>/vmlinuz APPEND initrd=/boot/<ARCH>/initram.fs quiet LABEL system_<ARCH>_force_vga MENU LABEL ^Boot the live system (<ARCH>), force VGA: 1024x768x24 KERNEL /boot/<ARCH>/vmlinuz APPEND initrd=/boot/<ARCH>/initram.fs quiet vga=792 EOF sed -i "s/<ARCH>/$(uname -m)/g" /${LIVEDIR}/medium/boot/isolinux/$(uname -m).cfg
As the root user:
# If this system is to be used as a Live CD, configure it as such cat > /${LIVEDIR}/sec_init.sh << EndOfFile #!/bin/busybox sh # This script modifies the system at boot time, but only if it is started from # a Live CD. This way, the system image remains clean of any Live CD specific # settings, and can be installed to harddisk as a normal OS. # Print a welcome message before login b="\033[1;34m" # Light Blue c="\033[0;1m" # Bright White d="\033[1;33m" # Bright Yellow e="\033[1;31m" # Bright Red (/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 # Configure users cat > \${ROOT}/etc/rc.d/rcS.d/S80livesetup << "EOF" #!/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
Note: Post-installation of this software should be performed after all other software has been installed.
local LIVEBOOT="/usr/share/live/medium/boot"
# Slightly change the colors of the "OK" messages on 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
# Apply a datestamp local DATESTAMP="$(date +%B\ %d,\ %C%y)" sed -i "s@_DATE_STAMP_@${DATESTAMP}@g" /usr/share/live/sec_init.sh
# Ensure the installed version of syslinux' vesamenu is copied to the live cd cp -v /usr/share/syslinux/vesamenu.c32 ${LIVEBOOT}/isolinux cp -v /usr/share/syslinux/libcom32.c32 ${LIVEBOOT}/isolinux cp -v /usr/share/syslinux/libutil.c32 ${LIVEBOOT}/isolinux
# If memtest has been installed, make it available in the live cd boot menu [ ! -r /boot/memtest86plus ] || cp -v /boot/memtest86plus ${LIVEBOOT} [ ! -r /boot/memtest86plus ] || cat > ${LIVEBOOT}/isolinux/memtest86plus.cfg << "EOF" LABEL memtest86plus MENU LABEL ^Memory test (Memtest86+) KERNEL /boot/memtest86plus EOF
# Set distribution codename sed 's/<your name here>/fsOS (LFScript 4)/g' -i /etc/lsb-release