[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cramfs: wrong magic



[Toujours garder les messages sur la liste, la réponse peut
interesser quelqu'un d'autre]

On Mon, May 06, 2002 at 12:05:34PM +0200, Antoine Jacoutot wrote:
> Bon, le problème du fsck.ext3 qui n'existe pas est réglé, j'ai
> simplement recréé un initrd.img avec un load modules ext2 et ext3.
> Par contre, comment je définis le filesystem de ma racine ? Dans
> /etc/fstab il est bien noté en ext3 (pour /) et ext2 (pour/boot).

Oui mais il faut bien monter / pour lire /etc/fstab, donc en
fait préciser le type de filesystem de / dans /etc/fstab est
inutile...

Si on pouvait préciser le filesystem de /, ça serait
nécessairement au même endroit que là où l'on définit le
root device, donc sur la ligne de commande du noyau. Or, je
ne trouve pas de commande et après recherche, je trouve
dans linux/fs/super.c:mount_root:

	for (fs_type = file_systems ; fs_type ; fs_type = fs_type->next) {
  		if (!(fs_type->fs_flags & FS_REQUIRES_DEV))
  			continue;
		if (!try_inc_mod_count(fs_type->owner))
			continue;
		read_unlock(&file_systems_lock);
  		sb = read_super(ROOT_DEV,bdev,fs_type,root_mountflags,NULL,1);
		if (sb) 
			goto mount_it;
		read_lock(&file_systems_lock);
		put_filesystem(fs_type);
	}

Ce qui veut dire, en gros, que le noyau essaie
systématiquement tous les filesystems sur /dev/root jusqu'à
ce que ça marche.

La façon la plus simple de se débarrasser du message serait
de retirer cramfs de ta configuration, ça m'étonnerait
beaucoup que tu l'utilises effectivement dans un PC (c'est
typiquement utilisé pour des ROM/flash & Co); sinon, on
pourrait patcher cramfs pour ne plus protester:

diff -u -r1.1.1.1 inode.c
--- inode.c     26 Jul 2001 16:07:38 -0000      1.1.1.1
+++ inode.c     6 May 2002 12:34:14 -0000
@@ -167,7 +167,7 @@
 
        /* Do sanity checks on the superblock */
        if (super.magic != CRAMFS_MAGIC) {
-               printk("wrong magic\n");
+       /*      printk("wrong magic\n"); */
                goto out;
        }
        if (memcmp(super.signature, CRAMFS_SIGNATURE, sizeof(super.signature))) {

Ou bien ajouter un paramètre pour préciser le type de
filesystem sur la ligne de commande, mais c'est plus
compliqué.

En général, on preferera simplement vivre avec le message
d'erreur :-)

/Y


-- 
To UNSUBSCRIBE, email to debian-user-french-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: