HolaJun

35 object(s)
 

Beaglebone_black

BeagleBone Black

스펙

bbb2

USB to Serial (TTL) Debug

image

Minicom이란?

리눅스에서 작동하는 터미널 프로그램의 한 종류

BBB 부팅 순서

LED 순서(hmce)

image

SD카드를 꽂았을 때, LED0~2만 깜빡거림. LED3은 깜빡거리지 않아야 함.

Booting 절차

  1. BBB가 Bootloader를 읽어 실행.
    • MLO(Xloader 또는 SPL)를 읽어 실행.
    • MLO는 u-boot.img를 읽어들이는데 이 때, 설정파일 uEnv.txt를 읽어 부팅 옵션을 정함
  2. Bootloader는 kernel을 읽어들임.
  3. Kernel은 root file system을 읽어들임.

BBB Bootloader

U-Boot 소스코드 다운로드

  1. git clone git://git.denx.de/u-boot.git
  2. cd u-boot
  3. git checkout v2018.09-rc2 -b tmp
  4. https://rcn-ee.com/repos/git/u-boot-patches/v2018.09-rc2/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch 다운로드 후 ~/u-boot 디렉터리로 복사
  5. https://rcn-ee.com/repos/git/u-boot-patches/v2018.09-rc2/0002-U-Boot-BeagleBone-Cape-Manager.patch 다운로드 후 ~/u-boot 디렉터리로 복사
  6. patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
  7. patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch

Linaro Cross Compiler 설치

U-Boot 소스코드 컴파일

U-boot 설치

U-boot Download/Compile/Install

  1. Download & patch
    • git clone git://git.denx.de/u-boot.git
    • cd u-boot
    • git checkout v2018.09-rc3 -b tmp
    • wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.09/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
    • https://rcn-ee.com/repos/git/u-boot-patches/v2018.09/0002-U-Boot-BeagleBone-Cape-Manager.patch
    • patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
    • patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch
  2. Compile
    • make ARCH=arm CROSS_COMPILE=$CC distclean
    • make ARCH=arm CROSS_COMPILE=$CC am335x_evm_defconfig
    • make ARCH=arm CROSS_COMPILE=$CC
  3. Install
    • sudo dd if=MLO of=/dev/sdX bs=128k seek=1 count=1
    • sudo dd if=u-boot.img of=/dev/sdX bs=384k seek=1 count=2

MicroSD 다루기

  1. Partiton

    • sudo fdisk /dev/sdX

    • 명령어: m, n, p, w, t

    • 부팅 파티션: Boot type: FAT(LBA)(0xc),

      나머지 파티션: ext4(0x83)

  2. Format

    • sudo mkfs.vfat /dev/sdX1
    • sudo mkfs.ext4/dev/sdX2
  3. Mount

    • sudo mount /dev/sdX2 /media/user/rootfs