Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Vietnanka 11. 09. 2025, 11:54:48
-
Nějak nerozumím , zda je možný http nebo https boot (kromě TFTP PXE) a s vlastním "Boot URI" network boot na intel desce s APTIO ambi boot setup utility (typická modrá obrazovka s taby Main,advanced,boot,Save+Exit):
V advanced tabu(nikoli boot):
V network stack options submenu povolím na enabled, ukáží se 2x2 volby IPV4/IPV6 x PXE/HTTP
vyjdu zpět do sekce advanced a je tam možnosti tls auth option a dál 3 menu:
MAC:xx-xx.....xx:IPV4 Network
MAC:xx-xx.....xx:Http boot --- toto mě zajímá
MAC:xx-xx.....xx:IPv6 Network
v http boot je položka něco jako -input name (asi jen nějaké pojmenování)
-volba ipv4 nebo ipv6
-Boot URI ..: tohle je kámen úrazu !!!!
1. To mohu nechat prázdné a bez toho to bude bootovat nějaké implicitní URL předané v DHCP OPTION? musí jít o https ?
2. Proč po zadání http://.. to hodí alert typu "bad URI format! Must be URI starting https" - to znamená že až tedy po pěti obrazovkách poprvé se člověk dozví, že to je HTTPS BOOT?
3. řečnická otázka Jak mám vystavit certifikát 192.168.1.250?
4. jaký má toto omezení smysl??? v kontextu že tftp pxe boot je asi staré udp tftp a zadruhé pokud platí hypotéza, že bez zadané boot uri to možná bude bootovat z toho url přečteného z dhcp odpovědi?
(4-bonusová) kdy bude iscsci boot? umí to coreboot nebo nějaký počítač? nebo se to musí dělat přes mezičlánek přes pxeboot, který natáhne podporu iscsci? (nevím jestli je to grub,gpxe,ipxe
5) v jakém "formátu" je boot image? uefi binárka, iso, exe, assembler? MBR partition )
ai chat na tohle papoušku pouze obecný kecy a vysvětluje kroky bootování, člověk se od AI nic nedozví
-
iSCSI boot je soucasti vetsiny serverovych desek co mi prosla rukama (hlavne supermicro), typicky to vzdy najdes na desce s 10G portem.
Alternativne si kup moderni sitovku do PCIe, ktera pak do UEFI biosu doda volby pro nastaveni iSCSI.
Format souboru - u PXE bootu je image tusim "bios rom extension", tj. 16-bit real mode kod:
https://superuser.com/questions/1637976/what-is-boot-file-in-pxe-booting
/var/tftp/pxe-bios # file pxelinux.0
pxelinux.0: data
zatimco u UEFI se jedna o klasickou .efi binarku:
/var/tftp/pxe-uefi-x64 # file syslinux.efi
syslinux.efi: PE32+ executable for EFI (application), x86-64 (stripped to external PDB)
(dhcp musi umit podle tazatele odpovidat stylem kdo se pta, takove dostane optiony.. tj. vi zda pozadavek prisel z pxe/bios nebo pxe/uefi)
HTTP/s ani iSCSI jsem neresil. Nejspis iSCSI by bylo jednodussi.. vystavit image disku a chova se to jako "nativni" disk.. jen to chce ovladace ve win mit predem natazeny at to i dobootuje, nebo moduly v linuxu.
-
Doporučuji loadnout přes PXE napřed iPXE (bootloader) a ten umí všechno o čem jste psal.
Teda ne že bych to všecko testoval... pro natažení OS ze svého serveru v LAN mi stačí NFS.
ISC DHCPd umí v konfiguraci zařídit, aby se podal bootloader pro legacy BIOS (pxelinux) nebo UEFI (iPXE) podle obsahu DHCP dotazu... tzn. můžete bootovat oběma způsoby.
Máte-li zájem o příklad konfigurace, dejte vědět, někdy během víkendu bych se k tomu vrátil.
-
Možná drobná nápověda:
5) v jakém "formátu" je boot image? uefi binárka, iso, exe, assembler? MBR partition )
Ano UEFI binárka, obvyklá přípona souboru je .efi .
Například zmíněné iPXE pro toto použití má podobu bináru ipxe.efi .
Bootloader iPXE obsahuje jednoduchý příkazový řádek (command line interpreter) a umí provést skript.
Skripty iPXE mají obvykle příponu .ipxe.
Už si nepamatuju podrobnosti, ale skript lze nebo je třeba "zapéct" (embednout) do iPXE při buildu.
Minimální skript pro odkaz na externí soubor s vlastním skriptem (v příkladu níže obsahuje menu) může vypadat takto:
#!ipxe
dhcp
chain tftp://10.20.30.40/ipxe/menu.ipxe
Následně menu.ipxe může obsahovat něco jako:
#!ipxe
#console --picture tftp://10.20.30.40/ipxe/background.png
#prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE command line... && shell ||
menu Please select a profile to boot:
item memtest Memtest86+ 7.20 (memtest.org)
:memtest
kernel tftp://10.20.30.40/os/memt720i64.efi
imgargs memt720i64.efi keyboard=both usbinit=3
boot
Kde se mi to hodí, URI začínám třeba nfs:// . Lokální cesta na serveru je věc konfigurace serveru.
Jenom si nejsem jistej, jak tohle zaklapne dohromady třeba se SecureBootem...
Tady je hrubá compile-time konfigurace:
https://github.com/ipxe/ipxe/blob/master/src/config/general.h
-
Ještě jedna neotestovaná hraběcí rada z mé strany:
3. řečnická otázka Jak mám vystavit certifikát 192.168.1.250?
Pro OpenVPN tu a tam použiju EasyRSA (https://github.com/OpenVPN/easy-rsa) - sada skriptů okolo openssl , přibalená k OpenVPN.
V hledáčku mám výhledově step-ca (https://github.com/smallstep/certificates) , jakožto server pro privátní ACME (https://smallstep.com/blog/private-acme-server/).
V principu: provozujte si primitivní vlastní CA.
Kde třeba, budete muset klientským krabičkám/instancím podsunout svůj CA cert, aby Vaši "CA na koleně" uznávaly. Jedna věc je cert vystavit, další věc je ho obnovovat když vyexpiruje... platí pro serverové certy i pro CA cert.
Pokud Váš BIOS nebo krabička jakožto klient tohle všechno bezchybně podporuje, máte možná dost kliku. Pro každý jednotlivý model HW/SW/FW, co se Vám v síti vyskytne a s SSL/PKI obcuje...
-
IMO se tu plete vic veci dohromady a dotaz smeruje asi primarne k HTTP bootu samotnemu (co je preferovana varianta treba na Dellich notasech z doby tak 3 roky zpatky a novejsich).
Obecne v principu je to tak, jak pisou panove vejs...
V ramci DHCP requestu se resi, co poslat za boot file, melo by to byt nejak takto - vycucnuto z dnsmasq konfiguraku a okomentovano:
#legacy-BIOS PXE boot >> pro tuhle Arch se bootujici klient nasmeruje na TFTP boot-file name odpovidajici te architekture, prikladmo undionly.kpxe jako bootloader
PXEClient:Arch:00000
#UEFI x86 >> tady se posle jako odpoved .efi binarka z prislusneho tftp boot-file, ovsem zkompilovana pro 32-bit (v praxi se vyskytuje jen u nejakych prehistorickych obskurnich notasu a netbooku s 64-bit Atomem, ktery ovsem maji jen 32-bit UEFI)
PXEClient:Arch:00007
#UEFI x64 >> dnes nejcastejsi varianta, ocekava se 64-bit .efi binarka, opet z tftp boot-file
PXEClient:Arch:00009
#http boot x86-64 EFI >> a tentyz soubor lze poskytnout i z http boot file...
HTTPClientArch:00016
ad embed iPXE skriptu primo do binarky - drive to byla temer nutnost, aktualni verze iPXE automaticky saha po souboru "autoexec.ipxe" v root tftp slozce, takze pakarna odpada. :-)
Schvalne k tomu jeste neco malo dohledavam a koukam, ze iPXE uz konecne existuje i v SecureBoot-signed variante... sice ficurove osekane (treba neumi NFS boot), ale k sehnani to je...
https://hannan.au/posts/pxe/