RE: Boot via PXE ohne nfs etc.
Benjamin, Benjamin Zeller schrieb:
Gunreben, Peter (Peter) wrote:
[...]
Nun weiss ich nicht, was du wirklich machen willst. Hier ein kleines Beispiel: Wir ersetzen den init einfach durch die bourne shell. Als Grundlage kann man auch die normale initrd nehmen.
cp /boot/initrd /tmp cd /tmp unpackInitrd initrd cd /tmp/work-initrd cp bin/sh init packInitrd
Die modifizierte /tmp/initrd solltest du nun in den TFTP-Server legen. Wenn du alles richtig gemacht hast, wird beim booten der kernel und dann die initrd geladen. Am Ende wird noch das executable init gestartet, was ja nun eine bourne shell ist.
Genau so hab ich das jetzt versucht, nur leider tut das so nicht.
config vom pxegrub:
Wohl eher pxelinux, oder?
prompt: 0 label linux kernel vmlinuz append ramdisk_size=65536 initrd=initrd
Das ganze resultiert in Folgendem:
Client bootet. Loading vmlinuz...., Loading initrd... [...] Bootmeldungen [...] /init: Can't open auto Kernel panic - not syncing: Attempted to kill init
Hmmm, hab' ich dich schon 'mal gefragt, welche Linux-Version du verwendest? Befindet sich in der initrd evtl. eine linuxrc oder ein /sbin/init? [...]
Was ich am Liebsten haette:
Eine initrd, die dazu fuehrt, dass ich am Ende in /bin/bash lande und bestimmte Kommandos habe (smbmount z.B.)
Sowas muss doch $irgendwie machbar sein?
Ja klar geht das! Das executable "init" kann auch ein Skript sein. Die benötigten Kommandos (wie smbmount) musst du dir entweder mit allen libs oder als statisch gelinktes binary in die initrd packen. Gruss, Peter.
On Thursday 02 February 2006 09:51, Gunreben, Peter (Peter) wrote:
Benjamin,
Benjamin Zeller schrieb:
Gunreben, Peter (Peter) wrote:
[...]
Nun weiss ich nicht, was du wirklich machen willst. Hier ein kleines Beispiel: Wir ersetzen den init einfach durch die bourne shell. Als Grundlage kann man auch die normale initrd nehmen.
cp /boot/initrd /tmp cd /tmp unpackInitrd initrd cd /tmp/work-initrd cp bin/sh init packInitrd
Die modifizierte /tmp/initrd solltest du nun in den TFTP-Server legen. Wenn du alles richtig gemacht hast, wird beim booten der kernel und dann die initrd geladen. Am Ende wird noch das executable init gestartet, was ja nun eine bourne shell ist.
Genau so hab ich das jetzt versucht, nur leider tut das so nicht.
config vom pxegrub:
Wohl eher pxelinux, oder?
prompt: 0 label linux kernel vmlinuz append ramdisk_size=65536 initrd=initrd
Das ganze resultiert in Folgendem:
Client bootet. Loading vmlinuz...., Loading initrd... [...] Bootmeldungen [...] /init: Can't open auto Kernel panic - not syncing: Attempted to kill init
Hmmm, hab' ich dich schon 'mal gefragt, welche Linux-Version du verwendest? Befindet sich in der initrd evtl. eine linuxrc oder ein /sbin/init?
[...]
Was ich am Liebsten haette:
Eine initrd, die dazu fuehrt, dass ich am Ende in /bin/bash lande und bestimmte Kommandos habe (smbmount z.B.)
Sowas muss doch $irgendwie machbar sein?
Ja klar geht das! Das executable "init" kann auch ein Skript sein. Die benötigten Kommandos (wie smbmount) musst du dir entweder mit allen libs oder als statisch gelinktes binary in die initrd packen.
Schoenen guten Morgen :-) Ich glaub, ich gehe jetzt besser den Busybox-Weg. Wie bekommt man Kommandos in die initrd rein (mit Hilfe von busybox)? LG, Benni -- Benjamin Zeller Ing.-Büro Hohmann Bahnhofstr. 34 D-82515 Wolfratshausen Tel.: +49 (0)8171 347 88 12 Mobil: +49 (0)160 99 11 55 23 Fax: +49 (0)8171 910 778 mailto: zeller@ibh-wor.de www.ibh-wor.de
participants (2)
-
Benjamin Zeller
-
Gunreben, Peter (Peter)