亲手编译uClinux的体验全记录

搭建STM3210E-EVAL移植uClinux环境 第三个文件是两个补丁uClinux-dist-20080808-20090112.patch.gz和uClinux_on_stm32.patch.gz,后面这个补丁是针对STM32 MCU进行的,进入uClinux_dist文件夹输入zcat /路径/uClinux-dist-20080808-20090112.patch.gz | patch -p1。这里用户名和密码,要记住,后期在进入root模式和一些应用上会用到,随后等待安装,此步骤时间较长,安装完以后重启虚拟机。选择中文,也可根据自己的喜好。 阅读详情
解压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的交叉编译环境已经建立起来了
uClinux移植概述 uClinux移植概述作者:姜江E-mail:jznsmail@tom.comBlog:http://blog.csdn.net/jznsmail1.建立开发环境    作为uClinux系统的移植和开发的主机最好使用Linux操作系统,如果选择Windows平台作为开发平台则需要Cygwin软件包的支持。在这里我们选用的开发平台是Fedora Core 2,内核版本为2.4.x。在进行uCl 阅读详情

相关推荐

Ubuntu10.04下安装uClinux

<br /> 安装uClinux时,伤透脑经。<br /> 一开始准备安装最新的版本——uClinux-dist-20100825.tar.bz2,下载地址为:http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20100825.tar.bz2 。用火狐下了两次,都在中途突然终止了,解压自然失败,后来无耐,只有使用迅雷下载。此文件的真实大小是327M,解压后产生文件夹uClinux-dist。<br /> 接着安装编译工具

Matrix_Designer的专栏 1863

uclinux源码下载网站.txt

目前关于uclinux的官网被封,因此不能再其官网上下载uclinux的相关版本信息。因此,本人在多方面的探索后终于在其余网站上发现了uclinux的下载网站。uClinux-dist-20080808.tar.bz2的大小为281M,2008以后的资源容量更大,当前最新版本为2016. 为了和我一样下载uclinux资源而陷入茫茫的搜索中的朋友提供一条路径,因此,附上uclinux的下载网站,含各种uclinux版本。

uClinux下利用GDB进行调试

环境:Blackfin uClinux(版本:buildroot-2012R1-RC6-BF60X) Linux主机:ubuntu 10.04.4 可以通过串口和网络两种方式进行调试,以下示例以网络调试为例。 1. 在Linux主机编译应用程序:bfin-uclinux-gcc–g –o0 –o a.out test.c     -g :在可执行文件中加入调试信息,才能使GDB正常

skywalker_leo的专栏 1661

uclinux内核的console_v0.1

这篇文章主要讨论了bfin-uclinux-2008r1-rc8中的console实现。适用的CPU为ADSP-BF561。还不是很完整,仅供参考。.......

嵌入式操作系统:uClinux

uClinux,全称为Micro-Controller Linux,它是一个适用于微控制器的Linux操作系统。与传统的Linux操作系统不同,uClinux通过移除对传统内存管理单元(MMU)的依赖,使其能够在没有MMU的嵌入式设备上运行。其中,uClinux是一种精简版的Linux操作系统,专为嵌入式系统设计而开发。2.1 无需MMU支持:uClinux是少数几个能够在没有MMU的处理器上运行的操作系统之一。2.2 精简和高效:uClinux专为嵌入式系统设计,具有精简的内核和最小化的内存占用。

DevCyberX的博客 1223

uCLinux核心手册中文版:嵌入式Linux指南

本文还有配套的精品资源,点击获取 简介:《uCLinux核心手册-中文》是针对Linux爱好者和开发者的指南,深入介绍了uCLinux操作系统的核心概念和技术,专为嵌入式系统设计。书中详细覆盖了uCLinux的起源、设计哲学、内核结构、构建过程、文件系统、设备驱动、网络支持、内存管理、进程管理、中断处理、设备控制、应用开发、电源管理以及案例研究和未来发展趋势。本书是开发者深...

weixin_35706067的博客 2930

亲手编译uClinux

2007-12-25 09:30:59 解压uClinuxcd /usr/src/uClinux-dist/tar zxvf /root/uClinux/uClinux-dist-20040408.tar.gzvi /usr/src/uClinux-dist/linux-2.4.x/arch/armnommu/vmlinux-armv.lds.in在65行*(.got)

mybirdsky的专栏 2118

uClinux编译方法

2007-12-25 09:31:51 在http://www.uclinux.org/pub/uClinux/arm-elf-tools/ 下载arm-elf-tools-20030314.sh在http://www.uclinux.org/pub/uClinux/dist/ 下载uClinux-dist-20041215.tar.gz执行./arm-elf-

mybirdsky的专栏 1604

uClinux bootloader源代码

uClinux bootloader源代码

STM32F429-Discovery 编译 uclinux

STM32F429 Discovery 编译 uclinux 文章目录1. 环境要求1.1 硬件环境1.2 软件环境2. 安装交叉工具链3. 安装romfs工具4. stm32f429 linux download, build and install4.1 下载源码4.2 编译5. 烧写5.1 用STM32 ST-LINK Utility烧写工具烧写:5.2 serial connections...

songze_lee 2722

如何编译一个可以运行的 uClinux Kernel

 uClinux Image Compiling User Guide2uClinux Image Compiling User Guide2 for lumit4510 : how to compile uClinux kernel说明: 本小节内容是关于如何编译一个可以运行的 uClinux Kernel ( 基于 20040408  版 )------------------

我的仓库 My Storehouse 1767

linux运行uclinux程序,uClinux编译与运行详解

按常规编译完成后应该生成image.bin linux linux.data linux.text romfs.img这5个文件,不过我只有linux/boot.rom(=romfs.img),今天上网查了查它们的定义。romfs.img:这个文件是通过tools/romfs-inst.sh脚本,生成romfs目录及其下面的文件,然后通过genromfs程序打包成一个文件romfs.i...

weixin_42131618的博客 749

uclinux编译笔记

1。编译内核时错误: libbb/syscalls.c: In function sysfs: libbb/syscalls.c:43: warning: declaration of sys_result shadows previouslocal

山顶洞 458

uclinux编译 心得一

之前参照《 从零使用qemu模拟器搭建arm运行环境》完成了嵌入式LINUX系统的编译,并在QEMU下运行起来了。这是针对有MMU的CPU的嵌入式LINUX。uClinux作为针对没有MMU的嵌入LINUX重要分支,因此也想一鼓作气,编译一个平台来试试。心酸啊,没有想到遇到许多的问题,花了很多的时间才搞定了一个平台。零零碎碎的将我的心路历程写出来。因为是事后凭借回忆写的,一些参考资料信息已经不知道...

dongxxx的专栏 4504

基于SkyEye的uCLinux交叉编译环境的搭建

1.1简介SkyEye是一个开源软件,目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统。可以在SkyEye上运行Linux/uClinux以及uC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP协议栈,图形子系统,文件子系统),并课对他们进行源码级的分析和测试。SkyEye可以模拟的主要是基于ARM内核的CPU,如ARM7,

w&health 的专栏 795
上一篇: 怎样写Makefile
下一篇: 如何用dmalloc检测内存泄漏(原创)
answerzy
博客等级 码龄23年 1粉丝 13原创
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值