diff --git a/README.md b/README.md index 8ddb39d..118905a 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Projekt uruchamiania zdalnych systemów. Aby zainstalować wymagane składniki wydaj komendę: ```bash - sudo apt install python3-venv python3-pip + sudo apt install python3-venv python3-pip postgresql postgresql-contrib ``` A następnie: @@ -29,10 +29,30 @@ I zainstaluj wymagane paczki pip ## Konfiguracja -Konfiguracja znajduje się w pliku config.py +Aby dodać bazę i użytkownika w PostgreSQL należy wykonać następujące kroki: +```bash +sudo adduser +sudo passwd +sudo -u postgres psql +``` + +```sql +CREATE USER WITH PASSWORD 'PASSWORD'; +CREATE DATABASE ; +GRANT ALL PRIVILEGES ON DATABASE to ; +``` + +Konfiguracja dostępu do serwera PostgreSQL znajduje się w pliku config.py +## Pliki konfiguracyjne + +- config.py - zawiera konfiguracje dostępu do bazy danych plik domyslny czy też port dostępu do serwera ssh +- configs/msmtprc - zawiera konfiguracje msmtp +- configs/sendmail.sh - skrypt w którym znajduje sie konfiguracja co i w jaki sposób ma zostac wysłane mailem +- configs/sshd_config - plik zawierający konfiguracje serwera ssh +- configs/uVPN.conf,uVPN.ini - pliki konfiguracyjne do uVPNa ## Uruchomienie Aby uruchomić serwer deweloperski: @@ -70,4 +90,67 @@ sudo ./update_rootfs.sh -n -s -i " -s -u +``` +## Tworzenie initramfs + +Aby zacząć tworzenie obrazu initramfs należy najpierw zainstalować poniższe składniki: +```bash +sudo apt install build-essential libncurses5-dev +``` + +Następnie pobrac i rozpakować buildroota z tej strony: https://buildroot.org/download.html i przejść do katalogu w którym został on wypakowany. Kolejnym krokiem jest wypakowanie paczki external.tar.gz do głównego katalogu buildroota i skopiowanie pliku .config również do głównego katalogu. +Kolejnym krokiem jest wydanie polecenia +```bash +make BR2_EXTERNAL=/path/to/external +``` +I finalnie uruchomienie kompilacji + +```bash +make +``` + +W katalogu ./output/images znajdują sie pliki: +- bzImage - kernel linuxa +- rootfs.cpio.xz - spakowany obraz initramfs +## Przykładowe parametry startowe + +Dodatkowe parametry wymagane: + +- root=/dev/ram0 +- server= +- sqfile= +- nfsrootfs=:/<ścieżka do folderu z plikami systemu> +- token= + + +Opcjonalnie podawane do uruchomienia systemu: + +- ip= +- netmask= +- gateway= + + +Przykład uruchomienia qemu: + +```bash +sudo qemu-system-x86_64 -kernel bzImage -append "root=/dev/ram0 console=ttyS0 ip=dhcp nfsrootfs=:/ sqfile= server= token= panic=5" -initrd rootfs.cpio.xz -nographic -net nic,model=virtio,macaddr=00:00:00:00:00:02 -net tap,ifname=tap0 -m 512 -no-reboot -smp cpus=4 + +``` +## Przykład konfiguracji dla iPXE + +```ipxe +#!ipxe + +set server_ip +set root_path /tftpboot/os-images +set boot_url http://${server_ip} + +set os_locate +set os_root ${boot_url}/${url_path}/${os_locate} +kernel ${os_root}/bzImage +initrd ${os_root}/initramfs.cpio.xz +imgargs bzImage initrd=initramfs.cpio.xz root=/dev/ram0 console=ttyS0 ip=dhcp nfsrootfs=${server_ip}:${root_path}/${os_locate} sqfile= server= token= panic=5 +boot || goto failed + + ``` \ No newline at end of file diff --git a/configs/authorized_keys b/configs/authorized_keys index f49a10e..e69de29 100644 --- a/configs/authorized_keys +++ b/configs/authorized_keys @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWyVkbAlKLlqmgtbIDYVbuLzoZ9WqzR/STVYOX3dVwN6/JTjTwfwziqB709jQC3xjHucn0BG60CugTw3VpegRiq8sh7Fza72TlBgxZ+HtzfP3hEybv+Ig4EHrILScDE9TQfuijID8ymB2mk2lj8C87UsWGUv7yPabgHK+/XkEOn5BKlr6wTibGu4tNUiOPEQIUiKZ5CLm7OfWxaL1RXsgitUcT+i6GtGjOz+9Xy+1dNa/btt6V+V5PDMh3NM4tXRImpr8B1C0g9uUDsRQTUw8mfAmN0fpBGEaM4/MBnAfSL2AVft4HIbFD6/Qs7EPS14rnz1gZwUlwfERriWLBvxeVapQgwk8qmoJVmtIUHxorYrLsanq+SDsX9Jj/X/X1hA3XtRMbuBZEQOeOxUmajyiA3A2tyMZbio/vNwA9b4a3JR9hOw+kZpJ4UjF9adJmiGYzxS9GE/DNIi2AdKUyBsLzUkP7966AzIT3vGrVwjyygUZHzOlp7bOS5PLDRHJw0FU= mateusz@pop-os diff --git a/praktyki.squashfs b/praktyki.squashfs deleted file mode 100644 index 58d8386..0000000 Binary files a/praktyki.squashfs and /dev/null differ