• # pivot_root ?

    Posté par . En réponse au journal Changement dynamique de rootdevice (attention, c'est long !). Évalué à 2.

    Salut,

    j'ai du réaliser un live cd pendant un stage, et j'ai eu droit à la même problématique : changer le root device de l'initrd vers le cd.
    Bon, le tout était avec un noyau 2.4, et je ne sais pas si ce que je vais te dire s'applique encore a un 2.6 (c'est toujours mieux que rien).

    En fait tout se joue dans l'initrd, vers la fin de celui-ci tu dois utiliser la commande pivot_root avec les arguments qui vont bien pour faire basculer ta racine. Je te recommande de lire la page man de pivot_root et de chercher sur le net.

    Je pense qu'il est plus simple que tu déportes ton système de fichiers racine dès le démarrage, et je ne crois pas que ce soit faisable trivialement une fois init démarré.

    Je viens de regarder, les deux liens qui m'avaient donné un max d'info sur le sujet ne sont malheureusement plus en ligne.

    En bonus, les quelques dernières lignes appelées dans mon linuxrc :


    # A faire uniquement si /proc était monté
    umount -n /proc >/dev/null 2>&1
    mount -n -o ro -t iso9660 $CDROM $TMPMNT
    cd $TMPMNT
    pivot_root . mnt/initrd
    exec chroot . sh -c 'mount -n -t devfs none /dev >/dev/null 2>&1;\
    exec -a init.new /sbin/init 3'\
    <dev/console >dev/console 2>&1