배우고픈 공돌이

1-1. eMMC로 부팅하기. 본문

ARM/BBBW

1-1. eMMC로 부팅하기.

내 마음 아홉수 2017. 10. 14. 15:14

라즈베리파이의 부트 및 파일시스템은 마이크로SD카드로 한다.


여기에 비해 비글본블랙은 보드에 eMMC를 지원한다.


쉽게 풀어본다면, 


마이크로SD카드가 주메모리(HDD)이고,


eMMC는 속도가 빠른 SSD라고 볼수 있다.



1. sd카드에 이미지를 올리고 sd카드를 장착한 후, 부트 버튼을 LED4개가 모두 켜질 때까지 누르고 그후 때면 알아서 부팅된다.


2. /boot/uEnv.txt의 내용을 바꿔 저장 후 poweroff


root@beaglebone:/home/debian# cat /boot/uEnv.txt

#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0


uname_r=4.9.45-ti-r57

#uuid=

#dtb=



###U-Boot Overlays###

###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays

###Master Enable

enable_uboot_overlays=1

###

###Overide capes with eeprom

#uboot_overlay_addr0=/lib/firmware/<file0>.dtbo

#uboot_overlay_addr1=/lib/firmware/<file1>.dtbo

#uboot_overlay_addr2=/lib/firmware/<file2>.dtbo

#uboot_overlay_addr3=/lib/firmware/<file3>.dtbo

###

###Additional custom capes

#uboot_overlay_addr4=/lib/firmware/<file4>.dtbo

#uboot_overlay_addr5=/lib/firmware/<file5>.dtbo

#uboot_overlay_addr6=/lib/firmware/<file6>.dtbo

#uboot_overlay_addr7=/lib/firmware/<file7>.dtbo

###

###Custom Cape

#dtb_overlay=/lib/firmware/<file8>.dtbo

###

###Disable auto loading of virtual capes (emmc/video/wireless/adc)

#disable_uboot_overlay_emmc=1

#disable_uboot_overlay_video=1

#disable_uboot_overlay_audio=1

#disable_uboot_overlay_wireless=1

#disable_uboot_overlay_adc=1

###

###PRUSS OPTIONS

###pru_rproc (4.4.x-ti kernel)

#uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-4-TI-00A0.dtbo

###pru_uio (4.4.x-ti & mainline/bone kernel)

uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo

###

###Cape Universal Enable

enable_uboot_cape_universal=1

###

###Debug: disable uboot autoload of Cape

#disable_uboot_overlay_addr0=1

#disable_uboot_overlay_addr1=1

#disable_uboot_overlay_addr2=1

#disable_uboot_overlay_addr3=1

###

###U-Boot fdt tweaks...

#uboot_fdt_buffer=0x60000

###U-Boot Overlays###


#cmdline=coherent_pool=1M net.ifnames=0 quiet


#In the event of edid real failures, uncomment this next line:

#cmdline=coherent_pool=1M net.ifnames=0 quiet video=HDMI-A-1:1024x768@60e


##Example v3.8.x

#cape_disable=capemgr.disable_partno=

#cape_enable=capemgr.enable_partno=


##Example v4.1.x

#cape_disable=bone_capemgr.disable_partno=

#cape_enable=bone_capemgr.enable_partno=


##enable Generic eMMC Flasher:

##make sure, these tools are installed: dosfstools rsync

cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh



3. 다시 전원을 넣으면 다음과 같은 패턴으로 LED가 켜진다.

이 과정은, sd카드의 커널을 4G eMMC에 옮기고, rom에 있는 uboot 환경을 eMMC의 주소로 포팅되도록 한다. 



4. 그리고는 LED가 다 꺼지면서 반응이 없는데, 이때 전원을 뺏다가 다시 인가하면 eMMC로 부팅한다.


5. /etc/fstab(file system table)에서 자동적으로 SD카드를 적재할 수 있도록 한다.




# /etc/fstab: static file system information.
#
/dev/mmcblk1p1  /        ext4  defaults  1  1
/dev/mmcblk0p1  /storage ext4  defaults  1  2
debugfs  /sys/kernel/debug  debugfs  defaults  0  0


** 디바이스에 잡히는 mmcblk0는 SD카드를, mmcblk1은 eMMC를 뜻한다.




'ARM > BBBW' 카테고리의 다른 글

java FX 개발 환경 구축  (0) 2017.11.28
JAVA 개발 환경 구축  (0) 2017.11.13
3. 모니터 사용하기  (0) 2017.10.16
2. WIFI 사용  (0) 2017.10.15
1. 커널 이미지 올리기 + fdisk로 파일시스템 확장하기  (1) 2017.10.14
Comments