ubuntuusers.de

pxe-boot in ram schreiben

Status: Ungelöst | Ubuntu-Version: Ubuntu
Antworten |

ATA

Anmeldungsdatum:
19. Juni 2008

Beiträge: 7

Hallo erstmal,

Folgendes ist gewünscht :

Ein festplattenloses System welches über pxe booted, (per nfs "startet" ) ,danach komplett in den RAM geschoben wird .
Prinzipiell haperts da zur Zeit an dem Punkt des aushängen der nfs verbindung.
Sprich : pxe boot geht, der client booted, nutzt nfs als / , ich erstelle eine ramdisk ,kopiere dort die /-Daten hin und verschieben den mountpoint der ramdisk.
Beim unterbrechen der Verbindung zwischen nfs-Server und -Clienten reagiert der Client nicht mehr auf Befehle.

Frage daher : Ist dies überhaupt so möglich?
Wenn dem so ist : wo ist mein Denkfehler bzw. was muss ich ändern?

Wenn nicht :
Mein alternativer Ansatz wäre gewesen pxe die initramfs holen zu lassen, und vor dem setzen des "realroot" einzugreifen, dort per (füge Möglichkeit hier ein) die Dateien zu kopieren, die Ramdisk erstellen und den "Umweg" über nfs zu sparen.

Alternative 3 sähe aus : Ich habe das "installierte" System fertig liegen : besteht eine Möglichkeit dieses System komplett zu nehmen, in ein bootbares Image ala initramfs oder ähnliches zu "stecken" ?

weitere Alternativen (Ohne platte/usb/optisches Laufwerk in dem Clienten) sind gern gesehen.
MFG

ATA

blakeks

Anmeldungsdatum:
15. Juni 2008

Beiträge: Zähle...

ATA hat geschrieben:

Alternative 3 sähe aus : Ich habe das "installierte" System fertig liegen : besteht eine Möglichkeit dieses System komplett zu nehmen, in ein bootbares Image ala initramfs oder ähnliches zu "stecken" ?

Sowas ähnliches hatte ich auch vor, ich habs aber nur mit Debian zum laufen bekommen, mit Ubuntu nicht:(
Siehe hier: http://forum.ubuntuusers.de/topic/181854/

Barabbas

Avatar von Barabbas

Anmeldungsdatum:
31. März 2007

Beiträge: 1651

Wohnort: Münster

Ich kenne mich wirklich nicht besonders aus, was das angeht, habe aber heute zufällig gelesen, dass DSL komplett über PXE in den Speicher geht. Hier der Link, den ich dazu gefunden habe:

http://cdprojekte.mattiasschlenker.de/Public/DSL-frominitrd/1.5-0.0/tftpboot/

Dort wird explizit in der Readme darauf hingewiesen, dass kein NFS mehr nötig sei.

Vielleicht hilft dir das ein wenig weiter.

lG

brb

ATA

(Themenstarter)

Anmeldungsdatum:
19. Juni 2008

Beiträge: 7

Danke erstmal für die beiden Möglichkeiten.
DSL schliesse ich vorerst aus, da ich vorhabe den Schritt "davor" selbst zu erstellen.
In wie weit der auch mit DSL geht muss ich mal schauen.
Sprich : mein eigenes "DSL" erstellen, was nicht klein sein muss, auch 1-2 GB als Dateigrösse der initramfs sehe ich nicht als Problem an.

Möglichkeit 2 hilft mir da leider nicht weiter.
Ich versuche grade aus dem tar-archiv der Installation eine bootbare datei zu machen.

ATA

(Themenstarter)

Anmeldungsdatum:
19. Juni 2008

Beiträge: 7

hallo nochmal,

ich weise nochmals darauf hin das ich die Installation bereits getätigt habe (diese quasi als tar überall verfügbar ist).
Ebenfalls reicht eine "kleinere" Distribution nicht aus da wir auf einige Programme angewiesen sind.

Nun benötige ich eine Möglichkeit innerhalb des Bootvorgangs vor dem Laden des "real_roots" bereits ein script ausführen zu lassen , welches mir das archiv vom ftp holt, und ein chroot installiert :
Scriptcode :

mkdir /mnt/ramdisk


/bin/mke2fs /dev/ram0
/bin/mount -t ext2 /dev/ram0 /mnt/ramdisk
dmesg | grep RAMDISK

echo tar holen.
ftp x.x.x.x
cd /client2
get client2.tar.gz
close bye quit

#entpacken archiv
/bin/tar xvjf client2.tar.gz -C /mnt/ramdisk


#wechseln

ch /mnt/ramdisk

#vorbereitung chroot
/bin/mount -t proc none /mnt/ramdisk/prog
/bin/mount -o bind /dev /mnt/ramdisk/dev

#chroot
/bin/chroot /mnt/ramdisk /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"

Leider scheine ich jedoch immernoch fehler bei der Erstellung/Bearbeitung der Initramfs und der zugehörigen Dateien zu machen.
wichtig dabei : Keine festplatte im clienten vorhanden.

 pxelinux.cfg/default (vom "server)
        LABEL test4
        kernel client1/vmlinuz-2.6.24-19-generic
        append  ramdisk_size=750000 initrd=/client2/client2_1.tgz toram real_root=/dev/ram0
 etc/fstab (client)
proc            /proc           proc    defaults        0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
none            /mnt/ramdisk    tmpfs    defaults,size=750M  0 0


Ramsize ist in etwa die Grösse des entpackten Archives + puffer .
OB nun über tmpfs /dev/ram oder wie auch immer ist mir eigentlich egal.
Scheinbar werfe ich grade dabei auch einiges durcheinander.
Wenn mir da jemand weiterführende Informationen als die verschiedenen diskless wikis /howtos geben kann wäre gut.

Fehlermeldung :
No filesystem could mount root, tried cramfs
Kernel panic vsf not sync, unable to mount root fs at uknown block (8,1)

MFG

blakeks

Anmeldungsdatum:
15. Juni 2008

Beiträge: 6

ATA hat geschrieben:

Wenn mir da jemand weiterführende Informationen als die verschiedenen diskless wikis /howtos geben kann wäre gut.

Hier sind ein paar Seiten/Dokumente die mir geholfen habe:
http://www.cs.cmu.edu/~dlr/debian_netboot_v1.2.pdf
http://www.munts.com/diskless/Docs/netboot.html bzw. http://www.munts.com/diskless/Linux/
http://www.howtoforge.com/pxe_booting_debian

ATA

(Themenstarter)

Anmeldungsdatum:
19. Juni 2008

Beiträge: 7

dank dir nochmal fuer deine Antwort .
Die Hilfeseiten haben es mir ermoeglicht die Initram erfolgreicher zu erstellen.

Leider haenge ich weiterhin an dem Problem was denn nun genau das spaeter root dir wird.

Hier meine beiden Files -

fstab
/dev/cdrom	/cdrom		iso9660		noauto,owner,ro		0 0
/dev/floppy	/floppy		auto		noauto,owner		0 0
none           	/proc           proc            defaults                0 0
none           	/sys            sysfs           defaults                0 0
pxe config default
LABEL test5
        kernel client1/vmlinuz-2.6.24-19-generic
        apend ramdisk_size=750000 initrd=/client2/initram.test toram root=/dev/ram0 rw
DEFAULT test5
..

Kannst du mir vielleicht deine beiden Eintraege dazu zeigen?

MFG

blakeks

Anmeldungsdatum:
15. Juni 2008

Beiträge: 6

fstab

/dev/ram0  /       ext2   defaults    0   0
proc      /proc      proc   defaults    0   0
sys    /sys      sysfs   defaults    0   0
tmpfs      /tmp       tmpfs  defaults    0   0
tmpfs      /var/lock      tmpfs  defaults    0   0
tmpfs      /var/log      tmpfs  defaults    0   0
tmpfs      /var/tmp      tmpfs  defaults    0   0


pxelinux

LABEL hardy
	menu label ^Ubuntu Hardy
	kernel hardy/vmlinuz 
	append initrd=hardy/initrd.img ramdisk_size=150000 root=/dev/ram --
Antworten |