파티션 전환에 대한 U-boot 메시지를 이해할 수 없습니다

파티션 전환에 대한 U-boot 메시지를 이해할 수 없습니다

저는 내부 emmc에 플래시된 기본 데비안 이미지가 있는 BeagleBone 보드를 사용하고 있습니다.

mmc0 is current device장치가 부팅될 때 직렬을 통해 수신되는 다음 U-boot 메시지, 특히 먼저 보고된 다음 나중에 설명되는 방식을 이해하려고 노력하고 있습니다 mmc1(part 0) is current device.

여기서 무슨 일이 일어나고 있는 걸까요? mmc0은 내장형 emmc 메모리인가요, 아니면 SD 카드인가요? 부트로더가 mmc0에서 mmc1로 전환되는 이유는 무엇인가요?

U-Boot SPL 2018.09-00002-g0b54a51eee (Sep 10 2018 - 19:41:39 -0500)
Trying to boot from MMC2
Loading Environment from EXT4...
** Unable to use mmc 0:1 for loading the env **

U-Boot 2018.09-00002-g0b54a51eee (Sep 10 2018 - 19:41:39 -0500), Build: 
jenkins-github_Bootloader-Builder-65

CPU  : AM335X-GP rev 2.1
I2C:   ready
DRAM:  512 MiB
No match for driver 'omap_hsmmc'
No match for driver 'omap_hsmmc'
Some drivers were not found
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: External.
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from EXT4...
** Unable to use mmc 0:1 for loading the env **
Board: BeagleBone Black
<ethaddr> not set. Validating first E-fuse MAC
BeagleBone Black:
Model: SeeedStudio BeagleBone Green Wireless:
BeagleBone: cape eeprom: i2c_probe: 0x54:
BeagleBone: cape eeprom: i2c_probe: 0x55:
BeagleBone: cape eeprom: i2c_probe: 0x56:
BeagleBone: cape eeprom: i2c_probe: 0x57:
Net:   eth0: MII MODE
Could not get PHY for cpsw: addr 0
cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
board_name=[A335BNLT] ...
board_rev=[GW1A] ...
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
** Invalid partition 3 **
** Invalid partition 4 **
** Invalid partition 5 **
** Invalid partition 6 **
** Invalid partition 7 **
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc1(part 0) is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
gpio: pin 55 (gpio 55) value is 1
2099 bytes read in 7 ms (292 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt...
gpio: pin 56 (gpio 56) value is 1
Running uname_boot ...
loading /boot/vmlinuz-4.14.71-ti-r80 ...
10416640 bytes read in 663 ms (15 MiB/s)

답변1

이 예에서 mmc0은 SD 카드이고 mmc1은 eMMC입니다. "부팅 시도" 메시지는 1부터 시작하는 SoC 문서의 장치 번호와 일치하고 후속 메시지는 0부터 시작하는 일반적인 규칙을 따르기 때문에 상황이 덜 명확해집니다.

이 보드의 기본 부팅 명령은 사용자가 쉽게 다른 것을 시도할 수 있도록 부팅할 유효한 "사물"을 찾기 위해 여러 위치를 검색하고, 부팅할 SD 카드를 찾은 다음 해당 위치를 살펴봅니다. eMMC로 돌아갑니다.

관련 정보