2014년 12월 8일 월요일

비글본 블랙에 Ubuntu 설치(eMMC or SD카드 부팅)

두가지 방법이 있다. 비글본 블랙의 자체 디스크에 설치하는 eMMC(embedded Multi Media Card)방법과 SD카드에 설치하는 방법이 있다.

※ 비글본 자체 용량은 4GB이다. 나는 eMMC에 설치할 때 opencv 2.4.9, ubuntu 14.04 그리고 lxde를 설치하니 용량이 부족하여 설치할 수 없었다. 그래서 8GB SD카드 부팅을 선택하여 모두 설치하는 방법을 했다. 설치할 것이 많다면 참고하길 바란다. 

1. SD카드 굽기 
wget과 sd카드를 이용하여 설치하는 방법이 있다. 여기서는 sd카드에 이미지 파일을 구워서 설치하는 방법을 사용한다.

eMMC와 SD카드의 가장 큰 차이점은 sd카드에 어떤 우분투를 write하는지이다. 
eMMC는 https://rcn-ee.net/deb/flasher/trusty/BBB-eMMC-flasher-ubuntu-14.04-console-armhf-2014-08-13-2gb.img.xz img파일을 다운받는다. 이 이미지 파일은 비글본의 eMMC에 바로 설치된다.
SD카드의 경우에는 https://rcn-ee.net/deb/microsd/trusty/bb-ubuntu-14.04-console-armhf-2014-08-13-2gb.img.xz 에서 img를 다운받는다. eMMC가 적혀있는지를 확인하는 것이 중요하다.

위에서 원하는 이미지파일을 선택하여 굽는다.
윈도우와 맥북 두가지 방법을 설명하겠다.

1-1 윈도우
7-zip프로그램을 다운받는다. 이 프로그램은 xz파일의 압축을 풀기 위해 사용한다. img.xz를 압축을 풀어 img파일을 만든다. 이것을 Win32DiskImager을 다운받아 실행한다. 이때, 실행할때 아이콘에 오른쪽 마우스를 클릭하여 "관리자의 권한으로 실행"을 눌려 실행한다. 파일을 선택하여 sd카드에 넣으면 끝이다.

1-2 맥북(리눅스도 비슷함)
- 압축해제

xz 설치 과정
$brew update
$brew install xz

xz파일 압축해제
$xz -cdk bb-ubuntu-14.04-console-armhf-2014-08-13-2gb.img.xz > bb-ubuntu-14.04-console-armhf-2014-08-13-2gb.img

- 이미지 굽기
mount 명령을 실행하여 현재 어디에 sd카드가 있는지 확인한다. 여기서는 disk1에 있음을 볼 수 있다.
$mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk1s1 on /Volumes/BEAGLE_BONE (msdos, local, nodev, nosuid, noowners)
$ diskutil list
/dev/disk0
   #: TYPE NAME SIZE IDENTIFIER
   0: GUID_partition_scheme *121.3 GB disk0
   1: EFI 209.7 MB disk0s1
   2: Apple_HFS Macintosh HD 120.5 GB disk0s2
   3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
   #: TYPE NAME SIZE IDENTIFIER
   0: FDisk_partition_scheme *31.9 GB disk1
   1: Windows_FAT_32 BEAGLE_BONE 74.0 MB disk1s1
   2: Linux 3.6 GB disk1s2 

해당 disk를 unmount해준다.
$diskutil unmountDisk /dev/disk1
Unmount of all volumes on disk1 was successful

dd명령어를 사용하여  sd카드에 write한다. 이때 10분가량 걸리므로 딴짓을 해도 된다.
$dd bs=1m if=bb-ubuntu-14.04-console-armhf-2014-08-13-2gb.img​ of=/dev/disk1
62+1 records in
62+1 records out
65774596 bytes transferred in 33.400125 secs (1969292 bytes/sec) 

2. 비글본 블랙에 image파일 설치하기


 eMMC와 sd카드 부팅의 차이점은 카드를 빼냐 안빼냐의 차이다.
카드를 빼기 전까지의 과정은 같다.
1. 전원을 모두 제거한다.
2. SD카드를 삽입한다.
3. BOOT switch를 누르면서 USB나 5V의 전원단자에 전원을 공급한다.
4. User LEDs에 4개의 불이 다 들어오고 그 후 불들이 깜빡이면 설치중인것이다.
5. 설치가 모두 완료되면 4개 모두 불이 들어와있다. 

위의 과정까지 약 40~50분 걸리므로 여유를 가지자.

eMMC는 전원을 제거하고 sd카드를 뺀 뒤 전원을 넣으면 eMMC로 부팅이 된다.

SD카드 부팅은 전원을 넣은 채로 부팅하면 된다.

3. SD카드 부팅시 SD카드의 남은 공간을 DISK로 사용하는 법(SD카드 부팅시 꼭 해주길 바람)

 사용자 권한을 사용할 일이 많으므로 먼저 사용자 권한을 얻는다.
$sudo su

disk가 잘 들어있는지 확인한다.
$ll /dev/mmcblk*
brw-rw---T 1 root floppy 179, 0  Jan 1 2000 /dev/mmcblk0
brw-rw---T 1 root floppy 179, 1  Jan 1 2000 /dev/mmcblk0p1
brw-rw---T 1 root floppy 179, 2  Jan 1 2000 /dev/mmcblk0p2
brw-rw---T 1 root floppy 179, 8  Jan 1 2000 /dev/mmcblk1
brw-rw---T 1 root floppy 179, 16 Jan 1 2000 /dev/mmcblk1boot0
brw-rw---T 1 root floppy 179, 24 Jan 1 2000 /dev/mmcblk1boot1
brw-rw---T 1 root floppy 179, 9  Jan 1 2000 /dev/mmcblk1p1
brw-rw---T 1 root floppy 179, 10 Jan 1 2000 /dev/mmcblk1p2 
SD카드의 파티션을 검사한다.
$fdisk /dev/mmcblk0
"Command (m for help) :" 가 나왔을때 'p'를 입력하면 아래와 같이 나온다.
Command (m for help): p

Disk /dev/mmcblk0: 8270 MB, 8270118912 bytes
4 heads, 16 sectors/track, 252384 cylinders, total 16152576 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12
/dev/mmcblk0p2            4096     3751935     1873920   83  Linux

Command (m for help):
다음 Command에 'd'를 입력하고 '2'를 눌려서 파티션을 제거한다.
그리고 다시 'p'를 눌리면 두번째 파티션이 없어진 것을 볼 수 있다.
Command (m for help): p

Disk /dev/mmcblk0: 8270 MB, 8270118912 bytes
4 heads, 16 sectors/track, 252384 cylinders, total 16152576 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12

Command (m for help): 
 새로운 파티션을 생성하기 위해서 'n' , 'p', '2'를 연속으로 눌린다. 크기를 설정해달라고 하는데 Command가 나올때 까지 엔터를 쳐준다.(default로 설정됨)
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (4096-16152576, default 4096): 
Using default value 4096
Last sector, +sectors or +size{K,M,G} (4096-16152576, default 16152576): 
Using default value 16152576 
 이제 'p'를 눌려 확인해본다면 /dev/mmcblk0p2가 다시 생성된 것을 볼 수 있다.
Command (m for help): p

Disk /dev/mmcblk0: 8270 MB, 8270118912 bytes
4 heads, 16 sectors/track, 252384 cylinders, total 16152576 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12
/dev/mmcblk0p2            4096    16152576     8074240   83  Linux

Command (m for help): 
 위 처럼 잘 되었다면 'w'를 눌려서 적용시킨다.
Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
 시스템을 재부팅힌다.
$reboot
사용자 권한을 다시 얻는다.
$sudo su

현재 디스크 사용 상태를 본다.
$df

roofts대신 /dev/mmcblkop2를 사용하도록 설정한다.
$resize2fs /dev/mmcblk0p2
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p2 is now 2018560 blocks long. 

다시 디스크 사용 상태를 보면 rootfs의 사용량이 sd카드로 나눠져 사용되는 것을 볼 수 있다.
$df
Filesystem     1K-blocks   Used Available Use% Mounted on
rootfs           7919880 442668   7139200   6% /
/dev/root        7919880 442668   7139200   6% /
devtmpfs          253716      0    253716   0% /dev
tmpfs              50772    252     50520   1% /run
tmpfs               5120      0      5120   0% /run/lock
tmpfs             101540      0    101540   0% /run/shm
/dev/mmcblk0p1      1004    472       532  48% /boot/uboot 
위의 과정을 통해 SD카드를 BBB의 디스크로 사용이 가능해졌다.


 참고 :
MAC에서 SD카드 굽기 :  http://entireboy.egloos.com/4826166

댓글 없음:

댓글 쓰기