欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

s5pv210 linux内核移植,简单根文件系统制作 - S5PV210 Linux3.8.3内核移植_Linux编程_Linux公社-Linux系统门户网站...

发布时间:2025/4/5 linux 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 s5pv210 linux内核移植,简单根文件系统制作 - S5PV210 Linux3.8.3内核移植_Linux编程_Linux公社-Linux系统门户网站... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.这里为什么选nfs文件系统呢?

在产品开发阶段,因为nfs根文件系统并不需要编译进内核,方便调试。

2.制作根文件系统需要用到BusyBox

解压进入busybox目录:

root@linuxidc:/home/share# tar xjf busybox-1.20.2.tar.bz2

root@linuxidc:/home/share# cd busybox-1.20.2

3.修改Makefile,指定交叉编译工具链和编译体系arm

root@linuxidc:/home/share/busybox-1.20.2# vim Makefile

CROSS_COMPILE ?= 修改为 CROSS_COMPILE ?= arm-linux-

ARCH ?= $(SUBARCH) 修改为 ARCH ?= arm

4.进行busybox配置

root@linuxidc:/home/share/busybox-1.20.2# make menuconfig

Busybox Settings  --->  General Configuration  ---> [*] Don't use /usr

/*不选上的话,会安装到系统目录的/usr下 破坏系统文件*/

5.编译

root@linuxidc:/home/share/busybox-1.20.2# make

root@linuxidc:/home/share/busybox-1.20.2# make install

完成安装后 当前文件夹下多了_install文件夹,这就是最终生成的busybox文件系统。

root@linuxidc:/home/share/busybox-1.20.2# cd _install/

root@linuxidc:/home/share/busybox-1.20.2/_install# ls

bin linuxrc sbin

接下来构建一个最小的根文件系统:最小根文件系统需要哪些文件呢?

一个最小根文件系统必须的项:

/dev/console这个在内核启动时打开:sys_open((const char __user *) "/dev/console", O_RDWR, 0)

/dev/null当不设置标准输入输出标准出错时,就会定位到/dev/null

init本身,即busybox

/etc/inittab配置文件  init进程配置文件,用来创建其他进程inittab配置文件中指定的应用程序或脚本

相应的库(如glibc库)

6.创建etc/inittab文件

root@linuxidc:/home/share/busybox-1.20.2/_install# mkdir etc

root@linuxidc:/home/share/busybox-1.20.2/_install# vim etc/inittab

::sysinit:/etc/init.d/rcS

::askfirst:-/bin/sh

::shutdown:/bin/umount -a -r

7.创建etc/init.d/rcS文件

root@linuxidc:/home/share/busybox-1.20.2/_install# mkdir etc/init.d

root@linuxidc:/home/share/busybox-1.20.2/_install# vim etc/init.d/rcS

添加想要自动运行的程序:

#!/bin/sh

mount -a #挂载在etc/fstab中配置的挂载项

mkdir /dev/pts #支持外部网络连接的虚拟终端telnet

mount -t devpts devpts /dev/pts

echo /sbin/mdev > /proc/sys/kernel/hotplug #热插拔

/sbin/mdev –s #在dev目录下生成内核支持的所有节点

8.由于使用了mount -a 必须创建etc/fstab文件

root@linuxidc:/home/share/busybox-1.20.2/_install# vim etc/fstab

# device mount-point type options dum fsck order

proc /proc proc defaults 0 0

tmpfs /tmp tmpfs defaults 0 0

sysfs /sys sysfs defaults 0 0

tmpfs /dev tmpfs defaults 0 0

proc:Linux内核提供了一种通过/proc文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口.

Sys: sysfs文件系统总是被挂载在/sys挂载点上.这里sysfs文件系统是为了支持mdev。为了减少写入flash。将dev目录挂载为tmpfs使写入操作在内存中。

9.busybox运行mdev创建所有设备节点之前,init进程需要dev/console和dev/null设备节点

root@linuxidc:/home/share/busybox-1.20.2/_install# mkdir dev

root@linuxidc:/home/share/busybox-1.20.2/_install# mknod dev/console c 5 1

root@linuxidc:/home/share/busybox-1.20.2/_install# mknod dev/null c 1 3

10.创建根文件系统其他目录

root@linuxidc:/home/share/busybox-1.20.2/_install# mkdir proc mnt tmp sys root

11.拷贝glibc库到lib目录

root@linuxidc:/home/share/busybox-1.20.2/_install# mkdir lib

root@linuxidc:/home/share/busybox-1.20.2/_install# cp /usr/local/arm/4.4.1/arm-none-linux-gnueabi/libc/lib/*so* lib/

总结

以上是生活随笔为你收集整理的s5pv210 linux内核移植,简单根文件系统制作 - S5PV210 Linux3.8.3内核移植_Linux编程_Linux公社-Linux系统门户网站...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。