mini2440 内核启动后,可以用busybox制作一个简单的根文件系统并用nfs来启动该文件系统

启动mini2440, 按任意键进入uboot,按q键进入uboot命令行:

执行以下命令:

set bootargs "noinitrd root=/dev/nfs rw nfsroot=192.168.211.2:/home/host/nfs/mini2440/rootfs ip=192.168.211.211 console=ttySAC0 init=/linuxrc"

saveenv

http://busybox.net/downloads/busybox-1.22.1.tar.bz2 下载busybox,然后解压缩并进入解压文件夹:

tar xf busybox-1.22..tar.bz2
cd busybox-1.22./

然后执行下面命令进行配置:

make menuconfig

选择下面的选项:

Busybox Settings--->
  Build Options---->
    [*]Build BusyBox as a static binary (no shared fibs)
      (arm-linux-) Cross Compiler prefix Busybox Settings --->
  Installation Options --->
    Applets links (as soft-links) -->
    (/home/host/nfs/mini2440/rootfs)BusyBox installation prefix

其他选项选择默认即可。

然后进行编译和安装(安装到/home/host/nfs/mini2440/rootfs文件夹下):

make
make install

然后进入rootfs文件夹,执行下面命令:

mkdir dev etc home lib mnt proc sys tmp var
mkdir etc/init.d
touch etc/inittab
chmod +x etc/inittab
touch etc/init.d/rcS
chmod +x etc/init.d/rcS
touch etc/fstab
cd dev
mknod ttySAC0 c
ln -s ttySAC0 console
mknod null c
mknod mtdblock0 b
mknod mtdblock1 b
mknod mtdblock2 b 2
mknod mtdblock3 b 31 3
cd ../lib/

在etc/inittab文件中添加如下内容:

# System initialization. 
::sysinit:/etc/init.d/rcS 
::sysinit:/bin/sh  
::ctrlaltdel:/sbin/reboot 
::shutdown:/bin/umount -a -r

在etc/init.d/rcS文件中添加如下内容:

#!/bin/sh
mount -a

在etc/fstab文件中添加如下内容:

none /proc proc defaults
tmpfs /tmp tmpfs defaults

这样根文件系统就基本完成了,然后重启nfs服务器:

/etc/init.d/nfs-kernel-server restart

再重启mini2440就可以从nfs启动根文件系统了。

也可以制作yaffs镜像并烧写到nand flash:

从mini2440光盘中找到工具mkyaffs2image-128M(光盘中以压缩包方式存放于linux/mkyaffs2image.tgz),然后执行下面命令:

mkyaffs2image-128M  /home/host/nfs/mini2440/rootfs/ rootfs.img

将rootfs.img拷贝到tftp文件夹,然后重启nfs服务器:

/etc/init.d/tftp-hpa restart

接着重启mini2440,进入uboot命令行,执行下面命令 :

tftp 0x30008000 rootfs.img
nand erase 0x560000 $filesize
nand write.yaffs 0x30008000 0x560000 $filesize

但是最后一步烧写yaffs失败,提示“ 2621440 bytes written: ERROR"。

我之后修改成下面的命令就可以了(filesize 大小为2adc80):

nand erase 0x560000 2d0000
nand write.yaffs 0x30008000 0x560000 $filesize

但是之后我又试了一次,但再次烧写失败,不知道原因何在。

mini2440 最小根文件系统制作和nfs启动的更多相关文章

  1. 根文件系统制作、NFS配置与安装及利用NFS挂载根文件系统

    最近打算从头开始制作根文件系统,下面是开发过程. 一.根文件系统的制作 0.FHS(Filesystem Hierarchy Standard)标准介绍 该标准规定了根目录下各个子目录的名称及其存放的 ...

  2. linux根文件系统制作,busybox启动流程分析

    分析 busybox-1.1.6 启动流程,并 制作一个小的根文件系统 源码百度云链接:https://pan.baidu.com/s/1tJhwctqj4VB4IpuKCA9m1g 提取码 :l10 ...

  3. NFS文件系统制作

    内核:              linux-3.0 u-boot:          2010.09 开发板:         fl2440(s3c2440主芯片) 交叉编译器:   2011.11 ...

  4. Exynos4412从SD卡启动的简单网络文件系统制作

    Exynos4412从SD卡启动的简单网络文件系统制作 1. 简介 嵌入式系统能够在开发板上正常运行,需要先进行系统配置,一个完整的嵌入式系统应该包含的几个部分::uboot,kernel,rootf ...

  5. 使用NFS启动Tiny4412开发板根文件系统

      1.Ubuntu14.04上搭建NFS服务 1.1.安装NFS服务 $ sudo apt-get install nfs-kernel-server    //安装NFS服务 1.2 创建Tiny ...

  6. EASYARM-IMX283 nfs启动内核和根文件系统

    EASYARM-IMX283(以下简称IMX283)默认采用从nand flash启动,但是在开发过程中因为要频繁的替换内核,我们更倾向于从nfs启动. 先看看IMX283中uboot中默认采用的启动 ...

  7. NFS启动文件系统

    NFS启动文件系统 一.软硬件平台 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.UBOOT版本:U-Boot-2016.05,采用FDT和DM. 3.交换芯片MARVELL的88E ...

  8. am335xSD卡启动--文件系统制作

    1.网上下载busybox工具https://busybox.net/downloads/ 2.根据此文章提示制作自己的跟文件系统 链接: https://pan.baidu.com/s/1bp6GK ...

  9. rootfs -根文件系统制作

    目录 目录 目录 概述 概念 根文件系统是什么 根文件系统中有什么 根文件系统的形式 Busybox 简介 什么是 linuxrc VFS 简介 Busybox 工具 Busybox 目录结构 Men ...

随机推荐

  1. BF3 里面的z cull reverse reload

    Bf3 siggraph2011的 分享 http://advances.realtimerendering.com/s2011/White,%20BarreBrisebois-%20Renderin ...

  2. 2017.2.9 开涛shiro教程-第十章-会话管理(一)

    原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第十章 会话管理(一) 10.1 会话 shiro提供的会话可以用 ...

  3. IntelliJ IDEA创建文件时自动填入作者时间 定制格式

    IntelliJ IDEA创建文件时自动填入作者时间 定制格式 学习了:https://blog.csdn.net/Hi_Boy_/article/details/78205483 学习了:http: ...

  4. vuex 中关于 mapGetters 的作用

    mapGetters 工具函数会将 store 中的 getter 映射到局部计算属性中.它的功能和 mapState 非常类似,我们来直接看它的实现: export function mapGett ...

  5. iframe 实现网页本页显示

    <el-dialog title="" :visible.sync="dialogVisible"> <iframe src="ht ...

  6. cookie-小总结吧

    写入common.js文件,其他页面调用即可: //添加cookie值 function addcookie(name, value, days) { days = days || 0; var ex ...

  7. hdu5386(暴力)

    题意: 给出两个n*n的矩阵,一个作为初始矩阵.一个作为目标矩阵,给出m个操作,操作有两种,一种是"L,x,y".代表我们要把x这一行赋成y,还有一种是"H,x,y&qu ...

  8. 各个DDR对比

    一.容量和封装相关 (1)逻辑Bank数量增加 DDR2 SDRAM中有4Bank和8Bank的设计,而DDR3起始的逻辑Bank是8个,另外还为未来的16个逻辑Bank做好了准备. (2)封装(Pa ...

  9. (LeetCode)两个链表的第一个公共节点

    LeetCode上面的题目例如以下: Write a program to find the node at which the intersection of two singly linked l ...

  10. 一文了解@Conditional注解说明和使用

    ​ @Conditional:Spring4.0 介绍了一个新的注解@Conditional,它的逻辑语义可以作为"If-then-else-"来对bean的注册起作用. @Con ...