initramfs根文件系统移植

基于ubuntu14.04,fl2440开发板的根文件系统移植所谓根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。文件系统的制作其实并没有想像中那么难。一个基本的文件系统应该包括: busybox (提供 shell 命令集)、配置文件(用来初始化和布局你的...
摘要由CSDN通过智能技术生成

基于ubuntu14.04,fl2440开发板的根文件系统移植

所谓根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。

文件系统的制作其实并没有想像中那么难。一个基本的文件系统应该包括: busybox (提供 shell 命令集)、配置文件(用来初始化和布局你的文件系统)、设备文件(如果是用 devfs 的话这个就免了)、必要的库文件系统(如果 busybox 是静态编译的话,那根本不用为 busybox 用到的库文件而烦。

根文件系统树制作

├── apps					nandflash apps分区挂载点,用来存放应用程序
├── bin						系统基本命令
├── data					nandflash data分区挂载点,用来存放数据
├── dev						系统设备节点所在路径
├── etc						系统配置文件所在路径
│   └── init.d				系统初始化、启动程序脚本
├── info						nandflash info分区挂载点,用来存放设备信息
├── lib						系统动态库路径
│   └── modules		
│       └── 3.0.0			linux内核驱动模块需要该路径
├── mnt						系统挂载点
│   ├── mmc				SD卡挂载点
│   └── usb				U盘挂载点
├── proc					linux proc文件系统挂载点
├── root						root用户home
├── sbin					系统管理命令
├── sys						linux sys文件系统挂载点
├── tmp						linux tmp文件系统挂载点
├── usr						
│   ├── bin					用户基本命令路径
│   ├── lib					用户动态库文件
│   └── sbin				用户管理命令路径
└── var						系统日志等文件存放路径

安装动态库

开发板上的所有程序都是靠交叉编译器编译的,所以要链接相应的动态库,就得把交叉编译器的动态库拷到相应的路径下
但是拷贝过程中发现很多的链接库失效了,需要重新建立链接
所以编写一个脚本把失效的链接都恢复

#!/bin/bash
	# find all the invalid symlink file and remove "./" before it
	for sf in `find -L -type l | cut -d'/' -f2` ; do
	# parser and get symlink target file name
	file=`ls -l $sf | awk -F '/' '{ print $NF }'`
	# remove invalid symlink file and generate new one
	rm -f $sf && ln -s $file $sf
done

这样就把创建新的链接文件并替换掉坏掉的文件。

安装busybox

BusyBox 是一个集成了一百多个最常用Linux命令和工具的软件,如ls、cat、ifconfig、vim、grep、sed、awk、find、mount、telnet等。有些人将
BusyBox 称为 Linux 工具里的瑞士军刀,简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。我们通过下载busybox源码、
配置编译并安装它就会提供这些Linux的基本命令的实现,它们将会被安装到根文件系统树的 bin、sbin、usr/bin、usr/sbin等路径下。
busybox源码:https://busybox.net/downloads/busybox-1.27.1.tar.bz2
同样我们也需要对busybox进行配置
busybox settings —>下
在这里插入图片描述

在这里插入图片描述
Linux System Utilities —>下

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值