当前位置: 代码迷 >> 综合 >> s5p6818/fs4418系统移植实验十四 制作根文件系统
  详细解决方案

s5p6818/fs4418系统移植实验十四 制作根文件系统

热度:54   发布时间:2024-01-29 18:29:43.0

实验十四 制作根文件系统

【实验目的】

       掌握根文件系统的制作方法。

       说明:在实验中命令行提示符为“$”表示在主机上运行,“#”表示在目标板上运行。

【实验环境】

  1. Ubuntu 16.04 64位发行版
  2. FS6818平台

【实验步骤】

  1. 配置并编译Busybox。使用下面的命令。

源码包在“案例源码\第三天\ busybox-1.22.1.tar.bz2”

$ tar -jxvf busybox-1.22.1.tar.bz2

$ cd busybox-1.22.1/

$ make menuconfig

 

Busybox Settings  --->

  Build Options  --->

         [ ] Build BusyBox as a static binary (no shared libs) (NEW)

         (arm-none-linux-gnueabi-) Cross Compiler prefix

  Installation Options ("make install" behavior)  --->

         (./_install) BusyBox installation prefix

  1. 编译并安装Busybox。使用下面的命令。

$ make

$ make install 

安装成功后,生成以下目录。

$ ls _install

bin  linuxrc  sbin  usr

  1. 拷贝共享库文件。

$ cd ./_install

 $ cp -a /home/linux/ toolchain-4.5.1-farsight/arm-none-linux-gnueabi/libc/lib .

共享库的路径根据交叉编译工具链安装的位置的不同而不同。

$ sudo rm lib/*.a                                       # 删除静态库文件

$ arm-none-linux-gnueabi-strip lib/*.so        # 裁剪共享库文件,减小体积

  1. 添加其他目录。重新进入到_install目录,生成相应的目录。

$ cd _install

$ mkdir dev etc home mnt proc root sys tmp var

$ mkdir etc/init.d

  1. 添加/etc/inittab文件,文件内容如下。

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

::askfirst:-/bin/sh

::ctrlaltdel:/sbin/reboot

::restart:/sbin/init

  1. 添加/etc/ init.d/rcS文件,文件内容如下。

#!/bin/sh

/bin/mount -a

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

/sbin/mdev -s

  1. 接下来添加该文件的可执行权限。

$ chmod +x etc/init.d/rcS

  1. 添加/etc/fstab文件,文件内容如下。

proc     /proc   proc    defaults        0       0

tmpfs    /tmp   tmpfs   defaults        0       0

sysfs     /sys    sysfs   defaults        0       0

tmpfs    /dev    tmpfs   defaults        0       0

  1. 添加/etc/profile文件,文件内容如下。

#!/bin/sh                                                                  

export HOSTNAME=farsight

export USER=root

export HOME=root

export PS1="[$USER@$HOSTNAME\W]\#"

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

LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH

export PATH LD_LIBRARY_PATH

  1. 按照实验八的方法通过NFS挂载根文件系统。

根文件系统挂载成功后,输出如下信息。

……

[    9.312000] write to read-only section trapped, success

 

Please press Enter to activate this console.

[root@farsight]#