mivel ez a rész is agyon-vissza van dokumentálva*, idevésem, hogy én mit és hogyan csináltam.
(tanuló munka, trollkodás előtt/helyett kéretik figyelembe venni)Warning/Attention/Vorsicht/Vigyázz b+! alább felsoroltak szerint a pxeboot-oló masinán törlődnek a meglévő partíciók (lásd preseed file)!
1. feltételezzük hogy van már működő tftpd/dhcpd/syslinux megoldásunk és nfs szerverünk (nekem 192.168.1.3 az ip címe).
2. feltételezzük, hogy a /tftpboot könyvtár alatt leledzik a pxe boot-hoz szükséges cullang
3. ubuntu-14.04-live-i386 iso letölt, tartalma a /tftpboot/ubuntu/1404/desktop32 könyvtárba másol (vagy ahova akarod, csak aztán megtaláljad)
4. /etc/exports-ba írjuk bele a /tftpboot/ubuntu *(rw,async,no_root_squash,no_subtree_check) sort, majd exportfs -a parancs
5. a /tftpboot/pxelinux.cfg/default file-ba a következő sorokat írjuk (kiegészítjük):
label u1404
menu label Ubuntu 14.04 -=OEM=- *!DESTROY!*
kernel ubuntu/1404/desktop32/casper/vmlinuz
append initrd=ubuntu/1404/desktop32/casper/initrd.lz automatic-ubiquity priority=critical boot=casper netboot=nfs nfsroot=192.168.1.3:/tftpboot/ubuntu/1404/desktop32 auto=true url=tftp://192.168.1.3/tftpboot/ubuntu/1404/desktop32/preseed/custom.seed oem-config/enable=true oem-config/id=pxeboot
6. létrehozzuk a /tftpboot/ubuntu/1404/desktop32/preseed/custom.seed file-t, majd beleírjuk a következőket:
(ez a rész úgy-ahogy dokumentálva van, viszont ezeket nem egy helyről ollóztam össze)
d-i apt-setup/use_mirror boolean true
d-i apt-setup/extras boolean true
d-i apt-setup/security boolean true
d-i debian-installer/locale string hu_HU
d-i localechooser/supported-locales hu_HU.UTF-8 en_US.UTF-8
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/layoutcode string hu
d-i netcfg/choose_interface select eth0
d-i netcfg/get_hostname string pxeinstall
d-i netcfg/get_domain string tftpboot.net
d-i mirror/country string manual
d-i mirror/http/hostname string hu.archive.ubuntu.com
d-i mirror/http/directory string /ubuntu
d-i mirror/http/proxy string
d-i clock-setup/utc boolean false
d-i time/zone string Europe/Budapest
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string ntp.ubuntu.com
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic
d-i partman/default_filesystem string ext4
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i passwd/user-fullname string oem
d-i passwd/username string oem
d-i passwd/user-password-crypted password $1$2sKcjb4r$ySMTweTCmkgknFwnerIKY0
d-i setup/allow-password-weak boolean true
d-i user-setup/encrypt-home boolean false
#
tasksel tasksel/first multiselect ubuntu-desktop libreoffice openssh-server
#
d-i pkgsel/language-packs multiselect hu, en
d-i pkgsel/update-policy select unattended-upgrades
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i debian-installer/exit/poweroff boolean true
d-i preseed/late_command string chroot /target; oem-config-prepare
7. némi magyarázat:
a boot paramétereknél a kiemelt szöveghez: ha only-ubiquity, akkor a live telepítő indul, kérdezz-felelek játékkal és annak megfelelően települ. ha automatic-ubiquity, akkor meg a pluszban hozzáadott seed-et feldolgozza és automatikusan települ a seed-ben meghatározott feltételek szerint.
/a seed file-t én dinamikusan (még fapados szkript-ből) állítom elő, ahol a hosztnév egyedi, minden gép esetében más és más, míg a domén egy és ugyanaz. a file neve minden esetben a gép mac címe, melyet elhelyezek a belső http szerveren, a géphez tartozó $mac-address nevű file a pxelinux.cfg alatt meg szintén szkriptből kerül megírásra, ahol hivatkozok a seed-re. a fenti példában egyszerűsítettem a kérdést, így tehát a fenti seed-nek megfelelően a gép neve pxeinstall.tftpboot.net lesz./
a seed file-ban megengedjük a telepítőnek a nemzeti^Wnemzetközi mirror-ok használatát, így tehát pl nyelvi támogatás miatt bizonyára ellátogatna a hu.arhive.ubuntu.com-ra. ez kiváltható a helyi szerverre is, feltéve hogy előzőleg az apt-mirror segítségével 70-150 giga adatot letároltunk a saját helyi mirror-nak.
feltételezem, hogy az eth0 létező és a kívánt hálózati eszköz, illetve a merevlemezt (a kernelben ezen a héten éppen) sda-nak hívják.
a d-i passwd/user-password-crypted password szekció értéke előállítható a
echo "jelszo" | mkpasswd -s -H MD5
paranccsal. üzenet a bloggernek: amiket nem tudott megoldani a seed-ből, az megoldható, csak a
d-i preseed/late_command string szekcióhoz írja be: chroot /target; meg egy halom sed parancs az /etc/apt/sources.list file-ra;
tasksel: biztos ami ziher, megkérjük az installert, hogy kegyeskedjen az ubuntu-desktop, libreoffice, valamint az openssh-server csomagokat telepíteni, nehogy valami tévedésből kifolyólag a feledés homályába vesszen (volt rá precedens a kísérletezések ideje alatt).
* agyondokumentálás értendő az oem lehetőségre, mert most éppen feltelepedés után dobott egy ablakot, hogy az oem-config-prepare lefut a következő indításkor, majd ez után egy gombot kell megnyomni, hogy a rendszer újrainduljon. természetesen ez sem sikerült, úgyhogy egy (meg utána még egy) határozott reset után már alakul valami (oracle virtuálisgép):
megérkezett a várva várt rendszerbeállító ablak.
jelenleg idáig jutottam. ha valakinek van ötlete változtatásra/finomításra/helyesbítésre/hozzáírásra, szíveskedjék megtenni hozzászólás formájában.
köszönöm: bth