文件系统编译
这个就类似于自己制作Linux发行版的rootfs了。不同系统不同环境制作方法是不同的。比如我有块板子我是用yocto自己生成rootfs的,随意加入任何东西,当然不只是简单改makefile。
最省事的方法是把已经做好的rootfs解包出来,把文件复制进去,然后再打包就完事了。
‘贰’ linux 文件系统 内核编译
1、第一条命令没问题;
2、第二条命令:
#mkfs.ext2 myfs
myfs is not a block special device.
无路如何也要继续?(y,n)
这时要输入y
3、第三条命令,linux kernel不支持myext2文件系统。我猜你是想要在红帽或ubuntu上mount一个ext2文件系统的loop设备,但是想使用myext2的文件系统驱动,对吧。我没有这么做过,猜不出你的myext2摘出来之后是什么样子的。我以前试过在linux安装新的文件系统支持,比如fuse系统,源码编译通过后会生成一个.ko的模块文件,使用insmod命令将其加入内核,才能获得内核对该文件系统的支持。我想你可能也应该这样做,你应该需要生成一个类似myext2.ko的模块,然后将其insmod到内核中去。
‘叁’ buildroot构建根文件系统
Buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。本文使用buildroot为freescale imx287 开发板制作根文件系统。
参考 https://www.cnblogs.com/kele-dad/p/8231434.html
Buildroot本身提供构建流程的框架,开发者按照格式写脚本,提供必要的构建细节,配置整个系统,最后自动构建出你的系统。
1.主板外观及基本接口分布
2.硬件资源
查看buildroot包含的开发板配置
选择imx28默认配置
编译完成,在 output 目录下可以得到生成的文件系统和镜像文件
在images目录下有烧录镜像文件
1)增加/dev/null 文件
Buildroot 编译后,生成的文件系统中通常没有/dev/null 文件,而系统启动通常是需要的,可以自行创建:
2)增加/dev/console文件
对应于System configuration-“Run a gretty after root”选择的调试端口
3)再次编译builtroot
将生成的rootfs.tar.bz2文件或rootfs.ubifs文件烧录到处理器,进入系统后即可以通过shell命令操作,已有的shell命令参考output/bin/目录下的链接文件。
开机成功进入根文件系统
因为在System configuration中把root passwd设置为root,所以用户名和密码都是root。
‘肆’ 编译软件具体是什么啊为属于系统软件啊
编译软件为汇编语言汇编器,例如C语言编译、连接器等等。
一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具),是支持计算机系统正常运行并实现用户操作的那部分软件。
有代表性的系统软件:操作系统,语言处理程序(如编译软件),数据库管理,辅助程序。
(4)文件系统编译扩展阅读:
语言处理程序:
编译软件CPU执行每一条指令都只完成一项十分简单的操作,一个系统软件或应用软件,要由成千上万甚至上亿条指令组合而成。直接用基本指令来编写软件,是一件极其繁重而艰难的工作。
计算机只能直接识别和执行机器语言,因此要计算机上运行高级语言程序就必须配备程序语言翻译程序,翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。
语言处理程序如汇编语言汇编器,C语言编译、连接器等。
为了提高效率,人们规定一套新的指令,称为高级语言,其中每一条指令完成一项操作,这种操作相对于软件总的功能而言是简单而基本的,而相对于CPU的一眇操作而言又是复杂的。用这种高级语言来编写程序(称为源程序)就象用预制板代替砖块来造房子,效率要高得多。
但CPU并不能直接执行这些新的指令,需要编写一个软件,专门用来将源程序中的每条指令翻译成一系列CPU能接受的基本指令(也称机器语言)使源程序转化成能在计算机上运行的程序。完成这种翻译的软件称为高级语言编译软件,通常把它们归入系统软件。
目前常用的高级语言有VB、C++、JAVA等,它们各有特点,分别适用于编写某一类型的程序,它们都有各自的编译软件。
参考资料:网络——系统软件
‘伍’ linux内核编译和根文件系统制作过程
内核编译:
make
menuconfig配置相应的平台,然后保存退出直接make命令就可以编译了。
文件系统制作:
一般都用busybox开源软件来做,下载,解压,然后make
menuconfig配置你想要的属性,然后保存退出,make就可以了,然后make
install就会在目录下看到__install的目录就是你要的根文件系统目录了。