openKylin论坛

标题: 尝试把优麒麟22.04装到FT2000/4开发板上 [打印本页]

作者: 凛葵依    时间: 2022-6-10 09:23
标题: 尝试把优麒麟22.04装到FT2000/4开发板上
本帖最后由 凛葵依 于 2022-6-16 08:52 编辑

1.学习U-Boot中。代码获取地址:https://ftp.denx.de/pub/u-boot/

U-Boot的目录结构,取自源码中README
Directory Hierarchy:
====================

/arch                        Architecture-specific files
  /arc                        Files generic to ARC architecture
  /arm                        Files generic to ARM architecture
  /m68k                        Files generic to m68k architecture
  /microblaze                Files generic to microblaze architecture
  /mips                        Files generic to MIPS architecture
  /nds32                Files generic to NDS32 architecture
  /nios2                Files generic to Altera NIOS2 architecture
  /powerpc                Files generic to PowerPC architecture
  /riscv                Files generic to RISC-V architecture
  /sandbox                Files generic to HW-independent "sandbox"
  /sh                        Files generic to SH architecture
  /x86                        Files generic to x86 architecture
  /xtensa                Files generic to Xtensa architecture
/api                        Machine/arch-independent API for external apps
/board                        Board-dependent files
/boot                        Support for images and booting
/cmd                        U-Boot commands functions
/common                        Misc architecture-independent functions
/configs                Board default configuration files
/disk                        Code for disk drive partition handling
/doc                        Documentation (a mix of ReST and READMEs)
/drivers                Device drivers
/dts                        Makefile for building internal U-Boot fdt.
/env                        Environment support
/examples                Example code for standalone applications, etc.
/fs                        Filesystem code (cramfs, ext2, jffs2, etc.)
/include                Header Files
/lib                        Library routines generic to all architectures
/Licenses                Various license files
/net                        Networking code
/post                        Power On Self Test
/scripts                Various build scripts and Makefiles
/test                        Various unit test files
/tools                        Tools to build and sign FIT images, etc.
u-boot源码中存在大量开发板的对应代码,
这些代码都是经过验证可以正常工作的。
编译时只需要在u-boot代码根目录下,
make <开发板名>deconfig
就会输出提示
configuration written to .config
此时u-boot即被配置为开发板的的编译环境。

make all
经过编译后,即生成出二进制文件u-boot.bin和u-boot.dtb等文件。
u-boot源码中虽然已经提供了大量开发板的代码,
可对于较新的开发板依然是没有的,
但一般硬件厂家会提供他们已经调试好的u-boot源码,
或者直接给用户二进制文件。

但对于开发人员,
还是通过自行编译学习一下源码较好。
u-boot的代码参考了linux的代码思想,
可以直接在linux下编译,
开发人员只要具备linux基本操作技能,
能读懂makefile即可。
对于配置文件,
除了修改<开发板名>defconfig文件外,还可以用更友好的menuconfig图像界面进行配置。
但使用前要先安装依赖

sudo apt-get install build-essential
sudo apt-get install libncurses5-dev


源码根目录下make menuconfig即可调出如下界面,根据源码中README文件进行配置即可。
(, 下载次数: 22)


2.问题来了- -x86的机器上怎么编译arm64的u-boot
那就要使用交叉编译工具了,具体网上文档很多,配置也比较简单,
安个包,改个环境配置即可。
以下这2篇都有介绍
https://blog.csdn.net/leacock1991/article/details/113703897
https://blog.csdn.net/Darton_Zhang/article/details/78236366

作者: 素少茄子    时间: 2022-6-15 12:29
我以为你是极客,原来是开发人员。
作者: 凛葵依    时间: 2022-6-16 08:52
素少茄子 发表于 2022-6-15 12:29
我以为你是极客,原来是开发人员。

我是路过的~
作者: 素少茄子    时间: 2022-6-17 10:14
凛葵依 发表于 2022-6-16 08:52
我是路过的~

原来是路过的开发人员,那更好了。




欢迎光临 openKylin论坛 (https://forum.openkylin.top/) Powered by Discuz! X3.3