根文件系统

制作根文件系统,基于JZ2440

喜你入骨 提交于 2019-12-01 07:46:39
移植好u-boot 和 linux内核后,还需要制作根文件系统,在内核启动后挂接根文件系统,再运行应用程序 下面列出根文件系统的制作步骤和方法: 注意,制作根文件系统使用的编译器需要和内核编译器一样,否则有可能无法运行 最小根文件系统有五大要素:      1:busybox:就是各种命令的集合     2:需要两个设备 /dev/console /dev/null     3:/etc/inittab 配置文件     4:C库     5:配置指定的程序 第一步:编译busybox 基于busybox-1.23.0版本   1:在指定的目录下创建一个文件夹用于根文件系统目录     命今行:例 mkdir fs_mini   2:获得busybox源码 网址 https://busybox.net/downloads/ 下载想使用的版本     解压后进入源码目录 先配置编译器选项 命令行: make menuconfig 然后在菜单界面找到配置项   INSTALL文档里有说明如何编译          Busybox Settings => Build Options => cross Compiler prefix 输入 arm-linux- 如果配置文件没有这项配置的话我们就需要在MAKEFILE里指定       接下来配置选择 Linux Module

《构建根文件系统(二)分析busybox源码》

半城伤御伤魂 提交于 2019-11-30 04:05:37
1.busybox   平时我们在开发板中输入ls、cp、mv等命令,都是在/bin文件中。而通过ls -l就可以发现      这些命令都是放在busybox中的。并且在内核启动后,通过ps命令,可以看到有一个init进程正在运行。      因此就先来分析一下,这个第一个运行的进程init。 2.init进程分析 来源: https://www.cnblogs.com/zhuangquan/p/11557781.html

根文件系统时间设置

六月ゝ 毕业季﹏ 提交于 2019-11-29 12:21:14
刚开始的根文件系统时间是: [root @EnjoyLinux /]# date Wed Mar 29 19:00:19 UTC 2000 我们要做的,就是修改这个时间,修改成现在的时间, 设置系统时钟的操作: # date 080610532012.00 2012年8月6日10:53 :0 通用的设置格式: # date 月日时分年.秒 设置完后,查看 [root @EnjoyLinux /]# date Mon Aug 6 10:58:50 UTC 2012 同步硬件时钟 hwclock -w [root @EnjoyLinux /]# hwclock -w [root @EnjoyLinux /]# hwclock Mon Aug 6 11:02:05 2012 0.000000 seconds [root @EnjoyLinux /]# date Mon Aug 6 11:02:05 UTC 2012 设置完这个之后,修改启动项 [root@EnjoyLinux /]# vi /etc/init.d/rcS 添加一项, /sbin/hwclock -s 至此,开发板启动后时间将保持现实时间,当然,前提是,开发板的电池不要拔掉。 转载于:https://my.oschina.net/u/860952/blog/549202 来源: https://blog.csdn.net

08.构建根文件系统

元气小坏坏 提交于 2019-11-29 07:48:43
 终于自动挂载文件系统成功了!!!出错的地方两个!!!   第一,恢复出厂设置一定要用eop下载uboot,dnw下载的不行!!!最后记得erase nand params!!   第二,set bootargs noinitrd root=/dev/nfs nfsroot=202.193.61.195:/work/nfs_root/first_fs ip=202.193.61.196:202.193.61.195:202.193.61.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0   参数解读:  nfsroot=202.193.61.195: ubuntu ip地址  /work/nfs_root/first_fs要挂载的目录  ip=202.193.61.196: 单板ip(恢复出厂设置后记得先配置ip,手动挂载下能不能成功,可以成功的话再修改bootargs自动挂载!)  202.193.61.195: 依然是ubuntu ip !!!!!注意!!!  202.193.61.1: 网关,只要处于同一网段就好。  255.255.255.0:: 子网掩码  eth0: 网卡,一般都是0  off 是否自动配置 off就可以 下面回顾下整个过程! 最小根文件系统的组成:1.dev/console /dev

浅谈linux中的根文件系统(rootfs的原理和介绍)

谁都会走 提交于 2019-11-28 19:49:05
linux中有一个让很多初学者都不是特别清楚的概念,叫做“根文件系统”。我接触linux前前后后也好几年了,但是对这个问题,至今也不是特别的清楚,至少没法给出一个很全面很到位的解释。于是,今天我们就来理一理这个话题。 一、先交代一下文件系统 在开始讨论根文件系统这个话题之前,我们必首先交代一下文件系统这个概念。毕竟,根文件系统只是文件系统中的一种比较特殊的形式而已。根据伟大的百度百科: 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操作和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。 文件系统的重要性,我想大家都很清楚,不用多说了。这里有一句话,我觉得非常精辟而且到位的点出了文件系统在linux中的重要性: 尽管内核是linux的核心,但文件却是用户与操作系统交互所采用的主要工具。这对linux来说尤其如此,这是因为在UNIX传统中,它使用文件I

构建根文件系统

这一生的挚爱 提交于 2019-11-28 17:25:25
构建根文件系统 根文件系统的基本概念 在Linux中,是以树状结构管理所有目录、文件,其他分区挂接在某个目录上,这个目录被称为挂接点或者安装点,然后就可以通过这个目录来访问这个分区上的文件了; 在一个分区上存储文件时需要遵循一定的格式,这种格式称为文件系统类型,比如fat16、fat32、ext2、ext3、jffs2、yaffs等,除了这些实实在在的存储分区的文件系统类型外,Linux还有几种虚拟的文件系统类型,比如proc、sysfs等,它们的文件并不存储在实际的设备上,而是在访问它们 时由内核临时生成,比如proc文件系统下的uptime文件,读取它时可以得到两个时间值(用来表示系统启动后运行的秒数、空闲的秒数),每次读取都是由内核实时生成,每次读取到的结果都不一样; init进程和用户程序启动过程 内核启动的最后一步就是启动init进程,代码在init/main.c文件中,会调用init_post()函数; init进程是由内核启动的第一个(也是唯一的一个)用户进程(进程ID为1),它根据配置文件决定启动哪些程序,比如执行某些脚本、启动shell或者运行用户指定的程序等; init进程的执行程序通常是/sbin/init,也可以自己编写/sbin/init程序,或者通过bootloader传入命令行参数"init=xxxxx"指定某个程序作为init进程运行;