龙芯pmon和内核的编译流程

龙芯开发板pmon和内核的编译

一、 LS1B 的pmon编译
PMON是一个兼有 BIOS和 bootloader部分功能的开放源码软件, 多用于嵌
入式系统。 基于龙芯的系统采用 PMON 作为类 BIOS 兼 bootloader, 并在其基
础上做了很多完善工作, 支持BIOS启动配置, 内核加载, 程序调试, 内存寄存
器显示、设置以及内存反汇编等等。
1.下载最新pmon源码
http://ftp.loongnix.org/embed/ls1b/bootloader/pmon.tar.gz

2.工具的安装及环境的搭建
(1)下载交叉编译工具
ftp.loongnix.org/toolchain/gcc/release/CROSS_COMPILE/gcc-4.4.0-pmon.tgz
tar xvf gcc-4.4.0-pmon.tgz
配置环境变量
#vim .bahsrc
在文件最后添加编译器的路径
在这里插入图片描述

(2) 因为编译 PMON 过程需要使用到工具 pmoncfg,编译该工具又需要依赖下面的工具:#apt-get install bison
#apt-get install flex

(3) 编译生成pmoncfg工具:
#tar -zxf pmon.tar.gz
#cd pmon
#cd pmon/tools/pmoncfg
#make
编译完成后会在当前目录下生成 pmoncfg, 拷贝该工具至用户工具目
录或交叉编译工具链的 bin目录 下。
#cp pmoncfg /work/gcc-4.4.0-pmon/bin

3.编译PMON
#cd work/pmon/zloader.ls1b
#make cfg all tgt=rom
执行后就会在当前目录生成了gzrom.bin
在这里插入图片描述
编译成功!

4.补充
执行 make cfg all tgt=rom
报错:/bin/sh: 1: mipsel-linux-gcc: not found
解决方案:参考 这里 !
LS1B是32位的,而乌班图是64位的,需要安装相应的库来解决。

2.2 linux内核编译
Lnux内核很庞大, Linux 内核的编译分为两个步骤, a.内核配置,b.内核编译 ,开发包默认提供一个配置文件,用户可以根据此配置文件对内核进行裁剪或者增加新的功能。下面以Linux-2.6.32内核为例,描述整个Linux系统的配置编译过程

1.交叉编译环境的搭建
(1)编译器的下载与配置
首先建一个文件夹:
#mkdir toolchain
#cd toolchain
#wget http://ftp.loongnix.org/embed/ls1b/toolchain/gcc-3.4.6-2f.tar.gz
解压编译器
#mkdir opt
#sudo tar -xzvf gcc-3.4.6-2f.tar.gz -C /opt/
(2)编译器环境变量的配置
vim ~/.profile
添加
export PATH=/home/caiyichao/toolchain/opt/gcc-3.4.6-2f/bin:$PATH
export LD_LIBRARY_PATH=/home/caiyichao/toolchain/opt/gcc-3.4.6-2f/lib:
export CROSS_COMPILE=/home/caiyichao/toolchain/opt/gcc-3.4.6-2f/bin/mipsel-linux-
在这里插入图片描述

2.下载内核并配置内核
(1)下载内核
http://ftp.loongnix.org/embed/ls1b/kernel/ (2.6版本,包含ls1b的内核)
下载之后解压就好了
#tar -xzvf linux-2.6.32.tar.gz
#cd linux-2.6.32
(2)配置内核
然后执行内核配置:
#make menuconfig
会有错误提示
在这里插入图片描述

错误提示的原因是缺少ncurses libraries。解决办法:
#sudo apt-get install ncurses-dev
#make menuconfig
就会进入配置界面(根据需要配置内核)
在这里插入图片描述
3.编译内核
#cd linux-2.6.32/
#make ARCH=mips CROSS_COMPILE=mipsel-redhat-linux- vmlinux -j4
编译成功会在当前面目录生成vmlinux文件
在这里插入图片描述
遇到的问题及解决
在这里插入图片描述
解决方法:
在http://ftp.loongnix.org/embed/ls1b/boot/ 下载ramdisk.tar.gz,并将其解压到/mnt/ramdisk1 目录中

  • 5
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值