linux内核移植、配置及nfs文件系统挂载
来源:互联网 发布:外星人源码论坛 骗局 编辑:程序博客网 时间:2024/06/05 06:02
////////////////arm平台/////////////////////////////
1.清理内核 make distclean 清理.o和.config文件
//////////////////////////////////////////
2.配置内核 一般直接参考现已的配置文件来配置
cp config_file ./linux-tq2440/.config
make menuconfig ARCH=arm 基于文本模式的菜单型配置
<M>选中后之编译成.o文件,保存到硬盘了,不在生成的内核镜像中,节省内存
<*>选中后之编译成.o文件,然后连接成内核镜像文件zImage
<>不选择该功能
内核文件的配置结果:ls -a 会看到.config vim .config
使用已有的内核配置文件((ls /boot/ X86平台的)(ls arch/arm/configs ARM平台的) 可看到虚拟机的配置文件,可以把他复制到内核文件中,
然后make menuconfig,把已有的配置问价添加进去)简化内核配置,不清楚的最好保持默认配置
//////////////////////////////////////////
2.1 cp mkimage /bin/ 添加头 需要用uboot代码里面的mkimage工具
2.1编译内核 make uImage ARCH=arm CROSS_COMPILE=arm-linux-
然后添加根文件系统
////////////////////////////////////////////////////////////////////////////
//////////////////////根文件系统制作////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
1.1创建目录 mkdir rootfs
然后在rootfs目录下创建一下目录
mkdir bin dev etc lib proc sbin sys usr mnt tmp var
mkdir usr/bin usr/lib usr/sbin lib/modules
1.2创建设备文件 cd rootfs/dev
mknod -m 666 console c 5 1 //c表明是字符设备,5是主设备号,1是次设备号
mknod -m 666 null c 1 3
1.3加入配置文件 tar xvzf etc.tar.gz
cp etc/* rootfs/etc/ -rf //把etc目录下的所以文件及目录拷贝到/rootfs/etc/目录下
1.建立根文件系统目录与文件 1.4添加内核模块 cd /home/lesson/part4/armlinux
make modules ARCH=arm CROSS_COMPILE=arm-linux-
make modules_install ARCH=arm INSTALL_MOD_PATH=/home/lesson/part4/4/rootfs //会在lib/modules里看到驱动文件
1.5编译busybox 1.5.1配置busybox,用来提供嵌入式系统中的命令,如:ls,cd等
#make menuconfig //进入busybox目录下配置
Busybox Settings 里build Options->选中 “Build busybox as a static binary”, 静态链接
Cross makeCompiler prefix (arm-linux-)
Installation Options->选中 “Don‘t use /usr”, 选中该项可以避免busybox 被安装到宿主系统的/usr目录下,破坏宿主系统
Busybox InstallatPrefix (/home/lesson/part4/4/rootfs) 该选项表明编译后的busybox的安装位置
1.5.2 编译/安装busybox 1.make 2.make install //装好后rootfs/bin 里就有了需要的命令,可以查看
/////////////////////////////////////////////////////////////////////////////////////////
2.1 挂载方式简介
2.2.1:cd /home/lesson/part4/4/rootfs
2.挂载根文件系统到内核 2.2 initramfs挂载 2.2.2:ln -s ./bin/busybox init //在当前目录下创建软连接
2.2.3:make menuconfig ARCH=arm 配置linux内核,支持initramfs
2.2.4:make uImage ARCH=arm CROSS_COMPILE=arm-linux- 编译内核
2.2.5:setenv bootargs noinitrd console=ttySAC0,115200 //设置环境变量
6:tftp 31000000 uImage bootm 31000000
///////////////////////////////////////////////////////////////////////////////////////////
2.3.1:make menuconfig ARCH=arm //内核配置
1.进入General setup->取消选中的initial filesystem and RAM disk(initramfs,initrd) support
2.File system -> 选中Network file system并进入 —>选中Root file system on NFS
2.3 NFS挂载 2.3.2:make uImage ARCH=arm CROSS_COMPILE=arm-linux- 编译内核
2.3.3:setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw
(linux的ip) nfsroot=10.199.172.150:/home/lesson/part4/4/rootfs
ip=10.199.172.100:10.199.172.150:10.199.172.1://(开发板ip,linux的ip,网关)
255.255.255.0::eth0:off
2.3.4:vim /etc/exports 在文件中添加/home/lesson/part4/4/rootfs
2.3.5:/etc/init.d/nfs restart
2.3.6:tftp 31000000 uImage
1.清理内核 make distclean 清理.o和.config文件
//////////////////////////////////////////
2.配置内核 一般直接参考现已的配置文件来配置
cp config_file ./linux-tq2440/.config
make menuconfig ARCH=arm 基于文本模式的菜单型配置
<M>选中后之编译成.o文件,保存到硬盘了,不在生成的内核镜像中,节省内存
<*>选中后之编译成.o文件,然后连接成内核镜像文件zImage
<>不选择该功能
内核文件的配置结果:ls -a 会看到.config vim .config
使用已有的内核配置文件((ls /boot/ X86平台的)(ls arch/arm/configs ARM平台的) 可看到虚拟机的配置文件,可以把他复制到内核文件中,
然后make menuconfig,把已有的配置问价添加进去)简化内核配置,不清楚的最好保持默认配置
//////////////////////////////////////////
2.1 cp mkimage /bin/ 添加头 需要用uboot代码里面的mkimage工具
2.1编译内核 make uImage ARCH=arm CROSS_COMPILE=arm-linux-
然后添加根文件系统
////////////////////////////////////////////////////////////////////////////
//////////////////////根文件系统制作////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
1.1创建目录 mkdir rootfs
然后在rootfs目录下创建一下目录
mkdir bin dev etc lib proc sbin sys usr mnt tmp var
mkdir usr/bin usr/lib usr/sbin lib/modules
1.2创建设备文件 cd rootfs/dev
mknod -m 666 console c 5 1 //c表明是字符设备,5是主设备号,1是次设备号
mknod -m 666 null c 1 3
1.3加入配置文件 tar xvzf etc.tar.gz
cp etc/* rootfs/etc/ -rf //把etc目录下的所以文件及目录拷贝到/rootfs/etc/目录下
1.建立根文件系统目录与文件 1.4添加内核模块 cd /home/lesson/part4/armlinux
make modules ARCH=arm CROSS_COMPILE=arm-linux-
make modules_install ARCH=arm INSTALL_MOD_PATH=/home/lesson/part4/4/rootfs //会在lib/modules里看到驱动文件
1.5编译busybox 1.5.1配置busybox,用来提供嵌入式系统中的命令,如:ls,cd等
#make menuconfig //进入busybox目录下配置
Busybox Settings 里build Options->选中 “Build busybox as a static binary”, 静态链接
Cross makeCompiler prefix (arm-linux-)
Installation Options->选中 “Don‘t use /usr”, 选中该项可以避免busybox 被安装到宿主系统的/usr目录下,破坏宿主系统
Busybox InstallatPrefix (/home/lesson/part4/4/rootfs) 该选项表明编译后的busybox的安装位置
1.5.2 编译/安装busybox 1.make 2.make install //装好后rootfs/bin 里就有了需要的命令,可以查看
/////////////////////////////////////////////////////////////////////////////////////////
2.1 挂载方式简介
2.2.1:cd /home/lesson/part4/4/rootfs
2.挂载根文件系统到内核 2.2 initramfs挂载 2.2.2:ln -s ./bin/busybox init //在当前目录下创建软连接
2.2.3:make menuconfig ARCH=arm 配置linux内核,支持initramfs
2.2.4:make uImage ARCH=arm CROSS_COMPILE=arm-linux- 编译内核
2.2.5:setenv bootargs noinitrd console=ttySAC0,115200 //设置环境变量
6:tftp 31000000 uImage bootm 31000000
///////////////////////////////////////////////////////////////////////////////////////////
2.3.1:make menuconfig ARCH=arm //内核配置
1.进入General setup->取消选中的initial filesystem and RAM disk(initramfs,initrd) support
2.File system -> 选中Network file system并进入 —>选中Root file system on NFS
2.3 NFS挂载 2.3.2:make uImage ARCH=arm CROSS_COMPILE=arm-linux- 编译内核
2.3.3:setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw
(linux的ip) nfsroot=10.199.172.150:/home/lesson/part4/4/rootfs
ip=10.199.172.100:10.199.172.150:10.199.172.1://(开发板ip,linux的ip,网关)
255.255.255.0::eth0:off
2.3.4:vim /etc/exports 在文件中添加/home/lesson/part4/4/rootfs
2.3.5:/etc/init.d/nfs restart
2.3.6:tftp 31000000 uImage
0 0
- linux内核移植、配置及nfs文件系统挂载
- Linux-4.9.2内核在mini2440上的移植(七)——NFS文件系统挂载
- linux系统移植之挂载nfs文件系统错误
- Porting:uboot烧写、linux内核烧写、根文件系统烧写:系统移植,nfs同步网络配置
- mini6410 NFS文件系统及内核
- s5pv210 内核移植与nfs文件系统笔记
- s3c2440上linux-2.6.28.7内核配置及Qtopia文件系统移植和搭建
- s5pv210 linux3.8.3内核移植之四:使linux内核支持nfs文件系统
- ARM内核及文件系统移植
- Linux内核及文件系统移植之jffs2烧录后无法启动
- Linux内核及文件系统配置编译 - 关于内核配置
- linux 配置nfs网络文件系统
- zedboard 配置一个带NFS文件系统的内核和开机自动挂载sd卡
- OK6410开发板Linux-3.3.5驱动移植之DM900网卡驱动移植+NFS文件系统挂载
- 配置内核支持NFS启动文件系统
- 配置内核支持NFS启动文件系统
- ubuntu12.04的NFS配置及linux NFS介绍 nfs挂载权限问题
- ubuntu12.04的NFS配置及linux NFS介绍 nfs挂载权限问题
- 用例图中,应该如何区分《include》和《extend》
- canvas 绘图API(二)
- Mysql----游标的嵌套循环
- matlab绘图 及基础笔记
- 古罗马数字转十进制
- linux内核移植、配置及nfs文件系统挂载
- 公安备案 代理ip 2016.03.04回顾
- Android 编程中遇到的错误问题处理
- 顺序表(Sequential List)
- CodeForces 151A - Soft Drinking
- Stanford 机器学习笔记 Week6 Machine Learning System Design
- HDU NO.1114 Piggy-Bank(完全背包变形,01背包的另一种形式)
- Java File and FileSystem 源代码分析
- Spring 配置文件详解