[quote=“ricardo”][quote]Ricardo, fran.b je l’ai déjà dit, mais je le redis: si vous n’aimez pas ce qu’ecrit un posteur, ne le lisez pas.[/quote] Matt, je te retourne ton conseil :
si tu n’aimes pas les posts qui gueulent contre le sms, ne les lis pas.[/quote]Et je rajoutes une couche de bruit pour dire que tout ça, c’est du bruit
sinon totol, j’ai pas tout bien compris de ce qui se passait ACTUELLEMENT une fois que tu as lancé ton kernel: tu va chercher un rootfs sur ta machine en réseau LOCAL ou par ADSL ?
Et sinon, ce que tu veux, c’est éteindre ta machine serveur une fois ta gamecube active ?
Sinon, il se trouve que Linux Magazine France n°18 contient un article “Construisez un systême linux RUN IN MEMORY”.
si on a le moyen de passer un initrd avec le noyau, on peut mettre le rootfs dans l’initrd, c’est ce qu’il y a de plus simple.
l’initrd est en fait un filesystem, qui peut être compressé (il faut donc le décompresser avant de le retoucher).
L’idée est toute simple: l’initrd EST le rootfs, et tu boote juste avec l’argument de noyau “root=/dev/ram0”.
il te faut donc juste une image de ton rootfs de taille inferieure à “la memoire de ta machine moins la mêmoire qu’occupe ton systême en pleine charge”.
En détail, par exemple pour en fabriquer une:
[code]
creation et montage d’un ramdisk de 20 Mo
dd if=/dev/zero of=initrd bs=1024 count=20000
losetup /dev/loop0 initrd
mkfs.ext2 /dev/loop0
montage
mkdir mnt
mount /dev/loop0 mnt
copie du rootfs (l’initrd que l’on construit ne dois bien sûr pas être dessus)
tu utilises la méthode que tu veux pour recopier l’arbo que tu veux sur mnt
finalisation
umount mnt
losetup -d /dev/loop0
et éventuellement (mais ce n’a pas d’interet pour toi, vu qu’il va se décompresser en mêmoire de toutes façon)
gzip initrd[/code]
Et là, si j’ai bien tout compris, tu bootes avec les arguments “initrd=…” et root=/dev/ram0, et c’est bon.
Mais plutot qu’une debian, vu tes besoins, je te conseillerait de partir d’une microdistrib genre coyote linux, si il existe, et juste de rajouter les modules de ton matériel.
Sinon, il y a d’autres subtilités aprés pour optimiser, mais l’essentiel est là. Je relis la suite de l’article pour voir.
Mais est ce ton cas, peux tu booter avec un initrd ?
Par ailleurs, j’ai cru comprendre qu’il y avait un “pivot_root” qui permet de changer de rootfs, ce qui resoudrait ton pb: tu bootes comme maintenant sur la machine réseau bien chargée, avec tous les binaires nécessaires à ta séquence de boot, et en fin d’init, tu charges en ramdisk un autre rootfs (avec les binaires minimum pour continuer à tourner), puis tu switch dessus.