개발자 블로그

uboot build(2014 vs 2017.4 vs 2019.2) 환경설정 본문

uBoot build, uImage, ramdisk(zynq)

uboot build(2014 vs 2017.4 vs 2019.2) 환경설정

youngsunny 2021. 7. 22. 18:05

git clone https://github.com/Xilinx/u-boot-xlnx.git

git clone https://github.com/Xilinx/u-boot-xlnx.git

 

GitHub - Xilinx/u-boot-xlnx: The official Xilinx u-boot repository

The official Xilinx u-boot repository. Contribute to Xilinx/u-boot-xlnx development by creating an account on GitHub.

github.com

 

 git clone git://github.com/Xilinx/linux-xlnx.git
 git clone git://github.com/Xilinx/device-tree.git -- 안됨
 git clone git://github.com/Xilinx/device-tree-xlnx.git

 

3ea file 다운로드

u-boot-xlnx

linux-xlinx

device-tree-xlnx

 

아래 참고

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841973/Build+U-Boot 

 

Build U-Boot - Xilinx Wiki - Confluence

This how-to describes how to build the u-boot bootloader for your target platform. Building the U-Boot bootloader is a part of the Xilinx design flow described in Xilinx Open Source Linux. U-Boot depends upon an externally build device tree compiler (dtc)

xilinx-wiki.atlassian.net

 

U-boot build steps

All commands have to be executed in your u-boot source directory.

  • Clone u-boot git clone https://github.com/Xilinx/u-boot-xlnx.git
  • cd to u-boot directory "cd u-boot-xlnx".
  • Add tool chain to path and then set tool chain as below(tool chain name may vary based on toll chain version).

Zynq:

export CROSS_COMPILE=arm-linux-gnueabihf-    <<<<이거는 안해봣고

export CROSS_COMPLIE=arm-none-eabi- << 이걸로 하니깐 됨 (vivado 2017.4, 2019.2)

                                                                           vivado2014.3은 arm-xilinx-linux-gnueabi- 놓 해놓고  make를 하면 gcc 버전 문제로 안됨, git server의 uboot 파일호환성 때문에 그런듯함(밑에  *추가 설명)

 

추가로 source 도 해줘야함

2014.3 버전에서는(ubuntu16.04.3)

source ~/Tools/Xilinx/Vivado/2014.3/settings64.sh

2017.4 버전에서는(ubuntu16.04.3)

source ~/Tools/Xilinx/Vivado/2017.4/settings64.sh

2019.2 버전에서는(ubuntu18.04.2)

source ~/Tools/Xilinx/Petalinux/2019.2/settings.sh

 

제대로 반영이 되었는지는

arm- 하고 탭키를 눌러보면 설치 리스트가 나온다. 

신기하게 2019.2버전설치환경에서 source ~/Tools/Xilinx/Vivado/2019.2/settings64.sh 로 해놓고

arm- 탭 키를 누르면 아무것도 안뜬다 

 

 

 

export ARCH=arm

ZynqUS+:

export CROSS_COMPILE=aarch64-linux-gnu-

export ARCH=aarch64

Microblaze:

export CROSS_COMPILE=microblazeel-xilinx-linux-gnu-

export ARCH=microblazeel

 

*sadri 동영상 및 옛날 자료를 찾아보면  (https://www.youtube.com/watch?v=6no1zMczc0M&t=1235s)

export CROSS_COMPILE=arm-xilinx-linux-gnueabi- 로 하라고 되어있다 아마도 그당시 uboot file의 컴파일러 매칭이 저거랑 매칭이 되었나 싶다. vivado 2014.3 설치하면 저게 리스트로 뜨긴하는데 2017.4, 2019.2 를 설치하면 저건 안뜨고 다른것들이 

뜨는걸 보면 저 컴파일러는 이전버전과 매칭되고 vivado version이 업데이트 되면서 컴파일러도 업데이트가 된듯하다.

개념이 아직 어렵다...

export ARCH=arm

 

 

build 대상을 적용해야한다.

옛날자료(sadri동영상) 을 보면

make zynq_zed_config 로 되어있지만 최근에는 바뀜 나의 보드설정은 make zynq_zybo_z7_defconfig (vivado 2014.3)

Digilent ZYBO-7Z (2nd Edition) --> zynq_zybo_z7_defconfig

아니고 2020.1 이후껄로 통합되었나 싶음

make xilinx_zynq_virt_defconfig

device tree 설정해주고 아래 참고

Configuring U-Boot (< 2020.1 Release)

Configuring U-Boot (>= 2020.1 Release)

 

'uBoot build, uImage, ramdisk(zynq)' 카테고리의 다른 글

uboot booting 문제1(해결)  (0) 2021.07.24