内核配置和文件系统制作

内核和文件系统很大至少要50G硬盘,如果当下虚拟机的硬盘空间不够大,扩展硬盘需要的操作太麻烦,至少得一个下午,甚至还会有遗留问题,建议直接重新创建一个新的虚拟机。

创建新的虚拟机后需要下载的工具:

1.vim 2.gcc 3.交叉编译工具

内核移植

需要的压缩包:linux-3.5-20190720.tgz

配置操作:
1.把压缩包复制进虚拟机中,在解压后的目录下,将厂商提供的内核默认配置文件复制进config里
cp tiny4412_linux_defconfig .config .config是一个隐藏文件,在linux里,加点表示隐藏
2.进入图形化配置页面进行个性化配置,保存退出
make menuconfig

 System Type  --->
			[ ] Support TrustZone-enabled Trusted Execution Environment  //去掉内核保护机制
	File systems  --->
			<*> Ext3 journalling file system support  //设置内核支持的文件系统的类型
   Device Drivers  --->
			Generic Driver Options  --->  //文件系统/dev 下设备文件显示
				 [*] Maintain a devtmpfs filesystem to mount at /dev                                                            
					 [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs     
//<>为不选择, <*> 则压缩到内核映像zImage放到内存中运行,< M>为编译成moudule内核模块,存放在ROM中,使用时由zImage调用动态加载到内存

3.编译内核 , j3表示两个内核的三个线程同时编译,,各个线程老师都试过,三个线程的效率最高
time make -j3
4.烧录到SD卡。编译完成后的内核文件是 linux-3.5/arch/arm/boot/zImage
sudo dd iflag=dsync oflag=dsync if=./zImage of=/dev/sdb seek=1057

文件系统移植

需要的压缩包:buildroot-2023.02.4.tar.gz 和 dl.tar

配置操作:
1.下载软件
首先把 dl.tar 解压到 buildroot-2023.02.4.tar.gz 解压后的目录下,dl里面有很多软件,能节省接下来编译的时候下载软件的时间
再更新软件源列表 sudo apt-get update 下载buildroot需要的安装包
sudo apt-get install gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev autoconf m4 intltool libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip gawk bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client subversion asciidoc w3m dblatex libc6:i386 libssl-dev expect fakeroot cmake flex bison liblz4-tool libtool keychain expect-dev
安装的时候不要一下全部都安装完,会出错,可以一个一个的安装,或几个几个安装。
2.进入图形化配置页面进行个性化配置。在buildroot目录下执行 make menuconfig

Target Architecture  //选择arm架构
			(X) ARM (little endian)  //小端模式
			Target Architecture Variant (cortex-A9)  ---> //A9芯片
Toolchain  ---> //配置交叉编译工具
			Kernel Headers (Linux 4.19.x kernel headers)  --->  //内核是向下兼容,选3.5以上的就行
			[*] Enable compatibility shims to run on older kernels
			[*] Install glibc utilities
			[*] Enable C++ support             
			[*] Enable Fortran support         
			[*] Enable D language support      
			[*] Enable compiler OpenMP support 
			[*] Enable graphite support      
			[*] Copy gconv libraries  
Build options ---> //配置编译库的选项
			libraries (both static and shared)  ---> //静态库和动态库都要
System configuration --->  //系统配置
			/dev management (Dynamic using devtmpfs + mdev)  --->
Filesystem images  --->  //文件系统的配置
			[*] ext2/3/4 root filesystem        
      			ext2/3/4 variant (ext4)  --->	
			[*] ubi image containing an ubifs root filesystem
Target packages //选择安装软件包
			Audio and video applications --->
			可以选择ffmpeg
			madplayer

3.编译文件系统 time make -j2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值