본문 바로가기
system/SBC

[MarsBoard] Debian server 파티션 설정

by lifeseed 2013. 8. 14.

※ 아래의 내용은 직접 작성한 내용이며, 경어를 사용하지 않았습니다.

읽으시는동안 불편하시더라도 이해 부탁드립니다.

그리고 테스트를 위한 보드는 ICBanQ에서 제공되었으며, 체험단활동의 일환으로 본 게시물이 작성되었음을 알립니다


0. 설치한 우분투 서버의 uboot 초기 환경 설정 값

> printenv

baudrate=115200

boot_mmc=fatload mmc 0 0x43000000 script.bin && fatload mmc 0 0x48000000 ${kernel} && watchdog 0 && bootm 0x48000000
bootcmd=if run loadbootenv; then echo Loaded environment from ${bootenv};env import -t ${scriptaddr} ${filesize};fi;if test -n ${uenvcmd}; then echo Running uenvcmd ...;run uenvcmd;fi;if run loadbootscr; then echo Jumping to ${bootscr};source ${scriptaddr};fi;run setargs boot_mmc;
bootdelay=3
bootenv=uEnv.txt
bootscr=boot.scr
console=ttyS0,115200
kernel=uImage
loadbootenv=fatload mmc 0 $scriptaddr ${bootenv} || ext2load mmc 0 $scriptaddr ${bootenv} || ext2load mmc 0 $scriptaddr boot/${bootenv}
loadbootscr=fatload mmc 0 $scriptaddr ${bootscr} || ext2load mmc 0 $scriptaddr ${bootscr} || ext2load mmc 0 $scriptaddr boot/${bootscr}
loglevel=8
panicarg=panic=10
root=/dev/mmcblk0p2 rootwait
scriptaddr=0x44000000
setargs=setenv bootargs console=${console} root=${root} loglevel=${loglevel} ${panicarg} ${extraargs}
stderr=serial
stdin=serial
stdout=serial

Environment size: 1028/131068 bytes



1. 설치한 우분투 서버 파일 시스템 정보

1) Partition 정보

Nand관련 정보가 출력되나 이는 사용되지 않고 mmc 정보만 확인한다.

root@debian:/# fdisk -l

~~~

Disk /dev/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders, total 15523840 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: 0x000cb560

        Device Boot      Start         End      Blocks   Id  System

/dev/mmcblk0p1            2048      127071       62512    e  W95 FAT16 (LBA)

/dev/mmcblk0p2          131072     3451383     1660156   83  Linux


2) File System 정보

root@debian:/# df -H

Filesystem      Size  Used Avail Use% Mounted on

rootfs          1.7G  467M  1.2G  30% /

/dev/root       1.7G  467M  1.2G  30% /

devtmpfs        263M     0  263M   0% /dev

tmpfs            53M  148k   53M   1% /run

tmpfs           5.3M     0  5.3M   0% /run/lock

tmpfs           106M     0  106M   0% /run/shm

/dev/mmcblk0p1   64M   13M   52M  20% /boot

none            135M     0  135M   0% /var/tmp

none            135M     0  135M   0% /tmp

root@debian:/#


2. SD카드 여분 용량에 파티션 추가하기

1-1), 1-2) 의 정보를 취합해보면, 사용한 메모리는 8G인데 설치된 이미지는 부트로더 사이즈를 더하여 2G만 사용되고있다.

이에 남은 용량을 새로운 파티션으로 추가하여 /home으로 default mount시키고자 한다.

# fdisk /dev/mmcblk0 를 실행하면 

WARNING... GPT 어쩌고 저쩌고...  라는 메세지와 함께 fdisk가 실행된다.

한마디로 요약하면 fdisk로 파티션 추가가 불가능하다.


이럴 경우 parted 명령을 이용하면 새로운 파티션 추가가 가능하다.

우선 아래 명령을 이용하여 parted를 설치하고 parted를 이용한 파티션 정보를 확인해보자

1) parted 명령 설치

# apt-get install parted 

# parted -l

Error: /dev/nand: unrecognised disk label

Model: SD SU08G (sd/mmc)

Disk /dev/mmcblk0: 7948MB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags

 1      1049kB  65.1MB  64.0MB  primary  fat16        lba

 2      67.1MB  1767MB  1700MB  primary  ext4


2) 추가 파티션 생성

역시 nand는 parted를 이용해서 편집이 불가능하다.

우리의 관심사는 sd카드이므로 parted를 실행후 아래의 명령으로 새로운 파티션을 추가하자.

파티션 종류는 ext4를 이용하며, MB단위로 start, end 값을 설정하면 된다.

아래 명령은 2번 파티션의 end인 1767MB 보다 1MB 큰 1768MB를 start로 하고, 디스크의 마지막 공간까지 하나의 파티션으로 생성하기 위해 end 값을 100%로 하였다.

# parted /dev/mmcblk0

(parted) mkpart primary ext4 1768 100%

(parted) quit


3) 추가된 파티션 포맷


파티션이 정상적으로 생성되었으면 ext4 type으로 포맷을 하고, 파티션 정보를 확인한다.

# mkfs.ext4 /dev/mmcblk0p3

# parted -l

Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags

 1      1049kB  65.1MB  64.0MB  primary  fat16        lba

 2      67.1MB  1767MB  1700MB  primary  ext4

 3      1768MB  7948MB  6180MB  primary  ext4


추가 파티션 용량이 6180MB 로 정상적으로 추가되었음을 확인할 수 있다.


3. 추가된 파티션 default로 /home에 mount하기

부팅시 default로 Partition을 Mount하는 환경 파일은 /etc/fstab에 존재한다.

에디터로 /etc/fstab을 편집하여 default로 파티션을 원하는 디렉토리에 mount 시킬 수 있다.


1) 에디터 설치

vi 혹은 vim이 없다면 apt-get 명령을 이용하여 설치하자.

# apt-get install vim

After this operation, 24.5 MB of additional disk space will be used.

Do you want to continue [Y/n]?


2) fstab 수정

아래와 같이 mmcblk0p3 파티션의 마운트 정보를 추가하자.

# vim /etc/fstab

 /dev/mmcblk0p1  /boot/      auto    noatime         0   0

 /dev/mmcblk0p2  /       auto    noatime         0   0

 /dev/mmcblk0p3  /home       auto    noatime         0   0


이제 시스템을 재부팅하면 /dev/mmcblk0p3 파티션이 /home에 마운트된채로 부팅되는 것을 확인할 수 있다.

# shutdown -r now                                     재부팅이 완료 되면 root로 로긴한다.


# df -h

Filesystem      Size  Used Avail Use% Mounted on

rootfs          1.6G  654M  863M  44% /

/dev/root       1.6G  654M  863M  44% /

devtmpfs        251M     0  251M   0% /dev

tmpfs            51M  156K   50M   1% /run

tmpfs           5.0M     0  5.0M   0% /run/lock

tmpfs           101M     0  101M   0% /run/shm

/dev/mmcblk0p1   61M   12M   50M  20% /boot

/dev/mmcblk0p3  5.7G  140M  5.3G   3% /home

none            128M     0  128M   0% /var/tmp

none            128M     0  128M   0% /tmp


cf) 이것 저것 좀 만진 상태라 용량의 크기는 다소 다를 수 있음.


이로써 기본적인 파티션 정리는 끝났다.

NAS로 사용하기 위해 용량 확장등을 하고자 한다면 SATA 포트에 HDD를 연결하여 마운트 하여 사용하면 될 것이다.