homehowtokbslinksaboutcontactprojectsmusic

Index > My Projects > osis on Ubuntu 14 LTS
Install base system
osis=/osis1; debootstrap --arch i386 trusty $osis
copy locals
cp /etc/{timezone,localtime} $osis/etc
set host name
echo "local" > $osis/etc/hostname
setup network for dhcp
cat << eot > $osis/etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp
eot
Configure repositories
cat << eot > $osis/etc/apt/sources.list
###### Ubuntu Main Repos
deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse 
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse 

###### Ubuntu Update Repos
deb http://us.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse 
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse 
deb http://us.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse 
deb http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse 
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse 
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse 
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse 
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse 
eot
Create module directory and copy modules
mkdir -pv $osis/lib/modules; cp -r /lib/modules/$(uname -r) $osis/lib/modules/
Update dns setting, you do not want 127.0.0.1 to be your dns server !
nano $osis/etc/resolvconf/resolv.conf.d/original
chroot to base system
chroot $osis
create necessary directories
mkdir -p selinux
setup time zone and locals
locale-gen en_US.UTF-8; update-locale LANG=en_US.UTF-8; dpkg-reconfigure -u tzdata
Set the fstab
cat << eot >> etc/fstab
devpts  /dev/pts  devpts  nosuid,noexec,gid=5,mode=0620  0 0
tmpfs   /dev/shm  tmpfs   nosuid,nodev,mode=0755  0 0
sysfs   /sys      sysfs   nosuid,nodev,noexec  0 0
proc    /proc     proc    nosuid,nodev,noexec  0 0
eot
Run updates and install nano editor
apt-get update; apt-get install nano
Create init script (very important) nano init Paste the following in init script
cat << eot > init
#!/bin/sh

# Mount file system in ram.
mount -a

# Setup init variable
init=/sbin/init

# Run the init 
exec \${init}
eot
Make init executable
chmod a+x init
Setup autologon
cat << eot >> etc/init/tty1.conf
# Autologin account
exec /bin/login -f root < /dev/tty1 > /dev/tty1 2>&1
eot
Run updates and upgrades
apt-get update; apt-get dist-upgrade -y
Install necessary software packages
apt-get install ssh dnsutils usbutils -y
exit out of chroot
exit
compress osis
cd $osis; find . -print0 | sudo cpio --null -ov --format=newc | gzip -9 > /var/www/html/ipxe/imgs/$osis.gz
OLD CONFIGURATION
osis core ubuntu 14.04 lts 32 bit global variable
osis=/osis
install core system
debootstrap --arch i386 trusty $osis
copy time setting
cp /etc/{timezone,localtime} $osis/etc
set hostname
echo "osis" > $osis/etc/hostname
setup network

setup autologin
echo "" >> $osis/etc/init/tty1.conf
echo "# Autologin account" >> $osis/etc/init/tty1.conf
echo "exec /bin/login -f root < /dev/tty1 > /dev/tty1 2>&1" >> $osis/etc/init/tty1.conf
copy modules
mkdir -p $osis/lib/modules; cp -fr /lib/modules/$(uname -r) $osis/lib/modules/
compress core system
cd $osis; find . -print0 | sudo cpio --null -ov --format=newc > ~/osis
xz -zv -9 -C crc32 ~/osis; cp ~/osis.xz /var/www/html/ipxe/imgs/
make boot kernel
sudo cp /boot/vmlinuz-$(uname -r) ~
cp -r /etc/initramfs-tools /etc/initramfs-pxe; nano /etc/initramfs-pxe/initramfs.conf
replace as
MODULES=most to MODULES=netboot, BOOT=local to BOOT=nfs, and DEVICE= to DEVICE=eth0
mkinitramfs -d /etc/initramfs-pxe -o ~/initrd.img-$(uname -r)
sudo cp ~/{vmlinuz-$(uname -r),initrd.img-$(uname -r)} /var/www/html/ipxe/