制作根文件系统
1、创建目录
2、创建必要的设备文件
3、安装所需的共享库
4、安装init文件、shell及各种linux命令,由busybox提供
5、创建编辑配置
1.1. 创建目录
mkdir rootfs
cd rootfs
mkdir bin sbin dev lib etc root usr proc mnt tmp
mkdir usr/bin usr/lib usr/sbin lib/modules
1.2. 创建设备文件
cd dev
mknod -m 666 console c 5 1
mknod -m 666 null c 1 3
1.3. 拷贝库文件/lib
cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib /lib/
1.4. 编译安装内核模块
cd linux-2.6.29
make modules
make modules_install INSTALL_MOD_PATH=/rootfs/lib/modules
1.5. bin,busybox包
打开Makefile
将#CROSS_COMPILE?=修改为:CROSS_COMPILE?=arm-linux-
将ARCH?=$(SUBARCH)修改为:ARCH?=arm
make menuconfig
Busybox setting
build options
build busybox as a static binary //不选,使用动态编译
Installation Options
make
make install
1.6. 配置文件/etc
1.6.1. /etc/inittab
#/etc/inittab
::sysinit:/etc/init.d/rcSttySAC0
::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount-a-r
输入完毕,保存即可。
解释:#/etc/inittab
::sysinit:/etc/init.d/rcS //当系统启动时要执行rcS脚本
ttySAC0::askfirst:-/bin/sh //终端用的是串口0
::ctrlaltdel:/sbin/reboot //表示敲ctr+alt+del会执行reboot命令
::shutdown:/bin/umount-a-r //关机会执行umount命令-a表示下载所有的文件系统
1.6.2. /etc/init.d/rcS
#!/bin/sh
ifconfig eth0 192.168.1.17
mount-a
输入完毕,保存即可。
说明:#!/bin/sh//#代表注释
ifconfig eth0 192.168.1.17 //配置网卡IP地址,静态的,每次开机会自动将linux系统(开
发板)配置为该IP地址。
mount-a //挂载所有文件系统
1.6.3. /etc/fstab
device | mount-point | type | options | dump | fsck | order |
proc | /proc | proc | defaults | 0 | 0 |
|
tmpfs | /tmp | tmpfs | defaults | 0 | 0 |
|
|
|
|
|
|
|
|
关键字:mini2440 系统移植 rootfs制作
引用地址:
mini2440系统移植篇之rootfs制作
推荐阅读最新更新时间:2024-03-16 15:22
mini2440硬件篇之中断
1. 硬件原理 arm有7种工作模式,除了用户模式,其他称为异常模式。异常模式有各自的一些寄存器,如sp栈指针,lr连接指针,程序状态保存寄存器SPSR,用于保存状态CPSR。CPSR的I和F位分别用于中断和快速中断的总开关。 1. 中断处理流程 2. 中断控制器收到中断信号,告诉CPU 3. CPU保存当前环境,然后调用中断服务程序ISR处理 4. ISR通过相关中断状态寄存器得知什么中断 5. 清除中断,通常通过读写某些标志寄存器 6. 恢复中断前的环境。 2. 芯片手册 3. mini2440电路图 由原理图可以看出,6个按键接到6个中断引脚,以EINT8为例,接在GPG0引脚。 4. S3C2440寄存器
[单片机]
mini2440裸机试炼之--A/D模拟信号转换
实现功能 通过开发板上的滑动变阻器控制的模拟信号经过A/D转换器 转换为数字信号用uart_printf()打印在串口上。 并且滑动 变阻器同时控制指示灯led的闪烁速度(时长)。 S3C2440ADC的主要特性如下: ●分辨率:10位 ●最大转换速率:500KSPS ●微分线性度误差:±1.0 LSB ●积分线性度误差:±2.0 LSB ●供电电压:3.3V ●模拟输入电压范围:0~3.3V ●模拟输出数值范围:0~1023 ADC原理 ADC是一种将模拟信号转化为数字信号的方法,一般要经过采样、保持、量化、编码4个步骤。在实际电路中,有些过
[单片机]
mini2440启动过程
ARM启动代码从系统上电开始接管CPU,依次需要负责初始化 CPU在各种模式下的堆栈空间、设定CPU的内存映射、对系统的各种控制寄存器做初始化、对CPU的外部存储器进行初始化、设定各外围设备的基地址、创建正确的中断向量表、为C代码执行创建ZI(零创建)区,然后进入到C代码。 在C代码中继续对时钟、RS232端口进行初始化,然后打开系统中断允许位。最后进入到应用代码中执行,执行期间响应各种不同的中断信号并调用预先设置好的中断服务程序处理这些中断。 初始化过程中模式变化过程为:管理模式-----各种特权模式(堆栈初始化阶段)----用户模式。若在系统初始化之前就触发了有效的中断,会导致系统的死机。 mini2440启动过程
[单片机]
DM9000驱动在MINI2440上的移植学习笔记
想了解一下DM9000的移植修改原理,所以分析了一下时序图和引脚连接 首先看一下DM9000的引脚和MINI2440的引脚连接 DM9000 MINI2440 功能描述 SD0 DATA0 数据信号 | | SD15 DATA15 数据信号 CMD ADDR2 识别为地址还是数据 INT EINT7 中断 IOR# nOE 读命令使能 IOW# nWE 写命令使能 AEN nGCS4 片选使能 可以看出连接了16条数据线,1条地址线,而这唯一的一条地址线用于判断数据线传输的是地址还是数据,所以这16条数据线为数据和地址复用 而片选信号使用的BANK4,则访问0x2000 0000 – 0x27FF FFFF这
[单片机]
玩转mini2440开发板之【tekkamanninja版的u-boot的编译和烧录】
今天继续玩一玩mini2440开发板,弄清楚U-boot的编译和烧录过程。 首先,这里交代一个前提,此处所使用的u-boot,是已经移植测试过的,完全可用的版本。就本文而言,我使用的是tekkamanninja大神于2010.03移植过来的mini2440定制版的u-boot,这位大神是友善之臂官方推荐的研究u-boot的大神,厉害之极,其所移植的代码也一直都是大众所效仿和研究的目标。下面就开始具体步骤的介绍: 1、下载和分支 由于tekkamanninja大神的u-boot源码存放于github上,因此我们使用以下命令进行克隆: git clone https://github.com/tekkamanninja/u
[单片机]
mini2440简单的裸机led流水灯代码
MINI2440简单的裸机led流水灯代码 ADS配置target setting的post-liner为ARM formELF language setting的ARM Assembler和ARM C Compile的Target中的Architecture or processor设置为arm920T linker中的ARM linker中output--simple image--RO base设置为0x30000000;options--Image entry point设置为0x30000000;layout--object/symbol设置为Init.o(就是汇编的名字改了后缀.o文件名称) 汇编代码:Init
[单片机]
mini2440开发板一线触摸原理
结论:mini2440开发板的一线触摸其实只是一个模拟串口通信而已。 1.通过看查看mini2440开发板的LCD驱动板的原理图,我们可以发现驱动板上是用了一颗单片机来检测电阻屏。然后单片机引出两条线来和S3C2440连接到一起。这条件线就是S3C2440获取触摸数据的通信线。 2.通过跟读mini2440_1wire_host.c中有关触摸屏的操作代码。从代码中我们可以发现,mini2440一线触摸驱动代码里面使用了两个定时器来和触摸屏驱动板上的单片机通信。而且是使用串口通信。 首先两个定时器是:一个内核定时器,一个硬件定时器timer3。这两个定时器各有分工。内核定时器中断周期为20MS。即每间隔20MS会启动一次
[单片机]
arm mini2440 基于v4l2 ffmpeg x264的视频远程监控
网络上盛传的基于mini2440的摄像头监控一般是基于 MJPEG-Streamer。 这种方法利用的是V4L2的底层驱动,然后配合mjpeg这种格式的流传输,然后通过浏览器浏览视频和控制。 下面用一个更接近真实的IP-camera的方案来实现。 首先先看一下网友sunkwei写的《基于v4l2的webcam应用,本地预监》 http://blog.csdn.net/sunkwei/article/details/6530343 文本照搬他的代码,只是将他的webcam_server交叉编译到arm上,webcam_shower编译到pc上。 这种方案是用的V4L2的视频驱动,然后配合ffmpeg、x264
[单片机]