根文件系统构建(JZ2440-S3C2440)

发布者:BlissfulHiker最新更新时间:2022-07-20 来源: csdn关键字:根文件系统  JZ2440  S3C2440 手机看文章 扫描二维码
随时随地手机看文章

uboot的目的是启动内核,内核的目的是为了启动应用程序,应用程序位于根文件系统上面。


一、使用busybox制作根文件系统


busybox下载地址:http://www.busybox.net/downloads/


这里使用busybox-1.7.0(包名:busybox-1.7.0.tar.bz2   )


解压命令:tar xjf  busybox-1.7.0.tar.bz2


busybox目录下的INSTALL文件中部分代码:



1、配置busybox


在busybox-1.7.0目录下,执行:“make menuconfig”命令进入配置界面


(1)设置“TAB”键补全


Busybox Settings--->

Busybox Library Tuning--->

[*] Tab completion

2、编译与安装Busybox


(1)修改busybox顶层目录的Makefile文件,修改如下两行:


ARCH ?= arm

CROSS_COMPILE ?= arm-linux-

(2)然后执行make命令进行编译。

(3)编译完成后执行:"make CONFIG_PREFIX=dir_path install"就可以将busybox安装到目录dir_path下。

在目录/work/nfs_root/下创建一个second_fs目录:“mkdir -p /work/nfs_root/second_fs”。

执行以下命令:make CONFIG_PREFIX= /work/nfs_root/second_fs  install,在 /work/nfs_root/second_fs目录下安装Busybox.

在上面指定的目录下生成如下文件、目录:bin、linuxrc、sbin、usr。

3、创建/dev目录,静态创建节点

(1) mknod console c 5 1

mknod null c 1 3

(2)创建etc目录,并在目录下创建etc_inittab文件。

etc_inittab文件中的内容是:console::askfirst:-/bin/sh

(3)拷贝C库

首先创建lib目录:mkdir  /work/nfs_root/second_fs/lib

使用命令拷贝动态链接库:cp *.so*   /work/nfs_root/second_fs/lib -d。

以上完成了最小根文件系统的制作,

下面如何把最小根文件系统烧写到开发板中去呢?----------->通过制作yaffs2文件系统映像文件

二、通过制作yaffs2文件系统映像文件

(1)解压yaffs_source_util_larger_small_page_nand.tar.bz2

解压命令:tar  xjf  yaffs_source_util_larger_small_page_nand.tar.bz2,解压后得到Development_util_ok目录,然后进入

/Development_util_ok/yaffs2/utils目录下执行make命令,然后得到一些工具,我们要用到mkyaffs2image这个工具,

然后将mkyaffs2image拷贝到系统的/usr/local/bin/目录中去,然后赋予可执行权限。

  

sudo cp  mkyaffs2image   /usr/local/bin

sudo chmod  +x   /usr/local/bin/mkyaffs2image

工具列表如下:

(2)制作文件系统

mkyaffs2image命令可以查看使用说明

制作文件系统命令:mkyaffs2image  second_fs  second_fs.yaffs2。则生成了文件系统。

生成的second_fs.yaffs2则可以通过以前的烧写文件系统方法进行烧写。


三、进一步完善

1、在/work/nfs_root/second_fs/目录下创建proc目录:mkdir  proc

修改/work/nfs_root/second_fs/etc/下的inittab文件,将内容改为:

console::askfirst:-/bin/sh

::sysinit:/etc/init.d/rcS

然后在etc目录下创建init.d目录,并在此目录下创建rcS文件。

mkdir init.d

vim etc/init.d/rcS

rcS文件中的内容为:

mount -t proc  none  /proc

给文件赋予执行权限:

chmod  +x  /etc/init.d/rcS

关键字:根文件系统  JZ2440  S3C2440 引用地址:根文件系统构建(JZ2440-S3C2440)

上一篇:OpenCV2.0.0移植到ARM9(五)(JZ2440----S3c2440)
下一篇:汇编指令(ARM体系机构)

推荐阅读最新更新时间:2024-11-03 03:40

uboot在s3c2440上的移植(4)
一、移植环境 主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand,Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2.tgz u-boot:u-boot-2009.08.tar.bz2 二、移植步骤 在这一篇中,我们首先让开发板对CS8900或者DM9000X网卡的支持,然后再分析实现u-boot怎样来引导Linux内核启动。因为测试u-boot引导内核我们要用到网络下载功能。 7)u-boot对CS8900或者DM9000X网卡的支持。 u-boot-2009.08版本已经对CS8900和DM9000X网卡有比较完善的代码支持(代码在drivers/ne
[单片机]
uboot在<font color='red'>s3c2440</font>上的移植(4)
04 点亮LED C
1 C语言控制LED 前述汇编中,写地址0x56000050(GPFCON)和0x56000054(GPFDAT),相当于C中的指针操作。 void main(void) { unsigned int * pGPFCON = 0x56000050; unsigned int * pGPFDAT = 0x56000054; /* 配置GPF4为输出引脚 */ *pGPFCON = 0x100; /* 设置GPF4输出0 */ *pGPFDAT = 0; } 问题来了。1 我们写出了main函数,谁来调用它? 2 main函数中的变量,保存在内存中,内存地址是多少? 解决办法:我们还
[单片机]
04 点亮LED C
S3C2440的PWM及定时器的使用
s3c2440芯片中一共有5个16位的定时器,其中有4个定时器(定时器0~定时器3)具有脉宽调制功能,即他们都有个输出引脚,可以通过定时器来控制引脚周期性的高低电平变化,定时器4没有输出引脚。上次脱机运行PWM测试程序实验的时候就用到了这块,所以这次将PWM和定时器放在一起来学习。 定时器部件的时钟源为PCLK,首先通过两个8位预分频器降低频率,定时器0和1共用第一个预分频器,2,3,4共用第二个预分频器。预分频器输出接入第二级分频器,可以生成5种分频信号(1/2,1/4,1/8,1/16,TCLK),其中8位预分频器是可编程,根据装载值来分频PCLK,值储存在TCFG0和TCFG1中。 定时器内部控制逻辑工作流
[单片机]
S3C2440开发板裸机程序系列07—NAND FLASH存储器
1. 概述 我的TQ2440开发板上安装有2M的NOR FLASH和512M的NAND FLASH。 NOR FLASH 的特点是芯片内执行(XIP, eXecute In Place),应用程序可以直接在 NOR FLASH 里运行,不必再把代码读到系统RAM中(可以节约SRAM的成本)。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。 NAND FLASH的特点是有很高的存储密度,并且写入和擦除速度也很快,但是无法直接寻址运行程序,接口上需要专门的控制器。另外NAND FLASH 非常容易出现坏区,所以需要有校验的算法。 因此,NOR FLASH一
[单片机]
<font color='red'>S3C2440</font>开发板裸机程序系列07—NAND FLASH存储器
S3C2440裸机------异常与中断__按键中断程序示例
1.中断处理流程 首先我们要对中断进行初始化,中断初始化主要分为下面三块: 设置中断,让它能够发出中断信号, 设置中断控制器,让它能够发出中断信号给CPU, 设置CPU,CPSR有I位,它是总开关。 然后中断的处理过程和之前说的异常处理过程类似,不一样的就是处理完成之后要清中断。 2 start.s 首先我们CPSR寄存器的bit7清零,这是中断的总开关,只有这一位设置为0才能相应中断。 mrs r0, cpsr /* 读出cpsr */ bic r0, r0, #(1 7) /* 清除I位, 使能中断 */ msr cpsr, r0 然后当发生中断时,程序会跳转到0x18的地方去执行程序,因此我们增加如下代码
[单片机]
<font color='red'>S3C2440</font>裸机------异常与中断__按键中断程序示例
移植内核到s3c2440
尝试移植内核到s3c2440 一、环境搭建: 1.下载资源包: linux-3.0.12.tar.gz (https://www.kernel.org/pub/linux/kernel/v3.0/) ARM-Linux GCC 4.4.3(http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.4.3-20100728.tar.gz) 2.解压内核: 1.tar -xzvf linux-3.0.12.tar.gz 2.cd linux-3.0.12 3.make s3c2410_defconfig 4.修改Makefile
[单片机]
[JZ2440] 第09课第1节 u-boot 分析之编译体验
一、课堂笔记 1. Windows 电脑和嵌入式设备启动流程对比 |-- Windows 上电启动流程 | |-- 上电 - BIOS(引导操作系统) - Windows - 识别 C、D 盘 - 运行应用程序 |-- 嵌入式设备 |-- 上电 - BootLoader(引导内核) - Linux Kernel - 挂载根文件系统 - 运行应用程序 2. BootLoader 最终目的是启动内核 |-- 启动内核 |-- 从 Flash 读取 kernel | |-- u-boot 要能够读取 Flash |-- 将读取到的 kernel 放进 SDRAM 中
[单片机]
S3C2440-按键
使用按键控制跑马灯。扫描哪个按键被按下有两种方式。一个是查询扫描,一个是中断扫描。查询扫描就是不断轮询哪个引脚变成低电平了。中断扫描主要通过中断方式实现。     查询扫描程序:   #define rGPFCON (*(volatile unsigned *)0x56000050)  #define rGPFDAT (*(volatile unsigned *)0x56000054)  #define rGPFUP (*(volatile unsigned *)0x56000058) #define rGPBCON (*(volatile unsigned *)0x56000010)  #def
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved