명령을 사용하여 u-boot 환경 매개변수를 수정하려고 합니다 setenv
.
bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; bootm
지정된 구성을 사용 하면 bootm
uboot가 Linux 커널 로드를 시작하지만 saveenv
.
bootcmd
구성할 때 saveenv를 사용하여 매개변수를 저장할 수 있지만 bootm
uboot가 커널을 로드하지 못하고 다음 로그가 표시됩니다.
T T T T T T #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
##########
done
Bytes transferred = 2378156 (2449ac hex)
Unauthorized >
를 실행하여 커널을 직접 로드할 수 있습니다 bootm
.
답변1
u-boot 명령줄에서 호출한다고 가정합니다.
bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; bootm
여기서 중요한 점은 세미콜론이 명령 구분 기호라는 것입니다. 간단한 수정(테스트되지 않음)은 bootm 명령 앞에 saveenv 명령을 추가하는 것입니다.
bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; saveenv; bootm
이렇게 하면 변수가 설정됩니다.시작 명령받는 사람: tftpboot 0x80800000 192.168.2.2:uImage2
그 다음에환경을 저장하다변수가 저장됩니다
그 다음에부템메모리 내 이미지가 시작됩니다.
당신은 할 수 있습니다아니요시작할 때마다 이 작업을 수행해야 합니다.만약에시작 순서에 만족하면 변수를 저장하십시오.
설정에 대한 모든 u-boot 변수를 설정하여 시작하십시오.(예일 뿐입니다. 설정에 맞게 조정하세요.)
- setenv가 자동으로 시작됩니다.
- setenv는 uImage2 파일을 시작합니다.
- setenv ipaddr 192.168.2.2
- 환경 서버 IP 192.168.2.X 설정
- setenv bootcmd tftpboot 0x80800000 192.168.2.2:uImage2
또는
- setenv bootcmd bootp 0x80800000 uImage2
u-boot 변수를 영구 미디어에 저장
saveenv
bootcmd를 실행하여 부팅 옵션을 테스트하세요.
run bootcmd
변수가 올바르게 설정되고 bootcmd가 제대로 작동할 때까지 이 작업을 반복합니다.
bootdelay에 설정된 지연 후에도 U-Boot가 중단되지 않으면 자동 부팅 프로세스가 발생합니다. 자동 시작에는 환경 변수에 지정된 대로 bootcmd 실행이 포함됩니다.
일부 시스템 변수:
- 시작 명령: 초기 카운트다운이 중단되지 않을 때 자동으로 실행될 명령 문자열을 정의합니다. bootdelay 변수도 정의된 경우에만 실행됩니다.
- 자동 로드: "no"(또는 "n"으로 시작하는 문자열)로 설정된 경우 rarpboot, bootp 또는 dhcp 명령은 BOOTP/DHCP 서버에서 구성 조회를 수행하지만 TFTP를 사용하여 이미지를 로드하려고 시도하지 않습니다.
- 자동 시작: "yes"로 설정하면 rarpboot, bootp, dhcp 또는 tftpboot 명령(내부적으로 bootm 명령 호출)을 사용하여 자동으로 부팅 이미지가 로드됩니다.
- bootfile: TFTP를 사용하여 로드된 기본 이미지의 이름입니다.
답변2
bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; saveenv; bootm
뒤에 큰따옴표를 추가하여 전체 명령을 성공적으로 저장했습니다.bootcmd
setenv bootcmd "tftpboot 0x80800000 192.168.2.2:uImage2; bootm"