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. ubuntu 添加用户

    sudo useradd 用户名 创建用户 sudo passwd 用户名 修改用户密码 添加sudo权限 sudo usermod -aG sudo(要添加的用户组,也可以是root) 用户名 su ...

  2. nginx configure 错误记录

    1.the HTTP rewrite module requires the PCRE library. ./configure: error: the HTTP rewrite module req ...

  3. 【温故知新】——BABYLON.js学习之路·前辈经验(二)

    前言:在上一篇随笔BABYLON.js学习之路·前辈经验(一)中回顾了组内同事们长时间在Babylon开发实践中的总结出的学习之路和经验,这一篇主要对开发中常见的一些功能点做一个梳理,这里只作为温故知 ...

  4. Web自动化测试框架改进

    Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 一.适用范围:传统Web功能自动化测试.H5功能自动化测试 ...

  5. PyInstaller把.py转为.exe

    http://www.pyinstaller.org/ http://blog.csdn.net/hmy1106/article/details/45151409 python pyinstaller ...

  6. 面试题 15:链表中倒数第 k 个结点

    面试题 15:链表中倒数第 k 个结点 题目:输入一个链表,输出该链表中倒数第 k 个结点.为了符合大多数人的习惯, 本题从 1 开始计数,即链表的尾结点是倒数第一个结点.例如一个有 6 个结点的 链 ...

  7. 如何创建RESTFul Web服务

    想写这篇文章很久了,这是个大话题,不是一时半会就能说清楚的. 所以准备花个一星期整理资料,把思路理清楚,然后再在Team里做个sharing:) 其实RESTFul是架构风格,并不是实现规范,也不一定 ...

  8. 我眼中的Oracle Database Software 和 Oracle Database

    我眼中的Oracle Database Software 和 Oracle Database 我喜欢用微软的office软件和word文档(确切的说是:自己写的word文档,能够把这个Word文档想象 ...

  9. go web的简单服务器

    1)简单web服务器: package main import ( "fmt" "net/http" ) func sayHelloName(w http.Re ...

  10. 17 nginx连接memcached

    一:配置php扩展memcached wget http://memcached.googlecode.com/files/memcached-1.4.9.tar.gz # tar zvxf memc ...