Installmage komplett: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
Zeile 91: | Zeile 91: | ||
#unmount | #unmount | ||
+ | </pre> | ||
+ | == | ||
+ | <pre> | ||
+ | #!/bin/bash | ||
+ | |||
+ | function centos_grub.cfg() { | ||
+ | cat<<HERE | ||
+ | set pager=1 | ||
+ | if [ -s $prefix/grubenv ]; then | ||
+ | load_env | ||
+ | fi | ||
+ | if [ "${next_entry}" ] ; then | ||
+ | set default="${next_entry}" | ||
+ | set next_entry= | ||
+ | save_env next_entry | ||
+ | set boot_once=true | ||
+ | else | ||
+ | set default="${saved_entry}" | ||
+ | fi | ||
+ | if [ x"${feature_menuentry_id}" = xy ]; then | ||
+ | menuentry_id_option="--id" | ||
+ | else | ||
+ | menuentry_id_option="" | ||
+ | fi | ||
+ | export menuentry_id_option | ||
+ | if [ "${prev_saved_entry}" ]; then | ||
+ | set saved_entry="${prev_saved_entry}" | ||
+ | save_env saved_entry | ||
+ | set prev_saved_entry= | ||
+ | save_env prev_saved_entry | ||
+ | set boot_once=true | ||
+ | fi | ||
+ | function savedefault { | ||
+ | if [ -z "${boot_once}" ]; then | ||
+ | saved_entry="${chosen}" | ||
+ | save_env saved_entry | ||
+ | fi | ||
+ | } | ||
+ | function load_video { | ||
+ | if [ x$feature_all_video_module = xy ]; then | ||
+ | insmod all_video | ||
+ | else | ||
+ | insmod vbe | ||
+ | insmod vga | ||
+ | insmod video_bochs | ||
+ | insmod video_cirrus | ||
+ | fi | ||
+ | } | ||
+ | terminal_output console | ||
+ | if [ x$feature_timeout_style = xy ] ; then | ||
+ | set timeout_style=menu | ||
+ | set timeout=5 | ||
+ | else | ||
+ | set timeout=5 | ||
+ | fi | ||
+ | |||
+ | set tuned_params="" | ||
+ | menuentry 'CentOS Linux 7 (Core), with Linux 3.10.0-229.el7.x86_64' --class rhel fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-3d94095a-3fea-474e-8b78-90b999fa4868' { | ||
+ | load_video | ||
+ | set gfxpayload=keep | ||
+ | insmod gzio | ||
+ | insmod part_msdos | ||
+ | insmod ext2 | ||
+ | set root='hd0,msdos2' | ||
+ | linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/vda2 ro crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0 | ||
+ | initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img | ||
+ | } | ||
+ | menuentry 'CentOS Linux 7 (Core), with Linux 0-rescue-1cd4592e60244977a7b5b4b10ee0db06' --class rhel fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-1cd4592e60244977a7b5b4b10ee0db06-advanced-3d94095a-3fea-474e-8b78-90b999fa4868' { | ||
+ | load_video | ||
+ | insmod gzio | ||
+ | insmod part_msdos | ||
+ | insmod ext2 | ||
+ | set root='hd0,msdos2' | ||
+ | linux16 /boot/vmlinuz-0-rescue-1cd4592e60244977a7b5b4b10ee0db06 root=/dev/vda2 ro crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0 | ||
+ | initrd16 /boot/initramfs-0-rescue-1cd4592e60244977a7b5b4b10ee0db06.img | ||
+ | } | ||
+ | if [ -f ${config_directory}/custom.cfg ]; then | ||
+ | source ${config_directory}/custom.cfg | ||
+ | elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then | ||
+ | source $prefix/custom.cfg; | ||
+ | fi | ||
+ | HERE | ||
+ | } | ||
+ | |||
+ | |||
+ | function part_format() { | ||
+ | echo "mklabel" | ||
+ | parted -s /dev/vda mklabel msdos | ||
+ | echo "mkpart swap" | ||
+ | parted -s /dev/vda mkpart primary linux-swap 1 2000 | ||
+ | echo "mkpart /" | ||
+ | parted -s /dev/vda mkpart primary ext2 2000 100% | ||
+ | echo "mkswap" | ||
+ | mkswap /dev/vda1 > /dev/null 2>&1 | ||
+ | echo "mkfs.ext4" | ||
+ | mkfs.ext4 /dev/vda2 > /dev/null 2>&1 | ||
+ | test -d $RD || mkdir $RD | ||
+ | } | ||
+ | |||
+ | function mount_build() { | ||
+ | echo "mount new filesystem" | ||
+ | mount /dev/vda2 $RD | ||
+ | echo "unpackings system - wait" | ||
+ | wget -q -O - $UR | tar -C $RD -xzf - | ||
+ | echo "mount /dev /proc /sys" | ||
+ | mount -o bind /dev $RD/dev | ||
+ | mount -o bind /sys $RD/sys | ||
+ | mount -o bind /proc $RD/proc | ||
+ | } | ||
+ | |||
+ | |||
+ | function unmount() { | ||
+ | umount $RD/proc | ||
+ | umount $RD/sys | ||
+ | umount $RD/dev | ||
+ | umount $RD | ||
+ | } | ||
+ | |||
+ | |||
+ | function ubuntu_netmodify() { | ||
+ | echo $HN > $RD/etc/hostname | ||
+ | |||
+ | if test -z "IP" | ||
+ | then | ||
+ | cat<<HERE > "$RD/etc/network/interfaces" | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | auto eth0 | ||
+ | iface eth0 inet dhcp | ||
+ | HERE | ||
+ | else | ||
+ | |||
+ | cat<<HERE > "$RD/etc/network/interfaces" | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | auto eth0 | ||
+ | iface eth0 inet static | ||
+ | address $IP | ||
+ | netmask $NM | ||
+ | gateway $GW | ||
+ | dns-nameservers $DN | ||
+ | dns-search $SE | ||
+ | HERE | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function centos_netmodify() { | ||
+ | echo $HN > $RD/etc/hostname | ||
+ | if test -z "IP" | ||
+ | then | ||
+ | : | ||
+ | else | ||
+ | |||
+ | cat<<HERE > "$RD/etc/sysconfig/network-scripts/ifcfg-eth0" | ||
+ | TYPE="Ethernet" | ||
+ | BOOTPROTO="none" | ||
+ | DEFROUTE="yes" | ||
+ | IPV4_FAILURE_FATAL="no" | ||
+ | IPV6INIT="yes" | ||
+ | IPV6_AUTOCONF="yes" | ||
+ | IPV6_DEFROUTE="yes" | ||
+ | IPV6_FAILURE_FATAL="no" | ||
+ | NAME="eth0" | ||
+ | UUID="56aa41e7-7911-49a4-aa24-98375f52522e" | ||
+ | DEVICE="eth0" | ||
+ | ONBOOT="yes" | ||
+ | DNS1=$DN | ||
+ | DOMAIN=$SE | ||
+ | IPADDR=$IP | ||
+ | PREFIX="24" | ||
+ | GATEWAY=$GW | ||
+ | IPV6_PEERDNS="yes" | ||
+ | IPV6_PEERROUTES="yes" | ||
+ | IPV6_PRIVACY="no" | ||
+ | HERE | ||
+ | echo "nameserver $DN" > $RD/etc/resolv.conf | ||
+ | echo "search $SE" >> $RD/etc/resolv.conf | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function ubuntu_modify() { | ||
+ | mv $RD/etc/resolv.conf $RD/etc/resolv.conf.org | ||
+ | echo "nameserver 8.8.8.8" > $RD/etc/resolv.conf | ||
+ | $CR apt-get update | ||
+ | $CR apt-get -y install $PA | ||
+ | $CR useradd -m -s /bin/bash -G $GR $US | ||
+ | echo "$US:$PW" | $CR chpasswd | ||
+ | echo "grub-install" | ||
+ | grub-install --root-directory=$RD --boot-directory=$RD/boot /dev/vda | ||
+ | echo "update-grub" | ||
+ | $CR update-grub | ||
+ | rm $RD/etc/resolv.conf | ||
+ | mv $RD/etc/resolv.conf.org $RD/etc/resolv.conf | ||
+ | } | ||
+ | |||
+ | |||
+ | function centos_modify() { | ||
+ | mv $RD/etc/resolv.conf $RD/etc/resolv.conf.org | ||
+ | echo "nameserver 8.8.8.8" > $RD/etc/resolv.conf | ||
+ | $CR yum -y update | ||
+ | $CR yum -y install $PA | ||
+ | echo "GRUB_DISABLE_LINUX_UUID=true" >> $RD/etc/default/grub | ||
+ | echo "GRUB_ENABLE_LINUX_LABEL=true" >> $RD/etc/default/grub | ||
+ | echo "SELINUX=disabled" > $RD/etc/sysconfig/selinux | ||
+ | echo "SELINUXTYPE=targeted" >> $RD/etc/sysconfig/selinux | ||
+ | sed -i.org -e '/GRUB_CMDLINE_LINUX/s/.$/ net.ifnames=0 biosdevname=0"/' $RD/etc/default/grub | ||
+ | echo "grub-install" | ||
+ | $CR grub2-install /dev/vda | ||
+ | echo "update-grub" | ||
+ | $CR grub2-mkconfig -o /boot/grub2/grub.cfg | ||
+ | $CR useradd -m -s /bin/bash $US | ||
+ | echo "$US:$PW" | $CR chpasswd | ||
+ | rm $RD/etc/resolv.conf | ||
+ | mv $RD/etc/resolv.conf.org $RD/etc/resolv.conf | ||
+ | } | ||
+ | |||
</pre> | </pre> |
Version vom 5. April 2017, 17:55 Uhr
/etc/dhcp/dhcpd.conf
ddns-update-style interim; local-address 172.28.252.20; option domain-search "taribo.lan"; default-lease-time 6000; max-lease-time 7200; authoritative; log-facility local7; shared-network networks_ether0 { subnet 172.28.252.0 netmask 255.255.255.0 { range 172.28.252.101 172.28.252.150; option domain-name-servers 172.28.252.20; option routers 172.28.252.1; next-server 172.28.252.20; filename "pxelinux.0"; option root-path "172.28.252.20:/var/pxeroot"; } } group { host node-1 { hardware ethernet 52:54:00:00:00:41; fixed-address 172.28.252.41;} host node-2 { hardware ethernet 52:54:00:00:00:42; fixed-address 172.28.252.42;} host node-3 { hardware ethernet 52:54:00:00:00:43; fixed-address 172.28.252.43;} } group { next-server 172.28.252.20; filename "ubuntu/pxelinux.0"; host ubu-1 { hardware ethernet 52:54:00:00:00:61; fixed-address 172.28.252.61;} host ubu-2 { hardware ethernet 52:54:00:00:00:62; fixed-address 172.28.252.62;} host ubu-3 { hardware ethernet 52:54:00:00:00:63; fixed-address 172.28.252.63;} } key "rndc-key" { algorithm hmac-md5; secret "1EBOXhNmlPSp5hZnVwcWqA=="; }; zone taribo.lan { primary 172.28.252.20; key rndc-key; } zone 252.168.192.in-addr.arpa. { primary 172.28.252.20; key rndc-key; }
/var/pxeroot/usr/local/sbin/mkauto
#!/bin/bash source /usr/local/lib/mksystem.lib source /root/config.dat echo $SYSTEM test -z "$SYSTEM" && SYSTEM="ubuntu" test -z "$HN" && HN="rumburak" test -z "$IP" && IP="192.168.252.69" NM="255.255.255.0" GW="192.168.252.1" DN="192.168.252.20" SE="taribo.lan xinux.org" PA="iptraf" US="stunk" PW="oimel" GR="sudo" RD="/mnt/new" CR="chroot $RD" part_format echo $SYSTEM case $SYSTEM in ubuntu) echo ubuntu SY="ubuntu-14.04-v5.tgz" UR="http://doom.xinux.lan/images/$SY" mount_build ubuntu_netmodify ubuntu_modify ;; centos) SY="centos-7-v2.tgz" UR="http://doom.xinux.lan/images/$SY" mount_build centos_netmodify centos_modify ;; arch) SY="archlinux-bootstrap-2015.10.01-x86_64.tar.gz" UR="http://doom.xinux.lan/images/$SY" mount_build #centos_netmodify #centos_modify ;; esac #unmount
==
#!/bin/bash function centos_grub.cfg() { cat<<HERE set pager=1 if [ -s $prefix/grubenv ]; then load_env fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="${saved_entry}" fi if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi export menuentry_id_option if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function load_video { if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi } terminal_output console if [ x$feature_timeout_style = xy ] ; then set timeout_style=menu set timeout=5 else set timeout=5 fi set tuned_params="" menuentry 'CentOS Linux 7 (Core), with Linux 3.10.0-229.el7.x86_64' --class rhel fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-3d94095a-3fea-474e-8b78-90b999fa4868' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos2' linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/vda2 ro crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0 initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img } menuentry 'CentOS Linux 7 (Core), with Linux 0-rescue-1cd4592e60244977a7b5b4b10ee0db06' --class rhel fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-1cd4592e60244977a7b5b4b10ee0db06-advanced-3d94095a-3fea-474e-8b78-90b999fa4868' { load_video insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos2' linux16 /boot/vmlinuz-0-rescue-1cd4592e60244977a7b5b4b10ee0db06 root=/dev/vda2 ro crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0 initrd16 /boot/initramfs-0-rescue-1cd4592e60244977a7b5b4b10ee0db06.img } if [ -f ${config_directory}/custom.cfg ]; then source ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg; fi HERE } function part_format() { echo "mklabel" parted -s /dev/vda mklabel msdos echo "mkpart swap" parted -s /dev/vda mkpart primary linux-swap 1 2000 echo "mkpart /" parted -s /dev/vda mkpart primary ext2 2000 100% echo "mkswap" mkswap /dev/vda1 > /dev/null 2>&1 echo "mkfs.ext4" mkfs.ext4 /dev/vda2 > /dev/null 2>&1 test -d $RD || mkdir $RD } function mount_build() { echo "mount new filesystem" mount /dev/vda2 $RD echo "unpackings system - wait" wget -q -O - $UR | tar -C $RD -xzf - echo "mount /dev /proc /sys" mount -o bind /dev $RD/dev mount -o bind /sys $RD/sys mount -o bind /proc $RD/proc } function unmount() { umount $RD/proc umount $RD/sys umount $RD/dev umount $RD } function ubuntu_netmodify() { echo $HN > $RD/etc/hostname if test -z "IP" then cat<<HERE > "$RD/etc/network/interfaces" auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp HERE else cat<<HERE > "$RD/etc/network/interfaces" auto lo iface lo inet loopback auto eth0 iface eth0 inet static address $IP netmask $NM gateway $GW dns-nameservers $DN dns-search $SE HERE fi } function centos_netmodify() { echo $HN > $RD/etc/hostname if test -z "IP" then : else cat<<HERE > "$RD/etc/sysconfig/network-scripts/ifcfg-eth0" TYPE="Ethernet" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" NAME="eth0" UUID="56aa41e7-7911-49a4-aa24-98375f52522e" DEVICE="eth0" ONBOOT="yes" DNS1=$DN DOMAIN=$SE IPADDR=$IP PREFIX="24" GATEWAY=$GW IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_PRIVACY="no" HERE echo "nameserver $DN" > $RD/etc/resolv.conf echo "search $SE" >> $RD/etc/resolv.conf fi } function ubuntu_modify() { mv $RD/etc/resolv.conf $RD/etc/resolv.conf.org echo "nameserver 8.8.8.8" > $RD/etc/resolv.conf $CR apt-get update $CR apt-get -y install $PA $CR useradd -m -s /bin/bash -G $GR $US echo "$US:$PW" | $CR chpasswd echo "grub-install" grub-install --root-directory=$RD --boot-directory=$RD/boot /dev/vda echo "update-grub" $CR update-grub rm $RD/etc/resolv.conf mv $RD/etc/resolv.conf.org $RD/etc/resolv.conf } function centos_modify() { mv $RD/etc/resolv.conf $RD/etc/resolv.conf.org echo "nameserver 8.8.8.8" > $RD/etc/resolv.conf $CR yum -y update $CR yum -y install $PA echo "GRUB_DISABLE_LINUX_UUID=true" >> $RD/etc/default/grub echo "GRUB_ENABLE_LINUX_LABEL=true" >> $RD/etc/default/grub echo "SELINUX=disabled" > $RD/etc/sysconfig/selinux echo "SELINUXTYPE=targeted" >> $RD/etc/sysconfig/selinux sed -i.org -e '/GRUB_CMDLINE_LINUX/s/.$/ net.ifnames=0 biosdevname=0"/' $RD/etc/default/grub echo "grub-install" $CR grub2-install /dev/vda echo "update-grub" $CR grub2-mkconfig -o /boot/grub2/grub.cfg $CR useradd -m -s /bin/bash $US echo "$US:$PW" | $CR chpasswd rm $RD/etc/resolv.conf mv $RD/etc/resolv.conf.org $RD/etc/resolv.conf }