加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 电子发烧 > 单片机学习

亲手编译uClinux

时间:2013-11-23  来源:123485.com  作者:9stone

解压uClinux
cd /usr/src/uClinux-dist/
tar zxvf /root/uClinux/uClinux-dist-20040408.tar.gz

vi /usr/src/uClinux-dist/linux-2.4.x/arch/armnommu/vmlinux-armv.lds.in
在65行*
(.got)   /* Global offset table */
下面加入三行
romfs_data = .;
romfs.o
romfs_data_end = .;
保存退出

vi /usr/src/uClinux-dist/vendors/Samsung/4510B/Makefile
在65行
genromfs -v -V "ROMdisk" -f $(ROMFSIMG) -d $(ROMFSDIR)
下面加入一行
arm-elf-ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o -b binary $(ROMFSIMG)

开始编译
make menuconfig/xconfig 随便

  │ │             (Samsung/4510B) Vendor/Product                          │ │
  │ │             (linux-2.4.x) Kernel Version                            │ │
  │ │             (uClibc) Libc Version                                   │ │
  │ │             [ ] Default all settings (lose changes)                 │ │
  │ │             [ ] Customize Kernel Settings                           │ │
  │ │             [ ] Customize Vendor/User Settings                      │ │
  │ │             [ ] Update Default Vendor Settings                      │ │


保存退出

make dep

make lib_only

编译user_only之前先修改 /usr/src/uClinux-dist/config/.config文件
将25行
CONFIG_USER_OLD_PASSWORDS=y
注释掉,
接着删除掉/usr/src/uClinux-dist/user/boa/src下的所由.o的文件
rm -rf /usr/src/uClinux-dist/user/boa/src/*.o
否则会在编译时会产生一个错误

make user_only

make romfs

make
此时遇到错误就编辑一下init.c
vi linux-2.4.x/arch/armnommu/mm/init.c
 将662行的
!machine_is_ta7v() &&
注释掉,
然后再make

make image

要建立uClinux-ARM的交叉编译环境就只要再从http://www.uclinux.org/pub/uClinux/arm-elf-tools/
上下载ARM交叉编译器:arm-elf-tools-20030314.sh就行了
./arm-elf-tools-20030314.sh
这个命令会在开发主机上自动建立一个uClinux-ARM的交叉编译环境。
[root@YuChou uClinux-dist]# arm-elf-gcc -v
Reading specs from /usr/local/lib/gcc-lib/arm-elf/2.95.3/specs
gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)
这样,uClinux-ARM的交叉编译环境已经建立起来了


分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->单片机学习
  • 电子应用基础
  • 电源技术
  • 无线传输技术
  • 信号处理
  • PCB设计
  • EDA技术
  • 单片机学习
  • 电子工具设备
  • 技术文章
  • 精彩拆解欣赏
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门