wiki:SynInstaller

Version 1 (modified by trac, 16 years ago) (diff)

--

Creeren van een nieuwe installatie CD

Het maken van een CD, gaat via source:trunk/bootcd/mkcd .

Bij het maken van een nieuwe CD moet je aangeven welke Syn-3 versie je wilt maken. Deze moet terug te vinden zijn in de syn3 shop update manager. Zie SynPackaging#Opnemeninhetupdatesysteem

Een CD maak je op de volgende manier:

psy /home/psy/syn3/bootcd # ./mkcd 4.1rc3
* Update lijst ophalen...OK
 * Lokale cache van shop updates bijwerken:
xfsdump-2.2.46-i586-3616...OK
webint-4.0-noarch-3736mod...OK
syn3_scripts-1.1-noarch-3477...OK
tcl-8.4.13-i586-2644...OK
...
358560 extents written (700 MB)

Alles gefixed, je iso staat in /home/psy/syn3/bootcd/iso/syn3-4.1rc3-3745to3755M-02022008-1303.iso

ISO gefixed

Het downloaden van alle packages hoeft maar 1x, ze worden gecached in een subdirectory.

Een installer Usbstick laten formateren en initialiseren kan op deze manier:

psy bootcd # USBSTICK=/dev/sdc ./mkcd 4.1rc3


Als je vage errors krijgt over niet gevonden programmas, kijk dan even bij SynBuild of je alle tools wel hebt op je systeem. Let op: mkfs.xfs versie 2.9.4 of hoger vereist!

Achteraf een iso op usbstick zetten kan zo:

psy /home/psy/syn3/bootcd # ./iso2usb iso/latest.iso /dev/sdc
/home/psy/syn3/install /home/psy/syn3/bootcd
* Copying installer to /dev/sdc ...

Voor problemen met oudere biossen zouden we dit systeem nog kunnen bekijken: http://syslinux.zytor.com/usbkey.php

Handig testen

Om handig lokale pakketjes te testen, maak je een list file aan met daarin een lijst van de pakketjes die je uit je lokale svn tree wilt halen:

psy /home/psy/syn3/bootcd # cat localkernel.list
initrd
linux
openswan
lvm2
acl
xfsprogs
xfsdump
dmapi
attr
device_mapper
psy /home/psy/syn3/bootcd # USBSTICK=/dev/sdc ./mkcd 4.1rc3 localkernel.list
....

Nu word er een 4.1rc3 cd gemaakt, maar met de svn versie van de pakketjes uit localkernel.list.

Inhoud van de installatie CD

Het verzamellen van pakketjes gaat als volgt:

  • Alle laatste versies van de shop van alle pakketjes, met de gespecifiseerde update versie. (bijvoorbeeld alles tot en met 4.1rc3) Om ruimte te besparen worden pakketjes met de X optie (grafisch) niet op de cd gezet.
  • Er word gezorgt dat we in elk geval alles uit base.list hebben. Staat een pakketje niet in de shop, dan gebruiken we de lokale SVN versie.
  • De extra lists worden toegevoegd: hiervoor word altijd de lokale versie gebruikt! Met deze lists kun je dus ook versies uit de shop 'overrulen'. Kijk bij het mkcd commando hoe je dit kunt doen.

Aan de hand van baselist en de extra lists word een install.list gemaakt voor de installer met daarin de specifiek te installeren versie nummers.

De rest van de CD word aan de hand van de bovenstaande packages gemaakt. Dus de kernel, en livecd installer omgeving. Niet alle pakketjes komen op de CD ivm ruimte besparing. De pakketjes in de extra list files zullen uiteraard NOOIT gefilterd worden.

Syn-3 installer startup prodecure

De Syn-3 installer is feitelijk een Syn-3 omgeving met de Xorg packages op een Live CD of USB stick of zelfs verwisselbare harddisk.

De live cd volgt de standaard boot procedure (SynBoot), maar 'springt' halverwege het boot process naar de Live CD omgeving. (Zie SynBoot voor meer info of kijk in de boot_installer functie in source:trunk/npl/kernel/initrd/initrd.scripts@#L115) Na het uitvoeren van de installer word weer terug 'gesprongen' en gaat de boot procedure verder.

Boot menu

Men komt eerst in een gepimpt grub bootmenu met een speciale menu indeling. Men kan kiezen om Syn-3 te installeren en nog een paar opties:

Als je als kernel parameter 'text' opgeeft zal de installer in textmode worden uitgevoerd. (voor als de vesafb-tng driver je kaart niet ondersteund)

Resque mode voert de normale boot procedure (SynBoot) in textmode uit. Dit is handig als je een kapotte kernel heb MBR hebt.

Media opzoeken

De initrd zoekt hierna het installatie medium op. Dit is nodig, omdat het technisch gezien krikky is om te kijken vanaf waar grub en de initrd geladen waren. Alle verwisselbare blockdevices worden bijlangs gegaan. (dus floppy, cdrom en usbsticks)

Installer startup

Hierna chroot de initrd naar de liveCD image en source:trunk/bootcd/config/etc/rc.d/rc.local gestart. Er word dus geen gebruik gemaakt van een init systeem!

Deze bepaald of de installer in text of grafische mode gestart moet worden.

De daadwerkelijke installer bevind zich in source:trunk/install/install.sh .

Door een soort wrapper in source:trunk/install/dialoglib.sh word het programma dialog of Xdialog gebruikt om de installer in de juiste mode aan de eindgebruiker te laten zien. Zo hoeven we maar 1 installer te schrijven, die gelijk in zowel tekst als grafische mode werkt. Ook MultiLanguage? worden door deze library verzorgt.

Het grafische achtergrondje bepalen we door naar het product type te kijken. (meegegeven op kernel commandline in grub menus)

Syn-3 installatie

Kijk in source:trunk/install/install.sh voor stap voor stap details van de installatie procedure zelf.

Feitenlijk word het systeem gepartitioneerd, formateerd etc etc en worden alle files uit de juiste .list file geinstalleerd. (Zie SynProducts)

Aan het einde van dit script word /INSTALLOK aangemaakt, zodat de initrd weet dat er verder geboot kan worden.

Vanaf dit moment is er sprake van een normale boot procedure en kan de cd al weer verwijderd worden. Het is echter handig om deze te laten zitten, zodat bij het installeren van de rest van de pakketjes de CD gebruikt word.

De post install scripts die na het booten worden uitgevoerd zijn ook gewoon onderdeel van de standaard procedure, en worden dus niet speciaal uitgevoerd doordat er sprake is van een nieuwe installatie. - Het systeem ziet gewoon nieuwe pakketjes en van al deze pakketjes word de postinstaller uitgevoerd. Zie SynPackaging.

Na het booten logt men in op de SCC. Hier komt men in de wizard. De registratie stap is de crusiale stap die bepaald WAT de server allemaal moet gaan doen. Na het registeren worden de rest van de packages geinstalleerd. Dit is afhankelijk van de gekochte licentie: Een Advanced Internet Server zal minder pakketjes hebben dan een complete business server.

De installer zal altijd kijken of er een installatie medium aanwezig is met het pakketje, alvorens een pakketje te downloaden.

Als je niet registreerd heb je gewoon een 'kale' Syn-3 server. De functies die WEL beschikbaar zijn werken natuurlijk wel 100%.