Newsgroup: it.comp.os.linux.iniziare
Titolo: NFS e Init

Sto cercando di far partire un pc/104 come se fosse un client diskless,
ma ho un problema. Una volta montato il fs (nfs) e liberato la memoria
non usata dal kernel non esegue Init, ma non restituisce nemmeno degli
errori. Staccando il cavo di rete che lo collega al server però mi
esce un errore (relativo al cavo scollegato), perciò il sistema non è
bloccato.
Anche leggendo ciò che compare prima (quello che mi è possibile
leggere visto che le scritte scorrono con una certa velocità), non
noto nessun errore.
Cosa può essere?
Mi è venuto anche il dubbio che la console sia raggiungibile dal
server, visto che sto usando una BSP della Timesys che perciò prevede
lo sviluppo in "modalità" host-target, ma è possibile? Se sì, come?
Scusate le tante domande ma non sò più dove sbattere la testa.
Ciao
Simone

 lo sviluppo in "modalitŕ" host-target, ma č possibile? Se sě, come?
Torno a disturbare.... dopo aver fatto un po' di ricerche in rete sono 
andato a vedere cosa riporta il file inittab (che allego sotto).
Non capisco, data la mia ignoranza nel campo linux, se le ultime righe 
(quelle che richiamano agetty) impostino il reindirizzamento della 
console sulla seriale. Se cosě fosse forse si spiega il perchč non 
visualizzo piů nulla dopo il caricamento del kernel. In tal caso cosa 
dovrei modificare per poter lavorare in locale sulla macchina "diskless"?
Ciao
Simone
PS: mi sapete dire dove posso trovare una buona guida che spiega le fasi 
di boot e il significato del contenuto di questo file?
-----------------------------------------------------------------------------------------
# /etc/inittab: init(8) configuration.
# The default runlevel.
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
#  <id>:<runlevels>:<action>:<process>
1:2345:respawn:/sbin/agetty -L vc/1 38400
2:23:respawn:/sbin/agetty -L vc/2 38400
3:23:respawn:/sbin/agetty -L vc/3 38400
4:23:respawn:/sbin/agetty -L vc/4 38400
5:23:respawn:/sbin/agetty -L vc/5 38400
6:23:respawn:/sbin/agetty -L vc/6 38400
T0:12345:respawn:/sbin/agetty -C -L tts/0 9600 vt100
-----------------------------------------------------------------------------------------------------

http://tldp.org/HOWTO/Diskless-root-NFS-HOWTO.html
Questo è uno dei documenti su cui mi sono basato per realizzare il mio
sistema diskell, sia il server che i client.
Andiamo per passi:
- devi configurare il server?
- il server funziona?
- dove si fermano i client?
- OS usati per il server e per i client
- configurazioni varie
L'ultima riga avvia una console sulla ttyS0, anche se io avrei usato mgetty.
Bye,
Raktzo

 Raktzo
Ancora grazie mille
Simone

 Timesys.
Ripeto, mai sentito
Bye,
Raktzo

 Ho cercato nella cartella nella BSP ma c'è solo agetty...
Ho cercato in rete e mi pare di aver capito che ttyS0 si riferisce alla
seriale.
Volendo invece modificare il file inittab per poter avere la console in
locale come dovrei fare?
Se si rende necessario l'uso di mgetty: mi basta copiarlo in /sbin ?
Ciao
Simone

 Se si rende necessario l'uso di mgetty: mi basta copiarlo in /sbin ?
Si, non so se ha bisogno di qualche libreria in particolare, prova con
# ldd /sbin/mingetty
Bye,
Raktzo

 puoi vedere anche com'è fatto /etc/inittab nella fedora
Ho provato a modificare ma non cambia nulla...
Preso dalla disperazione ho provato a rinominare un po' di directory
all'interno della cartella, sul server, che monto via NFS. Se può
essere utile ho visto che solo quando rinomino /dev/console il "target"
mi dà errore (Warning: unable to open an initial console) ma non
Kernel Panic.
Ciao
Simone

 postare /etc/export o parte di esso?
Tftp funziona... infatti quando all'avvio di Grub dò
kernel /bzImage ec....
mi trova il kernel
Anche NFS, che inizialmente mi dava problemi perchè non riusciva a
montare la root, ora funziona correttamente (o almeno sembrerebbe).
Comunque il file exports è composto solo dalla riga:
/opt/timesys/linux/5.0/x86p3/rfs      10.0.0.10(rw,no_root_squash)
Se può essere utile: per avviare da Grub il kernel uso i comandi:
dhcp                      ->ottengo correttamente l'IP
root (nd)                 -> mi dice che il fs è di tipo tftp
kernel /bzImage rw ip=dhcp root=/dev/nfs
nfsroot=10.0.0.2:/opt/timesys/linux/5.0/x86p3/rfs
boot
Ciao
Simone

Ho provato utilizzando il SBC invece del mio pc di casa (come
target)...... sembra che funzioni tutto tranne che per qualche
errore....
Non capisco il perchè.... ora provo a sistemare gli errori che mi
escono...
Grazie ancora
Simone

 /opt/timesys/linux/5.0/x86p3/rfs      10.0.0.10(rw,no_root_squash)
OK, ovviamente questa è la directory su cui solo 10.0.0.10 può montarsi
dovrebbe andare. Gli error che hai ora dipende dalle impostazioni dei
client. Che noie hai?
Bye,
Raktzo

 essere utile ho visto che solo quando rinomino /dev/console il "target"
E grazie, su /dev/console si appoggia buona parte dell'avvio e di linux
Su /dev/ hai tty, tty0, tty1, etc?
che kernel usa il client?
Bye,
Raktzo