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

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

Linux 임베디드 파일 시스템(Linux v. 2.6.26.5)은 Full Image의 RootFS를 사용하는 원시 NAND 플래시 메모리에서 실행됩니다. U-boot 2009.03 부트로더. 커널이 완전히 로드된 후 비밀번호를 재설정할 수 있도록 셸에 액세스해야 합니다. 현재 저는 busybox Emergency Shell을 사용하고 있기 때문에 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

마지막 부분에서는 파티션의 "위치"를 볼 수 있습니다! 나머지 설치를 위해 제안한 명령인 "install"(분명히 :-))을 사용하십시오.

두 번째 질문: 뭔가가 망가질 것 같지는 않습니다... 최악의 경우 프롬프트에서 오류가 발생합니다.

인사

답변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와 장치가 설치된 경우 현지화 정보를 제공합니다.

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

관련 정보