Skip to content

Commit

Permalink
turns out debian does not support kickstart and I wasted a lot of time
Browse files Browse the repository at this point in the history
  • Loading branch information
Esgariot committed Dec 13, 2016
1 parent 29244e5 commit 9cdb0db
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 29 deletions.
62 changes: 33 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# PXE_Install
Slice of config files and install scripts for automated PXE linux install.
Not a functional repo, just collection of useful stuff to make it work.
This will become a beautiful parser and generator for preseed file for debian and maybe someday for other distros using diffrent tools

###Research:
* Turns out other than RedHat, Ubuntu has some support for Kickstart installation:
Expand All @@ -10,7 +9,7 @@ Not a functional repo, just collection of useful stuff to make it work.
* Some python tools for parsing kickstart files
[pykickstart](https://fedoraproject.org/wiki/Pykickstart)
* Linux docs kickstart howto:
[HOWTO](http://linuxdocs.org/HOWTOs/KickStart-HOWTO.html Redhat Kickstart Howto)
[HOWTO](http://linuxdocs.org/HOWTOs/KickStart-HOWTO.html)
* Setting up PXE server on debian
[PXE Client & Server](https://wiki.debian.org/PXEBootInstall#Installing_Debian_using_network_booting)

Expand All @@ -21,33 +20,38 @@ Not a functional repo, just collection of useful stuff to make it work.


###TODO:
[ ] Uruchom instalacje z przykladowego pliku
[ ] Dodaj repo Ubuntu ktore posiada kickstart config czy jak ten pakiet sie nazywa

[ ] Generating pxelinux.cfg-valid entry and appending it to default.cfg
[ ] Add automatic locale setting in above in kernel params
[ ] write parser for preseed options

Założenia:
TEMAT INDYWIDUALNY Robert Marciniak

1. Serwer PXE + kickstart
2. Narzędzie generuje wyjściowy skrypt (kickstart i post-install) z kilku "kawałków". Mogą nimi być np. zestaw pakietów, polecenie tworzenia katalogów dla usera, polecenie instalacji jakiegoś środowiska graficznego. Niektóre rzeczy mogą się wykluczać (np środowiska graficzne).

Przykładowe scenariusze:
1. Użytkownik chciałby daną dystrybucję z konkretnym zestawem programów. Chciałby też mieć utworzone konto, środowisko graficzne, skonfigurowane niektóre programy - np. sudo
```
> użytkownik uruchamia narzędzie do generowania skryptu instalacyjnego.
> uruchamia narzędzie interaktywnie lub nie, wybiera dostępne opcje, zatwierdza.
> Skrypt jest zapisywany na serwerze, podczas instalacji PXE pobierane są z niego dane,
> użytkownik dostaje gotowy skonfigurowany system
```

2. Maszyna bare metal z ustawionym bootowaniem przez sieć.
```
> podczas instalacji serwer udostępnia skrypt konfiguracji domyślnej - ustawiane są podstawowe rzeczy, np. partycje, timezone
> po instalacji uruchamiany jest dialog, który czeka jakiś czas na odpowiedź użytkownika - wciśnięcie dowolnego przycisku.
> Jeśli użytkownik odpowie, to przejście do scenariusza A, jeśli nie, to skrypt sprząta po sobie i host się wyłącza.
> maszyna ma zainstalowany system zgodnie z konfiguracją domyślną.
```
3. Uruchomienie instalacji aż do dostępu do powłoki.
```
> Użytkownik resztę robi sam
```
1. Serwer PXE + ~~kickstart~~ -> preseed
2. Narzędzie generuje wyjściowy skrypt (preseed i post-install) z kilku "kawałków". Mogą nimi być np. zestaw pakietów, polecenie tworzenia katalogów dla usera, polecenie instalacji jakiegoś środowiska graficznego. Niektóre rzeczy mogą się wykluczać (np środowiska graficzne).

Przykładowe scenariusze:

1. Użytkownik chciałby daną dystrybucję z konkretnym zestawem programów. Chciałby też mieć utworzone konto, środowisko graficzne, skonfigurowane niektóre programy

```
> użytkownik uruchamia narzędzie do generowania skryptu instalacyjnego.
> uruchamia narzędzie interaktywnie lub nie, wybiera dostępne opcje, zatwierdza.
> Skrypt jest zapisywany na serwerze, podczas instalacji PXE pobierane są z niego dane,
> użytkownik dostaje gotowy skonfigurowany system
```

2. Maszyna bare metal z ustawionym bootowaniem przez sieć.

```
> podczas instalacji serwer udostępnia skrypt konfiguracji domyślnej - ustawiane są podstawowe rzeczy, np. partycje, timezone
> po instalacji uruchamiany jest dialog, który czeka jakiś czas na odpowiedź użytkownika - wciśnięcie dowolnego przycisku.
> Jeśli użytkownik odpowie, to przejście do scenariusza A, jeśli nie, to skrypt sprząta po sobie i host się wyłącza.
> maszyna ma zainstalowany system zgodnie z konfiguracją domyślną.
```

3. Uruchomienie instalacji aż do dostępu do powłoki.

```
> Użytkownik resztę robi sam
```
41 changes: 41 additions & 0 deletions ks.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T

#System language
lang en_US
#Language modules to install
langsupport pl_PL --default=en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone --utc Europe/Warsaw
#Root password
rootpw --iscrypted $1$z0BY0NkL$Necy0Mqj6AYqatrm9Pi.Y.
#Initial user
user justuser --fullname "delete me later" --iscrypted --password $1$tmQA0Jxc$/QUItyxu8npyxjoKgEgBv0
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url ftp://192.168.0.1/debian/kickstart
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#System authorization infomation
auth --useshadow --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled
#X Window System configuration information
xconfig --depth=32 --resolution=1024x768 --defaultdesktop=KDE --startxonboot
#Run the Setup Agent on first boot
firstboot --enable
11 changes: 11 additions & 0 deletions pxeappend.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
path debian-installer/amd64/boot-screens/
include debian-installer/amd64/boot-screens/menu.cfg
default debian-installer/amd64/boot-screens/vesamenu.c32
prompt 0
timeout 50
ONTIMEOUT Kickstart


LABEL Kickstart
kernel debian-installer/amd64/linux
append vga=788 initrd=debian-installer/amd64/initrd.gz ks=ftp://192.168.0.2/kickstart/debian/ks.cfg vga=788 initrd=debian-installer/amd64/initrd.gz preseed/url=ftp://192.168.0.2/kickstart/debian/ks.preseed.cfg

0 comments on commit 9cdb0db

Please sign in to comment.