Mounten der Root-Partition auf dem eingebetteten Dateisystem

Mounten der Root-Partition auf dem eingebetteten Dateisystem

Das eingebettete Linux-Dateisystem (Linux v. 2.6.26.5) läuft auf einem rohen NAND-Flash und verwendet das RootFS des vollständigen Images. U-Boot 2009.03-Bootloader. Ich muss auf die Shell zugreifen, nachdem der Kernel vollständig geladen ist, damit ich das Passwort zurücksetzen kann. Im Moment verwende ich die Busybox-Notfall-Shell, sodass der Linux-Kernel nicht vollständig geladen ist, die Root-Partition nicht gemountet ist, nicht alle Treiber geladen sind und viele Befehle nicht funktionieren. Ich muss die Root-Partition mounten, weiß aber nicht genau, wo sich die echte Root-Partition befindet /dev. Das Boot-Protokoll enthält einige Zeilen,

Kernel command line: console=ttyS1,115200n8 rootfstype=squashfs noalign half_image=0 verify=y

LINUX_ROOTFS is 4
VFS: Mounted root (squashfs filesystem) readonly.
...

Ich vermute, dass Root möglich ist /dev/mtdblock5, bin mir aber nicht sicher. Was ist der richtige Befehl zum Mounten der Root-Partition?

mount /dev/mtdblock5 /

Und was ist das schlimmste Szenario, wenn ich die Partition nicht errate und sie falsch einstelle?

bearbeiten: ich habe fdisk ausprobiert

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

Ich konnte /proc mounten. Kann aber /dev, /sys nicht mounten.

# 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

Antwort1

Um die Partition zu mounten, muss man zunächst wissen, „wo“ ist:

fdisk -l 

Die Antwort muss ungefähr so ​​lauten:

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

Im letzten Abschnitt können Sie sehen, "wo" sich die Partitionen befinden! Nur die restlichen Partitionen müssen noch mit dem von Ihnen vorgeschlagenen Befehl "mount" (natürlich :-)) eingebunden werden.

Zur zweiten Frage: Ich glaube nicht, dass Sie etwas kaputt machen werden. Im schlimmsten Fall erhalten Sie in der Eingabeaufforderung eine Fehlermeldung.

Grüße

Antwort2

Entschuldigen Sie die verspätete Antwort, ich habe Internet nur bei der Arbeit.

Sie können lsblkstattdessen also verwenden fdisk. Hier sind die Ergebnisse:

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  

Wie Sie sehen, ist die sda2-Partition nicht gemountet, ich mounte:

root@CyborgPC /h/cyborg# mount /dev/sda2 /media/cyborg/Almacen

Und verwenden Sie erneut lsblk:

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 

Wie Sie sehen, lsblkwird Ihnen der Pfad angezeigt, in dem sich das Gerät befindet, /devund, falls es gemountet ist, der Standort.

Hoffe, Sie können Ihr Problem lösen.

verwandte Informationen