DM816x evm 보드에서 빠른 임베디드 리눅스 시스템을 함께 해킹하고 있습니다. 이전에는 TFTP와 NFS를 사용하여 커널과 루트 파일 시스템을 보드에로드했습니다. 이제 SD 카드에서 모든 것을로드하도록 전환하려고합니다.
uBoot와 커널 이미지가 하나의 파티션에 있고 rootFS가 다른 파티션에 있도록 카드를 분할했습니다. 전원을 켜면 Uboot가 올바르게 시작되고 커널이 성공적으로 시작됩니다. 그러나 커널은 루트 파일 시스템을 마운트 할 수 없습니다. SD (mmc) 카드를 인식하지 못하는 것 같습니다. 이 오류 메시지가 나타납니다.
VFS: Cannot open root device "mmcblk0p2" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00 256 mtdblock0 (driver?)
1f01 8 mtdblock1 (driver?)
1f02 2560 mtdblock2 (driver?)
1f03 1272 mtdblock3 (driver?)
1f04 2432 mtdblock4 (driver?)
1f05 128 mtdblock5 (driver?)
1f06 4352 mtdblock6 (driver?)
1f07 204928 mtdblock7 (driver?)
1f08 50304 mtdblock8 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
나는 여기에 근본적인 것을 놓친 것처럼 느낍니다. 로드하려는 루트 장치를 인식하지 못하는 이유는 무엇입니까?
다음은 실행중인 uBoot 부팅 스크립트입니다.
setenv bootargs console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw mem=124M earlyprink vram=50M ti816xfb.vram=0:16M,1:16M,2:6M ip=off noinitrd;mmc init;fatload mmc 1 0x80009000 uImage;bootm 0x80009000
내 현재 생각은 커널을 다시 컴파일하고 MMC 장치에서 루트 파일 시스템을로드하는 옵션을 명시 적으로 활성화해야한다고 생각하게합니다. 시간이 많이 걸리는 작업을 수행하기 전에 이에 대한 몇 가지 의견을 듣고 싶습니다.
루트 파일 시스템 장치 사양이 꺼져있을 가능성이 있습니다. 확인하려면 다음을 시도하십시오. TFTP / NFS를 사용하는 이전 부팅 구성에서 카드 장치를 볼 수 있습니까? 그런 다음 / dev / mmcblk0p2를 사용하여 파일 시스템을 카드에 마운트 할 수 있습니까? 파티션 인덱스를 하나씩 해제 할 수 있습니까? / dev / mmcblk0p1? 카드 기반 파일 시스템에 성공적으로 액세스 한 장치 및 파티션은 부팅 인수에서 "root ="다음의 인수 여야합니다.
—
Digikata
임베디드 소프트웨어 개발은 주제를 벗어난 사람이 아닙니다. 이것은 데스크탑을 부팅하는 것과는 다릅니다.
—
Karl Bielefeldt