[[TranslatedPages]] [[PageOutline(2-5)]] We are proposed three different ways: * Utility debootstrap with schroot ( OpenGnSys 1.0 ) * Utility live-helper ( OpenGnSys 2.0) * Empty installation of Ubuntu. == OpenGnSys version 1.0 - Debootstrap, schroot and squashfs - == === Installation === It is recommended not do the process in a production system. Success test in Ubuntu Server 32 bits 10.04, 10.04.2, 10.10 and 11.04 NOTE: the installer is in "http://www.opengnsys.es/browser/trunk/client/boot-tools/" {{{ mv /opt/opengnsys/tftpboot/ogclient /opt/opengnsys/tftpboot/ogclient-old; svn checkout http://www.opengnsys.es/svn/trunk/client /tmp/opengnsys_installer/opengnsys/client/; svn checkout http://www.opengnsys.es/svn/branches/version2/ /tmp/opengnsys_installer/opengnsys2; find /tmp/opengnsys_installer/ -name .svn -type d -exec rm -fr {} \; 2>/dev/null; /tmp/opengnsys_installer/opengnsys/client/boot-tools/ogClientGeneratorV2.sh; }}} DEBUG in the installation process: {{{ Grup-pc -> install in device /dev/loop -> NO Continue without install grub -> yes Configure console-data Introduce pub password of our server in the client. If exists a .pub will ask if generate another one (N) Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N) -> Y }}} The process generate the elements of OpenGnSys client, based in the Ubuntu version installed (same kernel and distribution). /opt/opengnsys/tftpboot/ogclient/ {{{ ./ogvmlinuz (kernel) ./oginitrd.img (initrd) ./ogclient.img (root system accesible as virtual disk using schroot from host that generate it, to be updated) ./ogclient.sqfs (root system compressed to be used by OpenGnSys clients) }}} ==== Installation Steps ==== * Step 1. Installation on the computer where the needed software should be installed. * Step 2. Values assignament, as kernel verison, based in OS data run by the installer. * Step 3. Create root system (ogclient.img). First, create a virtual HDD and partition it -ogCleint2nFile()-. On the first partition, generate an operating system with deboobstrap tool -ogClient2ndFs()-, with parameters based on Step 2. * Step 4. Configure access to the root system (ogclient.img) to be used with schroot tool -ogClientSchrootConf()- * Step 5. Configure or add special OpenGnSys elements (engine, QTEmbbedbed, pci.ids, browser, ogAdmClient). -ogClient2ndSVN()- * Step 6. Expansion root system -- software installation with apt, compile some tools, import of SSH key... * Step 7. Generate initrd. * Step 8. Generate root system in sqfs. === Include .sqfs file (installation OpenGnSys process) in a .img file for futher modification === NOTE: Absence to document NOTE: Checked on Ubuntu Server 10.04 32bits. {{{ export OGCLIENTBASEDIR=/var/lib/tftpboot/ogclient/; export OGCLIENTFILE=${OGCLIENTBASEDIR}ogclient.img; export OGCLIENTMOUNT=${OGCLIENTBASEDIR}ogclientmount; export OGCLIENTSIZEMB=1900; export OGCLIENTLABEL=ogClient; mkdir -p $OGCLIENTMOUNT; dd if=/dev/zero of=$OGCLIENTFILE bs=1048576 count=$OGCLIENTSIZEMB; DISKLOOP=$(losetup -f); losetup $DISKLOOP $OGCLIENTFILE; echo -e "n\np\n1\n\n\nt\n83\nw" | fdisk $DISKLOOP; losetup -d $DISKLOOP ; PARTLOOP=$(losetup -f); losetup -o 32256 $PARTLOOP $OGCLIENTFILE && mkfs.ext3 -b 4096 -L $OGCLIENTLABEL $PARTLOOP; losetup -d $PARTLOOP ; losetup -d $PARTLOOP ; mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256; unsquashfs -d /opt/opengnsys/tftpboot/ogclient/ogclientmount/ -f /opt/opengnsys/tftpboot/ogclient/ogclient.sqfs ; umount $OGCLIENTMOUNT; echo "end"; cp /etc/schroot/schroot.conf /etc/schroot/schroot.conf.`getDateTime` cat << EOF > /etc/schroot/schroot.conf [IMGogclient] type=loopback file=/var/lib/tftpboot/ogclient/ogclient.img description=ogclient ubuntu luc IMGi #priority=1 users=root groups=root root-groups=root mount-options=-o offset=32256 root-users=root #[IMGogclient] #type=loopback #file=/var/lib/tftpboot/ogclient/ogclient.img #description=ogclient ubuntu luc IMGi #priority=1 #users=root #groups=root #root-groups=root #mount-options=-o offset=32256 #root-users=root #[DIRogclient] #type=directory #directory=/var/lib/tftpboot/ogclient/ogclientmount #description=ogclient ubuntu lucid DIR #priority=2 #users=root #groups=root #root-groups=root #root-users=root EOF cp /etc/schroot/mount-defaults /etc/schroot/mount-defaults.`getDateTime` cat << EOF > /etc/schroot/mount-defaults # mount.defaults: static file system information for chroots. # Note that the mount point will be prefixed by the chroot path # (CHROOT_PATH) # # proc /proc proc defaults 0 0 #procbususb /proc/bus/usb usbfs defaults 0 0 #/dev /dev none rw,bind 0 0 /dev/pts /dev/pts none rw,bind 0 0 /dev/shm /dev/shm none rw,bind 0 0 #/home /home none rw,bind 0 0 /tmp /tmp none rw,bind 0 0 EOF }}} == Through live-helper == ALL See: [wiki:GnSysLive/en] == Generate by an Empty installation of Ubuntu == ALL