xilinx zedboard를 이용한 u-boot를 해보도록 한다.
기존의 부팅들은 모두 sd카드를 이용했었는데 부족한 실력이지만 많은 삽질을 통해
u-boot를 성공시켰다.
u-boot를 하는데 필요했던 것들 그리고 방법에 대해 개략적으로 적어본다.
기본적으로 필요한 것들은 다음과 같다.
1. ubuntu 10.04.
2. ISE webpack 14.4
3. arm-xilinx-linux-gnueabi 크로스 컴파일러
4. tftp, dhcp, nfs
u-boot를 위해 본인이 참조한 사이트는 아래와 같다.
http://www.wiki.xilinx.com/Fetch+Sources
여기에보면 각각의 단계별로 페이지가 있으니 자세한것은 참조하면 된다.
먼저 uImage를 만들기 위해 uboot-mkimage를 설치한다.
이것이 없으면 추후 커널을 uImage로 만들때 에러가 뜨더라.
1. linux-kernel 다운받기.
terminal 입력: git clone git://github.com/Xilinx/linux-xlnx.git
2. uImage 빌드.
terminal 입력: make ARCH=arm Xilinx_zynq_defconfig
terminal 입력: make ARCH=arm menuconfig
-> 뭐하는 곳인지는 알것이라 생각.
terminal 입력: make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage
3. u-boot 다운.
terminal 입력: git clone git://github.com/Xilinx/u-boot-xlnx.git
4. u-boot 빌드.
terminal 입력: make zynq_zed_config
(만약 zc702, zc706보드를 쓴다면 config폴더 내에서 해당하는것을 찾아 적으면 된다.)
terminal 입력: make
생성된 u-boot파일을 이용해 BOOT.bin파일을 만들어야 한다. 이것은 xilinx프로그램을 사용해서fsbl파일 만들기의 방법을 적용하면 됨.
5. devicetree 빌드
우선 linux-kernel 폴더로 이동.
terminal 입력: make ARCH=arm dtbs
terminal 입력: make ARCH=arm <devicetree name>.dtb
(경로: /linux-xlnx/arch/arm/boot/dts/<devicetree name>.dtb
6. RamDisk빌드.
상위 URL에서 ramdisk 쪽으로 들어가면 미리 빌드된 이미지가 있다.
이것을 사용하자.
http://www.wiki.xilinx.com/Build+and+Modify+a+Rootfs
이곳에서 다운받고 리눅스 상에 폴더하나 만들어서 넣어놓자.
terminal 입력: mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz
여기까지가 필요한 파일들의 빌드상황이다.
당 내용은 부정확하다. 수정된 내용에대해 추후 업데이트하는것으로 하겠다.
댓글 없음:
댓글 쓰기