mini2440 u-boot linux 内核启动,Mini2440 uboot,kernel,根文件系统搭建

发布者:创意航海最新更新时间:2022-06-23 来源: eefocus关键字:mini2440  u-boot  linux  内核启动 手机看文章 扫描二维码
随时随地手机看文章

按照mini2440的手册,我所学到的uboot,kernel以及根文件系统的搭建过程分别如下,具体细节暂时不考虑,只考虑整个编译烧写的过程。


首先我们的宿主机一定要有nfs服务器,tftp服务器,具体搭建的过程,可以自己参考

1. mini 2440 编译uboot过程

下载u-boot-2010.03-embedclub-201111.tar.gz,

1:tar zxf u-boot-2010.03-embedclub-201111.tar.gz

2:cd u-boot-2010.03

3:make disclean #执行清理工作

4:make smdk2440a_config #Makefile的对应项

5:make


编好的u-boot.bin在uboot的根目录下,然后我们可以拷贝到tftp服务器的根目录,我的是/tftpboot

然后从norflash启动,通过super vivi烧写到nand flash,按着n键“[n] Download Nboot for WinCE”,连接上usb下载线,通过dnw下载即可,然后关掉开关,从nandflash启动。当然,如果nand flash之前有uboot,我们也可以通过uboot来烧写,具体方法如下:

SMDK2440A>tftp 0x30008000 u-boot.bin

SMDK2440A>nand erase 0 0x60000

SMDK2440A>nand write 0x30008000 0 0x60000


2.mini 2440编译kernel,首先下载linux-2.6.32.2.tar

1:tar zxf linux-2.6.32.2.tar

2:cd linux-2.6.32.2

3:cp config_mini2440_w35 .config

4:修改Makefile,使得 ARCH ?=arm CROSS_COMPILE ?=arm-linux-

5:make menuconfig #内核裁剪,这一步自己根据需要来

6:make Zimage #编译内核


生成的img在/arch/arm/boot下面,是zImage,但是我们需要支持uboot,所以需要加上uboot的头部信息,通过工具mkz2uimage,在/arch/arm/boot目录下,执行该工具,即可生成uImage


通过uboot烧写内核,过程如下:

SMDK2440A>tftp 0x30008000 uImage

SMDK2440A>nand erase 60000 500000

SMDK2440A>nand write 0x30008000 0x60000 0x500000

然后重启,即可进入kernel,但是没有根文件系统,那么我们就要学会搭建根文件系统。


3. mini 2440搭建根文件系统

搭建根文件系统,常见的有nfs网络根文件系统,还有个是yaffs文件系统。首先我们介绍nfs根文件系统

当我们在Linux上把nfs服务器搭建好之后,我的nfs网络共享目录是/nfsroot目录。

我将root_qtopia.tar.gz文件解压至/nfsroot下,然后nfsroot下有个root_qtopia的目录。

这样弄好之后,我们遍进入uboot的命令行,设置 启动参数 如下,我的ip是192.168.1.105:

[u-boot@SMDK2440A]#setenv serverip 192.168.1.105

[u-boot@SMDK2440A]#setenv bootargs console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.105:/nfsroot/root_qtopia ip=192.168.1.226:192.168.1.105:192.168.1.105:255.255.255.0:SMDK2440A.arm9.net:eth0:off

[u-boot@SMDK2440A]#saveenv

设置好之后,输入boot即可重启,然后我们可以看到根文件系统挂载成功。

yaffs根文件系统:

下载root_qtopia.tar.gz,解压

通过工具mkyaffs2images将root_qtopia文件打包成yaffs格式的img,放到tftp服务器根目录,然后在终端执行如下命令:

SMDK2440A>tftp 0x30008000 root_qtopia.img

SMDK2440A>nand erase 0x560000 $filesize

SMDK2440A>nand write.yaffs 0x30008000 0x560000 $filesize

SMDK2440A> boot

下载并烧写之后,我们需要修改bootargs,修改如下:

[u-boot@SMDK2440A]# setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0

[u-boot@SMDK2440A]#saveenv

[u-boot@SMDK2440A]#boot

执行如上的命令之后,即可看到我们的开发板挂载了yaffs根文件系统.

文章的脚注信息由WordPress的wp-posturl插件自动生成


关键字:mini2440  u-boot  linux  内核启动 引用地址:mini2440 u-boot linux 内核启动,Mini2440 uboot,kernel,根文件系统搭建

上一篇:使用u-boot_2016_01启动mini2440(二)uboot内存分布
下一篇:mini2440_NFS 利用uboot启动

推荐阅读最新更新时间:2024-11-13 06:52

嵌入式Linux下的USB设备驱动技术
  Linux以其稳定、高效、易定制、硬件支持广泛、源代码开放等特点,已在嵌入式领域迅速崛起,被国际上许多大型的跨国企业用作嵌入式产品的系统平台。   USB是Universal Serial Bus (通用串行总线)的缩写,是1995年由Microsoft、Compaq、IBM等公司联合制定的一种新的PC串行通信协议。它是一种快速、灵活的总线接口。与其它通信接口相比较,USB接口的最大特点是易于使用,这也是USB的主要设计目标。USB的成功得益于在USB标准中除定义了通信的物理层和电器层标准外。还定义了一套相对完整的软件协议堆栈。这使得多数USB设备都很容易在各种平台上工作。作为一种高速总线接口,USB适用于多种设备(如数码相机
[嵌入式]
ARM Linux系统开机自动运行特定应用的设置方法
系统服务的命令保存在开发板根文件系统的/usr/etc/rc.local文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rc.local文件中调用图形界面的命令,增加运行用户应用程序的命令,达到开机自动运行用户应用程序的目的。 下面以我做的实验为例,描述具体的实现步骤。该方法源于网络,我加以验证,稍做修改。 1.进入pc机的Linux 操作系统,在/nfs/usr/下通过mkdir lz 命令新建一个名为lz的文件夹,进入lz文件夹,通过mkdir hello新建一个hello文件夹用来存放我们将要编写的hello.c文件和编译生成的可执行文
[单片机]
芯原戴伟民:RISC-V要借鉴Linux专利联盟,保护相关企业利益
日前,在第三届滴水湖中国RISC-V产业论坛期间,中国RISC-V产业联盟理事长,芯原股份创始人、董事长兼总裁戴伟民表示,目前RISC-V还不存在相关专利诉讼问题,但并不意味着专利不存在风险。 如果说RISC-V开源指令集是“字典”,“字典”里拿出来的东西没问题,但是从字典到文章,就有可能存在侵权问题。 戴伟民以微软与Linux的案例解释了专利问题。 过去,微软作为闭源公司的典型代表,动辄拿起专利武器,打击竞争对手。微软公司早期对开源软件采取敌意的姿态,因为其将Linux等开源软件视为Windows等商业软件的威胁。微软公司于2009年2月起诉导航设备制造公司TomTom侵犯其多项专利,该多项专利中有2项涉及FAT文件
[半导体设计/制造]
芯原戴伟民:RISC-V要借鉴<font color='red'>Linux</font>专利联盟,保护相关企业利益
U-Boot在FL2440上移植(一)----修改系统时钟
一 U-boot源码结构 图片来自韦东山的《嵌入式linux应用开发完全手册》 U-boot下载地址: ftp://ftp.denx.de/pub/u-boot/ 交叉编译工具链 3.3.2 二 U-boot移植 1.新建一个fl2440开发板目录和文件 ①在board目录下新建fl2440目录,讲smdk2410目录下的文件复制到fl2440目录下,并将board/fl2440/smdk2410.c重命名为fl2440.c ②修改u-boot-1.1.6目录下Makefile文件 smdk2410_config : unconfig @$(MKCONFIG) $(@:_config
[单片机]
<font color='red'>U-Boot</font>在FL2440上移植(一)----修改系统时钟
Linux2.6.22内核移植
平台:mini2440 交叉工具链:arm-linux-gcc-4.3.2 一、内核移植基本知识 移植内核也叫构建BSP(boardsupprot packet)。BSP的作用有两个:一是为内核运行提供底层支持,二是屏蔽与板相关的细节。 BSP的构建分三个层次 1、体系结构层次 对一些体系结提供linux内核支持,比如说ARM,X86等芯片。这一类工作一般在arc/xxx/下面额除了palt-xxx和mach-xxx目录的其他目录完成。 2、SOC层次 对一些公司提供的SOC微处理器提供linux内核支持,比如说三星
[单片机]
从12大创新看Linux如何改变世界(二)
5、Linux支持高科技交通管控。   6、丰田汽车使用Linux来让汽车更智能。   7、拥有122年历史的DeLaval奶制品设备公司采用Linux驱动的机器人系统来挤牛奶。   8、纽约证券交易所采用Linux系统。 9、Linux辅助粒子物理学的研究。   10、空中交通管制系统用Linux来保证乘客安全地从A地点抵达B地点。   11、核潜艇需要Linux来操作。   图为英国航空航天系统公司(BAE)制造的机敏级核潜艇。2004年,洛克希德·马丁公司向美国政府交付了一台采用红帽Linux系统的核潜艇。   12、谷歌、亚马逊和Facebook均采用Linux来运行各种网络及云
[模拟电子]
从12大创新看<font color='red'>Linux</font>如何改变世界(二)
arm linux 从入口到start_kernel 代码分析 - 3
2. 确定 machine type arch/arm/kernel/head.S中: 00079: bl __lookup_machine_type @ r5=machinfo 00080: movs r8, r5 @ invalid machine (r5=0)? 00081: beq __error_a @ yes, error 'a' 79行: 跳转到__lookup_machine_type函数,在__lookup_machine_type中,会把struct machine_desc的基地址(machine type)存储在r5中 80,81行:
[单片机]
linux-2.6.32在mini2440开发板上移植-RTC移植
激活RTC 驱动 编者:RTC时钟在S3C2440上的移植非常的简单,因为linux已经支持了,仍以platform的形式来实现,只要把RTC的platform_deivce进行注册,对内核进行简单配置就好。但对于RTC的驱动的实现,很有值得研究的地方。这一驱动典型的使用了,linux内核中驱动分层设计的思想,对这驱动的研究,有利于理解linux内驱动的布局。对于一般的驱动,比较复杂的,很难看懂,这个就很不适合进行入门。太简单的,什么hello、led,这个容易懂,但这个也只能入门,不能用于深入。我感觉RTC驱动用来深入一点的入门是很好的,其中涉及到了platform和驱动设计中的分离思想。下面还是主要以手册所介绍为步骤,简述一下
[单片机]
<font color='red'>linux</font>-2.6.32在<font color='red'>mini2440</font>开发板上移植-RTC移植
小广播
设计资源 培训 开发板 精华推荐

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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