x210开发板linux嵌入式,X210开发板嵌入式linux操作系统根文件系统的构建。

2023-05-16

本文是在学习朱有鹏老师嵌入式linux课程的过程中所整理的根文件系统构建步骤。X210开发板嵌入式linux操作系统根文件系统的构建。0准备工作:     0.1开发板支持nfs作为根文件系统启动,并且已经能够启动内核。     0.2搭建好要建立跟文件系统的nfs开发环境。    0.3下载一个busybox,本次用的是busybox-1.24.1.tar.bz2.可以自己从网上下载。    0.4本实验的本文件系统目录为: /root/porting_x210/rootfs/2rootfs    0.6 此时启动内核会有以下信息

3f288ee285423cc6e29fa526842ca321.png

1.修改Makefile1.1复制busybox到根文件系统到/root/porting_x210/rootfs目录中并解压1.2 修改Makefile中的ARCH(191行)和CROSS_COMPILE(根据自己的开发板以及交叉编译工具链的位置配置)  (1) ARCH = arm

3f288ee285423cc6e29fa526842ca321.png

(2) CROSS_COMPILE = /usr/local/arm/arm-2009q3/bin//arm-none-linux-gnueabi-

3f288ee285423cc6e29fa526842ca321.png1.3 make menuconfig进行配置如下Busybox Settings--->Build Options--->[*]Build BusyBox as a static binary(no shared libs)Busybox Library Tuning--->[*]vi-style line editing commands[*]Fancy shell promptsLinux Module Utilities--->[ ]Simplified modutils[*]insmod[*]rmmod[*]lsmod[*]modprobe[*]depmodLinux System Utilities--->[*]mdev[*]Support /etc/mdev.conf[*]Support subdirs/symlinks[*]Support regular expressions substitutions when renaming dev[*]Support command execution at device addition/removal[*]Support loading of firmwares Busybox Settings  --->     Installation Options ("make install" behavior)  --->          (./_install) BusyBox installation prefix     将路径导出到根文件系统目录及里面内容改为:     /root/porting_x210/rootfs/2rootfs1.4 make 编译    出现如下错误:   

3f288ee285423cc6e29fa526842ca321.png  解决办法:          修改 make menuconfig Coreutils  --->   [ ] sync                重新make1.5 make install 安装     install在所有的linux下的软件中作用都是安装软件。在传统的linux系统中安装软件时都是选择源代码方式安装的。我们下载要安装的软件源代码,然后配置、编译、安装。make install的目的就是将编译生成的可执行程序及其依赖的库文件、配置文件、头文件安装到当前系统中指定(一般都可以自己指定安装到哪个目录下,如果不指定一般都有个默认目录)的目录下1.6 进入rootfs目录下ls查看当前文件夹内容如下: 

3f288ee285423cc6e29fa526842ca321.png    再次重新启动内核,查看打印信息。 

3f288ee285423cc6e29fa526842ca321.png        需要解决问题:rcS2 制作最小根文件系统1.1 Inittab   进入根文件系统目录:$mkdir etc   然后将inittab(文章中所用到的文件代码在文章末尾。因无法插入文件,自己复制代码创建即可,文件名字需相同)复制到etc目录下。重新启动内核结果如下: 

3f288ee285423cc6e29fa526842ca321.png1.2 rcS文件    进入etc目录  将fstab复制到etc目录下    $ mkdir init.d     $ cd init.d   将rcS文件复制到init.d下    重新启动内核,问题没有解决。因为在windows下创建文件,/r/n原因,格式不正确。在开发板中打开才能看出来     

3f288ee285423cc6e29fa526842ca321.png把M删掉。再次重启,有以下问题: 

3f288ee285423cc6e29fa526842ca321.png 在根文件系统目录下创建 proc sys var tmp dev 文件 $ mkdir proc sys dev var tmp    然后再次重启内核 

3f288ee285423cc6e29fa526842ca321.png  根据提示目录创建次HOSTNAME文件,在HOSTNAME中写入一个名字,保存退出后重新启动内核,警告消除!3. 用户登录  3.1在命令行前显示用户名       将profile文件复制到etc目录下,再次重启内核查看 

3f288ee285423cc6e29fa526842ca321.png  3.2 显示用户登录界面      将inittab中的::askfirst:~bin/sh注释掉,前面加改为#::askfirst:~bin/sh(注释掉)      在下面添加一行::askfirst:~bin/sh      复制linux  /etc下的passwd和shadow到根文件系统的etc下。将除了root以外的删除。root:x:0:0:root:/root:/bin/bash更改为oot:x:0:0:root:/root:/bin/sh再次运行即所复制linux环境下的密码。 

3f288ee285423cc6e29fa526842ca321.png

根文件系统构建中会用到的几个文件代码文件名rcS,代码如下:#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

runlevel=S

prevlevel=N

umask 022

export PATH runlevel prevlevel

mount -a

echo /sbin/mdev > /proc/sys/kernel/hotplug

mdev -s

/bin/hostname -F /etc/sysconfig/HOSTNAME

ifconfig eth0 192.168.1.10文件名 inittab,代码如下#first:run the system script file

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

::askfirst:-/bin/sh

::ctrlaltdel:-/sbin/reboot

#umount all filesystem

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

#restart init process

::restart:/sbin/init文件名 fastab# /etc/fstab: static file system information.

#

# Use 'vol_id --uuid' to print the universally unique identifier for a

# device; this may be used with UUID= as a more robust way to name devices

# that works even if disks are added and removed. See fstab(5).

#

# proc /proc proc defaults 0 0

sysfs /sys sysfs defaults 0 0

tmpfs /var tmpfs defaults 0 0

tmpfs /tmp tmpfs defaults 0 0

tmpfs /dev tmpfs defaults 0 0文件名 profile # Ash profile

# vim: syntax=sh

# No core files by default

ulimit -S -c 0 > /dev/null 2>&1

USER="`id -un`"

LOGNAME=$USER

PS1='[u@h W]# '

PATH=$PATH

HOSTNAME=`/bin/hostname`

export USER LOGNAME PS1 PATH所构建的根文件系统可行后,可以再制作成镜像并烧录启动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

x210开发板linux嵌入式,X210开发板嵌入式linux操作系统根文件系统的构建。 的相关文章

随机推荐