mirror of
https://github.com/tuxdotrs/tuxOS.git
synced 2025-07-07 02:06:34 +05:30
updated base
This commit is contained in:
21
LICENSE
21
LICENSE
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2017 Appletneo
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
@ -1,105 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
|
||||||
|
|
||||||
<fontconfig>
|
|
||||||
<alias>
|
|
||||||
<family>monospace</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Droid Sans Mono</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Droid Sans Mono Slashed</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Droid Sans Mono Dotted</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>DejaVu Sans Mono</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>DejaVu Sans Mono</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Envy Code R</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Inconsolata</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Lucida Console</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Monaco</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Pragmata</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>PragmataPro</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Menlo</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Source Code Pro</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Consolas</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Anonymous pro</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Bitstream Vera Sans Mono</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Liberation Mono</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Ubuntu Mono</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Meslo LG L</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Meslo LG L DZ</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Meslo LG M</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Meslo LG M DZ</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Meslo LG S</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
|
||||||
<family>Meslo LG S DZ</family>
|
|
||||||
<prefer><family>PowerlineSymbols</family></prefer>
|
|
||||||
</alias>
|
|
||||||
</fontconfig>
|
|
18
airootfs/etc/group
Normal file
18
airootfs/etc/group
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
root:x:0:root
|
||||||
|
sys:x:3:bin,liveuser
|
||||||
|
network:x:90:liveuser
|
||||||
|
power:x:98:liveuser
|
||||||
|
adm:x:999:liveuser
|
||||||
|
lp:x:992:liveuser
|
||||||
|
wheel:x:998:liveuser
|
||||||
|
uucp:x:987:liveuser
|
||||||
|
optical:x:990:liveuser
|
||||||
|
scanner:x:991:liveuser
|
||||||
|
rfkill:x:983:liveuser
|
||||||
|
video:x:986:liveuser
|
||||||
|
storage:x:988:liveuser
|
||||||
|
audio:x:995:liveuser
|
||||||
|
users:x:985:liveuser
|
||||||
|
nopasswdlogin:x:966:liveuser
|
||||||
|
autologin:x:967:liveuser
|
||||||
|
liveuser:x:1000:
|
18
airootfs/etc/gshadow
Normal file
18
airootfs/etc/gshadow
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
root:::root
|
||||||
|
sys:!!::liveuser
|
||||||
|
network:!!::liveuser
|
||||||
|
power:!!::liveuser
|
||||||
|
adm:!!::liveuser
|
||||||
|
lp:!!::liveuser
|
||||||
|
wheel:!!::liveuser
|
||||||
|
uucp:!!::liveuser
|
||||||
|
optical:!!::liveuser
|
||||||
|
scanner:!!::liveuser
|
||||||
|
rfkill:!!::liveuser
|
||||||
|
video:!!::liveuser
|
||||||
|
storage:!!::liveuser
|
||||||
|
audio:!!::liveuser
|
||||||
|
users:!!::liveuser
|
||||||
|
nopasswdlogin:!::liveuser
|
||||||
|
autologin:!::liveuser
|
||||||
|
liveuser:!::
|
@ -1 +1 @@
|
|||||||
tuxOS
|
archiso
|
||||||
|
@ -1 +1 @@
|
|||||||
LANG=en_US.UTF-8
|
LANG=C.UTF-8
|
||||||
|
1
airootfs/etc/localtime
Symbolic link
1
airootfs/etc/localtime
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/share/zoneinfo/UTC
|
67
airootfs/etc/mkinitcpio.conf
Normal file
67
airootfs/etc/mkinitcpio.conf
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# vim:set ft=sh
|
||||||
|
# MODULES
|
||||||
|
# The following modules are loaded before any boot hooks are
|
||||||
|
# run. Advanced users may wish to specify all system modules
|
||||||
|
# in this array. For instance:
|
||||||
|
# MODULES=(piix ide_disk reiserfs)
|
||||||
|
MODULES=()
|
||||||
|
|
||||||
|
# BINARIES
|
||||||
|
# This setting includes any additional binaries a given user may
|
||||||
|
# wish into the CPIO image. This is run last, so it may be used to
|
||||||
|
# override the actual binaries included by a given hook
|
||||||
|
# BINARIES are dependency parsed, so you may safely ignore libraries
|
||||||
|
BINARIES=()
|
||||||
|
|
||||||
|
# FILES
|
||||||
|
# This setting is similar to BINARIES above, however, files are added
|
||||||
|
# as-is and are not parsed in any way. This is useful for config files.
|
||||||
|
FILES=()
|
||||||
|
|
||||||
|
# HOOKS
|
||||||
|
# This is the most important setting in this file. The HOOKS control the
|
||||||
|
# modules and scripts added to the image, and what happens at boot time.
|
||||||
|
# Order is important, and it is recommended that you do not change the
|
||||||
|
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
|
||||||
|
# help on a given hook.
|
||||||
|
# 'base' is _required_ unless you know precisely what you are doing.
|
||||||
|
# 'udev' is _required_ in order to automatically load modules
|
||||||
|
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
|
||||||
|
# Examples:
|
||||||
|
## This setup specifies all modules in the MODULES setting above.
|
||||||
|
## No raid, lvm2, or encrypted root is needed.
|
||||||
|
# HOOKS=(base)
|
||||||
|
#
|
||||||
|
## This setup will autodetect all modules for your system and should
|
||||||
|
## work as a sane default
|
||||||
|
# HOOKS=(base udev autodetect block filesystems)
|
||||||
|
#
|
||||||
|
## This setup will generate a 'full' image which supports most systems.
|
||||||
|
## No autodetection is done.
|
||||||
|
# HOOKS=(base udev block filesystems)
|
||||||
|
#
|
||||||
|
## This setup assembles a pata mdadm array with an encrypted root FS.
|
||||||
|
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
|
||||||
|
# HOOKS=(base udev block mdadm encrypt filesystems)
|
||||||
|
#
|
||||||
|
## This setup loads an lvm2 volume group on a usb device.
|
||||||
|
# HOOKS=(base udev block lvm2 filesystems)
|
||||||
|
#
|
||||||
|
## NOTE: If you have /usr on a separate partition, you MUST include the
|
||||||
|
# usr, fsck and shutdown hooks.
|
||||||
|
HOOKS=(base udev modconf kms archiso archiso_loop_mnt block filesystems keyboard)
|
||||||
|
|
||||||
|
# COMPRESSION
|
||||||
|
# Use this to compress the initramfs image. By default, gzip compression
|
||||||
|
# is used. Use 'cat' to create an uncompressed image.
|
||||||
|
#COMPRESSION="gzip"
|
||||||
|
#COMPRESSION="bzip2"
|
||||||
|
#COMPRESSION="lzma"
|
||||||
|
COMPRESSION="xz"
|
||||||
|
#COMPRESSION="lzop"
|
||||||
|
#COMPRESSION="lz4"
|
||||||
|
#COMPRESSION="zstd"
|
||||||
|
|
||||||
|
# COMPRESSION_OPTIONS
|
||||||
|
# Additional options for the compressor
|
||||||
|
#COMPRESSION_OPTIONS=()
|
8
airootfs/etc/mkinitcpio.d/linux.preset
Normal file
8
airootfs/etc/mkinitcpio.d/linux.preset
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# mkinitcpio preset file for the 'linux' package on archiso
|
||||||
|
|
||||||
|
PRESETS=('archiso')
|
||||||
|
|
||||||
|
ALL_kver='/boot/vmlinuz-linux'
|
||||||
|
ALL_config='/etc/mkinitcpio.conf'
|
||||||
|
|
||||||
|
archiso_image="/boot/initramfs-linux.img"
|
7
airootfs/etc/modprobe.d/broadcom-wl.conf
Normal file
7
airootfs/etc/modprobe.d/broadcom-wl.conf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# The broadcom-wl package requires some modules to be disabled in order to use
|
||||||
|
# wl. Since the ISO image needs to cover many hardware cases, this file
|
||||||
|
# overrides the default blacklist in /usr/lib/modprobe.d/
|
||||||
|
#
|
||||||
|
# If you need to use wl, you may need to delete this file, then `rmmod` any
|
||||||
|
# already-loaded modules that are now blacklisted before proceeding to modprobe
|
||||||
|
# wl itself.
|
11
airootfs/etc/motd
Normal file
11
airootfs/etc/motd
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
To install [38;2;23;147;209mArch Linux[0m follow the installation guide:
|
||||||
|
https://wiki.archlinux.org/title/Installation_guide
|
||||||
|
|
||||||
|
For Wi-Fi, authenticate to the wireless network using the [35miwctl[0m utility.
|
||||||
|
For mobile broadband (WWAN) modems, connect with the [35mmmcli[0m utility.
|
||||||
|
Ethernet, WLAN and WWAN interfaces using DHCP should work automatically.
|
||||||
|
|
||||||
|
After connecting to the internet, the installation guide can be accessed
|
||||||
|
via the convenience script [35mInstallation_guide[0m.
|
||||||
|
|
||||||
|
[41m [41m [41m [40m [44m [40m [41m [46m [45m [41m [46m [43m [41m [44m [45m [40m [44m [40m [41m [44m [41m [41m [46m [42m [41m [44m [43m [41m [45m [40m [40m [44m [40m [41m [44m [42m [41m [46m [44m [41m [46m [47m [0m
|
13
airootfs/etc/pacman.d/hooks/uncomment-mirrors.hook
Normal file
13
airootfs/etc/pacman.d/hooks/uncomment-mirrors.hook
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# remove from airootfs!
|
||||||
|
[Trigger]
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Type = Package
|
||||||
|
Target = pacman-mirrorlist
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Uncommenting all mirrors in /etc/pacman.d/mirrorlist...
|
||||||
|
When = PostTransaction
|
||||||
|
Depends = pacman-mirrorlist
|
||||||
|
Depends = sed
|
||||||
|
Exec = /usr/bin/sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist
|
@ -0,0 +1,18 @@
|
|||||||
|
# remove from airootfs!
|
||||||
|
# As a workaround for https://bugs.archlinux.org/task/49347 , remove pacman hooks specific to the ISO build process.
|
||||||
|
# If not, they would be used when pacstrap is run in the live environment.
|
||||||
|
|
||||||
|
[Trigger]
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Operation = Remove
|
||||||
|
Type = Package
|
||||||
|
Target = *
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Work around FS#49347 by removing custom pacman hooks that are only required during ISO build...
|
||||||
|
When = PostTransaction
|
||||||
|
Depends = sh
|
||||||
|
Depends = coreutils
|
||||||
|
Depends = grep
|
||||||
|
Exec = /bin/sh -c "rm -- $(grep -Frl 'remove from airootfs' /etc/pacman.d/hooks/)"
|
2
airootfs/etc/passwd
Normal file
2
airootfs/etc/passwd
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
root:x:0:0:root:/root:/usr/bin/zsh
|
||||||
|
liveuser:x:1000:1000::/home/liveuser:/usr/bin/zsh
|
1
airootfs/etc/resolv.conf
Symbolic link
1
airootfs/etc/resolv.conf
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/run/systemd/resolve/stub-resolv.conf
|
2
airootfs/etc/shadow
Normal file
2
airootfs/etc/shadow
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
root::14871::::::
|
||||||
|
liveuser:$6$f9ezDgQ0TRc20Drh$V/xFYNZyiKRKJ2wKm17HJ0TZOEesT0Xa/GZ8oyJaXOlhMzEHp.MTC2nBIxSfKPZcyXLm6tnIhUoqr0kXSWUJV/:14871::::::
|
@ -1,7 +0,0 @@
|
|||||||
#
|
|
||||||
# ~/.bash_profile
|
|
||||||
#
|
|
||||||
|
|
||||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
|
||||||
|
|
||||||
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
|
|
@ -1,49 +0,0 @@
|
|||||||
#
|
|
||||||
# ~/.bashrc
|
|
||||||
#
|
|
||||||
|
|
||||||
# If not running interactively, don't do anything
|
|
||||||
[[ $- != *i* ]] && return
|
|
||||||
|
|
||||||
# environment variables
|
|
||||||
export EDITOR="$(if [[ -n $DISPLAY ]]; then echo 'leafpad'; else echo 'nano'; fi)" # leafpad, nano
|
|
||||||
|
|
||||||
PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[1;32m\]\$\[\e[m\] \[\e[1;37m\]'
|
|
||||||
|
|
||||||
# pacman aliases (if desired, adapt for your favourite AUR helper)
|
|
||||||
alias pac="sudo /usr/bin/pacman -S" # default action - install one or more packages
|
|
||||||
alias pacu="sudo /usr/bin/pacman -Syu" # '[u]pdate' - upgrade all packages to their newest version
|
|
||||||
alias pacr="sudo /usr/bin/pacman -Rns" # '[r]emove' - uninstall one or more packages
|
|
||||||
alias pacs="/usr/bin/pacman -Ss" # '[s]earch' - search for a package using one or more keywords
|
|
||||||
alias paci="/usr/bin/pacman -Si" # '[i]nfo' - show information about a package
|
|
||||||
alias paclo="/usr/bin/pacman -Qdt" # '[l]ist [o]rphans' - list all packages which are orphaned
|
|
||||||
alias pacc="sudo /usr/bin/pacman -Scc" # '[c]lean cache' - delete all not currently installed package files
|
|
||||||
alias paclf="/usr/bin/pacman -Ql" # '[l]ist [f]iles' - list all files installed by a given package
|
|
||||||
alias pacexpl="sudo /usr/bin/pacman -D --asexp" # 'mark as [expl]icit' - mark one or more packages as explicitly installed
|
|
||||||
alias pacimpl="sudo /usr/bin/pacman -D --asdep" # 'mark as [impl]icit' - mark one or more packages as non explicitly installed
|
|
||||||
|
|
||||||
# '[r]emove [o]rphans' - recursively remove ALL orphaned packages
|
|
||||||
alias pacro="/usr/bin/pacman -Qtdq > /dev/null && sudo /usr/bin/pacman -Rns \$(/usr/bin/pacman -Qtdq | sed -e ':a;N;$!ba;s/\n/ /g')"
|
|
||||||
|
|
||||||
# Custom
|
|
||||||
alias led='leafpad ~/.bashrc'
|
|
||||||
alias bsu='source ~/.bashrc'
|
|
||||||
alias psync='sudo pacman -Syy'
|
|
||||||
alias paco='sudo pacman -Sc && sudo pacman-optimize'
|
|
||||||
alias pcf='profile-cleaner f'
|
|
||||||
alias pcc='profile-cleaner c'
|
|
||||||
alias pcg='profile-cleaner gc'
|
|
||||||
alias yd='youtube-dl'
|
|
||||||
alias lcp='sudo localepurge'
|
|
||||||
alias lcc='sudo /usr/bin/localepurge-config'
|
|
||||||
alias speed='speedtest-cli'
|
|
||||||
alias q='exit'
|
|
||||||
alias md='sudo updatedb'
|
|
||||||
alias fig='sudo leafpad /etc/pacman.conf'
|
|
||||||
alias yrt='yaourt -S'
|
|
||||||
|
|
||||||
#powerline
|
|
||||||
powerline-daemon -q
|
|
||||||
POWERLINE_BASH_CONTINUATION=1
|
|
||||||
POWERLINE_BASH_SELECT=1
|
|
||||||
. /usr/lib/python3.6/site-packages/powerline/bindings/bash/powerline.sh
|
|
@ -1,3 +0,0 @@
|
|||||||
set rtp+=/usr/lib/python3.6/site-packages/powerline/bindings/vim/
|
|
||||||
set laststatus=2
|
|
||||||
set t_Co=256
|
|
@ -1,15 +0,0 @@
|
|||||||
|
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# ~/.xinitrc
|
|
||||||
#
|
|
||||||
# Executed by startx (run your window manager from here)
|
|
||||||
|
|
||||||
if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
|
||||||
for f in /etc/X11/xinit/xinitrc.d/*; do
|
|
||||||
[ -x "$f" ] && . "$f"
|
|
||||||
done
|
|
||||||
unset f
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec i3
|
|
@ -1,9 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
#
|
|
||||||
# ~/.xsession
|
|
||||||
#
|
|
||||||
# Executed by xdm/gdm/kdm at login
|
|
||||||
#
|
|
||||||
|
|
||||||
/bin/bash --login -i ~/.xinitrc
|
|
116
airootfs/etc/ssh/sshd_config
Normal file
116
airootfs/etc/ssh/sshd_config
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
|
||||||
|
|
||||||
|
# This is the sshd server system-wide configuration file. See
|
||||||
|
# sshd_config(5) for more information.
|
||||||
|
|
||||||
|
# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/bin
|
||||||
|
|
||||||
|
# The strategy used for options in the default sshd_config shipped with
|
||||||
|
# OpenSSH is to specify options with their default value where
|
||||||
|
# possible, but leave them commented. Uncommented options override the
|
||||||
|
# default value.
|
||||||
|
|
||||||
|
#Port 22
|
||||||
|
#AddressFamily any
|
||||||
|
#ListenAddress 0.0.0.0
|
||||||
|
#ListenAddress ::
|
||||||
|
|
||||||
|
#HostKey /etc/ssh/ssh_host_rsa_key
|
||||||
|
#HostKey /etc/ssh/ssh_host_ecdsa_key
|
||||||
|
#HostKey /etc/ssh/ssh_host_ed25519_key
|
||||||
|
|
||||||
|
# Ciphers and keying
|
||||||
|
#RekeyLimit default none
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
#SyslogFacility AUTH
|
||||||
|
#LogLevel INFO
|
||||||
|
|
||||||
|
# Authentication:
|
||||||
|
|
||||||
|
#LoginGraceTime 2m
|
||||||
|
PermitRootLogin yes
|
||||||
|
#StrictModes yes
|
||||||
|
#MaxAuthTries 6
|
||||||
|
#MaxSessions 10
|
||||||
|
|
||||||
|
#PubkeyAuthentication yes
|
||||||
|
|
||||||
|
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
|
||||||
|
# but this is overridden so installations will only check .ssh/authorized_keys
|
||||||
|
AuthorizedKeysFile .ssh/authorized_keys
|
||||||
|
|
||||||
|
#AuthorizedPrincipalsFile none
|
||||||
|
|
||||||
|
#AuthorizedKeysCommand none
|
||||||
|
#AuthorizedKeysCommandUser nobody
|
||||||
|
|
||||||
|
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
|
||||||
|
#HostbasedAuthentication no
|
||||||
|
# Change to yes if you don't trust ~/.ssh/known_hosts for
|
||||||
|
# HostbasedAuthentication
|
||||||
|
#IgnoreUserKnownHosts no
|
||||||
|
# Don't read the user's ~/.rhosts and ~/.shosts files
|
||||||
|
#IgnoreRhosts yes
|
||||||
|
|
||||||
|
# To disable tunneled clear text passwords, change to no here!
|
||||||
|
#PasswordAuthentication yes
|
||||||
|
#PermitEmptyPasswords no
|
||||||
|
|
||||||
|
# Change to no to disable s/key passwords
|
||||||
|
KbdInteractiveAuthentication no
|
||||||
|
|
||||||
|
# Kerberos options
|
||||||
|
#KerberosAuthentication no
|
||||||
|
#KerberosOrLocalPasswd yes
|
||||||
|
#KerberosTicketCleanup yes
|
||||||
|
#KerberosGetAFSToken no
|
||||||
|
|
||||||
|
# GSSAPI options
|
||||||
|
#GSSAPIAuthentication no
|
||||||
|
#GSSAPICleanupCredentials yes
|
||||||
|
|
||||||
|
# Set this to 'yes' to enable PAM authentication, account processing,
|
||||||
|
# and session processing. If this is enabled, PAM authentication will
|
||||||
|
# be allowed through the KbdInteractiveAuthentication and
|
||||||
|
# PasswordAuthentication. Depending on your PAM configuration,
|
||||||
|
# PAM authentication via KbdInteractiveAuthentication may bypass
|
||||||
|
# the setting of "PermitRootLogin prohibit-password".
|
||||||
|
# If you just want the PAM account and session checks to run without
|
||||||
|
# PAM authentication, then enable this but set PasswordAuthentication
|
||||||
|
# and KbdInteractiveAuthentication to 'no'.
|
||||||
|
UsePAM yes
|
||||||
|
|
||||||
|
#AllowAgentForwarding yes
|
||||||
|
#AllowTcpForwarding yes
|
||||||
|
#GatewayPorts no
|
||||||
|
#X11Forwarding no
|
||||||
|
#X11DisplayOffset 10
|
||||||
|
#X11UseLocalhost yes
|
||||||
|
#PermitTTY yes
|
||||||
|
PrintMotd no
|
||||||
|
#PrintLastLog yes
|
||||||
|
#TCPKeepAlive yes
|
||||||
|
#PermitUserEnvironment no
|
||||||
|
#Compression delayed
|
||||||
|
#ClientAliveInterval 0
|
||||||
|
#ClientAliveCountMax 3
|
||||||
|
#UseDNS no
|
||||||
|
#PidFile /run/sshd.pid
|
||||||
|
#MaxStartups 10:30:100
|
||||||
|
#PermitTunnel no
|
||||||
|
#ChrootDirectory none
|
||||||
|
#VersionAddendum none
|
||||||
|
|
||||||
|
# no default banner path
|
||||||
|
#Banner none
|
||||||
|
|
||||||
|
# override default of no subsystems
|
||||||
|
Subsystem sftp /usr/lib/ssh/sftp-server
|
||||||
|
|
||||||
|
# Example of overriding settings on a per-user basis
|
||||||
|
#Match User anoncvs
|
||||||
|
# X11Forwarding no
|
||||||
|
# AllowTcpForwarding no
|
||||||
|
# PermitTTY no
|
||||||
|
# ForceCommand cvs server
|
@ -0,0 +1,2 @@
|
|||||||
|
[Journal]
|
||||||
|
Storage=volatile
|
4
airootfs/etc/systemd/logind.conf.d/suspend.conf
Normal file
4
airootfs/etc/systemd/logind.conf.d/suspend.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Login]
|
||||||
|
HandleSuspendKey=suspend
|
||||||
|
HandleHibernateKey=hibernate
|
||||||
|
HandleLidSwitch=suspend
|
21
airootfs/etc/systemd/network/20-ethernet.network
Normal file
21
airootfs/etc/systemd/network/20-ethernet.network
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[Match]
|
||||||
|
# Matching with "Type=ether" causes issues with containers because it also matches virtual Ethernet interfaces (veth*).
|
||||||
|
# See https://bugs.archlinux.org/task/70892
|
||||||
|
# Instead match by globbing the network interface name.
|
||||||
|
Name=en*
|
||||||
|
Name=eth*
|
||||||
|
|
||||||
|
[Network]
|
||||||
|
DHCP=yes
|
||||||
|
IPv6PrivacyExtensions=yes
|
||||||
|
|
||||||
|
# systemd-networkd does not set per-interface-type default route metrics
|
||||||
|
# https://github.com/systemd/systemd/issues/17698
|
||||||
|
# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
|
||||||
|
# Use values from NetworkManager. From nm_device_get_route_metric_default in
|
||||||
|
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
|
||||||
|
[DHCPv4]
|
||||||
|
RouteMetric=100
|
||||||
|
|
||||||
|
[IPv6AcceptRA]
|
||||||
|
RouteMetric=100
|
17
airootfs/etc/systemd/network/20-wlan.network
Normal file
17
airootfs/etc/systemd/network/20-wlan.network
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[Match]
|
||||||
|
Name=wl*
|
||||||
|
|
||||||
|
[Network]
|
||||||
|
DHCP=yes
|
||||||
|
IPv6PrivacyExtensions=yes
|
||||||
|
|
||||||
|
# systemd-networkd does not set per-interface-type default route metrics
|
||||||
|
# https://github.com/systemd/systemd/issues/17698
|
||||||
|
# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
|
||||||
|
# Use values from NetworkManager. From nm_device_get_route_metric_default in
|
||||||
|
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
|
||||||
|
[DHCPv4]
|
||||||
|
RouteMetric=600
|
||||||
|
|
||||||
|
[IPv6AcceptRA]
|
||||||
|
RouteMetric=600
|
17
airootfs/etc/systemd/network/20-wwan.network
Normal file
17
airootfs/etc/systemd/network/20-wwan.network
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[Match]
|
||||||
|
Name=ww*
|
||||||
|
|
||||||
|
[Network]
|
||||||
|
DHCP=yes
|
||||||
|
IPv6PrivacyExtensions=yes
|
||||||
|
|
||||||
|
# systemd-networkd does not set per-interface-type default route metrics
|
||||||
|
# https://github.com/systemd/systemd/issues/17698
|
||||||
|
# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
|
||||||
|
# Use values from NetworkManager. From nm_device_get_route_metric_default in
|
||||||
|
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
|
||||||
|
[DHCPv4]
|
||||||
|
RouteMetric=700
|
||||||
|
|
||||||
|
[IPv6AcceptRA]
|
||||||
|
RouteMetric=700
|
@ -0,0 +1 @@
|
|||||||
|
/dev/null
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/bluetooth.service
|
10
airootfs/etc/systemd/system/choose-mirror.service
Normal file
10
airootfs/etc/systemd/system/choose-mirror.service
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Choose mirror from the kernel command line
|
||||||
|
ConditionKernelCommandLine=mirror
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/local/bin/choose-mirror
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/cloud-config.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/cloud-final.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/cloud-init-local.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/cloud-init.service
|
1
airootfs/etc/systemd/system/dbus-org.bluez.service
Symbolic link
1
airootfs/etc/systemd/system/dbus-org.bluez.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/bluetooth.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/ModemManager.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/systemd-networkd.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/systemd-resolved.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/systemd-timesyncd.service
|
1
airootfs/etc/systemd/system/default.target
Symbolic link
1
airootfs/etc/systemd/system/default.target
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/graphical.target
|
1
airootfs/etc/systemd/system/display-manager.service
Symbolic link
1
airootfs/etc/systemd/system/display-manager.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/sddm.service
|
8
airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
Normal file
8
airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Temporary /etc/pacman.d/gnupg directory
|
||||||
|
|
||||||
|
[Mount]
|
||||||
|
What=ramfs
|
||||||
|
Where=/etc/pacman.d/gnupg
|
||||||
|
Type=ramfs
|
||||||
|
Options=mode=0755
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/ModemManager.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/NetworkManager.service
|
@ -0,0 +1 @@
|
|||||||
|
../choose-mirror.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/hv_fcopy_daemon.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/hv_kvp_daemon.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/hv_vss_daemon.service
|
@ -0,0 +1 @@
|
|||||||
|
../pacman-init.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/reflector.service
|
1
airootfs/etc/systemd/system/multi-user.target.wants/sshd.service
Symbolic link
1
airootfs/etc/systemd/system/multi-user.target.wants/sshd.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/sshd.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/systemd-resolved.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/vboxservice.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/vmtoolsd.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/vmware-vmblock-fuse.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/wpa_supplicant.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/NetworkManager-wait-online.service
|
15
airootfs/etc/systemd/system/pacman-init.service
Normal file
15
airootfs/etc/systemd/system/pacman-init.service
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Initializes Pacman keyring
|
||||||
|
Requires=etc-pacman.d-gnupg.mount
|
||||||
|
After=etc-pacman.d-gnupg.mount time-sync.target
|
||||||
|
BindsTo=etc-pacman.d-gnupg.mount
|
||||||
|
Before=archlinux-keyring-wkd-sync.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/usr/bin/pacman-key --init
|
||||||
|
ExecStart=/usr/bin/pacman-key --populate
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
ConditionKernelCommandLine=!mirror
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=10
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/systemd-time-wait-sync.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/systemd-timesyncd.service
|
@ -1 +0,0 @@
|
|||||||
ACTION=="add", SUBSYSTEM=="net", ENV{INTERFACE}=="en*|eth*", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service"
|
|
8
airootfs/etc/xdg/reflector/reflector.conf
Normal file
8
airootfs/etc/xdg/reflector/reflector.conf
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Reflector configuration file for the systemd service.
|
||||||
|
|
||||||
|
--save /etc/pacman.d/mirrorlist
|
||||||
|
--ipv4
|
||||||
|
--ipv6
|
||||||
|
--protocol https
|
||||||
|
--latest 20
|
||||||
|
--sort rate
|
34
airootfs/root/.automated_script.sh
Executable file
34
airootfs/root/.automated_script.sh
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
script_cmdline ()
|
||||||
|
{
|
||||||
|
local param
|
||||||
|
for param in $(< /proc/cmdline); do
|
||||||
|
case "${param}" in
|
||||||
|
script=*) echo "${param#*=}" ; return 0 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
automated_script ()
|
||||||
|
{
|
||||||
|
local script rt
|
||||||
|
script="$(script_cmdline)"
|
||||||
|
if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
|
||||||
|
if [[ "${script}" =~ ^((http|https|ftp)://) ]]; then
|
||||||
|
curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script >/dev/null
|
||||||
|
rt=$?
|
||||||
|
else
|
||||||
|
cp "${script}" /tmp/startup_script
|
||||||
|
rt=$?
|
||||||
|
fi
|
||||||
|
if [[ ${rt} -eq 0 ]]; then
|
||||||
|
chmod +x /tmp/startup_script
|
||||||
|
/tmp/startup_script
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ $(tty) == "/dev/tty1" ]]; then
|
||||||
|
automated_script
|
||||||
|
fi
|
6
airootfs/root/.zlogin
Normal file
6
airootfs/root/.zlogin
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# fix for screen readers
|
||||||
|
if grep -Fqa 'accessibility=' /proc/cmdline &> /dev/null; then
|
||||||
|
setopt SINGLE_LINE_ZLE
|
||||||
|
fi
|
||||||
|
|
||||||
|
~/.automated_script.sh
|
@ -1,38 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e -u
|
|
||||||
sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen
|
|
||||||
locale-gen
|
|
||||||
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
|
|
||||||
usermod -s /usr/bin/bash root
|
|
||||||
cp -aT /etc/skel/ /root/
|
|
||||||
|
|
||||||
#Create Liveuser
|
|
||||||
useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /bin/bash liveuser
|
|
||||||
#chmod 700 /root
|
|
||||||
chown -R liveuser:users /home/liveuser
|
|
||||||
|
|
||||||
#Load Appletneo Configuration
|
|
||||||
#cd /usr/bin
|
|
||||||
#dconf load / < desktop.dconf
|
|
||||||
#cd -
|
|
||||||
|
|
||||||
#tuxOS Name
|
|
||||||
sed -i.bak 's/Arch Linux/tux OS/g' /usr/lib/os-release
|
|
||||||
sed -i.bak 's/ID=arch/ID=tux/g' /usr/lib/os-release
|
|
||||||
sed -i.bak 's/ID_LIKE=archlinux/ID_LIKE=tuxlinux/g' /usr/lib/os-release
|
|
||||||
sed -i.bak 's/www.archlinux.org/www.appletneo.com/g' /usr/lib/os-release
|
|
||||||
sed -i.bak 's/bbs.archlinux.org/www.appletneo.com/g' /usr/lib/os-release
|
|
||||||
sed -i.bak 's/bugs.archlinux.org/www.appletneo.com/g' /usr/lib/os-release
|
|
||||||
#cp /usr/lib/os-release /etc/os-release
|
|
||||||
|
|
||||||
sed -i 's/#\(PermitRootLogin \).\+/\1yes/' /etc/ssh/sshd_config
|
|
||||||
sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist
|
|
||||||
sed -i 's/#\(Storage=\)auto/\1volatile/' /etc/systemd/journald.conf
|
|
||||||
|
|
||||||
sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/systemd/logind.conf
|
|
||||||
sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/systemd/logind.conf
|
|
||||||
sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/systemd/logind.conf
|
|
||||||
|
|
||||||
#systemctl enable pacman-init.service choose-mirror.service
|
|
||||||
systemctl set-default multi-user.target
|
|
5
airootfs/usr/local/bin/Installation_guide
Executable file
5
airootfs/usr/local/bin/Installation_guide
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
exec lynx 'https://wiki.archlinux.org/title/Installation_guide'
|
28
airootfs/usr/local/bin/choose-mirror
Executable file
28
airootfs/usr/local/bin/choose-mirror
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
get_cmdline() {
|
||||||
|
local param
|
||||||
|
for param in $(< /proc/cmdline); do
|
||||||
|
case "${param}" in
|
||||||
|
$1=*) echo "${param##*=}";
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
mirror=$(get_cmdline mirror)
|
||||||
|
[[ $mirror = auto ]] && mirror=$(get_cmdline archiso_http_srv)
|
||||||
|
[[ $mirror ]] || exit 0
|
||||||
|
|
||||||
|
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
|
||||||
|
cat >/etc/pacman.d/mirrorlist << EOF
|
||||||
|
#
|
||||||
|
# Arch Linux repository mirrorlist
|
||||||
|
# Generated by archiso
|
||||||
|
#
|
||||||
|
|
||||||
|
Server = ${mirror%%/}/\$repo/os/\$arch
|
||||||
|
EOF
|
248
airootfs/usr/local/bin/livecd-sound
Executable file
248
airootfs/usr/local/bin/livecd-sound
Executable file
@ -0,0 +1,248 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<- _EOF_
|
||||||
|
live cd sound helper script.
|
||||||
|
Usage: livecdsound [OPTION]
|
||||||
|
OPTIONS
|
||||||
|
-u, --unmute unmute all sound cards
|
||||||
|
-p, --pick select a card for speetch output
|
||||||
|
-h, --help Show this usage message
|
||||||
|
|
||||||
|
_EOF_
|
||||||
|
}
|
||||||
|
|
||||||
|
bugout () {
|
||||||
|
printf "/usr/local/bin/livecdsound: programming error"
|
||||||
|
stat_fail
|
||||||
|
}
|
||||||
|
|
||||||
|
echo_card_indices()
|
||||||
|
{
|
||||||
|
if [ -f /proc/asound/cards ] ; then
|
||||||
|
sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# The following functions try to set many controls.
|
||||||
|
# No card has all the controls and so some of the attempts are bound to fail.
|
||||||
|
# Because of this, the functions can't return useful status values.
|
||||||
|
|
||||||
|
# $1 <card id>
|
||||||
|
# $2 <control>
|
||||||
|
# $3 <level>
|
||||||
|
unmute_and_set_level(){
|
||||||
|
{ [ "$3" ] &&[ "$2" ] && [ "$1" ] ; } || bugout
|
||||||
|
systemd-cat -t "livecdsound" printf "Setting: %s on card: %s to %s\n" "$2" "$1" "$3"
|
||||||
|
systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3" unmute
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 <card id>
|
||||||
|
# $2 <control>
|
||||||
|
mute_and_zero_level()
|
||||||
|
{
|
||||||
|
{ [ "$1" ] && [ "$2" ] ; } || bugout
|
||||||
|
systemd-cat -t "livecdsound" printf "Muting control: %s on card: %s\n" "$2" "$1"
|
||||||
|
systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "0%" mute
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 <card ID>
|
||||||
|
# $2 <control>
|
||||||
|
# $3 "on" | "off"
|
||||||
|
switch_control()
|
||||||
|
{
|
||||||
|
{ [ "$3" ] && [ "$1" ] ; } || bugout
|
||||||
|
systemd-cat -t "livecdsound" printf "Switching control: %s on card: %s to %s\n" "$2" "$1" "$3"
|
||||||
|
systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 <card ID>
|
||||||
|
sanify_levels_on_card()
|
||||||
|
{
|
||||||
|
unmute_and_set_level "$1" "Front" "80%"
|
||||||
|
unmute_and_set_level "$1" "Master" "80%"
|
||||||
|
unmute_and_set_level "$1" "Master Mono" "80%"
|
||||||
|
unmute_and_set_level "$1" "Master Digital" "80%" # E.g., cs4237B
|
||||||
|
unmute_and_set_level "$1" "Playback" "80%"
|
||||||
|
unmute_and_set_level "$1" "Headphone" "100%"
|
||||||
|
unmute_and_set_level "$1" "PCM" "80%"
|
||||||
|
unmute_and_set_level "$1" "PCM,1" "80%" # E.g., ess1969
|
||||||
|
unmute_and_set_level "$1" "DAC" "80%" # E.g., envy24, cs46xx
|
||||||
|
unmute_and_set_level "$1" "DAC,0" "80%" # E.g., envy24
|
||||||
|
unmute_and_set_level "$1" "DAC,1" "80%" # E.g., envy24
|
||||||
|
unmute_and_set_level "$1" "Synth" "80%"
|
||||||
|
unmute_and_set_level "$1" "CD" "80%"
|
||||||
|
unmute_and_set_level "$1" "PC Speaker" "100%"
|
||||||
|
|
||||||
|
mute_and_zero_level "$1" "Mic"
|
||||||
|
mute_and_zero_level "$1" "IEC958" # Ubuntu #19648
|
||||||
|
|
||||||
|
# Intel P4P800-MX
|
||||||
|
switch_control "$1" "Master Playback Switch" on
|
||||||
|
switch_control "$1" "Master Surround" on
|
||||||
|
|
||||||
|
# Trident/YMFPCI/emu10k1:
|
||||||
|
unmute_and_set_level "$1" "Wave" "80%"
|
||||||
|
unmute_and_set_level "$1" "Music" "80%"
|
||||||
|
unmute_and_set_level "$1" "AC97" "80%"
|
||||||
|
|
||||||
|
# DRC:
|
||||||
|
unmute_and_set_level "$1" "Dynamic Range Compression" "80%"
|
||||||
|
|
||||||
|
# Required for HDA Intel (hda-intel):
|
||||||
|
unmute_and_set_level "$1" "Front" "80%"
|
||||||
|
|
||||||
|
# Required for SB Live 7.1/24-bit (ca0106):
|
||||||
|
unmute_and_set_level "$1" "Analog Front" "80%"
|
||||||
|
|
||||||
|
# Required at least for Via 823x hardware on DFI K8M800-MLVF Motherboard
|
||||||
|
switch_control "$1" "IEC958 Capture Monitor" off
|
||||||
|
|
||||||
|
# Required for hardware allowing toggles for AC97 through IEC958,
|
||||||
|
# valid values are 0, 1, 2, 3. Needs to be set to 0 for PCM1.
|
||||||
|
unmute_and_set_level "$1" "IEC958 Playback AC97-SPSA" "0"
|
||||||
|
|
||||||
|
# Required for newer Via hardware
|
||||||
|
unmute_and_set_level "$1" "VIA DXS,0" "80%"
|
||||||
|
unmute_and_set_level "$1" "VIA DXS,1" "80%"
|
||||||
|
unmute_and_set_level "$1" "VIA DXS,2" "80%"
|
||||||
|
unmute_and_set_level "$1" "VIA DXS,3" "80%"
|
||||||
|
|
||||||
|
# Required on some notebooks with ICH4:
|
||||||
|
switch_control "$1" "Headphone Jack Sense" off
|
||||||
|
switch_control "$1" "Line Jack Sense" off
|
||||||
|
|
||||||
|
# Some machines need one or more of these to be on;
|
||||||
|
# others need one or more of these to be off:
|
||||||
|
|
||||||
|
switch_control "$1" "Audigy Analog/Digital Output Jack" on
|
||||||
|
switch_control "$1" "SB Live Analog/Digital Output Jack" on
|
||||||
|
|
||||||
|
# D1984 -- Thinkpad T61/X61
|
||||||
|
switch_control "$1" "Speaker" on
|
||||||
|
switch_control "$1" "Headphone" on
|
||||||
|
|
||||||
|
# HDA-Intel w/ "Digital" capture mixer (See Ubuntu #193823)
|
||||||
|
unmute_and_set_level "$1" "Digital" "80%"
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 <card ID> | "all"
|
||||||
|
sanify_levels()
|
||||||
|
{
|
||||||
|
local ttsdml_returnstatus=0
|
||||||
|
local card
|
||||||
|
case "$1" in
|
||||||
|
all)
|
||||||
|
for card in $(echo_card_indices) ; do
|
||||||
|
sanify_levels_on_card "$card" || ttsdml_returnstatus=1
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
sanify_levels_on_card "$1" || ttsdml_returnstatus=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
return $ttsdml_returnstatus
|
||||||
|
}
|
||||||
|
|
||||||
|
# List all cards that *should* be usable for PCM audio. In my experience,
|
||||||
|
# the console speaker (handled by the pcsp driver) isn't a suitable playback
|
||||||
|
# device, so we'll exclude it.
|
||||||
|
list_non_pcsp_cards()
|
||||||
|
{
|
||||||
|
for card in $(echo_card_indices); do
|
||||||
|
local cardfile="/proc/asound/card${card}/id"
|
||||||
|
if [ -r "$cardfile" ] && [ -f "$cardfile" ] && \
|
||||||
|
[ "$(cat "$cardfile")" != pcsp ]; then
|
||||||
|
echo "$card"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Properly initialize the sound card so that we have audio at boot.
|
||||||
|
unmute_all_cards()
|
||||||
|
{
|
||||||
|
sanify_levels all
|
||||||
|
}
|
||||||
|
|
||||||
|
is_numeric() {
|
||||||
|
local str=$1
|
||||||
|
[[ "$str" =~ ^[0-9]+$ ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
set_default_card() {
|
||||||
|
local card=$1
|
||||||
|
sed -e "s/%card%/$card/g" < /usr/local/share/livecd-sound/asound.conf.in \
|
||||||
|
> /etc/asound.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
play_on_card() {
|
||||||
|
local card=$1 file=$2
|
||||||
|
aplay -q "-Dplughw:$card,0" "$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
# If there are multiple usable sound cards, prompt the user to choose one,
|
||||||
|
# using auditory feedback.
|
||||||
|
pick_a_card()
|
||||||
|
{
|
||||||
|
set -f
|
||||||
|
usable_cards="$(list_non_pcsp_cards)"
|
||||||
|
num_usable_cards="$(wc -w <<< "$usable_cards")"
|
||||||
|
|
||||||
|
if [ "$num_usable_cards" -eq 1 ]; then
|
||||||
|
systemd-cat -t "livecdsound" printf "Only one sound card is detected\n"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
systemd-cat -t "livecdsound" printf "multiple sound cards detected\n"
|
||||||
|
for card in $usable_cards; do
|
||||||
|
if ! is_numeric "$card"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
play_on_card "$card" /usr/share/livecd-sounds/pick-a-card.wav&
|
||||||
|
done
|
||||||
|
wait
|
||||||
|
sleep 1
|
||||||
|
for card in $usable_cards; do
|
||||||
|
if ! is_numeric "$card"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
play_on_card "$card" /usr/share/livecd-sounds/beep.wav
|
||||||
|
if read -r -t 10; then
|
||||||
|
systemd-cat -t "livecdsound" printf "Selecting %s sound card as default\n" "$card"
|
||||||
|
set_default_card "$card"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ $# -eq 0 ]]; then
|
||||||
|
echo "error: No argument passed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
while [[ "${1}" != "" ]]; do
|
||||||
|
case ${1} in
|
||||||
|
-h|--help)
|
||||||
|
usage
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
-u|--unmute)
|
||||||
|
systemd-cat -t "livecdsound" printf "Unmuting all cards"
|
||||||
|
unmute_all_cards
|
||||||
|
;;
|
||||||
|
-p|--pick)
|
||||||
|
pick_a_card
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "error: Unsupported argument"
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
3
airootfs/usr/local/share/livecd-sound/asound.conf.in
Normal file
3
airootfs/usr/local/share/livecd-sound/asound.conf.in
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Defaults node
|
||||||
|
defaults.ctl.card %card%;
|
||||||
|
defaults.pcm.card %card%;
|
2
bootstrap_packages.x86_64
Normal file
2
bootstrap_packages.x86_64
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
arch-install-scripts
|
||||||
|
base
|
279
build.sh
279
build.sh
@ -1,279 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e -u
|
|
||||||
|
|
||||||
iso_name=tuxOS
|
|
||||||
iso_label="tuxOS_$(date +%Y%m)"
|
|
||||||
iso_version=$(date +%Y.%m.%d)
|
|
||||||
install_dir=arch
|
|
||||||
work_dir=work
|
|
||||||
out_dir=out
|
|
||||||
gpg_key=
|
|
||||||
|
|
||||||
arch=$(uname -m)
|
|
||||||
verbose=""
|
|
||||||
script_path=$(readlink -f ${0%/*})
|
|
||||||
|
|
||||||
_usage ()
|
|
||||||
{
|
|
||||||
echo "usage ${0} [options]"
|
|
||||||
echo
|
|
||||||
echo " General options:"
|
|
||||||
echo " -N <iso_name> Set an iso filename (prefix)"
|
|
||||||
echo " Default: ${iso_name}"
|
|
||||||
echo " -V <iso_version> Set an iso version (in filename)"
|
|
||||||
echo " Default: ${iso_version}"
|
|
||||||
echo " -L <iso_label> Set an iso label (disk label)"
|
|
||||||
echo " Default: ${iso_label}"
|
|
||||||
echo " -D <install_dir> Set an install_dir (directory inside iso)"
|
|
||||||
echo " Default: ${install_dir}"
|
|
||||||
echo " -w <work_dir> Set the working directory"
|
|
||||||
echo " Default: ${work_dir}"
|
|
||||||
echo " -o <out_dir> Set the output directory"
|
|
||||||
echo " Default: ${out_dir}"
|
|
||||||
echo " -v Enable verbose output"
|
|
||||||
echo " -h This help message"
|
|
||||||
exit ${1}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Helper function to run make_*() only one time per architecture.
|
|
||||||
run_once() {
|
|
||||||
if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then
|
|
||||||
$1
|
|
||||||
touch ${work_dir}/build.${1}_${arch}
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Setup custom pacman.conf with current cache directories.
|
|
||||||
make_pacman_conf() {
|
|
||||||
local _cache_dirs
|
|
||||||
_cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g'))
|
|
||||||
sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${work_dir}/pacman.conf
|
|
||||||
}
|
|
||||||
|
|
||||||
# Base installation, plus needed packages (airootfs)
|
|
||||||
make_basefs() {
|
|
||||||
setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" init
|
|
||||||
setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "haveged intel-ucode memtest86+ mkinitcpio-nfs-utils nbd zsh" install
|
|
||||||
}
|
|
||||||
|
|
||||||
# Additional packages (airootfs)
|
|
||||||
make_packages() {
|
|
||||||
setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install
|
|
||||||
}
|
|
||||||
|
|
||||||
# Needed packages for x86_64 EFI boot
|
|
||||||
make_packages_efi() {
|
|
||||||
setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install
|
|
||||||
}
|
|
||||||
|
|
||||||
# Copy mkinitcpio archiso hooks and build initramfs (airootfs)
|
|
||||||
make_setup_mkinitcpio() {
|
|
||||||
local _hook
|
|
||||||
mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/hooks
|
|
||||||
mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/install
|
|
||||||
for _hook in archiso archiso_shutdown archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_loop_mnt; do
|
|
||||||
cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/hooks
|
|
||||||
cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/install
|
|
||||||
done
|
|
||||||
sed -i "s|/usr/lib/initcpio/|/etc/initcpio/|g" ${work_dir}/${arch}/airootfs/etc/initcpio/install/archiso_shutdown
|
|
||||||
cp /usr/lib/initcpio/install/archiso_kms ${work_dir}/${arch}/airootfs/etc/initcpio/install
|
|
||||||
cp /usr/lib/initcpio/archiso_shutdown ${work_dir}/${arch}/airootfs/etc/initcpio
|
|
||||||
cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/airootfs/etc/mkinitcpio-archiso.conf
|
|
||||||
gnupg_fd=
|
|
||||||
if [[ ${gpg_key} ]]; then
|
|
||||||
gpg --export ${gpg_key} >${work_dir}/gpgkey
|
|
||||||
exec 17<>${work_dir}/gpgkey
|
|
||||||
fi
|
|
||||||
ARCHISO_GNUPG_FD=${gpg_key:+17} setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img' run
|
|
||||||
if [[ ${gpg_key} ]]; then
|
|
||||||
exec 17<&-
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Customize installation (airootfs)
|
|
||||||
make_customize_airootfs() {
|
|
||||||
cp -af ${script_path}/airootfs ${work_dir}/${arch}
|
|
||||||
|
|
||||||
curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://www.archlinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on'
|
|
||||||
|
|
||||||
lynx -dump -nolist 'https://wiki.archlinux.org/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/airootfs/root/install.txt
|
|
||||||
|
|
||||||
setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r '/root/customize_airootfs.sh' run
|
|
||||||
rm ${work_dir}/${arch}/airootfs/root/customize_airootfs.sh
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prepare kernel/initramfs ${install_dir}/boot/
|
|
||||||
make_boot() {
|
|
||||||
mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch}
|
|
||||||
cp ${work_dir}/${arch}/airootfs/boot/archiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/archiso.img
|
|
||||||
cp ${work_dir}/${arch}/airootfs/boot/vmlinuz-linux ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz
|
|
||||||
}
|
|
||||||
|
|
||||||
# Add other aditional/extra files to ${install_dir}/boot/
|
|
||||||
make_boot_extra() {
|
|
||||||
cp ${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest
|
|
||||||
cp ${work_dir}/${arch}/airootfs/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING
|
|
||||||
cp ${work_dir}/${arch}/airootfs/boot/intel-ucode.img ${work_dir}/iso/${install_dir}/boot/intel_ucode.img
|
|
||||||
cp ${work_dir}/${arch}/airootfs/usr/share/licenses/intel-ucode/LICENSE ${work_dir}/iso/${install_dir}/boot/intel_ucode.LICENSE
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prepare /${install_dir}/boot/syslinux
|
|
||||||
make_syslinux() {
|
|
||||||
mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux
|
|
||||||
for _cfg in ${script_path}/syslinux/*.cfg; do
|
|
||||||
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
|
|
||||||
s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/}
|
|
||||||
done
|
|
||||||
cp ${script_path}/syslinux/splash.png ${work_dir}/iso/${install_dir}/boot/syslinux
|
|
||||||
cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux
|
|
||||||
cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux
|
|
||||||
cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux
|
|
||||||
mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux/hdt
|
|
||||||
gzip -c -9 ${work_dir}/${arch}/airootfs/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz
|
|
||||||
gzip -c -9 ${work_dir}/${arch}/airootfs/usr/lib/modules/*-ARCH/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prepare /isolinux
|
|
||||||
make_isolinux() {
|
|
||||||
mkdir -p ${work_dir}/iso/isolinux
|
|
||||||
sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg
|
|
||||||
cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isolinux.bin ${work_dir}/iso/isolinux/
|
|
||||||
cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/
|
|
||||||
cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prepare /EFI
|
|
||||||
make_efi() {
|
|
||||||
mkdir -p ${work_dir}/iso/EFI/boot
|
|
||||||
cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi
|
|
||||||
cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/
|
|
||||||
|
|
||||||
cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/iso/EFI/boot/loader.efi
|
|
||||||
|
|
||||||
mkdir -p ${work_dir}/iso/loader/entries
|
|
||||||
cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/
|
|
||||||
cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/
|
|
||||||
cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/
|
|
||||||
|
|
||||||
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
|
|
||||||
s|%INSTALL_DIR%|${install_dir}|g" \
|
|
||||||
${script_path}/efiboot/loader/entries/archiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/archiso-x86_64.conf
|
|
||||||
|
|
||||||
# EFI Shell 2.0 for UEFI 2.3+
|
|
||||||
curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://raw.githubusercontent.com/tianocore/edk2/master/ShellBinPkg/UefiShell/X64/Shell.efi
|
|
||||||
# EFI Shell 1.0 for non UEFI 2.3+
|
|
||||||
curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://raw.githubusercontent.com/tianocore/edk2/master/EdkShellBinPkg/FullShell/X64/Shell_Full.efi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode
|
|
||||||
make_efiboot() {
|
|
||||||
mkdir -p ${work_dir}/iso/EFI/archiso
|
|
||||||
truncate -s 64M ${work_dir}/iso/EFI/archiso/efiboot.img
|
|
||||||
mkfs.fat -n ARCHISO_EFI ${work_dir}/iso/EFI/archiso/efiboot.img
|
|
||||||
|
|
||||||
mkdir -p ${work_dir}/efiboot
|
|
||||||
mount ${work_dir}/iso/EFI/archiso/efiboot.img ${work_dir}/efiboot
|
|
||||||
|
|
||||||
mkdir -p ${work_dir}/efiboot/EFI/archiso
|
|
||||||
cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/archiso/vmlinuz.efi
|
|
||||||
cp ${work_dir}/iso/${install_dir}/boot/x86_64/archiso.img ${work_dir}/efiboot/EFI/archiso/archiso.img
|
|
||||||
|
|
||||||
cp ${work_dir}/iso/${install_dir}/boot/intel_ucode.img ${work_dir}/efiboot/EFI/archiso/intel_ucode.img
|
|
||||||
|
|
||||||
mkdir -p ${work_dir}/efiboot/EFI/boot
|
|
||||||
cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi
|
|
||||||
cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/efiboot/EFI/boot/
|
|
||||||
|
|
||||||
cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi
|
|
||||||
|
|
||||||
mkdir -p ${work_dir}/efiboot/loader/entries
|
|
||||||
cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/
|
|
||||||
cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/
|
|
||||||
cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/
|
|
||||||
|
|
||||||
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
|
|
||||||
s|%INSTALL_DIR%|${install_dir}|g" \
|
|
||||||
${script_path}/efiboot/loader/entries/archiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/archiso-x86_64.conf
|
|
||||||
|
|
||||||
cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/
|
|
||||||
cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/
|
|
||||||
|
|
||||||
umount -d ${work_dir}/efiboot
|
|
||||||
}
|
|
||||||
|
|
||||||
# Build airootfs filesystem image
|
|
||||||
make_prepare() {
|
|
||||||
cp -a -l -f ${work_dir}/${arch}/airootfs ${work_dir}
|
|
||||||
setarch ${arch} mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist
|
|
||||||
setarch ${arch} mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare
|
|
||||||
rm -rf ${work_dir}/airootfs
|
|
||||||
# rm -rf ${work_dir}/${arch}/airootfs (if low space, this helps)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Build ISO
|
|
||||||
make_iso() {
|
|
||||||
mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-x86_64.iso"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ ${EUID} -ne 0 ]]; then
|
|
||||||
echo "This script must be run as root."
|
|
||||||
_usage 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ${arch} != x86_64 ]]; then
|
|
||||||
echo "This script needs to be run on x86_64"
|
|
||||||
_usage 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
while getopts 'N:V:L:D:w:o:g:vh' arg; do
|
|
||||||
case "${arg}" in
|
|
||||||
N) iso_name="${OPTARG}" ;;
|
|
||||||
V) iso_version="${OPTARG}" ;;
|
|
||||||
L) iso_label="${OPTARG}" ;;
|
|
||||||
D) install_dir="${OPTARG}" ;;
|
|
||||||
w) work_dir="${OPTARG}" ;;
|
|
||||||
o) out_dir="${OPTARG}" ;;
|
|
||||||
g) gpg_key="${OPTARG}" ;;
|
|
||||||
v) verbose="-v" ;;
|
|
||||||
h) _usage 0 ;;
|
|
||||||
*)
|
|
||||||
echo "Invalid argument '${arg}'"
|
|
||||||
_usage 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
mkdir -p ${work_dir}
|
|
||||||
|
|
||||||
run_once make_pacman_conf
|
|
||||||
|
|
||||||
# Do all stuff for each airootfs
|
|
||||||
for arch in x86_64; do
|
|
||||||
run_once make_basefs
|
|
||||||
run_once make_packages
|
|
||||||
done
|
|
||||||
|
|
||||||
run_once make_packages_efi
|
|
||||||
|
|
||||||
for arch in x86_64; do
|
|
||||||
run_once make_setup_mkinitcpio
|
|
||||||
run_once make_customize_airootfs
|
|
||||||
done
|
|
||||||
|
|
||||||
for arch in x86_64; do
|
|
||||||
run_once make_boot
|
|
||||||
done
|
|
||||||
|
|
||||||
# Do all stuff for "iso"
|
|
||||||
run_once make_boot_extra
|
|
||||||
run_once make_syslinux
|
|
||||||
run_once make_isolinux
|
|
||||||
run_once make_efi
|
|
||||||
run_once make_efiboot
|
|
||||||
|
|
||||||
for arch in x86_64; do
|
|
||||||
run_once make_prepare
|
|
||||||
done
|
|
||||||
|
|
||||||
run_once make_iso
|
|
7
efiboot/loader/entries/01-tuxOS-iso-x86_64-linux.conf
Normal file
7
efiboot/loader/entries/01-tuxOS-iso-x86_64-linux.conf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
title Boot tuxOS (x86_64, UEFI)
|
||||||
|
sort-key 01
|
||||||
|
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
|
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||||
|
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||||
|
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
|
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=5G copytoram=n module_blacklist=pcspkr,snd_pcsp
|
@ -1,5 +0,0 @@
|
|||||||
title Appletneo OS x86_64 UEFI CD
|
|
||||||
linux /EFI/archiso/vmlinuz.efi
|
|
||||||
initrd /EFI/archiso/intel_ucode.img
|
|
||||||
initrd /EFI/archiso/archiso.img
|
|
||||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
|
|
@ -1,5 +0,0 @@
|
|||||||
title Appletneo OS x86_64 UEFI USB
|
|
||||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz
|
|
||||||
initrd /%INSTALL_DIR%/boot/intel_ucode.img
|
|
||||||
initrd /%INSTALL_DIR%/boot/x86_64/archiso.img
|
|
||||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
|
|
@ -1,2 +0,0 @@
|
|||||||
title UEFI Shell x86_64 v1
|
|
||||||
efi /EFI/shellx64_v1.efi
|
|
@ -1,2 +0,0 @@
|
|||||||
title UEFI Shell x86_64 v2
|
|
||||||
efi /EFI/shellx64_v2.efi
|
|
@ -1,2 +1,3 @@
|
|||||||
timeout 3
|
timeout 15
|
||||||
default archiso-x86_64
|
default 01-tuxOS-iso-x86_64-linux.conf
|
||||||
|
beep on
|
||||||
|
81
grub/grub.cfg
Normal file
81
grub/grub.cfg
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
# Load partition table and file system modules
|
||||||
|
insmod part_gpt
|
||||||
|
insmod part_msdos
|
||||||
|
insmod fat
|
||||||
|
insmod iso9660
|
||||||
|
insmod ntfs
|
||||||
|
insmod ntfscomp
|
||||||
|
insmod exfat
|
||||||
|
insmod udf
|
||||||
|
|
||||||
|
# Use graphics-mode output
|
||||||
|
insmod all_video
|
||||||
|
insmod font
|
||||||
|
if loadfont "${prefix}/fonts/unicode.pf2" ; then
|
||||||
|
set gfxmode="auto"
|
||||||
|
terminal_input console
|
||||||
|
terminal_output console
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Enable serial console
|
||||||
|
if serial --unit=0 --speed=115200; then
|
||||||
|
terminal_input --append serial
|
||||||
|
terminal_output --append serial
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Search for the ISO volume
|
||||||
|
if [ -z "${ARCHISO_UUID}" ]; then
|
||||||
|
if [ -z "${ARCHISO_HINT}" ]; then
|
||||||
|
regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
|
||||||
|
fi
|
||||||
|
search --no-floppy --set=root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}"
|
||||||
|
probe --set ARCHISO_UUID --fs-uuid "${root}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set default menu entry
|
||||||
|
default=tuxOS
|
||||||
|
timeout=15
|
||||||
|
timeout_style=menu
|
||||||
|
|
||||||
|
# GRUB init tune for accessibility
|
||||||
|
play 600 988 1 1319 4
|
||||||
|
|
||||||
|
# Menu entries
|
||||||
|
|
||||||
|
menuentry "Boot tuxOS (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'tuxOS' {
|
||||||
|
set gfxpayload=keep
|
||||||
|
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID}
|
||||||
|
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "${grub_platform}" == "efi" ]; then
|
||||||
|
if [ "${grub_cpu}" == "x86_64" ]; then
|
||||||
|
menuentry "Run Memtest86+ (RAM test)" --class memtest86 --class gnu --class tool {
|
||||||
|
set gfxpayload=800x600,1024x768
|
||||||
|
linux /boot/memtest86+/memtest.efi
|
||||||
|
}
|
||||||
|
menuentry "UEFI Shell" {
|
||||||
|
insmod chain
|
||||||
|
chainloader /shellx64.efi
|
||||||
|
}
|
||||||
|
elif [ "${grub_cpu}" == "i386" ]; then
|
||||||
|
menuentry "UEFI Shell" {
|
||||||
|
insmod chain
|
||||||
|
chainloader /shellia32.efi
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
|
||||||
|
fwsetup
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
menuentry "System shutdown" --class shutdown --class poweroff {
|
||||||
|
echo "System shutting down..."
|
||||||
|
halt
|
||||||
|
}
|
||||||
|
|
||||||
|
menuentry "System restart" --class reboot --class restart {
|
||||||
|
echo "System rebooting..."
|
||||||
|
reboot
|
||||||
|
}
|
@ -1,6 +0,0 @@
|
|||||||
PATH /%INSTALL_DIR%/boot/syslinux/
|
|
||||||
DEFAULT loadconfig
|
|
||||||
|
|
||||||
LABEL loadconfig
|
|
||||||
CONFIG /%INSTALL_DIR%/boot/syslinux/archiso.cfg
|
|
||||||
APPEND /%INSTALL_DIR%/
|
|
@ -1,2 +0,0 @@
|
|||||||
HOOKS="base udev memdisk archiso_shutdown archiso archiso_loop_mnt archiso_kms block pcmcia filesystems keyboard"
|
|
||||||
COMPRESSION="xz"
|
|
157
packages.both
157
packages.both
@ -1,157 +0,0 @@
|
|||||||
##xorg-Packages
|
|
||||||
xorg-fonts
|
|
||||||
xorg-server
|
|
||||||
xorg-server-common
|
|
||||||
xorg-xinit
|
|
||||||
xorg-xkill
|
|
||||||
boost
|
|
||||||
boost-libs
|
|
||||||
icu
|
|
||||||
libmtp
|
|
||||||
xz
|
|
||||||
xterm
|
|
||||||
|
|
||||||
##System
|
|
||||||
xf86-video-ati
|
|
||||||
xf86-video-dummy
|
|
||||||
xf86-video-fbdev
|
|
||||||
xf86-video-nouveau
|
|
||||||
xf86-video-openchrome
|
|
||||||
xf86-video-vesa
|
|
||||||
xf86-video-vmware
|
|
||||||
xf86-video-voodoo
|
|
||||||
xf86-input-libinput
|
|
||||||
xf86-input-synaptics
|
|
||||||
xf86-input-keyboard
|
|
||||||
xf86-input-vmmouse
|
|
||||||
xf86-input-mouse
|
|
||||||
laptop-detect
|
|
||||||
mlocate
|
|
||||||
reflector
|
|
||||||
tracker
|
|
||||||
linux-headers
|
|
||||||
broadcom-wl-dkms
|
|
||||||
lightdm
|
|
||||||
|
|
||||||
##VBox
|
|
||||||
virtualbox-guest-modules-arch
|
|
||||||
virtualbox-guest-utils
|
|
||||||
|
|
||||||
##GUI
|
|
||||||
i3
|
|
||||||
|
|
||||||
##Themes
|
|
||||||
numix-gtk-theme
|
|
||||||
arc-gtk-theme
|
|
||||||
arc-icon-theme
|
|
||||||
|
|
||||||
##Fonts
|
|
||||||
ttf-dejavu
|
|
||||||
ttf-liberation
|
|
||||||
cantarell-fonts
|
|
||||||
|
|
||||||
##Environment
|
|
||||||
bash-completion
|
|
||||||
ncdu
|
|
||||||
speedtest-cli
|
|
||||||
pulseaudio
|
|
||||||
pulseaudio-alsa
|
|
||||||
pavucontrol
|
|
||||||
volumeicon
|
|
||||||
powerline
|
|
||||||
python
|
|
||||||
|
|
||||||
##Applications
|
|
||||||
vlc
|
|
||||||
gparted
|
|
||||||
leafpad
|
|
||||||
youtube-dl
|
|
||||||
p7zip
|
|
||||||
python-pip
|
|
||||||
neofetch
|
|
||||||
|
|
||||||
##File-Management
|
|
||||||
xdg-user-dirs
|
|
||||||
gvfs
|
|
||||||
gamin
|
|
||||||
tumbler
|
|
||||||
|
|
||||||
##System-Packages
|
|
||||||
arch-install-scripts
|
|
||||||
b43-fwcutter
|
|
||||||
btrfs-progs
|
|
||||||
clonezilla
|
|
||||||
crda
|
|
||||||
darkhttpd
|
|
||||||
ddrescue
|
|
||||||
dhclient
|
|
||||||
dialog
|
|
||||||
dmraid
|
|
||||||
dnsmasq
|
|
||||||
dnsutils
|
|
||||||
dosfstools
|
|
||||||
elinks
|
|
||||||
ethtool
|
|
||||||
exfat-utils
|
|
||||||
f2fs-tools
|
|
||||||
fsarchiver
|
|
||||||
gnu-netcat
|
|
||||||
gpm
|
|
||||||
gptfdisk
|
|
||||||
grml-zsh-config
|
|
||||||
grub
|
|
||||||
hdparm
|
|
||||||
ipw2100-fw
|
|
||||||
ipw2200-fw
|
|
||||||
irssi
|
|
||||||
lftp
|
|
||||||
linux-atm
|
|
||||||
lsscsi
|
|
||||||
mc
|
|
||||||
mtools
|
|
||||||
ndisc6
|
|
||||||
nfs-utils
|
|
||||||
nilfs-utils
|
|
||||||
nmap
|
|
||||||
ntfs-3g
|
|
||||||
ntp
|
|
||||||
openconnect
|
|
||||||
openssh
|
|
||||||
openvpn
|
|
||||||
partclone
|
|
||||||
parted
|
|
||||||
partimage
|
|
||||||
ppp
|
|
||||||
pptpclient
|
|
||||||
refind-efi
|
|
||||||
rfkill
|
|
||||||
rp-pppoe
|
|
||||||
rsync
|
|
||||||
sdparm
|
|
||||||
sg3_utils
|
|
||||||
smartmontools
|
|
||||||
speedtouch
|
|
||||||
sudo
|
|
||||||
tcpdump
|
|
||||||
testdisk
|
|
||||||
usb_modeswitch
|
|
||||||
vim-minimal
|
|
||||||
vpnc
|
|
||||||
wget
|
|
||||||
wireless_tools
|
|
||||||
wpa_actiond
|
|
||||||
wvdial
|
|
||||||
xl2tpd
|
|
||||||
zd1211-firmware
|
|
||||||
make
|
|
||||||
m4
|
|
||||||
autoconf
|
|
||||||
automake
|
|
||||||
binutils
|
|
||||||
bison
|
|
||||||
fakeroot
|
|
||||||
flex
|
|
||||||
gcc
|
|
||||||
patch
|
|
||||||
perl-error
|
|
||||||
git
|
|
267
packages.x86_64
267
packages.x86_64
@ -0,0 +1,267 @@
|
|||||||
|
# base
|
||||||
|
|
||||||
|
alsa-utils
|
||||||
|
amd-ucode
|
||||||
|
arch-install-scripts
|
||||||
|
archinstall
|
||||||
|
b43-fwcutter
|
||||||
|
base
|
||||||
|
bind
|
||||||
|
brltty
|
||||||
|
broadcom-wl
|
||||||
|
btrfs-progs
|
||||||
|
clonezilla
|
||||||
|
cloud-init
|
||||||
|
cryptsetup
|
||||||
|
darkhttpd
|
||||||
|
ddrescue
|
||||||
|
dhclient
|
||||||
|
dhcpcd
|
||||||
|
diffutils
|
||||||
|
dmidecode
|
||||||
|
dmraid
|
||||||
|
dnsmasq
|
||||||
|
dosfstools
|
||||||
|
e2fsprogs
|
||||||
|
edk2-shell
|
||||||
|
efibootmgr
|
||||||
|
espeakup
|
||||||
|
ethtool
|
||||||
|
exfatprogs
|
||||||
|
f2fs-tools
|
||||||
|
fatresize
|
||||||
|
fsarchiver
|
||||||
|
gnu-netcat
|
||||||
|
gpart
|
||||||
|
gpm
|
||||||
|
gptfdisk
|
||||||
|
grub
|
||||||
|
hdparm
|
||||||
|
hyperv
|
||||||
|
intel-ucode
|
||||||
|
irssi
|
||||||
|
iw
|
||||||
|
iwd
|
||||||
|
jfsutils
|
||||||
|
kitty-terminfo
|
||||||
|
less
|
||||||
|
lftp
|
||||||
|
libfido2
|
||||||
|
libusb-compat
|
||||||
|
linux
|
||||||
|
linux-atm
|
||||||
|
linux-firmware
|
||||||
|
linux-firmware-marvell
|
||||||
|
livecd-sounds
|
||||||
|
lsscsi
|
||||||
|
lvm2
|
||||||
|
lynx
|
||||||
|
man-db
|
||||||
|
man-pages
|
||||||
|
mc
|
||||||
|
mdadm
|
||||||
|
memtest86+
|
||||||
|
memtest86+-efi
|
||||||
|
mkinitcpio
|
||||||
|
mkinitcpio-archiso
|
||||||
|
mkinitcpio-nfs-utils
|
||||||
|
modemmanager
|
||||||
|
mtools
|
||||||
|
nano
|
||||||
|
nbd
|
||||||
|
ndisc6
|
||||||
|
nfs-utils
|
||||||
|
nilfs-utils
|
||||||
|
nmap
|
||||||
|
ntfs-3g
|
||||||
|
nvme-cli
|
||||||
|
open-iscsi
|
||||||
|
open-vm-tools
|
||||||
|
openconnect
|
||||||
|
openssh
|
||||||
|
openvpn
|
||||||
|
partclone
|
||||||
|
parted
|
||||||
|
partimage
|
||||||
|
pcsclite
|
||||||
|
ppp
|
||||||
|
pptpclient
|
||||||
|
pv
|
||||||
|
qemu-guest-agent
|
||||||
|
refind
|
||||||
|
reflector
|
||||||
|
reiserfsprogs
|
||||||
|
rp-pppoe
|
||||||
|
rsync
|
||||||
|
rxvt-unicode-terminfo
|
||||||
|
screen
|
||||||
|
sdparm
|
||||||
|
sg3_utils
|
||||||
|
smartmontools
|
||||||
|
sof-firmware
|
||||||
|
squashfs-tools
|
||||||
|
sudo
|
||||||
|
syslinux
|
||||||
|
systemd-resolvconf
|
||||||
|
tcpdump
|
||||||
|
terminus-font
|
||||||
|
testdisk
|
||||||
|
tmux
|
||||||
|
tpm2-tss
|
||||||
|
udftools
|
||||||
|
usb_modeswitch
|
||||||
|
usbmuxd
|
||||||
|
usbutils
|
||||||
|
vim
|
||||||
|
vpnc
|
||||||
|
wireless-regdb
|
||||||
|
wireless_tools
|
||||||
|
wpa_supplicant
|
||||||
|
wvdial
|
||||||
|
xfsprogs
|
||||||
|
xl2tpd
|
||||||
|
zsh
|
||||||
|
|
||||||
|
# System
|
||||||
|
base-devel
|
||||||
|
xorg
|
||||||
|
xdg-user-dirs
|
||||||
|
kitty
|
||||||
|
networkmanager
|
||||||
|
network-manager-applet
|
||||||
|
os-prober
|
||||||
|
go
|
||||||
|
nodejs-lts-hydrogen
|
||||||
|
xdg-desktop-portal
|
||||||
|
|
||||||
|
# tuxOS
|
||||||
|
tuxos-cursor
|
||||||
|
tuxos-hooks
|
||||||
|
tuxos-skel
|
||||||
|
tuxos-omz
|
||||||
|
tuxos-nvim
|
||||||
|
tuxos-bspwm
|
||||||
|
tuxos-pfetch
|
||||||
|
tuxos-calamares
|
||||||
|
tuxos-calamares-config
|
||||||
|
|
||||||
|
# AUR
|
||||||
|
picom-pijulius-git
|
||||||
|
ckbcomp
|
||||||
|
mkinitcpio-openswap
|
||||||
|
|
||||||
|
# WM/UI
|
||||||
|
sddm
|
||||||
|
polybar
|
||||||
|
ttf-firacode-nerd
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
pipewire
|
||||||
|
wireplumber
|
||||||
|
pipewire-alsa
|
||||||
|
pipewire-pulse
|
||||||
|
pipewire-jack
|
||||||
|
pulsemixer
|
||||||
|
pavucontrol
|
||||||
|
gst-plugin-pipewire
|
||||||
|
|
||||||
|
# Bluetooth
|
||||||
|
bluez
|
||||||
|
bluez-utils
|
||||||
|
blueman
|
||||||
|
|
||||||
|
# Video
|
||||||
|
libde265
|
||||||
|
libdv
|
||||||
|
libmpeg2
|
||||||
|
schroedinger
|
||||||
|
libtheora
|
||||||
|
libvpx
|
||||||
|
x264
|
||||||
|
x265
|
||||||
|
xvidcore
|
||||||
|
gstreamer
|
||||||
|
ffmpeg
|
||||||
|
gst-libav
|
||||||
|
gst-plugins-good
|
||||||
|
gst-plugins-ugly
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
# Apps
|
||||||
|
discord
|
||||||
|
firefox
|
||||||
|
thunar-archive-plugin
|
||||||
|
thunar-media-tags-plugin
|
||||||
|
thunar-volman
|
||||||
|
file-roller
|
||||||
|
geany
|
||||||
|
geany-plugins
|
||||||
|
viewnior
|
||||||
|
atril
|
||||||
|
|
||||||
|
# Media
|
||||||
|
mpc
|
||||||
|
mpd
|
||||||
|
ncmpcpp
|
||||||
|
mplayer
|
||||||
|
|
||||||
|
# Files
|
||||||
|
gvfs
|
||||||
|
gvfs-mtp
|
||||||
|
gvfs-afc
|
||||||
|
gvfs-gphoto2
|
||||||
|
gvfs-smb
|
||||||
|
gvfs-google
|
||||||
|
highlight
|
||||||
|
trash-cli
|
||||||
|
ueberzug
|
||||||
|
xdg-user-dirs
|
||||||
|
xdg-user-dirs-gtk
|
||||||
|
|
||||||
|
# Archives
|
||||||
|
bzip2
|
||||||
|
gzip
|
||||||
|
lrzip
|
||||||
|
lz4
|
||||||
|
lzip
|
||||||
|
lzop
|
||||||
|
xz
|
||||||
|
zstd
|
||||||
|
p7zip
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
unrar
|
||||||
|
unarchiver
|
||||||
|
xarchiver
|
||||||
|
|
||||||
|
# Utils
|
||||||
|
neofetch
|
||||||
|
arandr
|
||||||
|
dunst
|
||||||
|
nitrogen
|
||||||
|
picom
|
||||||
|
python-pywal
|
||||||
|
feh
|
||||||
|
ranger
|
||||||
|
exa
|
||||||
|
bat
|
||||||
|
zoxide
|
||||||
|
starship
|
||||||
|
neovim
|
||||||
|
neovide
|
||||||
|
ripgrep
|
||||||
|
lazygit
|
||||||
|
gdu
|
||||||
|
bottom
|
||||||
|
rofi
|
||||||
|
wget
|
||||||
|
nano
|
||||||
|
btop
|
||||||
|
|
||||||
|
# VM
|
||||||
|
virtualbox-guest-utils
|
||||||
|
qemu-guest-agent
|
||||||
|
open-vm-tools
|
||||||
|
xf86-input-vmmouse
|
||||||
|
xf86-video-vmware
|
||||||
|
|
||||||
|
27
pacman.conf
27
pacman.conf
@ -14,11 +14,11 @@
|
|||||||
#CacheDir = /var/cache/pacman/pkg/
|
#CacheDir = /var/cache/pacman/pkg/
|
||||||
#LogFile = /var/log/pacman.log
|
#LogFile = /var/log/pacman.log
|
||||||
#GPGDir = /etc/pacman.d/gnupg/
|
#GPGDir = /etc/pacman.d/gnupg/
|
||||||
|
#HookDir = /etc/pacman.d/hooks/
|
||||||
HoldPkg = pacman glibc
|
HoldPkg = pacman glibc
|
||||||
#XferCommand = /usr/bin/curl -C - -f %u > %o
|
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||||
#CleanMethod = KeepInstalled
|
#CleanMethod = KeepInstalled
|
||||||
#UseDelta = 0.7
|
|
||||||
Architecture = auto
|
Architecture = auto
|
||||||
|
|
||||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||||
@ -31,10 +31,11 @@ Architecture = auto
|
|||||||
# Misc options
|
# Misc options
|
||||||
#UseSyslog
|
#UseSyslog
|
||||||
#Color
|
#Color
|
||||||
#TotalDownload
|
#NoProgressBar
|
||||||
# We cannot check disk space from within a chroot environment
|
# We cannot check disk space from within a chroot environment
|
||||||
#CheckSpace
|
#CheckSpace
|
||||||
#VerbosePkgLists
|
#VerbosePkgLists
|
||||||
|
ParallelDownloads = 5
|
||||||
|
|
||||||
# By default, pacman accepts packages signed by keys that its local keyring
|
# By default, pacman accepts packages signed by keys that its local keyring
|
||||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||||
@ -84,5 +85,21 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
[community]
|
[community]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
[multilib]
|
# If you want to run 32 bit applications on your x86_64 system,
|
||||||
Include = /etc/pacman.d/mirrorlist
|
# enable the multilib repositories as required here.
|
||||||
|
|
||||||
|
#[multilib-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
#[multilib]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# An example of a custom package repository. See the pacman manpage for
|
||||||
|
# tips on creating your own repositories.
|
||||||
|
#[custom]
|
||||||
|
#SigLevel = Optional TrustAll
|
||||||
|
#Server = file:///home/custompkgs
|
||||||
|
|
||||||
|
[tuxOS]
|
||||||
|
SigLevel = Optional TrustAll
|
||||||
|
Server = file:///home/tux/Projects/tuxOS/pkgs/$arch
|
27
profiledef.sh
Normal file
27
profiledef.sh
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
|
||||||
|
iso_name="tuxOS"
|
||||||
|
iso_label="tuxOS_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m)"
|
||||||
|
iso_publisher="tux <https://0xtux.sh>"
|
||||||
|
iso_application="tuxOS Live/Rescue CD"
|
||||||
|
iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)"
|
||||||
|
install_dir="arch"
|
||||||
|
buildmodes=('iso')
|
||||||
|
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
|
||||||
|
'uefi-ia32.grub.esp' 'uefi-x64.grub.esp'
|
||||||
|
'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito')
|
||||||
|
arch="x86_64"
|
||||||
|
pacman_conf="pacman.conf"
|
||||||
|
airootfs_image_type="squashfs"
|
||||||
|
airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M')
|
||||||
|
file_permissions=(
|
||||||
|
["/etc/shadow"]="0:0:400"
|
||||||
|
["/etc/gshadow"]="0:0:0400"
|
||||||
|
["/etc/shadow"]="0:0:400"
|
||||||
|
["/root"]="0:0:750"
|
||||||
|
["/root/.automated_script.sh"]="0:0:755"
|
||||||
|
["/usr/local/bin/choose-mirror"]="0:0:755"
|
||||||
|
["/usr/local/bin/Installation_guide"]="0:0:755"
|
||||||
|
["/usr/local/bin/livecd-sound"]="0:0:755"
|
||||||
|
)
|
@ -1,11 +0,0 @@
|
|||||||
DEFAULT select
|
|
||||||
|
|
||||||
LABEL select
|
|
||||||
COM32 boot/syslinux/whichsys.c32
|
|
||||||
APPEND -pxe- pxe -sys- sys -iso- sys
|
|
||||||
|
|
||||||
LABEL pxe
|
|
||||||
CONFIG boot/syslinux/archiso_pxe.cfg
|
|
||||||
|
|
||||||
LABEL sys
|
|
||||||
CONFIG boot/syslinux/archiso_sys.cfg
|
|
@ -1,36 +0,0 @@
|
|||||||
INCLUDE boot/syslinux/archiso_head.cfg
|
|
||||||
|
|
||||||
LABEL arch64_nbd
|
|
||||||
TEXT HELP
|
|
||||||
Boot the Appletneo OS (x86_64) live medium (Using NBD).
|
|
||||||
It allows you to install Arch Linux or perform system maintenance.
|
|
||||||
ENDTEXT
|
|
||||||
MENU LABEL Boot Appletneo OS (x86_64) (NBD)
|
|
||||||
LINUX boot/x86_64/vmlinuz
|
|
||||||
INITRD boot/intel_ucode.img,boot/x86_64/archiso.img
|
|
||||||
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver}
|
|
||||||
SYSAPPEND 3
|
|
||||||
|
|
||||||
LABEL arch64_nfs
|
|
||||||
TEXT HELP
|
|
||||||
Boot the Appletneo OS (x86_64) live medium (Using NFS).
|
|
||||||
It allows you to install Arch Linux or perform system maintenance.
|
|
||||||
ENDTEXT
|
|
||||||
MENU LABEL Boot Appletneo OS (x86_64) (NFS)
|
|
||||||
LINUX boot/x86_64/vmlinuz
|
|
||||||
INITRD boot/intel_ucode.img,boot/x86_64/archiso.img
|
|
||||||
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt
|
|
||||||
SYSAPPEND 3
|
|
||||||
|
|
||||||
LABEL arch64_http
|
|
||||||
TEXT HELP
|
|
||||||
Boot the Appletneo OS (x86_64) live medium (Using HTTP).
|
|
||||||
It allows you to install Arch Linux or perform system maintenance.
|
|
||||||
ENDTEXT
|
|
||||||
MENU LABEL Boot Appletneo OS (x86_64) (HTTP)
|
|
||||||
LINUX boot/x86_64/vmlinuz
|
|
||||||
INITRD boot/intel_ucode.img,boot/x86_64/archiso.img
|
|
||||||
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/
|
|
||||||
SYSAPPEND 3
|
|
||||||
|
|
||||||
INCLUDE boot/syslinux/archiso_tail.cfg
|
|
@ -1,13 +0,0 @@
|
|||||||
INCLUDE boot/syslinux/archiso_head.cfg
|
|
||||||
|
|
||||||
LABEL arch64
|
|
||||||
TEXT HELP
|
|
||||||
Boot the Appletneo OS (x86_64) live medium.
|
|
||||||
It allows you to install Arch Linux or perform system maintenance.
|
|
||||||
ENDTEXT
|
|
||||||
MENU LABEL Boot Appletneo OS (x86_64)
|
|
||||||
LINUX boot/x86_64/vmlinuz
|
|
||||||
INITRD boot/intel_ucode.img,boot/x86_64/archiso.img
|
|
||||||
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
|
|
||||||
|
|
||||||
INCLUDE boot/syslinux/archiso_tail.cfg
|
|
@ -1,27 +0,0 @@
|
|||||||
LABEL existing
|
|
||||||
TEXT HELP
|
|
||||||
Boot an existing operating system.
|
|
||||||
Press TAB to edit the disk and partition number to boot.
|
|
||||||
ENDTEXT
|
|
||||||
MENU LABEL Boot existing OS
|
|
||||||
COM32 boot/syslinux/chain.c32
|
|
||||||
APPEND hd0 0
|
|
||||||
|
|
||||||
# http://www.memtest.org/
|
|
||||||
LABEL memtest
|
|
||||||
MENU LABEL Run Memtest86+ (RAM test)
|
|
||||||
LINUX boot/memtest
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
LABEL reboot
|
|
||||||
MENU LABEL Reboot
|
|
||||||
COM32 boot/syslinux/reboot.c32
|
|
||||||
|
|
||||||
LABEL poweroff
|
|
||||||
MENU LABEL Power Off
|
|
||||||
COM32 boot/syslinux/poweroff.c32
|
|
Binary file not shown.
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 31 KiB |
@ -1,5 +1,11 @@
|
|||||||
DEFAULT loadconfig
|
DEFAULT select
|
||||||
|
|
||||||
LABEL loadconfig
|
LABEL select
|
||||||
CONFIG archiso.cfg
|
COM32 whichsys.c32
|
||||||
APPEND ../../
|
APPEND -pxe- pxe -sys- sys -iso- sys
|
||||||
|
|
||||||
|
LABEL pxe
|
||||||
|
CONFIG tuxOS_iso_pxe.cfg
|
||||||
|
|
||||||
|
LABEL sys
|
||||||
|
CONFIG tuxOS_iso_sys.cfg
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
SERIAL 0 38400
|
SERIAL 0 115200
|
||||||
UI boot/syslinux/vesamenu.c32
|
UI vesamenu.c32
|
||||||
MENU TITLE Appletneo OS
|
MENU TITLE tuxOS
|
||||||
MENU BACKGROUND boot/syslinux/splash.png
|
MENU BACKGROUND splash.png
|
||||||
|
|
||||||
MENU WIDTH 78
|
MENU WIDTH 78
|
||||||
MENU MARGIN 4
|
MENU MARGIN 4
|
||||||
@ -12,7 +12,7 @@ MENU CMDLINEROW 14
|
|||||||
MENU HELPMSGROW 16
|
MENU HELPMSGROW 16
|
||||||
MENU HELPMSGENDROW 29
|
MENU HELPMSGENDROW 29
|
||||||
|
|
||||||
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
|
# Refer to https://wiki.syslinux.org/wiki/index.php/Comboot/menu.c32
|
||||||
|
|
||||||
MENU COLOR border 30;44 #40ffffff #a0000000 std
|
MENU COLOR border 30;44 #40ffffff #a0000000 std
|
||||||
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
|
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
|
||||||
@ -23,3 +23,6 @@ MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
|
|||||||
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
|
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
|
||||||
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
|
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
|
||||||
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
|
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
|
||||||
|
|
||||||
|
MENU CLEAR
|
||||||
|
MENU IMMEDIATE
|
32
syslinux/tuxOS_iso_pxe-linux.cfg
Normal file
32
syslinux/tuxOS_iso_pxe-linux.cfg
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
LABEL arch64_nbd
|
||||||
|
TEXT HELP
|
||||||
|
Boot tuxOS install medium using NBD.
|
||||||
|
It allows you to install tuxOS or perform system maintenance.
|
||||||
|
ENDTEXT
|
||||||
|
MENU LABEL Boot tuxOS install medium (x86_64, NBD)
|
||||||
|
LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
|
INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
|
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} cms_verify=y
|
||||||
|
SYSAPPEND 3
|
||||||
|
|
||||||
|
LABEL arch64_nfs
|
||||||
|
TEXT HELP
|
||||||
|
Boot tuxOS live medium using NFS.
|
||||||
|
It allows you to install tuxOS or perform system maintenance.
|
||||||
|
ENDTEXT
|
||||||
|
MENU LABEL Boot tuxOS install medium (x86_64, NFS)
|
||||||
|
LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
|
INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
|
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt cms_verify=y
|
||||||
|
SYSAPPEND 3
|
||||||
|
|
||||||
|
LABEL arch64_http
|
||||||
|
TEXT HELP
|
||||||
|
Boot tuxOS live medium using HTTP.
|
||||||
|
It allows you to install tuxOS or perform system maintenance.
|
||||||
|
ENDTEXT
|
||||||
|
MENU LABEL Boot tuxOS install medium (x86_64, HTTP)
|
||||||
|
LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
|
INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
|
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ cms_verify=y
|
||||||
|
SYSAPPEND 3
|
5
syslinux/tuxOS_iso_pxe.cfg
Normal file
5
syslinux/tuxOS_iso_pxe.cfg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
INCLUDE tuxOS_iso_head.cfg
|
||||||
|
|
||||||
|
INCLUDE tuxOS_iso_pxe-linux.cfg
|
||||||
|
|
||||||
|
INCLUDE tuxOS_iso_tail.cfg
|
9
syslinux/tuxOS_iso_sys-linux.cfg
Normal file
9
syslinux/tuxOS_iso_sys-linux.cfg
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
LABEL arch64
|
||||||
|
TEXT HELP
|
||||||
|
Boot tuxOS install medium on BIOS.
|
||||||
|
It allows you to install tuxOS or perform system maintenance.
|
||||||
|
ENDTEXT
|
||||||
|
MENU LABEL Boot tuxOS install medium (x86_64, BIOS)
|
||||||
|
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
|
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
|
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user