본문 바로가기
system/SBC

[MarsBoard] Debian Server Image 설치하기

by lifeseed 2013. 8. 11.

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

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

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

본인이 가진 MarsBoard는 www.marsboard.com 의 download 페이지에 등록된 SD카드용 우분투 이미지가 정상 부팅 되지 않았다. (2013년 8월 11일 현재)

 

또한 아래 본인이 게시한 글http://lifeseed.tistory.com/48 에서 소개한 ArchLinux 또한 부팅시마다 다른 증상을 나타 내었다. 

즉 부팅이 되기도 하지만 부팅이 안되는 경우가 훨씬 많았고 부팅이 되었다 하더라도 업데이트 등의 동작중에 시스템이 죽는 현상을 많이 접하게 되었다.

 

이래 저래 동작하는 이미지를 찾다 roman의 홈페이지에서 debian server용 이미지를 구할 수 있었으며, 부팅까지 안정적으로 정상동작하는 것을 확인하였다.

또한 SATA Port에 HDD를 연결시 Device또한 정상 인식되었으며, 서버 구성시 HDD를 이용한 NAS로도 활용이 가능할 듯하다.

 

지금부터는 debian server용 이미지를 설치하는 과정에 대해 정리하도록 하겠다.

 

참고페이지

http://romanrm.ru/en/a10/debian

Roman (rm or RM)이라는 사람의 홈페이지 이며, Allwinner A10을 이용한 Home Server 구축관련 내용을 정리해 두었다.

 

 

1. 필요한 파일 다운로드  

1) Debian_2Gb_Image 중 2013년 8월 11일 현재 최신 버전으로 다운 받음

a10-debian-server-2gb.2013-04-11.img.bz2

 

2014년 7월 31일 현재 14년 2월 17일 버전까지 공개되었다.

a10-debian-server-2gb.2014-02-17.img.bz2

 

2) win32diskimager : http://sourceforge.net/projects/win32diskimager/ 에서 다운 받을 수 있다.

 

2. 이미지 SD에 Writing하기

1) bz2 파일 압축 해제 하기

- 윈도우의 경우 7zip을 이용하여 압축을 풀 수 있다.

- 리눅스를 사용할 경우 아래 명령으로 압축을 풀 수있다.

$ bzip2 -d a10-debian-server-2gb*.bz2 

 

2) SD카드에 Writing하기

- 윈도우의 경우 위에서 다운 받은 win21diskimager를 이용하여 writing이 가능하다.

사용법은 인터넷에 많이 공유 되어 있어서 Pass하도록 하겠다.

- 리눅스의 경우 dd if=./image.img of=/dev/sdX  명령으로 가능하나, romarn의 홈페이지에서는 압축을 바로 SD카드로 풀면서 writing하는 방법을 소개하고 있다.

SD카드의 device파일이 /dev/sdx 라고 하면 아래의 명령으로 바로 writing이 가능하다.

이경우엔 위 bz2 압축 해제 과정이 필요없다.

$ bzip2 -dc a10-debian-server-2gb*.bz2 > /dev/sdx

 

3) 부트로더 교체

A10 각 보드에 맞는 부트로더를 Writing하여야 한다.

http://lifeseed.tistory.com/71 에 첨부된 게시물을 참조하여 부트로더를 Writing하도록 하자.

윈도우에서는 불가능하다.

 

3. 부팅하기

server image가 기본적으로 SSH가 설치되어 있어서 기본 포트로 접속이 가능하다.

UART로 log message를 확인할 수 없는 경우라면 전원을 넣은 후 넉넉하게 5분 정도뒤 ssh로 접속을 하면 된다.

ID:root

PW : password

로 접속 가능하다.

접속IP는 공유기 DHCP관리 페이지에서 확인 할 수 있으며, 리눅스 사용자라면

SD카드 파일시스템을 마운트 후 /etc/network/interfaces 를 편집하여 고정IP를 획득한 후 부팅을 하면 될 듯하다.

수정 관련 내용은 http://lifeseed.tistory.com/6 에 정리되어 있다.

 

4. 부팅후 할 일

# apt-get update

# apt-get upgrade

기본 계정이 root 이므로 sudo 라는 접두어는 사용할 필요가 없다.

 

apt-get update이후 용량은 다음과 같다.

root@debian:~# df -H
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.7G  463M  1.2G  30% /
/dev/root       1.7G  463M  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

물론 2G Image를 구웠기 때문에 2G 용량만 잡혀있다.

SD카드가 더 큰 용량이라면 fdisk 등 파티션 유틸리티를 이용하여 남은 용량을 추가 할 수 있다.

해당 내용은 다음에 포스팅 하도록 하겠다.

 

중략된 로그를 마지막으로 본 게시물을 정리하고자 한다.

 

 


U-Boot SPL 2012.10-04277-g7aa9f04 (Feb 16 2013 - 20:49:57)
DRAM: 512MB
SUNXI SD/MMC: 0


U-Boot 2012.10-04277-g7aa9f04 (Feb 16 2013 - 20:49:57) Allwinner Technology

CPU:   SUNXI Family
Board: Mele A1000
I2C:   ready
DRAM:  512 MiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
reading uEnv.txt

** Unable to read "uEnv.txt" from mmc 0:1 **
Loading file "uEnv.txt" from mmc device 0:1
Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - mmc 0:1 **
ext2load - load binary file from a Ext2 filesystem

Usage:
ext2load <interface> <dev[:part]> [addr] [filename] [bytes]
    - load binary file 'filename' from 'dev' on 'interface'
      to address 'addr' from ext2 filesystem
Loading file "boot/uEnv.txt" from mmc device 0:1
Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - mmc 0:1 **
ext2load - load binary file from a Ext2 filesystem

Usage:
ext2load <interface> <dev[:part]> [addr] [filename] [bytes]
    - load binary file 'filename' from 'dev' on 'interface'
      to address 'addr' from ext2 filesystem
reading boot.scr

** Unable to read "boot.scr" from mmc 0:1 **
Loading file "boot.scr" from mmc device 0:1
Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - mmc 0:1 **
ext2load - load binary file from a Ext2 filesystem

Usage:
ext2load <interface> <dev[:part]> [addr] [filename] [bytes]
    - load binary file 'filename' from 'dev' on 'interface'
      to address 'addr' from ext2 filesystem
Loading file "boot/boot.scr" from mmc device 0:1
Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - mmc 0:1 **
ext2load - load binary file from a Ext2 filesystem

Usage:
ext2load <interface> <dev[:part]> [addr] [filename] [bytes]
    - load binary file 'filename' from 'dev' on 'interface'
      to address 'addr' from ext2 filesystem
reading script.bin

42144 bytes read
reading uImage

2408224 bytes read
## Booting kernel from Legacy Image at 48000000 ...
   Image Name:   Linux-3.4.29-20130407.1341-rm1+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2408160 Bytes = 2.3 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

 

중략... ... ...

 

<6>Booting Linux on physical CPU 0
<5>Linux version 3.4.29-20130407.1341-rm1+ (rm@natsu) (gcc version 4.7.2 (Debian                           4.7.2-5) ) #34 Sun Apr 7 19:56:56 YEKT 2013
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: sun4i
<6>Memory Reserved:
<6>     SYS  : 0x43000000 - 0x4300ffff  (  64 kB)
Memory policy: ECC disabled, Data cache writeback
<6>chip-id: A10 (AW1623 revision C)
<7>On node 0 totalpages: 131072
<7>free_area_init_node: node 0, pgdat c06025ac, node_mem_map c065e000
<7>  Normal zone: 1024 pages used for memmap
<7>  Normal zone: 0 pages reserved
<7>  Normal zone: 130048 pages, LIFO batch:31
<7>pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768<c>
<7>pcpu-alloc: <c>[0] <c>0 <c>
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
<5>Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait loglev                          el=8 panic=10
<6>PID hash table entries: 2048 (order: 1, 8192 bytes)
<6>Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
<6>Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
<6>Memory: 512MB = 512MB total
<5>Memory: 513160k/513160k available, 11128k reserved, 0K highmem
<5>Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc05a3000   (5740 kB)
      .init : 0xc05a3000 - 0xc05ce000   ( 172 kB)
      .data : 0xc05ce000 - 0xc0603220   ( 213 kB)
       .bss : 0xc0603244 - 0xc065df84   ( 364 kB)

 


[ ok ] Cleaning up temporary files....
INIT: Entering runlevel: 2
[info] Using makefile-style concurrent boot in runlevel 2.
[ ok ] Starting enhanced syslogd: rsyslogd.
[ ok ] Loading cpufreq kernel modules...done (none).
[ ok ] Starting periodic command scheduler: cron.
[ ok ] Starting system message bus: dbus.
[ ok ] CPUFreq Utilities: Setting performance CPUFreq governor...CPU0...done.
[ ok ] Starting NTP server: ntpd.
[ ok ] Starting OpenBSD Secure Shell server: sshd.

Debian GNU/Linux 7 debian ttyS0

debian login: