PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : diskless & nfsroot



wb1
08.08.01, 20:36
Hallo
Es kann sein, das dies das falsche forum ist. Ich versuchs trotzdem.
Zielstellung:
Diskless client mit nfsroot
Istzustand:
bootprom bzw bootdiskette vorhanden
boot des kernels mit dhcp und tftpboot vom bootserver möglich,
kernel mit nfsroot-unterstützung vorhanden
kernel mit mknbi-linux behandelt
bootkernelauswahl durch fixed-address-angaben in der dhcp.conf mit hilfe der mac möglich.
problem:
nach entfaltung des kernels kann nfsroot nicht gemounted werden,
es kommt zur kernel-panic.

initrd ist zwar eine lösung, aber nicht die erfüllung. Ziel sind flexible systeme mit gleichem softwarestand, ohne jeden rechner nachzuinstallieren. Also soll das grundsystem auf dem bootserver liegen und von allen clients genutzt werden. Ausnahmen sind natürlich die systemspezifischen daten wie ip routing usw.
Wer kann helfen

wb

[ 08. August 2001: Beitrag editiert von: wb ]

cocus
03.06.05, 17:20
Hast Du eine Lösung für das Problem gefunden?
Mir gelingt es ebenfalls nicht die NFS-ROOT Partition zu mounten.

pc-geil
25.07.05, 20:41
Bei mir kommt auch immer KERNEL PANIC.
Jedoch egal welchen Kernel ich nehme.
Glaube fast das es an TFTP liegt.
Ich bekomme im Syslog nicht mal ne Anfrage wegen NFS.
Mein TFTP meldet nur tftp: client does not accept options

Help me pleaaaaase.

suck
25.07.05, 21:08
Das geht net!! ..bzw. habe ich es vor 2 Jahren binnen 3 Tagen nicht hinbekommen und kam zu diesem Schluss. Aber wieso keine initrd oder die neuere Variante ramdiskfs? Die Disketten bleiben doch weiterhin alle identisch, und das System selbst (das was nach der initrd geladen wird) liegt komplett am Server und wird per NFS-Share eingebunden.. Ist doch völlig gleich, ob die initrd den Share mountet oder sonst wer..

Problem an der Diskette ist jedoch, dass grub nicht geht und lilo der absolute Horror ist - ich hasse lilo! Aber es geht auch ohne lilo! Man kann nämlich rdev nutzen und den Kernel samt initrd direkt via dd auf die Diskette kloppen. rdef sorgt dann dafuer, dass die Disk auch bootfähig is. Ich bin grad ein wenig durch die Verzeichnisse marschiert und habe Scripte a la "make_bootdisk.sh" dabei ausgegeben. Hier erkennst du gut, was dazu alles nötig ist und wie kompliziert das alles sein kann.

Gruss..

PS: Passende Zeile der /etc/exports am Server lautet: "/nfs_root 192.168.0.1/24(ro,root_squash,sync)"

PS2: Hab das wichtigste vergessen.. nach dem Booten der initrd wird binnen dieser /sbin/init.d/boot automatisch ausgeführt. Dieso sieht wie folgt aus:

/home/snook/job/isonet/mk_floppy/liloless/initrd_contents/sbin/init.d/ # cat boot
#!/bin/sh

#/bin/echo "WENN ICH DAS LESE BIN ICH GUT!!"

/bin/echo "CONFIGURING NETWORK DEVICE ..."
/sbin/ifconfig eth0 192.168.0.5 broadcast 192.168.0.255 netmask 255.255.255.0

/bin/echo "MOUNTING SERVER VIA NFS ..."
/bin/mount -t nfs -o nolock 192.168.0.99:/nfs_root /mnt

/bin/echo "CREATING DIRECTORYSTRUCTURE NEEDED BY X11 ..."
/mnt/bin/ln -s /mnt/X11R6 /usr/X11R6
#/mnt/bin/ln -s /mnt/xbin /usr/X11R6/bin
#/mnt/bin/ln -s /mnt/xlib /usr/X11R6/lib
/mnt/bin/mkdir /usr/local
/mnt/bin/ln -s /lib /usr/local/lib

/bin/echo "RUNNING LDCONFIG FROM NFS-SERVER ..."
/mnt/bin/ldconfig

# 4 MB ramdisk mit nullen fuellen und mit ext2 formatieren
/mnt/bin/dd if=/dev/zero of=/dev/ram1 bs=1k count=4096
/mnt/bin/mke2fs -m0 -i2048 /dev/ram1

# 4 MB ramdisk mit nullen fuellen und mit ext2 formatieren
/mnt/bin/dd if=/dev/zero of=/dev/ram2 bs=1k count=4096
/mnt/bin/mke2fs -m0 -i2048 /dev/ram2

#/bin/echo "READING /etc/profile ..."
#/etc/profile

/bin/echo "MOUNTING /tmp TO MEMORY ..."
/bin/echo "MOUNTING /var TO MEMORY ..."
/bin/mount -a

/bin/echo "CREATING X11 RELEVANT DIRECTORIES IN VAR ..."
/mnt/bin/mkdir /var/log

#. export
#PATH=/bin:/sbin/:/mnt/bin:/mnt/sbin:/usr/X11R6/bin
#/bin/echo "AND FINALLY ......BEGIN STARTIN' X!!"
#/bin/sh /mnt/X11R6/bin/xinit /mnt/bin/remote_startx.sh

sirmoloch
25.07.05, 21:19
PS: Passende Zeile der /etc/exports am Server lautet: "/nfs_root 192.168.0.1/24(ro,root_squash,sync)"

/nfs_root 192.168.0.0/24(ro,no_root_squash,sync) :rolleyes: