Sistema de archivos integrado Linux (Linux v. 2.6.26.5) que se ejecuta en flash NAND sin formato, utiliza RootFS de Full Image. Cargador de arranque U-boot 2009.03. Necesito acceder al shell después de que el kernel esté completamente cargado, para poder restablecer la contraseña. Por ahora uso el shell de emergencia de Busybox, por lo que el kernel de Linux no está completamente cargado, la partición raíz no está montada, no todos los controladores están cargados y muchos comandos no funcionan. Necesito montar la partición raíz, pero no sé exactamente en qué se encuentra la partición raíz real /dev
. El registro de arranque contiene algunas líneas,
Kernel command line: console=ttyS1,115200n8 rootfstype=squashfs noalign half_image=0 verify=y
LINUX_ROOTFS is 4
VFS: Mounted root (squashfs filesystem) readonly.
...
Supongo que root puede serlo /dev/mtdblock5
, pero no estoy seguro. ¿Cuál es el comando correcto para montar la partición raíz?
mount /dev/mtdblock5 /
Además, ¿cuál es el peor de los casos si no adivino la partición y la configuro incorrectamente?
editar: probé fdisk
BusyBox v1.10.2 (2017-08-02 14:07:25 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/bin/sh: can't access tty; job control turned off
# fdisk -l
/bin/sh: fdisk: not found
#
# mount
mount: no /proc/mounts
#
# lsblk
/bin/sh: lsblk: not found
Logré montar/proc. Pero no puedo montar /dev, /sys.
# cd /
# mount -t dev dev /dev
mount: mounting dev on /dev failed: No such device
# mount -t proc proc /proc
# mount -t sys sys /sys
mount: mounting sys on /sys failed: No such device
# mount -t devpts devpts /dev/pts
mount: mounting devpts on /dev/pts failed: No such file or directory
Respuesta1
Para montar la partición, el primer paso es saber "dónde":
fdisk -l
La respuesta debe ser algo como esto:
Disk /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00009971
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 10547199 10545152 5G 82 Linux swap / Solaris
/dev/sda2 192243712 1953521663 1761277952 839,9G 7 HPFS/NTFS/exFAT
/dev/sda3 * 10547200 192243711 181696512 86,7G 83 Linux
¡En la última sección puedes ver "dónde" están las particiones! Solo resto montarlos, con el comando que propongas: "mount" (obviamente :-) )
Para la segunda pregunta: no creo que hayas roto algo... en el peor de los casos, el mensaje te dará un error.
Saludos
Respuesta2
Perdón por la respuesta tardía, solo tengo internet en mi trabajo.
Entonces, puedes usar lsblk
en su lugar fdisk
, aquí están los resultados:
root@CyborgPC /h/cyborg# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 5G 0 part [SWAP]
├─sda2 8:2 0 839,9G 0 part
└─sda3 8:3 0 86,7G 0 part /
sr0 11:0 1 1024M 0 rom
Como pueden ver la partición sda2 no está montada, yo monto:
root@CyborgPC /h/cyborg# mount /dev/sda2 /media/cyborg/Almacen
Y usa el lsblk nuevamente:
root@CyborgPC /h/cyborg# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 5G 0 part [SWAP]
├─sda2 8:2 0 839,9G 0 part /media/cyborg/Almacen
└─sda3 8:3 0 86,7G 0 part /
sr0 11:0 1 1024M 0 rom
Como puede ver, lsblk
le brindan la ruta donde se encuentra el dispositivo /dev
y, si está montado, le brindan la localización.
Espero que puedas resolver tu problema.