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 lsblk
stattdessen 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, lsblk
wird Ihnen der Pfad angezeigt, in dem sich das Gerät befindet, /dev
und, falls es gemountet ist, der Standort.
Hoffe, Sie können Ihr Problem lösen.