uboot까지 올라가면 kernel을 수동으로 로드하여 부팅이 확인되면 kernel image가 정상인 것을 알 수 있기에 

선행 작업하는 것이 편하다. 후에 uboot에서 자동으로 시퀀스에 맞게 코딩하여 설정하면 된다.

 

uboot command

STM32> printenv
STM32> ext4ls mmc 0:4

printenv로 부팅 시퀀스 확인

ext4ls로 file을 볼 수 있다.

 

STM32> setenv bootargs root=/dev/mmcblk1p4 rootwait rw console=ttySTM0,115200
STM32> ext4load mmc 1:2 0xc2000000 uImage
STM32> ext4load mmc 1:2 0xc4000000 stm32mp157f-ev1.dtb
STM32> bootm 0xc2000000 - 0xc4000000
STM32> setenv bootargs root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200
STM32> ext4load mmc 0:4 0xc2000000 zImage
STM32> ext4load mmc 0:4 0xc4000000 stm32mp157f-ev1.dtb
STM32> bootz 0xc2000000 - 0xc4000000

rootfs가 있는 partition지정, kernel image가 있는 parttion을 찾아 image를 load 시킨다.

kernel image와 dtb image의 size를 잘 고려하여 address를 지정한다.

 

- uImage -> bootm

- zImage -> bootz

 

printenv를 보면 extlinux.conf를 사용한다.

 

options 

 

quite : debug message를 보여주지 않는다.

earlyprink : debug message를 보여준다.

 - kernel make menuconfig

     kernel hacking -> darm debugging -> kernel low-level -> early printk 설정

 

 

추후 추가 !

 

+ Recent posts