Autoinstall

Aus xinux.net
Zur Navigation springen Zur Suche springen

virsh

  • virt-install --name abba --ram 1024 --force --disk pool=default,size=10240,format=qcow2 --network bridge=dmz-telekom,mac=52:54:00:00:00:11 --graphics vnc --pxe

autologin

  • cat /etc/init/tty1.conf
start on stopped rc RUNLEVEL=[2345] and (
            not-container or
            container CONTAINER=lxc or
            container CONTAINER=lxc-libvirt)

stop on runlevel [!2345]

respawn
#exec /sbin/getty -8 38400 tty1
exec /bin/login -f root tty1 </dev/tty1 >/dev/tty1 2>&1
  • cat /usr/local/sbin/mkmachine
#!/bin/bash
source /usr/local/lib/mksystem.lib
SYSTEM=$1
HN=$2
IP=$3
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://waka.xinux.org/images/$SY"
mount_build
ubuntu_netmodify
ubuntu_modify
;;
centos)
SY="centos-7-v2.tgz"
UR="http://waka.xinux.org/images/$SY"
mount_build
centos_netmodify
centos_modify
;;
arch)
SY="archlinux-bootstrap-2015.10.01-x86_64.tar.gz"
UR="http://waka.xinux.org/images/$SY"
mount_build
#centos_netmodify
#centos_modify
;;
esac

#unmount 


cat /usr/local/lib/mksystem.lib

#!/bin/bash

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
}