#!/bin/bash if [ $(id -u) != "0" ]; then echo "This script must be run as root" 1>&2 exit 1 fi # # Notes # • start with clean /var/db/, if you have binpkgs or distfiles on a host you can mount --bind or rsync them to the chroot # • plymouth graphical splash via genkernel-next is commented out as it only supports systemd, GentooX is using OpenRC # • ZFS temporarily disabled as it's not officially supported in Linux 5.5 and also errors with: # FATAL: modpost: GPL-incompatible module zfs.ko uses GPL-only symbol '__rcu_read_lock' # • CONFIG_ISO9660_FS=y must be a module and not 'm' otherwise livecd won't boot, squashfs cannot be bigger than 4GB, also empty 'livecd' file should exist on iso's / # # dependencies # base install: genkernel btrfs-progs portage-utils gentoolkit cpuid2cpuflags cryptsetup lvm2 mdadm dev-vcs/git # # gitprefix="https://gitgud.io/cloveros/cloveros/raw/master" rootpassword=gentoox username=gentoox userpassword=gentoox builddate="$(date +%Y%m%d).graphite" builddir="build-$(date +%Y%m%d)" stage3tarball="stage3-amd64-20200504.graphite.tar.xz" KERNEL_CONFIG_DIFF="0001-kernel-config-cfs-r5.patch" binpkgs="$(pwd)/var/cache/binpkgs/" distfiles="$(pwd)/var/cache/distfiles/" #build_weston=y #build_kde=y #build_steam=y #build_extra=y #configure_user=y #clover_rice="y" #build_iso=y if [[ ! -d $builddir ]]; then mkdir -v $builddir; fi cd $builddir if [[ ! -f 'image/etc/gentoo-release' ]]; then mkdir image/ cd image/ if [[ -f "../../$stage3tarball" ]]; then cp -v "../../$stage3tarball" . else cp -v /var/tmp/catalyst/builds/default/stage3-amd64-$builddate.tar.xz . fi if [[ $? -ne 0 ]]; then echo "you need to build stage3 tarball that has gcc graphite support first via build-stage3.sh"; exit 1; fi echo 'extracting stage3 tarball...' tar xJpf stage3* --xattrs --numeric-owner rm -f stage3* cp ../../$KERNEL_CONFIG_DIFF usr/src cp ../../zfs-ungpl-rcu_read_unlock-export.diff usr/src mkdir -p etc/portage/patches cp -r ../../patches/* etc/portage/patches/ mkdir -p etc/portage/patches/app-crypt/efitools cp ../../efitools-1.9.2-fixup-UNKNOWN_GLYPH.patch etc/portage/patches/app-crypt/efitools/ cp ../../qt-creator-use-llvm9.patch usr/src/ mkdir -p etc/portage/patches/www-client/firefox wget --quiet -P etc/portage/patches/www-client/firefox/ 'https://raw.githubusercontent.com/bmwiedemann/openSUSE/master/packages/m/MozillaFirefox/firefox-branded-icons.patch' wget --quiet -P etc/portage/patches/www-client/firefox/ 'https://raw.githubusercontent.com/bmwiedemann/openSUSE/master/packages/m/MozillaFirefox/firefox-kde.patch' wget --quiet -P etc/portage/patches/www-client/firefox/ 'https://raw.githubusercontent.com/bmwiedemann/openSUSE/master/packages/m/MozillaFirefox/mozilla-kde.patch' wget --quiet -P etc/portage/patches/www-client/firefox/ 'http://bazaar.launchpad.net/~mozillateam/firefox/firefox-trunk.head/download/head:/unitymenubar.patch-20130215095938-1n6mqqau8tdfqwhg-1/unity-menubar.patch' mkdir -p etc/portage/package.mask cp ../../package.mask/* etc/portage/package.mask/ cp ../../arch-chroot usr/local/sbin/ cp ../../genfstab usr/local/sbin/ if [[ ! -z $binpkgs ]] && [[ ! -z $distfiles ]]; then #rsync -a $binpkgs var/cache/binpkgs/ #rsync -a $distfiles var/cache/distfiles/ mkdir -p $binpkgs mkdir -p $distfiles mount --bind $binpkgs var/cache/binpkgs/ mount --bind $distfiles var/cache/distfiles/ fi cp /etc/resolv.conf etc/ cd .. fi if [[ -z $(findmnt image/proc) ]]; then mount -t proc none image/proc mount --rbind /dev image/dev mount --rbind /sys image/sys if [[ -z $(findmnt image/var/cache/binpkgs) ]]; then mount --bind $binpkgs image/var/cache/binpkgs/ mount --bind $distfiles image/var/cache/distfiles/ fi else echo "proc already mounted..." fi cd image/ if [[ $# -ge 1 ]]; then case $1 in "chroot") chroot . /bin/bash -i exit 0 ;; esac fi if [[ ! -f 'tmp/gentoox-base-done' ]]; then cat < /etc/portage/make.conf mkdir /etc/portage/env echo 'CFLAGS="\${CFLAGS} -fno-lto" CXXFLAGS="\${CFLAGS} -fno-lto"' > /etc/portage/env/nolto.conf echo 'CFLAGS="-O2 -march=sandybridge -mtune=sandybridge -pipe" CXXFLAGS="\${CFLAGS}"' > /etc/portage/env/O2nolto.conf echo 'CFLAGS="-O3 -march=sandybridge -mtune=sandybridge -pipe" CXXFLAGS="\${CFLAGS}"' > /etc/portage/env/O3nolto.conf echo 'dev-libs/elfutils nolto.conf app-crypt/efitools nolto.conf dev-libs/libaio nolto.conf media-libs/alsa-lib nolto.conf media-libs/mesa nolto.conf media-libs/x264 nolto.conf dev-libs/weston nolto.conf sys-auth/elogind nolto.conf dev-lang/spidermonkey nolto.conf sys-devel/llvm nolto.conf sys-libs/compiler-rt-sanitizers nolto.conf x11-drivers/xf86-video-intel nolto.conf x11-drivers/xf86-video-amdgpu nolto.conf x11-drivers/xf86-video-ati nolto.conf x11-drivers/xf86-video-intel nolto.conf x11-base/xorg-server nolto.conf dev-libs/weston nolto.conf dev-util/umockdev O2nolto.conf media-libs/avidemux-core nolto.conf dev-qt/qtcore nolto.conf app-office/libreoffice nolto.conf sys-auth/passwdqc O2nolto.conf www-client/firefox O3nolto.conf' > /etc/portage/package.env echo 'sys-devel/gcc graphite sys-devel/llvm gold sys-apps/kmod lzma sys-kernel/linux-firmware initramfs redistributable unknown-license x11-libs/libdrm libkms media-libs/mesa d3d9 lm-sensors opencl vaapi vdpau vulkan vulkan-overlay xa xvmc media-libs/libsdl2 gles2 www-client/firefox -system-av1 -system-icu -system-jpeg -system-libevent -system-libvpx -system-sqlite -system-harfbuzz -system-webp hwaccel pgo lto wayland dev-libs/boost python dev-lang/python sqlite sys-fs/squashfs-tools zstd sys-boot/grub:2 mount libzfs x11-libs/libxcb xkb dev-db/sqlite secure-delete x11-base/xorg-server xvfb sys-apps/xdg-desktop-portal screencast dev-vcs/git tk dev-libs/libjcat pkcs7 gpg dev-libs/libdbusmenu gtk3 */* PYTHON_TARGETS: python2_7 python3_7 */* PYTHON_SINGLE_TARGET: -* python3_7 dev-python/certifi python_targets_python3_6 dev-python/setuptools python_targets_python3_6 dev-python/six python_targets_python3_6 dev-python/cffi python_targets_python3_6 dev-python/numpy python_targets_python3_6 dev-python/cython python_targets_python3_6 dev-python/requests python_targets_python3_6 dev-python/idna python_targets_python3_6 dev-python/cryptography python_targets_python3_6 dev-libs/libnatspec python_single_target_python2_7 dev-lang/yasm python_single_target_python2_7 media-libs/libcaca python_single_target_python2_7 gnome-base/libglade python_single_target_python2_7' > /etc/portage/package.use/gentoox rm -rf /etc/portage/package.accept_keywords/ echo -n > /etc/portage/package.accept_keywords emerge --autounmask=y --autounmask-write=y -vDN @world emerge -v gentoo-sources genkernel portage-utils gentoolkit cpuid2cpuflags cryptsetup lvm2 mdadm dev-vcs/git btrfs-progs app-arch/lz4 ntfs3g dosfstools exfat-utils f2fs-tools gptfdisk efitools shim emerge --noreplace app-editors/nano touch /tmp/gentoox-base-done HEREDOC #rsync -av --delete var/cache/{binpkgs,distfiles} ../var/cache/ exit 0 else echo "base system already compiled, skipping..."; fi if [[ ! -f 'tmp/gentoox-kernel-done' ]]; then cat <> /etc/genkernel.conf #echo -e '\nrc_interactive="NO"' >> /etc/rc.conf cd /usr/src/linux/ if [[ ! -f '/tmp/gentoox-kernelpatches-applied' ]]; then wget --quiet 'https://git.archlinux.org/svntogit/packages.git/plain/trunk/config?h=packages/linux' -O .config git clone https://github.com/graysky2/kernel_gcc_patch.git wget --quiet https://gitlab.com/post-factum/pf-kernel/commit/6401ed9bdf5c3d13b959c938e5d38a3b03cfa062.diff -O O3-always-available.diff #wget --quiet -m -np -c 'ck.kolivas.org/patches/5.0/5.7/5.7-ck1/patches/' wget --quiet https://gitlab.com/sirlucjan/kernel-patches/-/raw/master/5.7/aufs-patches/0001-aufs-20200518.patch wget --quiet https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux56-rc-tkg/linux56-tkg-patches/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch wget --quiet https://gitlab.com/sirlucjan/kernel-patches/-/raw/master/5.7/clearlinux-patches/0001-clearlinux-patches.patch wget --quiet https://gitlab.com/sirlucjan/kernel-patches/-/raw/master/5.7/fixes-miscellaneous/0001-fixes-miscellaneous.patch wget --quiet https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux56-rc-tkg/linux56-tkg-patches/0007-v5.6-fsync.patch wget --quiet https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux56-rc-tkg/linux56-tkg-patches/0011-ZFS-fix.patch patch -p1 < kernel_gcc_patch/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v5.7+.patch patch -p1 < O3-always-available.diff #for f in ck.kolivas.org/patches/5.0/5.7/5.7-ck1/patches/*.patch; do patch -p1 < "\$f"; done patch -p0 < ../$KERNEL_CONFIG_DIFF patch -p1 < 0001-aufs-20200518.patch echo -e "CONFIG_AUFS_FS=y\nCONFIG_AUFS_BRANCH_MAX_127=y\nCONFIG_AUFS_BRANCH_MAX_511=n\nCONFIG_AUFS_BRANCH_MAX_1023=n\nCONFIG_AUFS_BRANCH_MAX_32767=n\nCONFIG_AUFS_HNOTIFY=y\nCONFIG_AUFS_EXPORT=n\nCONFIG_AUFS_XATTR=y\nCONFIG_AUFS_FHSM=y\nCONFIG_AUFS_RDU=n\nCONFIG_AUFS_DIRREN=n\nCONFIG_AUFS_SHWH=n\nCONFIG_AUFS_BR_RAMFS=y\nCONFIG_AUFS_BR_FUSE=n\nCONFIG_AUFS_BR_HFSPLUS=n\nCONFIG_AUFS_DEBUG=n" >> .config sed -i "s/CONFIG_ISO9660_FS=m/CONFIG_ISO9660_FS=y/" .config patch -p1 < 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch patch -p1 < 0001-clearlinux-patches.patch patch -p1 < 0001-fixes-miscellaneous.patch patch -p1 < 0007-v5.6-fsync.patch patch -p1 < 0011-ZFS-fix.patch patch -p1 < ../zfs-ungpl-rcu_read_unlock-export.diff sed -i 's/CONFIG_DEFAULT_HOSTNAME="archlinux"/CONFIG_DEFAULT_HOSTNAME="gentoox"/' .config sed -i 's/CONFIG_LOCALVERSION=""/CONFIG_LOCALVERSION="-x86_64"/' .config sed -i 's/CONFIG_NET_IP_TUNNEL=y/CONFIG_NET_IP_TUNNEL=m/' .config sed -i 's/CONFIG_NET_UDP_TUNNEL=y/CONFIG_NET_UDP_TUNNEL=m/' .config make oldconfig touch /tmp/gentoox-kernelpatches-applied fi cd /usr/src rm -f $KERNEL_CONFIG_DIFF #mkdir -p /usr/share/genkernel/distfiles/ #wget https://www.busybox.net/downloads/busybox-1.20.2.tar.bz2 -d /usr/share/genkernel/distfiles/ #echo -e '\nMAKEOPTS="-j12"' >> /etc/genkernel.conf # former command is genkernel-next (systemd only), latter is for genkernel #genkernel --kernel-config=/usr/src/linux-\$KERNELVERSION-gentoo/.config --no-mrproper --udev --plymouth --luks --lvm --mdadm --btrfs --zfs all genkernel --kernel-config=/usr/src/linux-\$KERNELVERSION-gentoo/.config --no-mrproper kernel #unmask zfs to prompt installation of masked zfs-9999 zfs-kmod-9999 echo 'sys-fs/zfs sys-fs/zfs-kmod' >> /etc/portage/package.unmask/zfs echo 'sys-fs/zfs ** sys-fs/zfs-kmod **' >> /etc/portage/package.accept_keywords emerge -v grub:2 squashfs-tools linux-firmware os-prober zfs zfs-kmod hostid > /etc/hostid dd if=/dev/urandom of=/dev/stdout bs=1 count=4 > /etc/hostid genkernel --microcode --luks --lvm --mdadm --btrfs --disklabel --zfs initramfs XZ_OPT="--lzma1=preset=9e,dict=128MB,nice=273,depth=200,lc=4" tar --lzma -cf /usr/src/kernel-gentoox.tar.lzma /boot/*\${KERNELVERSION}* -C /lib/modules/ . sed -i "s/#GRUB_CMDLINE_LINUX_DEFAULT=\"\"/GRUB_CMDLINE_LINUX_DEFAULT=\"zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20 zswap.zpool=z3fold dobtrfs\"/" /etc/default/grub sed -i "s/#GRUB_GFXMODE=640x480/GRUB_GFXMODE=auto/" /etc/default/grub sed -i "s/#GRUB_GFXPAYLOAD_LINUX=/GRUB_GFXPAYLOAD_LINUX=keep/" /etc/default/grub rc-update add zfs-import boot rc-update add zfs-mount boot touch /tmp/gentoox-kernel-done HEREDOC cp -v usr/src/kernel-gentoox.tar.lzma ../ exit 0 else echo "kernel already compiled, skipping..."; fi if [[ ! -z $build_weston ]] && [[ ! -f 'tmp/gentoox-weston-done' ]]; then cat < /etc/portage/package.use/gentoox echo -e '\ndev-ruby/minitest ruby_targets_ruby27 dev-ruby/net-telnet ruby_targets_ruby27 dev-ruby/power_assert ruby_targets_ruby27 dev-ruby/rake ruby_targets_ruby27 dev-ruby/test-unit ruby_targets_ruby27 dev-ruby/xmlrpc ruby_targets_ruby27 dev-ruby/bundler ruby_targets_ruby27 dev-ruby/did_you_mean ruby_targets_ruby27 dev-ruby/json ruby_targets_ruby27 dev-ruby/rdoc ruby_targets_ruby27 virtual/rubygems ruby_targets_ruby27 dev-ruby/rubygems ruby_targets_ruby27 dev-ruby/kpeg ruby_targets_ruby27 dev-ruby/racc ruby_targets_ruby27 virtual/ruby-ssl ruby_targets_ruby27' >> /etc/portage/package.use/gentoox emerge -v --autounmask=y --autounmask-write=y --keep-going=y --deep --newuse xorg-server nvidia-firmware arandr elogind sudo vim weston wpa_supplicant ntp bind-tools telnet-bsd snapper \ nfs-utils cifs-utils samba dhcpcd nss-mdns zsh zsh-completions powertop cpupower lm-sensors screenfetch gparted gdb atop dos2unix app-misc/screen app-text/tree #plymouth-openrc-plugin #emerge -avuDN --with-bdeps=y @world #emerge -v --depclean groupadd weston-launch touch /tmp/gentoox-weston-done HEREDOC exit 0 fi if [[ ! -z $build_kde ]] && [[ ! -f 'tmp/gentoox-kde-done' ]]; then cat <> /etc/portage/package.accept_keywords #mkdir -p /etc/portage/package.mask /etc/portage/package.unmask #echo '*/*::mv' >> /etc/portage/package.mask/lowprio #echo 'app-portage/portage-bashrc-mv::mv #app-shells/runtitle::mv' >> /etc/portage/package.unmask/wanted emerge sys-config/ltoize sed -i '1s/^/source make.conf.lto\n/' /etc/portage/make.conf sed -i '1s/^/NTHREADS="12"\n/' /etc/portage/make.conf echo -e '\nkde-plasma/plasma-meta discover networkmanager thunderbolt kde-apps/kio-extras samba media-video/vlc archive bluray dav1d libcaca live opus speex theora vaapi vdpau x265 media-video/ffmpeg bluray cdio dav1d rubberband libass ogg vpx rtmp aac wavpack opus gme v4l webp theora xcb cpudetection x265 libaom truetype libsoxr modplug samba vaapi vdpau libcaca libdrm librtmp opencl openssl speex dev-qt/qtmultimedia gstreamer gnome-base/gvfs afp archive bluray fuse gphoto2 ios mtp nfs samba zeroconf net-irc/telepathy-idle python_single_target_python2_7' >> /etc/portage/package.use/gentoox # enable flatpak backend in discover, patch qt-creator to use clang9 effectively dropping clang8 sed -i "s/DBUILD_FlatpakBackend=OFF/DBUILD_FlatpakBackend=ON/" /var/db/repos/gentoo/kde-plasma/discover/discover-5.18.5.1.ebuild ebuild /var/db/repos/gentoo/kde-plasma/discover/discover-5.18.5.ebuild manifest patch -p1 /var/db/repos/gentoo/dev-qt/qt-creator/qt-creator-4.10.1.ebuild /usr/src/qt-creator-use-llvm9.patch ebuild /var/db/repos/gentoo/dev-qt/qt-creator/qt-creator-4.10.1.ebuild manifest emerge -v --jobs=2 --keep-going=y --autounmask=y --autounmask-write=y --deep --newuse kde-plasma/plasma-meta kde-apps/kde-apps-meta kde-apps/kmail kde-apps/knotes \ latte-dock calamares plasma-sdk qt-creator libdbusmenu gvfs emerge --noreplace dev-qt/qt-creator echo 'dev-qt/qt-creator' >> /etc/portage/package.mask/gentoox yes | layman -o https://raw.githubusercontent.com/fosero/flatpak-overlay/master/repositories.xml -f -a flatpak-overlay -q emerge -v sys-apps/flatpak touch /tmp/gentoox-kde-done HEREDOC exit 0 fi if [[ ! -z $build_steam ]] && [[ ! -f 'tmp/gentoox-steam-done' ]]; then cat <> /etc/portage/package.use/gentoox emerge -v steam-meta touch /tmp/gentoox-steam-done HEREDOC exit 0 fi if [[ ! -z $build_extra ]] && [[ ! -f 'tmp/gentoox-extra-done' ]]; then cat <> /etc/portage/package.use/gentoox yes | layman -a bobwya -q mkdir -p /etc/portage/package.mask /etc/portage/package.unmask echo '*/*::bobwya' >> /etc/portage/package.mask/lowprio echo 'app-benchmarks/phoronix-test-suite::bobwya' >> /etc/portage/package.unmask/wanted echo 'dev-php/fpdf::bobwya' >> /etc/portage/package.unmask/wanted emerge -v gimp avidemux blender tuxkart phoronix-test-suite keepassxc libreoffice firefox adobe-flash mpv audacious-plugins audacious net-irc/hexchat virtualbox-guest-additions smartmontools touch /tmp/gentoox-extra-done HEREDOC exit 0 fi if [[ ! -z $configure_user ]] && [[ ! -f 'tmp/gentoox-user-configured' ]]; then cp ../../install.sh usr/src/ cp ../../postinstall.sh usr/src/ mkdir usr/src/theme cp ../../1518039301698.png usr/src/theme/ cp '../../GentooX Breeze Dark Transparent.tar.gz' usr/src/theme/ cat < /etc/conf.d/net echo 'nameserver 1.1.1.1 nameserver 2606:4700:4700::1111' > /etc/resolv.conf # theme related (cd /usr/share/icons; git clone https://github.com/keeferrourke/la-capitaine-icon-theme.git) cd /usr/src/ git clone https://github.com/ishovkun/SierraBreeze.git cd SierraBreeze/ mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_LIBDIR=lib -DBUILD_TESTING=OFF -DKDE_INSTALL_USE_QT_SYS_PATHS=ON make install cd / #echo "root:\$rootpassword" | chpasswd yes $rootpassword | passwd root useradd $username yes $userpassword | passwd $username gpasswd -a $username wheel gpasswd -a $username weston-launch gpasswd -a $username vboxguest gpasswd -a $username vboxsf #cp /usr/share/zoneinfo/UTC /etc/localtime echo "America/Chicago" > /etc/timezone cp /usr/share/zoneinfo/America/Chicago /etc/localtime echo -e '\nen_US.UTF-8 UTF-8 ja_JP.EUC-JP EUC-JP ja_JP.UTF-8 UTF-8 ko_KR.EUC-KR EUC-KR ko_KR.UTF-8 UTF-8 pl_PL ISO-8859-2 pl_PL.UTF-8 UTF-8' >> /etc/locale.gen locale-gen eselect locale set en_US.utf8 echo "frozen-files=\"/etc/sudoers\"" >> /etc/dispatch-conf.conf sed -i "s/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/" /etc/sudoers #sed -Ei "s@c([2-6]):2345:respawn:/sbin/agetty 38400 tty@#\0@" /etc/inittab sed -i "s@c1:12345:respawn:/sbin/agetty 38400 tty1 linux@c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux@" /etc/inittab echo -e "ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel\nupdate_config=1" > /etc/wpa_supplicant/wpa_supplicant.conf eselect fontconfig enable 52-infinality.conf eselect infinality set infinality eselect lcdfilter set infinality emerge -v ja-ipafonts source-han-sans echo 'kernel.sysrq=1' >> /etc/sysctl.d/local.conf usermod -aG users,portage,lp,adm,audio,cdrom,disk,input,usb,video,cron $username cp /etc/samba/smb.conf.default /etc/samba/smb.conf sed -i "s/ workgroup = MYGROUP/ workgroup = WORKGROUP/" /etc/samba/smb.conf rc-update add dbus default rc-update add dhcpcd default rc-update add avahi-daemon default rc-update add samba default rc-update add sshd default cp /usr/src/install.sh /home/$username/ cp /usr/src/postinstall.sh /home/$username/ cd /home/$username/ echo '~/postinstall.sh &' >> .xinitrc echo 'exec dbus-launch --exit-with-session startplasma-x11' >> .xinitrc chown -R $username.$username /home/$username/ su - gentoox touch /tmp/gentoox-user-configured HEREDOC exit 0 fi if [[ ! -z $clover_rice ]]; then cat < Desktop/home.desktop echo -e "[Desktop Entry]\nEncoding=UTF-8\nType=Link\nName=Applications\nIcon=folder\nExec=spacefm /usr/share/applications/" > Desktop/applications.desktop cp /usr/share/applications/{firefox.desktop,mpv.desktop,emacs.desktop,zzz-gimp.desktop,porthole.desktop,xarchiver.desktop} Desktop/ echo -e "~rows=0\n1=home.desktop\n2=applications.desktop\n3=porthole.desktop\n4=firefox.desktop\n5=mpv.desktop\n6=emacs.desktop\n7=zzz-gimp.desktop\n8=xarchiver.desktop" > .config/spacefm/desktop0 chown -R $username /home/$username/ wget $gitprefix/livecd_install.sh -P /home/$username/ chmod +x /home/$username/livecd_install.sh sed -i "s@c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux@c1:12345:respawn:/sbin/agetty -a $username --noclear 38400 tty1 linux@" /etc/inittab sed -i "s/^/#/" /home/$username/.bash_profile echo -e 'if [ -z "\$DISPLAY" ] && [ -z "\$SSH_CLIENT" ] && ! pgrep X > /dev/null; then X & export DISPLAY=:0 fvwm & while sleep 0.2; do if [ -d /proc/\$! ]; then ((i++)); [ "\$i" -gt 6 ] && break; else i=0; fvwm & fi; done urxvtd -o -f urxvtc -geometry 80x24+100+100 -e sudo ./livecd_install.sh rc-config start wpa_supplicant &> /dev/null & nitrogen --set-zoom wallpaper.png & spacefm --desktop & urxvtc -geometry 1000x1+0+0 -fn 6x13 -letsp 0 -sl 0 -e ~/stats.sh xinput set-prop "SynPS/2 Synaptics TouchPad" "libinput Tapping Enabled" 1 & xinput list --name-only | sed "/Virtual core pointer/,/Virtual core keyboard/"\!"d;//d" | xargs -I{} xinput set-prop pointer:{} "libinput Accel Profile Enabled" 0 1 &> /dev/null & fi' >> /home/$username/.bash_profile HEREDOC exit 0 fi if [[ ! -z $build_iso ]]; then cat <.*/\1/p") if [[ ! -f "current-install-amd64-minimal/install-amd64-minimal-$isobuilddate.iso" ]]; then wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-install-amd64-minimal/install-amd64-minimal-$isobuilddate.iso fi #emerge -u dev-libs/libisoburn sys-fs/squashfs-tools xorriso -osirrox on -indev *-$isobuilddate.iso -extract / iso/ mv image.squashfs iso/image.squashfs tar -xOf kernel-gentoox.tar.lzma --wildcards \*vmlinuz-\* > iso/boot/gentoo tar -xOf kernel-gentoox.tar.lzma --wildcards \*initramfs-\* | xz -d | gzip > iso/boot/gentoo.igz tar -xOf kernel-gentoox.tar.lzma --wildcards \*System.map-\* > iso/boot/System-gentoo.map sed -i "s@dokeymap@aufs@g" iso/isolinux/isolinux.cfg sed -i "s@dokeymap@aufs@g" iso/grub/grub.cfg xorriso -as mkisofs -r -J \ -joliet-long -l -cache-inodes \ -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \ -partition_offset 16 -A "GentooX Live" \ -b isolinux/isolinux.bin -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -eltorito-alt-boot -e gentoo.efimg -no-emul-boot -isohybrid-gpt-basdat \ -V "GentooX Live" -o GentooX-x86_64-$builddate.iso iso/ #rm -Rf image/ iso/ kernel-gentoox.tar.lzma fi