Removed customize_airootfs.sh and new SSH code
* Code has been merged into Build Linux * (releng copy is updated in place) * SSH key for wktech now generated at build time * Hostname is now set using main.py * Passwords are now set using main.py * Timezone is now set using main.py
This commit is contained in:
parent
f97028bbdd
commit
e37b1529b0
4 changed files with 50 additions and 76 deletions
|
|
@ -8,6 +8,9 @@ ENABLED_UPLOAD_DATA = False
|
||||||
ARCHIVE_PASSWORD='Abracadabra'
|
ARCHIVE_PASSWORD='Abracadabra'
|
||||||
KIT_NAME_FULL='Wizard Kit'
|
KIT_NAME_FULL='Wizard Kit'
|
||||||
KIT_NAME_SHORT='WK'
|
KIT_NAME_SHORT='WK'
|
||||||
|
LINUX_TECH_PASSWORD='Abracadabra'
|
||||||
|
LINUX_TIME_ZONE='America/Los_Angeles'
|
||||||
|
LINUX_ROOT_PASSWORD='Abracadabra'
|
||||||
OFFICE_SERVER_IP='10.0.0.10'
|
OFFICE_SERVER_IP='10.0.0.10'
|
||||||
QUICKBOOKS_SERVER_IP='10.0.0.10'
|
QUICKBOOKS_SERVER_IP='10.0.0.10'
|
||||||
SUPPORT_MESSAGE='Please let 2Shirt know by opening an issue on GitHub'
|
SUPPORT_MESSAGE='Please let 2Shirt know by opening an issue on GitHub'
|
||||||
|
|
|
||||||
|
|
@ -1,72 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e -u
|
|
||||||
|
|
||||||
# Set hostname
|
|
||||||
echo "[customize_airootfs] INFO: Set hostname"
|
|
||||||
echo "wk-arch" > /etc/hostname
|
|
||||||
echo "127.0.1.1 wk-arch.localdomain wk-arch" >> /etc/hosts
|
|
||||||
|
|
||||||
# Set locale
|
|
||||||
echo "[customize_airootfs] INFO: Set locale"
|
|
||||||
sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen
|
|
||||||
locale-gen
|
|
||||||
|
|
||||||
# Time Settings
|
|
||||||
echo "[customize_airootfs] INFO: Set time"
|
|
||||||
ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
|
|
||||||
sed -i 's/#FallbackNTP/NTP/' /etc/systemd/timesyncd.conf
|
|
||||||
#timedatectl set-ntp true
|
|
||||||
|
|
||||||
# root user settings
|
|
||||||
echo "[customize_airootfs] INFO: Setup root user"
|
|
||||||
usermod -s /usr/bin/zsh root
|
|
||||||
cp -aT /etc/skel/ /root/
|
|
||||||
rm /root/.ssh/id*
|
|
||||||
rm /root/.zlogin
|
|
||||||
chmod 700 /root
|
|
||||||
echo "root:Abracadabra" | chpasswd
|
|
||||||
|
|
||||||
# wktech user settings
|
|
||||||
echo "[customize_airootfs] INFO: Setup wktech user"
|
|
||||||
groupadd -r autologin
|
|
||||||
useradd -m -s /bin/zsh -G autologin,power,storage,wheel -U wktech
|
|
||||||
echo "wktech:Abracadabra" | chpasswd
|
|
||||||
|
|
||||||
# Enable sudo for %wheel
|
|
||||||
echo "[customize_airootfs] INFO: Enable sudo"
|
|
||||||
echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
|
||||||
|
|
||||||
# Misc
|
|
||||||
echo "[customize_airootfs] INFO: Misc Settings"
|
|
||||||
#sed -i -r 's/extensions.autoDisableScopes", [0-9]+/extensions.autoDisableScopes", 0/' /usr/lib/firefox/browser/defaults/preferences/vendor.js
|
|
||||||
mkdir /media
|
|
||||||
|
|
||||||
# Set mirrorlist
|
|
||||||
echo "[customize_airootfs] INFO: Setup pacman mirrorlist"
|
|
||||||
# Ranked on 2017-10-19
|
|
||||||
echo 'Server = http://mirrors.cat.pdx.edu/archlinux/$repo/os/$arch' > /etc/pacman.d/mirrorlist
|
|
||||||
echo 'Server = http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
|
||||||
echo 'Server = http://archlinux.surlyjake.com/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
|
||||||
echo 'Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
|
||||||
echo 'Server = https://archlinux.surlyjake.com/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
|
||||||
echo 'Server = http://ca.us.mirror.archlinux-br.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
|
||||||
echo 'Server = https://arlm.tyzoid.com/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
|
||||||
echo 'Server = http://mirror.rackspace.com/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
|
||||||
echo 'Server = http://il.us.mirror.archlinux-br.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
|
||||||
|
|
||||||
# journald settings (from archiso)
|
|
||||||
echo "[customize_airootfs] INFO: Setup journald"
|
|
||||||
sed -i 's/#\(Storage=\)auto/\1volatile/' /etc/systemd/journald.conf
|
|
||||||
|
|
||||||
# logind settings (from archiso)
|
|
||||||
echo "[customize_airootfs] INFO: Setup logind"
|
|
||||||
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
|
|
||||||
|
|
||||||
echo "[customize_airootfs] INFO: Setup systemd"
|
|
||||||
#systemctl enable pacman-init.service choose-mirror.service
|
|
||||||
#systemctl set-default graphical.target
|
|
||||||
|
|
||||||
echo "[customize_airootfs] INFO: Completed."
|
|
||||||
|
|
@ -4,5 +4,6 @@ base-devel
|
||||||
curl
|
curl
|
||||||
git
|
git
|
||||||
libewf
|
libewf
|
||||||
|
openssh
|
||||||
progsreiserfs
|
progsreiserfs
|
||||||
rsync
|
rsync
|
||||||
|
|
|
||||||
50
Build Linux
50
Build Linux
|
|
@ -97,14 +97,18 @@ function run_elevated() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_archlive() {
|
function update_archlive() {
|
||||||
|
hostname="$(echo "${KIT_NAME_SHORT}-linux" | tr "[:upper:]" "[:lower:]")"
|
||||||
|
username="$(echo "${KIT_NAME_SHORT}tech" | tr "[:upper:]" "[:lower:]")"
|
||||||
|
|
||||||
# build.sh
|
# build.sh
|
||||||
if ! grep -iq 'customize_iso' "$LIVE_DIR/build.sh"; then
|
if ! grep -iq 'customize_iso' "$LIVE_DIR/build.sh"; then
|
||||||
sed -ir "s!run_once make_iso\$!# customize_iso\ncp -a \"$ROOT_DIR/.linux_items/include/iso\"/* \"\${work_dir}/iso\"/\n\nrun_once make_iso!" "$LIVE_DIR/build.sh"
|
sed -ir "s!run_once make_iso\$!# customize_iso\ncp -a \"$ROOT_DIR/.linux_items/include/iso\"/* \"\${work_dir}/iso\"/\n\nrun_once make_iso!" "$LIVE_DIR/build.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# MOTD
|
# Hostname
|
||||||
sed -i "s/WK/$KIT_NAME_SHORT/" "$LIVE_DIR/airootfs/etc/motd"
|
echo "$hostname" > "$LIVE_DIR/airootfs/etc/hostname"
|
||||||
|
echo "127.0.1.1 $hostname.localdomain $hostname" >> "$LIVE_DIR/airootfs/etc/hosts"
|
||||||
|
|
||||||
# Live packages
|
# Live packages
|
||||||
sed -i -r 's/^(b43|clonezilla|gpm|grml|refind|testdisk|vim)/#\1/' "$LIVE_DIR/packages.both"
|
sed -i -r 's/^(b43|clonezilla|gpm|grml|refind|testdisk|vim)/#\1/' "$LIVE_DIR/packages.both"
|
||||||
cat "$ROOT_DIR/.linux_items/packages/live" >> "$LIVE_DIR/packages.both"
|
cat "$ROOT_DIR/.linux_items/packages/live" >> "$LIVE_DIR/packages.both"
|
||||||
|
|
@ -112,10 +116,48 @@ function update_archlive() {
|
||||||
echo "SigLevel = Optional TrustAll" >> "$LIVE_DIR/pacman.conf"
|
echo "SigLevel = Optional TrustAll" >> "$LIVE_DIR/pacman.conf"
|
||||||
echo "Server = file://$REPO_DIR" >> "$LIVE_DIR/pacman.conf"
|
echo "Server = file://$REPO_DIR" >> "$LIVE_DIR/pacman.conf"
|
||||||
|
|
||||||
|
# Locale
|
||||||
|
echo 'sed -i "s/#FallbackNTP/NTP/" /etc/systemd/timesyncd.conf' >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
|
||||||
|
# Mirrors
|
||||||
|
sed -i -r 's/^(.*mirrorlist.*)$/#NOPE#\1/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
#TODO Add mirrors / rankmirrors?
|
||||||
|
|
||||||
|
# MOTD
|
||||||
|
sed -i "s/WK/$KIT_NAME_SHORT/" "$LIVE_DIR/airootfs/etc/motd"
|
||||||
|
|
||||||
# Oh My ZSH
|
# Oh My ZSH
|
||||||
git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git "$SKEL_DIR/.oh-my-zsh"
|
git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git "$SKEL_DIR/.oh-my-zsh"
|
||||||
rm -Rf "$SKEL_DIR/.oh-my-zsh/.git"
|
rm -Rf "$SKEL_DIR/.oh-my-zsh/.git"
|
||||||
curl -o "$SKEL_DIR/.oh-my-zsh/themes/lean.zsh-theme" https://raw.githubusercontent.com/miekg/lean/master/prompt_lean_test.zsh
|
curl -o "$SKEL_DIR/.oh-my-zsh/themes/lean.zsh-theme" https://raw.githubusercontent.com/miekg/lean/master/prompt_lean_test.zsh
|
||||||
|
|
||||||
|
# Services
|
||||||
|
sed -i -r 's/^(.*pacman-init.*)$/#NOPE#\1/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
sed -i -r 's/^(.*choose-mirror.*)$/#NOPE#\1/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
|
||||||
|
# SSH
|
||||||
|
mkdir -p "$SKEL_DIR/.ssh"
|
||||||
|
ssh-keygen -b 4096 -C "$username@$hostname" -N "" -f "$SKEL_DIR/.ssh/id_rsa"
|
||||||
|
echo 'rm /root/.ssh/id*' >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
echo 'rm /root/.zlogin' >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
sed -i -r 's/^(.*PermitRootLogin.*)$/#NOPE#\1/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
|
||||||
|
# Root user
|
||||||
|
echo "echo 'root:$LINUX_ROOT_PASSWORD' | chpasswd" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
|
||||||
|
# Sudo
|
||||||
|
echo "echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
|
||||||
|
# Tech user
|
||||||
|
echo "groupadd -r autologin" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
echo "useradd -m -s /bin/zsh -G autologin,power,storage,wheel -U $username" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
echo "echo '$username:$LINUX_TECH_PASSWORD' | chpasswd" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
|
||||||
|
# Timezone
|
||||||
|
sed -i -r "s#zoneinfo/UTC#$LINUX_TIME_ZONE#g" "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
|
||||||
|
# udevil fix
|
||||||
|
echo "mkdir /media" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
|
||||||
|
|
||||||
# Wallpaper
|
# Wallpaper
|
||||||
mkdir -p "$LIVE_DIR/airootfs/usr/share/wallpaper"
|
mkdir -p "$LIVE_DIR/airootfs/usr/share/wallpaper"
|
||||||
|
|
@ -182,7 +224,7 @@ function build_arch() {
|
||||||
chmod 600 "$LIVE_DIR/airootfs/etc/skel/.ssh/id_rsa"
|
chmod 600 "$LIVE_DIR/airootfs/etc/skel/.ssh/id_rsa"
|
||||||
|
|
||||||
# Build ISO
|
# Build ISO
|
||||||
prefix="$(echo "${KIT_NAME_SHORT}-linux" | tr "[:upper:]" "[:lower:]")"
|
prefix="$(< "$LIVE_DIR/airootfs/etc/hostname")"
|
||||||
label="${KIT_NAME_SHORT}_LINUX"
|
label="${KIT_NAME_SHORT}_LINUX"
|
||||||
"$LIVE_DIR/build.sh" -N "$prefix" -V "$DATE" -L "$label" -w "$TEMP_DIR/Arch" -o "$OUT_DIR" -v | tee -a "$LOG_DIR/$DATETIME.log"
|
"$LIVE_DIR/build.sh" -N "$prefix" -V "$DATE" -L "$label" -w "$TEMP_DIR/Arch" -o "$OUT_DIR" -v | tee -a "$LOG_DIR/$DATETIME.log"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue