組み込みファイルシステムにルートパーティションをマウントする

組み込みファイルシステムにルートパーティションをマウントする

Linux 組み込みファイルシステム (Linux v. 2.6.26.5) は、raw NAND フラッシュ上で実行され、Full Image の RootFS を使用します。U-boot 2009.03 ブートローダ。カーネルが完全にロードされた後、パスワードをリセットできるようにシェルにアクセスする必要があります。現時点では、busybox 緊急シェルを使用しているため、Linux カーネルは完全にロードされておらず、ルート パーティションはマウントされておらず、すべてのドライバーがロードされておらず、多くのコマンドが機能しません。ルート パーティションをマウントする必要がありますが、実際のルート パーティションが正確に何であるかはわかりません/dev。ブート ログには、いくつかの行が含まれています。

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

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

ルートは できると思います/dev/mtdblock5が、よくわかりません。ルート パーティションをマウントするための正しいコマンドは何ですか?

mount /dev/mtdblock5 /

また、パーティションを推測せずに誤って設定した場合の最悪のシナリオは何ですか?

編集: 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

/proc をマウントできました。しかし、/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

答え1

パーティションをマウントするための最初のステップは、「どこ」であるかを知ることです。

fdisk -l 

答えは次のようになるはずです:

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

最後のセクションでは、パーティションが「どこ」にあるかを確認できます。残りは、提案されたコマンド「mount」を使用してマウントするだけです (当然です :-) )

2 番目の質問について: 何かを壊すことはないと思います...最悪のシナリオでは、プロンプトにエラーが表示されます。

ご挨拶

答え2

返事が遅くなって申し訳ありません。インターネットは仕事中しか使えません。

したがって、lsblk代わりにを使用するとfdisk、結果は次のようになります。

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  

ご覧のとおり、sda2 パーティションはマウントされていないので、次のようにマウントします。

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

そして、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 

ご覧のとおり、lsblkデバイスが見つかったパスが表示され/dev、マウントされている場合はローカリゼーションも表示されます。

問題が解決できることを願っています。

関連情報