Bonjour à tous,
Comme j'aime bien bricoler des trucs à droite à gauche, j'ai eu comme idée d'essayer de faire booter un noyau sur cdrom.
J'ai donc utilisé isolinux, compilé le noyau 2.6.22.9, créé le ramfs avec mkinitrd. J'ai donc un "system" constitué de l'image bzImage, du initrd.gz correspondant à ce noyau que je fais tester avec qemu. Je souhaiterai que le noyau travaille avec comme systeme de fichier le ramdisk monté lors du démarrrage. Le noyau boot comme il faut, cependant au lancement de /linuxrc il refuse de monter le lecteur de CD-ROM, j'obtient :
- si je demande de monter /dev/hdc : mount: error 30 mounting iso9660 flags (null)
- si je demande /dev/cdrom mount: error 2 mounting iso9660 flags (null)
Je vous donne la commande de création de l'iso et le contenu de linuxrc, et le contenu de initrd.gz :
mkisofs -o bootcd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -l -L cdrom/
Le contenu de linuxrc :
#!/bin/nash
echo Mounting /proc filesystem
mount -t proc /proc /proc
echo Mounting sysfs
mount -t sysfs none /sys
echo Chargement des modules
modprobe ide-cd
modprobe cdrom
echo Creating device files
mountdev size=32M,mode=0755
echo -n /sbin/hotplug > /proc/sys/kernel/hotplug
mkdir /dev/.udevdb
mkdevices /dev
echo Creating root device
mkrootdev /dev/root
echo Mounting root filesystem /dev/root
mount -o defaults --rw -t ext2 /dev/root /root
echo Mounting CD-Rom filesystem
mount -o defaults -t iso9660 /dev/hdc /usr
umount /sys
umount /proc
echo Initrd finished
Contenu du initrd :
[root@solarius initrd1]# ls
bin/ dev/ etc/ lib/ linuxrc* linuxrc~ proc/ root/ sbin@ sys/ usr/
Sachant que je dois monter le contenu du lecteur dans /usr, est-ce que vous pourriez m'indiquer une solution parce que j'ai essayé tout ce que je connaissait et je suis a sec !
Merci d'avance!
djod4556
Message édité par djod4556 le 07-10-2007 à 14:31:33