GNU/Linux >> Tutoriales Linux >  >> Linux

Problemas para hacer funcionar el switch_root de busybox

La razón por la que switch_root no funciona en la línea de comando es este código en busybox:

    if (st.st_dev == rootdev || getpid() != 1) {
        // Show usage, it says new root must be a mountpoint
        // and we must be PID 1
        bb_show_usage();
    }

No eres PID 1, por lo que estás cayendo en este bb_show_usage . La implicación es que el switch_root el comando en su script de inicio initramfs debe ejecutar switch_root con exec . es decir,

exec switch_root ...

El otro problema con los errores "no encontrados" probablemente se deba a que no se encuentran las bibliotecas compartidas que necesitan los ejecutables, porque el sistema de archivos raíz initramfs no las tiene. Si puedes obtener switch_root para trabajar con exec , es probable que el error "no encontrado" desaparezca.


Linux
  1. Comenzando con Zsh

  2. ¿Conseguir que 256 colores funcionen en Tmux?

  3. Linux:¿obtener capacidades de la unidad de CD/DVD cuando los dispositivos Wodim no funcionan?

  4. ¿Qué hace Exec 3?

  5. ¿Obteniendo la opción -exec en Find To Work?

Primeros pasos con GnuCash

Freebsd:¿hacer que Putty funcione correctamente con Freebsd?

¿Linux CreateProcess?

Conseguir que sudo y nohup trabajen juntos

Tuberías, dup2 y exec()

Obtener teclas de macro de un Razer BlackWidow para trabajar en Linux