Ubuntu 配置Pmon编译环境

目录

  • 1.前言
  • 2.运行平台
  • 3.依赖组件
  • 4.安装与配置安装专用GCC编译器
    • 4.1下载GCC编译器
    • 4.2解压GCC编译器
    • 4.3配置系统运行
  • 5.编译龙芯PMON执行文件
    • 5.1下载PMON源码
    • 5.2 编译并配置git tools插件
      • 5.3编译gzrom.bin文件
  • 6.示例

1.前言

首先,感谢龙芯团队的耐心指导以及他们的开源精神。

最近在工作,接到一个任务:适配龙芯国产化芯片的BIOS工作。目前还在学习PMON的编程,在配置的时候就遇到了很多问题。目前已经搭载完了一版Pmon编译环境。下面将讲解我是如何配置的。

官方参考网站: PMON编译方法-龙芯开源社区:

2.运行平台

本次编译环境依托Ubuntu 18.04.4 STL版本,这个版本是我目前使用最多的操作系统版本。在Ubuntu18配置环境前,我已经按照官网配置教程在Ubuntu16 i386_32位版本中配置成功。修改为Ubuntu18的原因是目前新的pmon支持设备树挂载使用的dtc工具需要使用64位运行环境。

3.依赖组件

在Ubunt18系统下需要安装以下运行支持组件:

名称 指令
g+±multilib sudo apt-get install g+±multilib
libncurses5:i386 sudo apt-get install libncurses5:i386
libstdc++5:i386 sudo apt-get install libstdc++5:i386
libstdc++6:i386 sudo apt-get install libstdc++6:i386
libz.so.1 sudo apt-get install lib32z1
flex sudo apt-get install flex
bison sudo apt-get install bison
xutils-dev sudo apt-get install xutils-dev
python2.7 sudo apt-get install python2.7

配置好的bash执行脚本:

sudo apt-get install g++-multilib libncurses5:i386 libstdc++5:i386 libstdc++6:i386 lib32z1 flex bison xutils-dev python2.7

实验电脑安装结果如下:

Ubuntu 配置Pmon编译环境_第1张图片

注:如果是刚配置成功的Ubuntu系统,当以上组件安装成功后还需要下载git,make插件。

4.安装与配置安装专用GCC编译器

4.1下载GCC编译器

根据官网教程描述,需要使用龙芯提供的GCC编译器。专用GCC4.0下载:gcc-4.4.0-pmon.tgz
龙芯官网已经改版,已经对开源项目进行了整合。可在龙芯开源GNU下载所需要的编译链接工具。下文中还是以mips-gcc-4.4.0进行搭建描述。

4.2解压GCC编译器

将下载好的gcc-4.4.0-pmon.tgz压缩包存放在任意位置。在压缩包存储的位置打开控制台,输入如下bash指令:

sudo mkdir  -p  /usr/local/comp/mips-elf/
sudo tar -zxvf gcc-4.4.0-pmon.tgz -C /usr/local/comp/mips-elf/

4.3配置系统运行

输入如下Bash指令进入Bashrc配置文件。

sudo gedit ~/.bashrc

在文件末尾添加三行环境配置:

export LD_LIBRARY_PATH=/usr/local/comp/mips-elf/gcc-4.4.0-pmon/lib:
export CROSS_COMPILE=mipsel-linux-
export PATH=/usr/local/comp/mips-elf/gcc-4.4.0-pmon/bin/:$PATH

Ubuntu 配置Pmon编译环境_第2张图片

保存后,关闭编辑器,关闭所有的控制台。
GCC编译器配置完成。

5.编译龙芯PMON执行文件

5.1下载PMON源码

龙芯官网使用Git进行版本控制,因此需要操作系统安装git组件。
打开控制台,在任意位置(不需要Root权限)的位置下载PMON源码。

git clone http://cgit.loongnix.org/pmon/pmon-loongson3.git

下载完毕后需要安装git tools插件

5.2 编译并配置git tools插件

进入pmon-loongson3文件夹,打开在文件夹中控制台。输入以下指令:

cd tools/pmoncfg
make 
#等待编译完成
sudo cp pmoncfg /usr/bin

5.3编译gzrom.bin文件

根据自己开发的平台在pmon-loongson3文件夹内进入相应的zloader文件夹。映射表如下表所示:

开发架构 PMON编译文件夹
3A300+7A1000 zloader.3a3000_7a
2K1000 zloader.ls2k

输入以下指令:

make cfg
make tgt=rom

就可以编译出执行文件。

6.示例

以编译适配2K1000的Pmon为例:

#进入2K1000编译目录中
jimma@ubuntu:~/桌面/pmon-loongson3$ cd zloader.ls2k	
#编译Pmon可执行文件
jimma@ubuntu:~/桌面/pmon-loongson3/zloader.ls2k$ make cfg
jimma@ubuntu:~/桌面/pmon-loongson3/zloader.ls2k$ make tgt=rom
#此时编译完成,当前文件夹下会出现一个gzrom.bin文件

如果需要组合linux设备树,则需要如下指令:

jimma@ubuntu:~/桌面/pmon-loongson3/zloader.ls2k$ make dtb
#当前文件夹下会出现一个gzrom-dtb.bin文件

你可能感兴趣的:(linux,ubuntu,编译器)