Boot sur disque flash en lecture seule + file system en Ramdi [debian] - Linux et OS Alternatifs
Marsh Posté le 24-02-2006 à 18:06:40
% zgrep -i ram_size /proc/config.gz |
As-tu essayé d'autres valeurs ?
sdb existe bien ?
Marsh Posté le 24-02-2006 à 18:18:34
Non j'avoue ne pas avoir essayé d'autres valeurs pour CONFIG_BLK_DEV_RAM_SIZE
Mais :
zgrep -i ram_size /proc/config.gz
me répond
/proc/config.gz : No such file or directory
Dans /boot j'ai un fichier config-2.6.8-2-686 ( qui semble donc lié à mon noyau donc )
et là si je fais :
zgrep -i ram_size /proc/config.gz
il me sort
CONFIG_BLK_DEV_RAM_SIZE=8192
Edit : Tu as posté entre temps.
sdb ( je suppose /dev/sdb ), c'est le disque rotatif. Oui il existe.
Marsh Posté le 24-02-2006 à 18:30:11
le 1er c'est normal si l'option pour /proc/config.gz n'est pas activé dans le noyau.
me demande si faudrait pas un règle udev spécifique pour /dev/sda.
Marsh Posté le 02-03-2006 à 15:41:08
Pour ceux que cela intéresse .... Précisions à ajouter au Howto nommé
dans le post initial.
La motivation qui manimait étant de mettre en lecture seule le système de fichier, jai :
Modifier le fichier /etc/init.d/checkroot.sh
=> Ajouter rootcheck=no juste avant le test if [ "$rootcheck"=yes ]
Modifier le fichier /etc/init.d/checkfs.sh
=> Mettre en commentaire le fsck $spinner
, le test qui suit et le traitement associé.
Modifier le fichier /etc/inittab
=> Enlever /sbin/shutdown t1 a r now juste après ctrlaltdel : (mettre un echo
)
Modifier le fichier /etc/fstab
=> Modifier la ligne /dev/sda1 comme suit
/dev/sda1 / ext2 ro 0 1
/dev/sdb1 /rotatif ext2 rw 0 2
et créer le répertoire /rotatif
Ensuite mis les 3 scripts ci-dessous dans un coin et executé le mkinitrd.sh.
Script menu.lst utilisé :
Prendre celui fournit par linstallation
Commenter en mettant en début de ligne le caractère #, les 2 blocs de 6 lignes ( title, root, kernel, initrd, savedefault, boot ) et rajouter :
===========================================================================
Code :
|
===========================================================================
Script linuxrc utilisé :
===========================================================================
Code :
|
===========================================================================
Script mkinitrd.sh utilisé :
===========================================================================
Code :
|
===========================================================================
Marsh Posté le 01-06-2011 à 11:08:40
Je déterre le topic, mais le sujet m'intéresse.
Je conseille énormément cette doc : http://www.kernel.org/doc/Document [...] tramfs.txt et le petit script mkinitamfs de 10 lignes bien pratique pour tester.
Marsh Posté le 02-06-2011 à 00:48:08
En utilisant busybox (compilé en static) et switch_root, je génère l'initrd en 150 lignes de bash (script init compris), je gère plusieurs architectures (testé x86 et amd64), je crée un debootstrap debian, je le configure et je boot dessus
J'ai pas de old_root, je construis mon fs dans /newroot, et je fais la commande magique :
Code :
|
Je pense que je publierai mes scripts bientôt
A noter, debirf pour fabriquer des initrd contenant une Debian entière : http://cmrg.fifthhorseman.net/wiki/debirf
Marsh Posté le 24-02-2006 à 16:03:39
J'essaie d'installer une Debian de façon un peu spéciale. En fait j'ai besoin qu'un disque flash contienne le noyau et un applicatif, mais pour éviter tout risque de corruption, notamment en cas de coupure intempestive, ce disque doit être en lecture seule. Les données utilisateur sont contenues sur un disque rotatif annexe, sans criticité. Les données du système ( /var, /tmp ... ) devront donc être montés sur un disque virtuel.
J'ai donc installé de façon classique une Debian ( Sarge 2.6.8-2-686 ) sur mon système, composé de 2 disques SCSI ( sda : disque flash de 1 Go, et sdb : disque rotatif de 70 Go ) et d'un 1Go de RAM. Jusqu'à là pas de souci.
J'ai ensuite trouvé un petit How-to qui explique comment mettre son tmpfs en RAM, ce qui paraissait un bon début, avant de passer le disque système en lecture seule. Pour ceux qui veulent jeter un coup d'oeil ( à noter que le site est une vraie mine d'or ) :
http://madchat.org/sysadm/unix.gui [...] 050703.txt
En résumé les actions, à partir de l'installation normale :
# Suppression du /tmp
# On crée l'image (ici, 4meg)
# On crée les répertoires essentiels..
# On recopie sh ls cat mount umount mkdir chroot tar gzip et pivot_root
# dans /mnt/initrd/bin
# On créé les noeuds
# On édite /mnt/initrd/linuxrc
# On tar les répertoires avant de les effacer
# Et enfin on fait modif le menu.lst de GRUB pour lancer tout ça :
# en ajoutant :
Et là, on croise les doigts, on reboot .... et en sélectionnant la "Debian Maison" on a un joli kernel panic.
Le message exact etant :
A noter que lors d'un lancement réussi ( DEBIAN classique ) on a les messages :
A priori c'est ce qui est rajouté dans GRUB au niveau du " initrd /boot/initrd " qui semble poser problème, bien que
non expert je n'en ai aucune certitude. Evidemment si quelqu'un a une idée à soumettre je suis preneur ....