简单文件系统构建ramdisk

1.  BusyBox编译工具,包含bin, sbin, usr,  linuxrc.

2.  添加相关重要目录:dev,  etc,  mnt, proc,  sys, lib, var, tmp.

3.  dev中添加相关设备文件。

mknod -m 666  ttyS0  c 4 64

mknod -m 666 null     c  1 3

mknod -m 666 console c 5 1

mtd0  c  90 0

mtd1  c 90 2

mtd2  c 90 4

mtdblock0 b 31 0

mtdblock1 b 31 1

telnet相关的文件:

ptmx  c  5 2

mkdir  dev/pts

4.  etc目录文件:inittab, init.d/rcS, fstab, profile, group, shadow, passwd.

制作,请参考rootfs下相关文档。

5.  把相关内容保存到rootfs下,通过以下脚本生成rootfs.img.gz(ramdisk).

#!/bin/sh
umount ./mnt
test -e ./mnt  || mkdir ./mnt>/dev/null
dd if=/dev/zero of=rootfs.img bs=1024 count=8192
losetup /dev/loop1 rootfs.img
echo y | mke2fs -m0 rootfs.img
sudo mount -o loop rootfs.img ./mnt
echo "create the rootfs.img.gz"
sudo cp rootfs/* ./mnt -a
sync
sudo umount ./mnt
gzip rootfs.img -v9
6.  通过uboot下载到内存中,并配置bootargs。

以at91sam9260为例:

tftp 0x21100000 rootfs.img.gz
setenv bootargs mem=64M console=ttyS0,115200 initrd=0x21100000,0x800000 root=/dev/ram0 rw init=/linuxrc

7.  boot即可测试ramdisk文件系统。

时间: 2024-12-17 20:41:55

简单文件系统构建ramdisk的相关文章

基于IndexedDB实现简单文件系统

现在的indexedDB已经有几个成熟的库了,比如西面这几个,任何一个都是非常出色的. 用别人的东西好处是上手快,看文档就好,要是文档不太好,那就有点尴尬了. dexie.js :A Minimalistic Wrapper for IndexedDB zangodb:MongoDB-like interface for HTML5 IndexedDB localForage:Offline storage, improved. Wraps IndexedDB, WebSQL, or local

Jenkins搭建一个简单的构建项目

0.准备 需要先安装好Jenkins,见文章链接 在浏览器输入localhost:8080/jenkins,打开Jenkins控制台 注意,第一次进入需要输入初始管理密码,保存在一个initAdminPassword文件中,Jenkins会提示该文件路径在何处 由于权限问题,需要在文件管理器中一层一层的点击找到文件 用记事本打开该文件即可,复制密码到框中即可进入安装界面. 这里选择左边的Install suggested plugins安装建议的控件 配置好后就会出现这样界面. 1.新建任务 点

根文件系统构建

1:新建nfs目录以存放我们构建的根文件系统,因为通过nfs挂载根文件系统,更加方便调试工作:在/etc/exports文件中添加如下内容/home/zonda/linux/nfs *(rw,sync,no_root_squash) 2:解压busybox,设置架构与编译器 CROSS_COMPILE ?= /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- ...

简单分布式系统构建知识

不同操纵系统之间的特点:网络端口管理与分发:哪些网络协议可以帮助我们更好的完成工作,监控虚拟机的时候是在虚机上加代理好还是用协议去控制:硬件是否支持分布式,在扩展过程中对于.net C#的兼容怎么样:什么时候使用多线程,在把线程交给程序调度的时候我们怎么控制和捕捉线程的异常:日志系统对于整个分散的系统是多么的重要:何时使用关系数据库,什么时候使用Nosql:消息队列用擅长的MSMQ还是RabbitMQ.怎样有效的和其他部门的同事沟通:用什么样的方式去有效调度不同语言开发的系统:测试用例对于大系统

简单入门构建spark1.6.1源码环境

能有源码的辅助,加上自身的修炼,能起到很好的作用! 对于初学者,不建议,一上来看源码. 下载 http://archive.apache.org/dist/spark/spark-1.6.1/

简单地构建从维基百科一个页面到另一个页面的爬虫

=============================================================================================== ===============================================================================================

Busybox构建根文件系统和制作Ramdisk

定制根文件系统的方法很多,最常用的是使用BusyBox来构建定制根文件系统.它集成压缩了Linux的许多工具和命令,可以使用户迅速方便地建立一套相对完整.功能丰富的文件系统,其中包括大量常用的应用程序.下面详细介绍有关Busybox定制根文件系统. 一.系统环境: 1.操作系统:Ubuntu140.4 2.交叉编译工具:gcc version 6.1.1 20160711 (Linaro GCC 6.1-2016.08) 3.busybox源码包:busybox-1.26.2 二.构建rootf

Maven实战(二)构建简单Maven项目

1.创建一个简单的项目 利用这个命令: mvn archetype:generate -DgroupId=cn.edu.app -DartifactId=simple -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-quickstart (这里稍微解释一下,archetype:generate  前面archetype说我们用了maven的archetype插件,后面的generate指的是该插件的一个目标,后面groupId,artifa

[操作系统实践][简单的文件系统]

简单文件系统的实现 要求 内存中开辟一块虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统. 在退出该文件系统的使用时,虚拟文件系统以一个文件的方式保存到磁盘中,以便下次可以把它恢复到内存的虚拟存储空间 实际实现 以上两点均实现 能处理绝对路径和相对路径的命令 例如 : cd /home/zy/Desktop/ 这样的绝对路径 cd ../hah/1/2 这样的相对路径 mkdir,rmdir,cd,creat,rm均支持 open_path 是open