wiki:ClienteInitrdDSGenerarlo/en

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)
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
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: GnSysLive/en

Generate by an Empty installation of Ubuntu

ALL

Last modified 7 years ago Last modified on Jul 14, 2017, 1:07:08 PM