Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
projects:livenet:server [2018/03/12 23:37] – nicola | projects:livenet:server [2018/03/13 00:14] – [BUILD IMAGE CLIENT] nicola |
---|
===== Software richiesto ===== | ===== Requirements ===== |
** HW**: 2 nic device | ** HW**: 2 nic device |
| |
**Sistema operativo**: Ubuntu server 17.10 | **OS**: Ubuntu server 17.10 |
| |
<code>apt install bash debootstrap schroot syslinux nfs-kernel-server tftpd-hpa xorriso pigz zfsutils-linux</code> | <code>apt install bash debootstrap schroot syslinux nfs-kernel-server tftpd-hpa xorriso pigz zfsutils-linux</code> |
| |
**software facoltativo ma usato nel test** | **Optional config** |
| |
<code>apt install isc-dhcp-server </code> | <code>apt install isc-dhcp-server </code> |
===== Preparazione ambiente livenet ===== | |
| **network config ** |
| nano /etc/netplan/01-netcfg.yaml |
| |
| <code> |
| # This file describes the network interfaces available on your system |
| # For more information, see netplan(5). |
| network: |
| version: 2 |
| renderer: networkd |
| ethernets: |
| ens3: |
| dhcp4: no |
| addresses: [10.1.22.2/24] |
| gateway4: 192.168.122.1 |
| nameservers: |
| addresses: [8.8.8.8,8.8.4.4] |
| ens4: |
| dhcp4: yes |
| |
| |
| |
| </code> |
| |
| <code>netplan apply</code> |
| ===== Build livenet environment ===== |
==== Preparazione dell'ambiente zfs ==== | ==== Preparazione dell'ambiente zfs ==== |
| |
| |
Download package git clone https://github.com/scipioni/livenet-server.git | Download package git clone https://github.com/scipioni/livenet-server.git |
| edit /etc/default/livenet like this |
| |
| <code> |
| # folder that contains livenet system |
| BASE=/livenet |
| IMAGES=${BASE}/images |
| BOOT=${BASE}/boot |
| </code> |
| |
| ===== Trivial FTP ===== |
| edit /etc/default/tftp-hpa |
| <code> |
| TFTP_USERNAME="tftp" |
| TFTP_DIRECTORY="/zfsp_livenet/boot" |
| TFTP_ADDRESS="0.0.0.0:69" |
| TFTP_OPTIONS="--secure" |
| </code> |
| |
| <code>mkdir /livenet/boot/pxelinux.cfg |
| |
| cp -a /usr/lib/syslinux/* /livenet/boot |
| |
| cp /livenet/boot/modules/efi64/* /livenet/boot </code> |
| |
| edit /livenet/boot/pxelinux.cfg/default |
| <code> |
| default menu.c32 |
| prompt 0 |
| #timeout 100 |
| |
| menu title PXE Special Boot Menu |
| MENU AUTOBOOT Starting Livenet in # seconds |
| |
| label bootlocal |
| menu label ^Boot local disk |
| menu default |
| localboot 0 |
| |
| label nfs |
| menu label Ubuntu 18.04 - diskless |
| kernel /bionic/kernel |
| append initrd=/bionic/initrd ro livenet_root=10.1.22.2:/zfsp_livenet/images/bionic livenet_profile=default |
| |
| label nfs |
| menu label Ubuntu 14.04 - install |
| kernel /trusty/kernel |
| append initrd=/trusty/initrd ro livenet_root=10.0.254.240:/images/trusty livenet_profile=default livenet_action=install livenet_action_end=reboot |
| |
| </code> |
| |
| |
| |
| |
| |
| |
| ===== BUILD IMAGE CLIENT ==== |
| zfs create livenet/images/bionic |
| debootstrap --arch amd64 bionic /zfsp_livenet/images/bionic/ http://archive.ubuntu.com/ubuntu |
| |
| cd /livenet/images |
| run .... |
| <code> |
| R=bionic |
| cat > ${R}/etc/hosts <<QWK |
| 127.0.0.1 localhost livenet-host |
| ::1 localhost ip6-localhost ip6-loopback |
| ff02::1 ip6-allnodes |
| ff02::2 ip6-allrouters |
| QWK |
| |
| chroot ${R} lsb_release -c | awk '{print $2}' > ${R}/etc/debian_chroot |
| chroot bionic/ |
| chroot ${R} apt-get -y -q install locales dialog |
| chroot ${R} locale-gen en_GB.UTF-8 |
| chroot ${R} locale-gen it_IT.UTF-8 |
| chroot ${R} update-locale LANG=it_IT.UTF-8 LANGUAGE=it:en_US:en |
| echo Europe/Rome > ${R}/etc/timezone |
| cp ${R}/usr/share/zoneinfo/Europe/Rome ${R}/etc/localtime |
| cat > ${R}/usr/sbin/policy-rc.d <<QWE |
| #!/bin/sh |
| |
| # dpkg/apt not start any daemons when things are installed in the chroot |
| |
| if [ ! "\\\`cat /etc/hostname\\\`" = "\\\`hostname\\\`" ]; then |
| exit 101 |
| fi |
| QWE |
| |
| chmod +x ${R}/usr/sbin/policy-rc.d |
| </code> |
| |
| <code>mount --bind /zfsp_livenet/images/bionic/boot/ /zfsp_livenet/boot/bionic</code> |
| |
| DISTR=bionic |
| 27 echo $DISTR |
| 28 cat > /etc/apt/sources.list <QWE |
| 29 ############################################################# |
| 30 ################### OFFICIAL UBUNTU REPOS ################### |
| 31 ############################################################# |
| 32 ###### Ubuntu Main Repos |
| 33 deb http://archive.ubuntu.com/ubuntu/ ${DISTR} main restricted universe multiverse |
| 34 ###### Ubuntu Update Repos |
| 35 deb http://archive.ubuntu.com/ubuntu/ ${DISTR}-security main restricted universe multiverse |
| 36 deb http://archive.ubuntu.com/ubuntu/ ${DISTR}-updates main restricted universe multiverse |
| 37 deb http://archive.ubuntu.com/ubuntu/ ${DISTR}-proposed main restricted universe multiverse |
| 38 deb http://archive.ubuntu.com/ubuntu/ ${DISTR}-backports main restricted universe multiverse |
| 39 ###### Ubuntu Partner Repo |
| 40 deb http://archive.canonical.com/ubuntu ${DISTR} partner |
| 41 clear |
| 42 cat > /etc/apt/sources.list <<QWE |
| 43 ############################################################# |
| 44 ################### OFFICIAL UBUNTU REPOS ################### |
| 45 ############################################################# |
| 46 ###### Ubuntu Main Repos |
| 47 deb http://archive.ubuntu.com/ubuntu/ ${DISTR} main restricted universe multiverse |
| 48 ###### Ubuntu Update Repos |
| 49 deb http://archive.ubuntu.com/ubuntu/ ${DISTR}-security main restricted universe multiverse |
| 50 deb http://archive.ubuntu.com/ubuntu/ ${DISTR}-updates main restricted universe multiverse |
| 51 deb http://archive.ubuntu.com/ubuntu/ ${DISTR}-proposed main restricted universe multiverse |
| 52 deb http://archive.ubuntu.com/ubuntu/ ${DISTR}-backports main restricted universe multiverse |
| 53 ###### Ubuntu Partner Repo |
| 54 deb http://archive.canonical.com/ubuntu ${DISTR} partner |
| 55 QWE |
| |
| |