Montaje de la partición raíz en un sistema de archivos integrado

Montaje de la partición raíz en un sistema de archivos integrado

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 lsblken 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, lsblkle brindan la ruta donde se encuentra el dispositivo /devy, si está montado, le brindan la localización.

Espero que puedas resolver tu problema.

información relacionada