Sestavení BaseOS

IAM BaseOS je sestavován automaticky za pomoci build skriptu. Sestavení je nutné spouštět na vyhrazeném virtuálním serveru a pod uživatelem root, protože se při něm používá instalátor operačního systému virtuálu.

Zprovoznění vývojového prostředí

  1. Nainstalujte si CentOS 8 x86_64 v minimální instalaci. Zajistěte, aby výsledný virtuální server měl alespoň 10GB volného místa.

  2. Proveďte bootstrap pomocí Ansible playbooku z repozitáře iam-appliance-infrastructure.

    • Repozitář obsahuje mnohem více informací. Pro vás jsou relevantní ty, co se týkají BaseOS.

    • V tomto repozitáři najdete i crashcourse k používání Ansible.

  3. Do připraveného serveru přesuňte obsah repozitáře s BaseOS iam-appliance-baseos nebo si tam repozitář přímo naklonujte.

Sestavení image

V repozitáři je již vše připraveno, stačí spustit build jako uživatel root.

./build.sh 2>&1 | tee build.log

Build běží cca 10 minut. Po jeho úspěšném dokončení je v adresáři builds/ vytvořen VMDK image a kickstart file. Soubory jsou pro lepší identifikaci označeny timestampem v názvu.

Pokud build z nějakého důvodu selže, build.sh skript v daném místě přeruší svůj běh. V adresáři pak zůstanou dočasné soubory tmp.XXXXXXXX, které je vhodné ručně vyčistit.

Popis kroků buildu
  1. Ve stejném adresáři jako je build.sh je nutno mít i zdrojový soubor kickstart.ks, který je předpisem pro stavbu image.

  2. Po spuštění sestavení je provedena kontrola syntaxe kickstart.ks a vyčištění souborů anaconda (instalační program systému).

  3. Build skript vytvoří pomocí qemu-img sparse file ve formátu raw.

  4. Kickstart a raw image jsou předány Anacondě aby na ně nainstalovala systém.

    • Anaconda image namountuje jako loopdevice a vytváří na něm mj. oddíly, MBR, apod. Kvůli těmto akcím musí běžet jako root.

  5. Po dokončení instalace je pomocí qemu-img převeden raw image na formát VMDK.

  6. Finální image a kickstart, ze kterého byl vyroben, jsou uloženy do adresáře builds/.