0. 시작하기
결론부터 말하면 Marsboard는 QubieBoard와 다르다. 따라서 Qubieboard 용으로 배포된 이미지는 Marsboard에서 정상적으로 동작하지 않는다. 그리고 www.marsboard.com에서 제공하는 부트로더 또한 정확히 Marsboard를 위한 부트로더가 아니다. 따라서 배포된 이미지를 아무리 다운로드 하여도 부팅이 안되거나, 비정상적인 동작을 하기 일수다. 따라서 A10용으로 배포된 Bootloader를 Build하고 설치하여야 한다.
본 게시글은 네이버 오픈 H/W 마스보드 & 비글본블랙 사용자Cafe 고명호 님의 게시글과 linux-sunxi 페이지를 참조하였다.
[출처]
1) A20 에 cubian 올렸습니다. (오픈 H/W 마스보드&비글본블랙 사용자 Cafe)
2) https://github.com/linux-sunxi/u-boot-sunxi/wiki
3) http://linux-sunxi.org/ -> http://linux-sunxi.org/Building_on_Ubuntu
1. 개발환경 설정
개발환경 설치 및 빌드과정은 우분투 12.04에서 Test되었으며, 우분투 버전에 따라 일부 내용이 달라 질 수 잇다.
1) 기본적인 개발 패키지 설치
apt-get 명령을 이용하여 개발 패키지를 설치한다. 참고로 1시간이 넘는 시간이 소요되었다.
bison flex gettext uuid-dev
$ sudo apt-get install ia32-libs # If you use a 64 bit version of Ubuntu, no more needed on recent version of ubuntu
$ sudo apt-get install ncurses-dev # This is optional and needed if you are doing 'make menuconfig'
2) Cross Compiler 설치
or using linaro with hardware floating point (hf) support (used in the Linux building instructions):
$ sudo apt-get install gcc-arm-linux-gnueabihf
cf) Ubuntu 10.04
For Ubuntu 10.04 you can install a prebuilt toolchain like this very easily (newer Ubuntu version may have this pacakage by default):
sudo add-apt-repository ppa:linaro-maintainers/toolchain
sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabi
2. Source Code 받기, Build 및 설치
1) Get Source Code
- GIT을 통하여 uboot Source Code를 다운 받자.
2) build
- 다운 받은 uboot에 marsboard-A10을 위한 H/W configuration이 포함되어 있다.
$ make marsboard_a10 CROSS_COMPILE=arm-linux-gnueabi
Build가 완료되면 u-boot.img와 spl directory에 sunxi-spl.bin 이 생성된다.
3) 설치
spl 설치
uboot 설치
- 여기서 /dev/sdX 는 marsboard용 이미지가 구워진 SD카드의 device name이다.
이로써 Marsboard용 bootloader가 준비되었다.