#!/bin/bash # Created by Tobias Powalowski build () { ### setting up base structure add_dir "/mnt" add_dir "/media" add_dir "/install" add_dir "/var/log" add_dir "/addons" add_dir "/home" add_symlink /var/run ../run add_symlink /var/lock ../run/lock apps="/usr/bin/getent /sbin/init /sbin/agetty /bin/mount /bin/umount /usr/bin/basename /usr/bin/du /usr/bin/clear \ /usr/bin/env /usr/bin/head /usr/bin/id /usr/bin/md5sum /usr/bin/nano /usr/bin/nc /usr/bin/printf /usr/bin/tail \ /usr/bin/tee /usr/bin/test /usr/bin/tr /usr/bin/tty /usr/bin/uptime /usr/bin/w /usr/bin/who /usr/bin/wc \ /usr/bin/which /usr/bin/whoami /usr/bin/xargs /usr/bin/yes /usr/sbin/syslog-ng /usr/sbin/syslog-ng-ctl \ /usr/bin/loggen /usr/bin/pdbtool /bin/bash /sbin/swapon /usr/bin/uniq /usr/bin/cut /usr/bin/seq /usr/bin/snarf \ /usr/bin/find /usr/bin/sort /sbin/fdisk /sbin/sfdisk /sbin/cfdisk /usr/sbin/parted /usr/sbin/partprobe \ /usr/bin/gawk /bin/cp /bin/mv /sbin/shutdown /usr/bin/free /bin/ls /bin/rm /bin/sed /usr/bin/less /bin/chgrp \ /bin/chmod /bin/chown /bin/date /bin/df /usr/bin/dialog /bin/dmesg /usr/bin/egrep /usr/bin/fgrep /usr/bin/grep \ /bin/hostname /bin/kill /usr/bin/killall /sbin/killall5 /bin/more /bin/ps /bin/pwd /bin/rmdir /bin/stty \ /bin/sync /bin/tar /usr/bin/bsdtar /usr/bin/bsdcpio /usr/bin/touch /bin/uname /usr/bin/vim /sbin/hdparm \ /bin/true /usr/bin/mktemp /usr/sbin/chroot /usr/bin/dirname /usr/bin/expr /usr/bin/bzip2 /sbin/hwclock \ /bin/su /bin/cat /bin/cpio /bin/dd /usr/bin/gzip /usr/bin/wget /usr/bin/top /usr/bin/sdparm /usr/bin/tput \ /sbin/ifconfig /bin/ln /sbin/losetup /bin/mkdir /usr/bin/mkfifo /bin/mknod /usr/bin/readlink /bin/echo \ /usr/bin/reset /sbin/swapoff /sbin/halt /sbin/telinit /usr/bin/awk /usr/bin/dir /sbin/reboot /sbin/poweroff \ /bin/pidof /usr/bin/nc /usr/bin/lzcat /usr/bin/lzma /usr/bin/lzmadec /usr/bin/unlzma /usr/bin/unxz /usr/bin/xz \ /usr/bin/xzcat /usr/bin/xzdec /sbin/switch_root /bin/false /sbin/pivot_root /usr/bin/sleep /sbin/chcpu \ /sbin/ctrlaltdel /sbin/raw /usr/bin/gdisk /usr/bin/sgdisk /usr/bin/cgdisk /usr/bin/fixparts /bin/findmnt \ /bin/lsblk /sbin/swaplabel /usr/bin/cal /usr/bin/chrt /usr/bin/col /usr/bin/colcrt /usr/bin/colrm \ /usr/bin/column /usr/bin/cytune /usr/bin/fallocate /usr/bin/flock /usr/bin/getopt /usr/bin/hexdump \ /usr/bin/i386 /usr/bin/ionice /usr/bin/ipcmk /usr/bin/ipcrm /usr/bin/ipcs /usr/bin/isosize /usr/bin/linux32 \ /usr/bin/linux64 /usr/bin/logger /usr/bin/look /usr/bin/lscpu /usr/bin/mcookie /usr/bin/namei /usr/bin/pg \ /usr/bin/prlimit /usr/bin/rename /usr/bin/renice /usr/bin/rev /usr/bin/script /usr/bin/scriptreplay \ /usr/bin/setarch /usr/bin/setsid /usr/bin/setterm /usr/bin/tailf /usr/bin/taskset /usr/bin/ul /usr/bin/unshare \ /usr/bin/uuidgen /usr/bin/whereis /usr/bin/write /usr/sbin/addpart /usr/sbin/delpart /usr/sbin/fdformat \ /usr/sbin/ldattach /usr/sbin/partx /usr/sbin/readprofile /usr/sbin/rtcwake /usr/sbin/tunelp /usr/sbin/uuidd \ /sbin/sysctl /usr/bin/pgrep /usr/bin/pkill /usr/bin/pmap /usr/bin/pwdx /usr/bin/slabtop /usr/bin/tload \ /usr/bin/vmstat /usr/bin/watch /usr/bin/file /usr/bin/eject /usr/bin/volname /bin/keyctl /sbin/request-key \ /usr/bin/kmod /bin/zsh" for i in $apps; do add_binary "$i" done appfiles="/usr/lib/libkmod.so /usr/bin/lsmod /sbin/depmod /usr/bin/insmod /usr/bin/modinfo /sbin/modprobe \ /usr/bin/rmmod /usr/bin/update-patterndb /usr/bin/gunzip /usr/bin/zcat /usr/bin/lzcmp /usr/bin/lzdiff \ /usr/bin/lzegrep /usr/bin/lzfgrep /usr/bin/lzgrep /usr/bin/lzless /usr/bin/lzmore" for i in $appfiles; do add_file "$i" done ### add zsh files add_full_dir "/etc/zsh" add_full_dir "/usr/share/zsh" add_full_dir "/usr/lib/zsh" ### add system config files systemfiles="bash.bashrc bash.bash_logout crypttab fstab host.conf hosts inputrc mke2fs.conf \ nanorc nsswitch.conf protocols rc.local request-key.conf resolv.conf securetty \ services sysctl.conf vimrc conf.d/syslog-ng" for i in $systemfiles add_file "/etc/$i" done ### add profile.d files add_full_dir "/etc/profile.d" ### adding needed programs from running system add_file "${CONFIG}" "/config" add_symlink "/etc/mtab" "/proc/self/mounts" add_file "/usr/share/terminfo/l/linux" add_file "/usr/share/archboot/base/init" "/init" add_file "/usr/lib/initcpio/init_functions" "/init_functions" add_file "/etc/rc.d/functions" add_file "/usr/sbin/rc.d" add_file "/etc/rc.d/syslog-ng" add_file "/etc/rc.d/hwclock" ### adding config files of installation system for i in $(find /usr/share/archboot/base/etc/* ! -type d); do add_file "$i" "$(echo $i | sed -e 's#/usr/share/archboot/base##g')" done ### add kmod related config file(s) add_file "/usr/lib/depmod.d/search.conf" ### fixing network support add_file "/lib/libnss_files.so.2" add_file "/lib/libnss_dns.so.2" ### add copy-mountpoint.sh add_file "/usr/bin/copy-mountpoint.sh" ### fix file add_file "/usr/share/file/magic.mgc" add_file "/usr/share/misc/magic.mgc" ### fix syslog-ng for i in /usr/lib/syslog-ng/*; do add_file "$i" done add_dir "/var/lib/syslog-ng/" add_dir "/etc/syslog-ng/patterndb.d" ### fix licenses add_file "/usr/share/licenses/file/COPYING" add_file "/usr/share/licenses/bzip2/LICENSE" add_file "/usr/share/licenses/hdparm/LICENSE.TXT" add_file "/usr/share/licenses/ncurses/license.txt" add_file "/usr/share/licenses/pcre/LICENSE" add_file "/usr/share/licenses/shadow/LICENSE" add_file "/usr/share/licenses/sdparm/LICENSE" add_file "/usr/share/licenses/vim/license.txt" add_file "/usr/share/licenses/zlib/LICENSE" add_file "/usr/share/licenses/iana-etc/LICENSE" add_runscript } help () { cat <