嵌入式Linux开发环境的搭建
一个、制造u-boot.bin文件:
tar xjf u-boot-1.1.6.tar.bz2
cd u-boot-1.1.6
patch -p1 < ../u-boot-1.1.6_jz2440.patch
make 100ask24x0_config
make
二、制作适用于4.3寸屏幕的uImage文件:
tar xjf linux-2.6.22.6.tar.bz2
cd linux-2.6.22.6
patch -p1 < ../linux-2.6.22.6_jz2440.patch
mv ../4.2LCD_mach-smdk2440.c arch/arm/mach-s3c2440/mach-smdk2440.c
cp config_ok .config
make uImage
三、构建根文件系统
1、移植Busybox
tar xjf busybox-1.7.0.tar.bz2
cd busybox-1.7.0
make menuconfig(配置)
vi Makefiel(改动Makefile ARCH ?= arm CROSS_COMPILE ?= arm-linux-)
make(编译)
make CONFIG_PREFIX=dir_path install(安装)
2、使用glibc库
mkdir -p /work/nfs_root/rootfs/lib
cd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
cp *.so* /work/nfs_root/rootfs/lib -d
3、构建etc文件夹
a、etc/inittab文件内容例如以下:
# /etc/inittab
console::askfirst:-/bin/sh
::sysinit:/etc/init.d/rcS
tty1::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
b、etc/init.d/rcS文件内容例如以下:
#!/bin/sh
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
c、etc/fstab文件内容例如以下:
#device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
4、构建dev文件夹
sudo mknod console c 5 1
sudo mknod null c 1 3
sudo mknod ttySAC0 c 204 64
sudo mknod mtdblock0 b 31 0
sudo mknod mtdblock1 b 31 1
sudo mknod mtdblock2 b 31 2
5、构建其它文件夹
mkdir proc mnt tmp sys root
四、制作yaffs文件系统映像文件
cd /work/nfs_root
mkyaffsimage rootfs rootfs.yaffs
五、制作jffs2文件映像文件
cd /work/nfs_root
mkfs.jffs2 -n s 2048 -e 128KiB -d rootfs -o rootfs.jffs2
六、通过设置u-boot的bootargs參数,选择根文件系统启动方式:
1、使其可以通过nfs启动
set bootargs noinitrd root=/dev/nfs nfsroot=59.73.166.32:/work/nfs_root/first_fs ip=59.73.166.31:59.73.166.32:59.73.166.1:255.255.255.0::eth0:off console=ttySAC0 init=/linuxrc
stdin=serial
saveenv
2、从块设备启动
set bootargs noinitrd root=/dev/mtdblock3 rootfstype=jffs2 init=/linuxrc console=ttySAC0
saveenv
版权声明:本文博客原创文章,博客,未经同意,不得转载。
最新文章
- Keepalived+LVS+nginx双机热备
- Android Studio导入github下载的project和module
- Reconstruct Itinerary
- 数据结构--用Objective-C简单实现的数据结构:栈
- 【Python数据分析】从Web收集数据小实例
- vs2010 调试快捷键
- 解决VS2010控制台程序运行结束不显示请按任意键继续
- 基于XMPP的即时通信系统的建立(四)— 组件介绍
- C#小常识集锦(一)--《更锋利的CSharp代码》读书笔记
- Cookie和Session(session过程和设置进程外session)
- Android 相对布局常用属性
- python 生成器理解
- 比callback更简洁的链式执行promise
- Andorid时间控件和日期控件
- SVG制作简单的图形
- TP手册学习第三天
- .Net Core应用框架Util介绍(二)
- Linux服务器 XAMPP后添加PHP和MYSQL环境变量
- PS绘制扁平化风格相机镜头UI图标
- Web API中的Help Page
热门文章
- angular管道相关知识
- 【Lucene4.8教程之二】索引 2014-06-16 11:30 3845人阅读 评论(0) 收藏
- 定位导致物化视图无法快速刷新的原因 分类: H2_ORACLE 2013-08-08 23:04 335人阅读 评论(0) 收藏
- Android 节日短信送祝福(功能篇:1-数据库操作类与自定义ContentProvider)
- Android Gradle Plugin指南(三)——依赖关系、android库和多项目配置
- transform、accumulate —— C++ 下的 MapReduce
- iOS中html5的交互:WebViewJavascriptBridge
- Expression Blend 的点滴(4)--创建类似iPhone屏幕锁控件(上)
- solr 7.x 配置ikanalyzer
- C++基础之字符数组和字符串