임베디드 파일 시스템에 루트 파티션 마운트

임베디드 파일 시스템에 루트 파티션 마운트

원시 NAND 플래시에서 실행되는 Linux 임베디드 파일 시스템(Linux v. 2.6.26.5)은 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

답변이 늦어 죄송합니다. 업무 중에는 인터넷만 사용됩니다.

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하고 장치가 마운트된 경우 현지화를 제공합니다.

문제를 해결할 수 있기를 바랍니다.

관련 정보