龙芯交叉编译环境搭建之交叉编译工具链配置

 龙芯交叉编译环境搭建之

交叉编译工具链配置

1 概括

        本文档适用于龙芯3A3000/4000 UEFI代码编译,重点指导交叉编译环境的搭建方法,对系统安装不做介绍。

Ubuntu系统(版本为ubuntu-18.04.1-desktop-amd64.iso),交叉编译工具链(gcc-4.4.7-7215-n64-loongson.tar.gz)。

2 下载工具链

http://www.loongnix.org/index.php/GCC

下载gcc4.4.7 64gcc-4.4.7-7215-n64-loongson.tar.gz。

3 配置工具链

将下载的gcc-4.4.7-7215-n64-loongson.tar.gz复制到/opt目录下,并解压。

tar -xvf gcc-4.4.7-7215-n64-loongson.tar.gz

设置环境变量:

export PATH=/opt/gcc-4.4.7-7215-n64-loongson/usr/bin/:$PATH

export LD_LIBRARY_PATH=/opt/gcc-4.4.7-7215-n64-loongson/usr/x86_64-unknown-linux-gnu/mips64el-redhat-linux/lib:$LD_LIBRARY_PATH

使用export命令查看,发现环境变量设置好了,我们就可以编译内核了

————————————————————————————————

4 更改源

mv /etc/apt/sources.list   /etc/apt/sources.list_bak

vi /etc/apt/sources.list

    添加清华源,将源添加到改文件中。

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

    添加完成后输入

sudo apt update   //更新软件源

 

5  编译uefi需要添加以下依赖软件

sudo apt-get install gcc

sudo apt-get install g++

sudo apt-get install make

sudo apt-get install git

sudo apt-get install python

sudo apt-get install uuid-dev

sudo apt-get install acpica-tools

6 编译uefi代码命令

编译脚本文件目录:

LoongosnDemoBoardPkg/Script/

在编译的时候需要进入这个编译目录内,将上述的配置文件拷贝一份为.config,然后执行./build.sh来进行编译;如果没有拷贝配置文件,默认执行./build的时候会将单路开发板的配置文件自动拷贝为.config,并且询问用户;具体命令:

cd LoongsonDemoBoardPkg/Script/

cp Config/Ls3a30007a1000Single.cfg .config

./build.sh

编译生成的二进制目录:

Debug模式:Build/Ls3a30007a/DEBUG_GCC49/FV/LS3A30007A.fd

Release模式:Build/Ls3a30007a/RELEASE_GCC49/FV/LS3A30007A.fd

7 编译过程可能遇到的问题

在进行arm-linux-gcc交叉编译时遇到的一个问题:

error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory

加载共享库时出错:libmpfr.so.4:无法打开共享对象文件:没有这样的文件或目录

解决方法:

创建符号链接

sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于基于龙芯3A4000的3.10内核的编译方法,你可以按照以下步骤进行操作: 1. 获取内核源代码:首先,你需要获取3.10版本的内核源代码。可以通过 Git 或者从官方网站下载压缩包的方式获取。假设你已经将内核源代码下载到本地的 /path/to/kernel 目录下。 2. 配置交叉编译工具:由于龙芯3A4000是一款MIPS架构的处理器,需要使用交叉编译工具进行编译。你可以下载龙芯官方提供的交叉编译工具,或者使用其他适用的交叉编译工具。 3. 设置环境变量:将交叉编译工具添加到环境变量中,以便系统能够找到正确的工具。例如,在 bash shell 中,可以执行以下命令: ``` export PATH=/path/to/toolchain/bin:$PATH export ARCH=mips export CROSS_COMPILE=mips-linux-gnu- ``` 其中,/path/to/toolchain 是你下载的交叉编译工具的路径。 4. 配置内核:进入内核源代码目录,执行以下命令进行配置: ``` make menuconfig ``` 这会打开一个文本界面的配置菜单,你可以根据需要进行内核配置,包括硬件支持、功能选项等。保存配置并退出菜单。 5. 编译内核:执行以下命令进行编译: ``` make ``` 这会开始编译内核,可能需要一些时间。 6. 生成镜像:编译完成后,执行以下命令生成内核镜像文件: ``` make zImage ``` 生成的 zImage 文件为内核的压缩格式,可以用于启动。 7. 安装内核:将生成的内核镜像文件复制到合适的位置,例如通过 TFTP 启动,可以将 zImage 复制到 TFTP 服务器的根目录下。 请注意,以上步骤仅为基本的编译方法,具体操作可能会因实际情况有所不同。建议在编译前仔细阅读相关文档和参考资料,确保正确配置和编译内核。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值