2020-02-21 u-boot compile

https://elixir.bootlin.com/u-boot

  1. git clone git@gitee.com:kong-ling/u-boot.git # clone u-boot from gitee

  2. git tag -l 'v2019.07' #查看tag v2019.07, 是bitbake中使用的version

  3. git show v2019.07, 确认commit id
    commit id commit e5aee22e4be75e75a854ab64503fc80598bc2004 (HEAD, tag: v2019.07)

  4. 切换到tag: v2019.07
    git checkout v2019.07

  5. git am 0001xxxxx.patch # patch u-boot, 打入补丁


修复mac 下 make menuconfig 的bug以及自定义make menuconfig界面

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


method 1

  1. mkdir /home/lcao/uboot_e21/

  2. copy -r /home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/git /home/lcao/uboot_e21/

  3. mv /home/lcao/uboot_e21/git /home/lcao/uboot_e21/src/

  4. mkdir /home/lcao/uboot_e21/build/

  5. copy your .config to /home/lcao/uboot_e21/build/
    5.1 modify "Base ISA" by:
    make -C /home/lcao/uboot_e21/src O=/home/lcao/uboot_e21/build/ menuconfig
    RISC-V architecture-->Base ISA, modify to RV32I
    then exit and save.

  6. cd /home/lcao/uboot_e21/build/, run:
    make --sysroot=/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot" HOSTCC="gcc -isystem/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot-native/usr/include -O2 -pipe -L/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot-native/usr/lib -L/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot-native/lib -Wl,--enable-new-dtags -Wl,-rpath-link,/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot-native/lib -Wl,-rpath,/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2" PYTHON2=nativepython STAGING_INCDIR=/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot-native/usr/include STAGING_LIBDIR=/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/recipe-sysroot-native/usr/lib V=1 -C /home/lcao/uboot_e21/src/ O=/home/lcao/uboot_e21/build/

  7. for error "make[2]: *** [arch/riscv/dts/ux00_zsbl.dtb] Error 1"
    copy ux00_zsbl.dtb /home/lcao/uboot_e21/build/arch/riscv/dts/


method 2

riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6 toolchains also can be used to generate uboot for E21:

  1. mkdir /home/lcao/uboot_unknown/

  2. copy -r ``/home/lcao/offline/SiFive-OE/riscv-sifive/build/tmp-glibc/work/freedom_u540-oe-linux/u-boot/1_2019.07-r0/git/home/lcao/uboot_unknown`/

  3. mv /home/lcao/uboot_unknown/git /home/lcao/uboot_unknown/src/

  4. mkdir /home/lcao/uboot_unknown/build/

  5. copy your .config to /home/lcao/uboot_unknown/build/
    5.1 modify "Base ISA" by:
    make -C /home/lcao/uboot_unknown/src O=/home/lcao/uboot_unknown/build/ menuconfig
    RISC-V architecture-->Base ISA, modify to RV32I
    then exit and save.

  6. modify /home/lcao/uboot_unknown/src/scripts/Makefile.lib file, Line 381, remove -shared
    cmd_efi_ld = (LD) -nostdlib -znocombreloc -T(EFI_LDS_PATH) -shared \

  7. modify ``/home/lcao/uboot_unknown/src/arch/riscv/lib/crt0_riscv_efi.S, Line 140, remove the line
    lla a1, _DYNAMIC

  8. modify ``/home/lcao/uboot_unknown/src/arch/riscv/config.mk line 31, remove -pie
    LDFLAGS_u-boot += --gc-sections -static -pie

  9. modify ``/home/lcao/uboot_unknown/src/Makefile, line 1574, remove the line
    @tools/prelink-riscv $@ 0

  10. cd /home/lcao/uboot_unknown/build/, run:
    make V=1 -C /home/lcao/uboot_unknown/src O= /home/lcao/uboot_unknown/build/

  11. for error "make[2]: *** [arch/riscv/dts/ux00_zsbl.dtb] Error 1"
    copy ux00_zsbl.dtb /home/lcao/uboot_unknown/build/arch/riscv/dts/

I donot know which image can run in haps, just try to run the two methods.

  • git show v2019.07 确认version
tag v2019.07
Tagger: Tom Rini <trini@konsulko.com>
Date:   Mon Jul 8 15:23:38 2019 -0400

Prepare v2019.07
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABAgAGBQJdI5g/AAoJEIf59jXTHXZSEP4P/iBMl0lzXzJ+39s4N5ThlzCb
37/RR/orbw8Upl5z2jYFH8Lbsy2Op4pzg0zT1PnoBg/0erXkAeH269yDdm0TZ+ey
6xjsUhKcu8G9XCWoPQnHfFbEpBCDItsDWJPCKKvyDeKrhjppPyoCT5ou3l2PEz9S
ETJWhrCQtlIK0Nkk8bK+dPCJQQfUfc1zRtMn9dLhv9cd6wQU7Aaya4IvNk7DK9NO
nTfImdd5DX3grKFPTBaDJLdoH+XT2zZQE2tQncnjC+Eq7wQioD+tyUQpnDwhNuUJ
FgrL4+utp7iQzgNP4cVHt/JZzppBi3wJqI4vgWIoaxO7J8zv4JKiZGYFynH2exsv
YaU0K0dwG7BDXlAC6V3/SocgAqOPUpZFuswrAS5Rufj9MJRG+IdFT+JMvmsFO2Ma
tIWrZjYpo58ZGiz7zKOjORdo/+oSI/pxSvK15TFFbQhTKKDUrxrkjAjhTFYVYz9k
EtJxSQhLn0eWINFjhrhiY5iGUZJXxpHDivhbTfJXmxhTtt65D28iErm7NFsykzEj
RSC95x7ef49FeoqWIs3UfpALTowX0cwAtnGv3vhgvI+5I4NldcNvTGct7AfpF97m
6NawTV0e89WXla67KMYN+/smn1xwymqdm/lFrddPGkV9MSRUzcPO9Sbkpi24VT60
5vbdF8oTsu0Esaeo/DRw
=KUtX
-----END PGP SIGNATURE-----

commit e5aee22e4be75e75a854ab64503fc80598bc2004 (HEAD, tag: v2019.07)
Author: Tom Rini <trini@konsulko.com>
Date:   Mon Jul 8 15:23:28 2019 -0400

    Prepare v2019.07

    Signed-off-by: Tom Rini <trini@konsulko.com>

diff --git a/Makefile b/Makefile
index f3857ab6a9..516260f46d 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 VERSION = 2019
 PATCHLEVEL = 07
 SUBLEVEL =
-EXTRAVERSION = -rc4
+EXTRAVERSION =
 NAME =

 # *DOCUMENTATION*
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,923评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,154评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,775评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,960评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,976评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,972评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,893评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,709评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,159评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,400评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,552评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,265评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,876评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,528评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,701评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,552评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,451评论 2 352

推荐阅读更多精彩内容