嵌入式爱好者

查看: 10316|回复: 22

制作根文件系统问题

[复制链接]
mdcy278 该用户已被删除
发表于 2013-3-14 22:02:58 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0

主题

972

帖子

900

积分

i.MX6Q通行证i.MX6UL通行证TCU通行证AM335x通行证

发表于 2013-3-15 12:48:16 | 显示全部楼层
对开发板nandflash进行一下格式化在烧写试试
技术支持电话:0312-3119192
技术支持邮箱:Hardware@forlinx.com
点评回复 支持 反对

使用道具 举报

mdcy278 该用户已被删除
 楼主| 发表于 2013-3-16 15:26:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

0

主题

0

帖子

34

积分

发表于 2013-3-18 15:51:12 | 显示全部楼层
你可以参考《嵌入式Linux应用开发》(韦东山编著)书上的根文件制作进行。
点评回复 支持 反对

使用道具 举报

mdcy278 该用户已被删除
 楼主| 发表于 2013-3-19 07:54:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

0

主题

0

帖子

34

积分

发表于 2013-3-19 09:08:30 | 显示全部楼层
我是测试过的,参考《嵌入式Linux应用开发》(韦东山编著)书上制作的最初始的根文件系统可以正常工作
点评回复 支持 反对

使用道具 举报

mdcy278 该用户已被删除
 楼主| 发表于 2013-3-19 11:07:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

mdcy278 该用户已被删除
 楼主| 发表于 2013-3-19 13:32:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

153

主题

3910

帖子

4207

积分

AM5718通行证AM335x通行证i.MX6UL通行证i.MX RT通行证i.MX6Q通行证XX18通行证TCU通行证FCU1401通行证FCU1301通行证FCU11xx通行证

发表于 2013-3-19 15:42:54 | 显示全部楼层
技术支持电话:0312-3119192
技术支持邮箱:Linux@forlinx.com
点评回复 支持 反对

使用道具 举报

mdcy278 该用户已被删除
 楼主| 发表于 2013-3-19 17:19:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

0

主题

0

帖子

34

积分

发表于 2013-3-19 17:23:11 | 显示全部楼层
是OK6410,使用BUSYBOX制作的,UBOOT是飞凌提供的,内核使用自己移植的2.6.36和飞凌的3.0都试过。同时将飞凌的QT文件放在最初始的根文件系统下挂载NFS也是可以的
点评回复 支持 反对

使用道具 举报

0

主题

0

帖子

34

积分

发表于 2013-3-19 17:25:56 | 显示全部楼层
制作根文件系统:
1、安装 libncurses5-dev,这个程序库提供了文本选单界面如果没有安装的话则无法进入图形界面,联网安装是最方便的直接打命令即可:
         sudo apt-get install libncurses5-dev
2、拷贝 busybox 源代码 /work(自己创建的)目录下并且解压文件。tar -zxvf  busybox-1.10.3.tar

3、修改“/work/busybox-1.10.3”目录下的编译配置
在 Makefile 文件找到 ARCH 和 CROSS_COMPILE 修改成如下
ARCH ?= arm
CROSS_COMPILE  ?= arm-linux-
即将处理器改为 arm,将编译器设置为 arm-linux-gcc;
4、配置 busybox
(1)Linux 下打开命令终端,切换到“/work/busybox-1.10.3”目录,使用命令“make menuconfig”
按照以下选项进行配置:
设置 1:
Busybox Settings --->
Build Options --->
     [ ]Build BusyBox as a static binary     //不选此项进行动态编译。(编译错误考虑选择此项)
Busybox Library Tuning --->
      [*] Support for /etc/networks
      [*] vi-style line editing commands
(15) History size //历史纪录长度
      [*] History saving
      [*] Tab completion //支持按下 Tab 自动补全
      [*] Username completion
      [*] Fancy shell prompts
设置 2:
Miscellaneous Utilities --->
     [ ]taskset   //不要选这一项,bug,选了就会出错!!!
设置 3:
Linux Module Utilities --->
     [ ] Support version 2.2.x to 2.4.x Linux kernels //不要选这一项
配置完成后,在主菜单里选择<Exit>退出并保存设置;
(再进行第5步时要安装交叉编译环境,否则无法顺利编译)
安装arm-linux-gcc-4.3.2方法:
下载安装包大约84M ,然后解压到根目录中,命令tar xvzf arm-linux-gcc-4.3.2.tgz -C /   然后以root身份进行配置,省得麻烦
注意以上命令必须要有-C而且是大写的后边有个空格也要注意然后配置下编译环境路径gedit /root/.bashrc等一会出来文本编辑器后在文件最后(最后一行)加上 下面代码     export PATH=/usr/local/arm/4.3.2/bin:$PATH   此时你可以在root用户下验证 arm-linux-gcc -v成功(注意必须得重新登录下)log out这个也是对profile进行配置


5、使用命令“make all install”进行编译,若无错误将在 busybox-1.10.3/_install 目录生成 bin,sbin ,usr 目录及 linuxrc 启动初始化程序;
(注:若进行了这步,还需修改第 4 步配置,先运行命令“make all uninstall”清除已生成的文件)
在“/work”目录下新建一目录 rootfs,将生成 bin sbin usr 目录及 linuxrc 启动初始化程序拷贝到新建的 rootfs 目录下(这个就是你自己制作的根文件系统的主目录了);
6、切换到“/work/rootfs”目录,分别使用以下命令创建其它目录;
mkdir dev etc home lib mnt proc sys tmp root
mkdir mnt/etc
mkdir usr/lib
7、拷贝依赖库到 lib 目录
(1)查看依赖库,切换到“/work/busybox-1.10.3/_install/bin”目录,使用命令
arm-linux-readelf -a ./busybox | grep "Shared library"查看需要哪些依赖库(其实不用看也无所谓)
这说明要使文件系统正常运行,需要最基本的库文件:libcrypt.so.1、libm.so.6、libc.so.6,
这些库文件位于“/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib/”目录下;
(2)libcrypt.so.1、libm.so.6、libc.so.6 分别为 libcrypt-2.8.so、libm-2.8.so、libc-2.8.so
文件的软连接,将 libcrypt.so.1、libm.so.6、libc.so.6 和 libcrypt-2.8.so、libm-2.8.so、
libc-2.8.so 这 6 个文件拷贝到根文件系统的 lib 目录下(即“/work/rootfs/lib”;)
另外还需要拷贝动态加载器 ld-linux.so.3 和 ld-2.8.so 文件,与上步骤相同;
8、在根文件系统的 dev 目录下创建基本的设备文件
(1)切换到目录“/work/rootfs/dev”;
(2)用以下命令创建设备文件:
mknod console c 5 1
mknod null c 1 3
在 linux 系统启动时,dev 目录下必须要有 console 设备文件;
9、创建配置文件 rcS,是一个脚本文件,借助启动脚本可以设置各种程序开机后自动运行
(1)切换到目录“/work/rootfs/etc”;
(2)在 etc 目录下创建目录“init.d”;
(3)在 init.d 目录下创建文件 rcS,其内容如下;
#! /bin/sh
mount -a
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
之后执行命令 chmod +x rcS 将 rcS 文件变为可执行文件;
(其中:mount –a 为将 fstab 中的文件系统进行挂载,echo /sbin/mdev > /proc/sys/kernel/hotplug 为设置内核的 hotplug handler 为 mdev,即当设备热插拔时,由 mdev 接受来自内核的消息并作出相应,比如处理 U 盘的插拔,
mdev –s 为使用 mdev 机制(udev 的精简版)根据内核的驱动注册信息在“/dev”自动创建设备文件;)

10、创建配置文件 fstab,该文件定义了一些文件系统的挂载点
(1)切换到目录“/work/rootfs/etc”;
(2)创建文件 fstab,其内容如下;
proc      /proc   proc      defaults   0 0
mdev    /dev    ramfs    defaults   0 0
sysfs    /sys     sysfs     defaults   0 0
tmpfs   /tmp     tmpfs    defaults   0 0

即将 proc 文件系统挂载到/proc 目录,设备文件系统挂载到/dev 目录,sysfs 文件系统挂载到
/sys 目录,tmpfs 文件系统挂载到/tmp 目录;
11、创建配置文件 inittab;
(1)切换到目录“/work/rootfs/etc”
(2)创建文件 inittab,其内容如下;
::sysinit:/etc/init.d/rcS
console::askfirst:-/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a
其中含义见另外文章《根文件系统inittab》;
12、创建配置文件 mdev.conf,这是 mdev 的配置文件
(1)切换到目录“/work/rootfs/etc”;
(2)创建文件 mdev.conf,其内容为空;

ok!到此为止根文件系统制作完毕,开始挂载。
点评回复 支持 反对

使用道具 举报

0

主题

0

帖子

34

积分

发表于 2013-3-19 17:26:35 | 显示全部楼层
这个过程你可以参考一下。
点评回复 支持 反对

使用道具 举报

mdcy278 该用户已被删除
 楼主| 发表于 2013-3-20 11:33:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

12

主题

705

帖子

6万

积分

i.MX6Q通行证i.MX6UL通行证TCU通行证AM335x通行证

发表于 2013-3-20 11:36:34 | 显示全部楼层
感谢12楼,请问楼主的问题解决了吗?
该会员没有填写今日想说内容.
点评回复 支持 反对

使用道具 举报

mdcy278 该用户已被删除
 楼主| 发表于 2013-3-20 11:45:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

12

主题

705

帖子

6万

积分

i.MX6Q通行证i.MX6UL通行证TCU通行证AM335x通行证

发表于 2013-3-20 12:02:46 | 显示全部楼层
不客气,这个平台就是让大家集思广益,解决问题的。
该会员没有填写今日想说内容.
点评回复 支持 反对

使用道具 举报

mdcy278 该用户已被删除
 楼主| 发表于 2013-3-24 16:14:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

153

主题

3910

帖子

4207

积分

AM5718通行证AM335x通行证i.MX6UL通行证i.MX RT通行证i.MX6Q通行证XX18通行证TCU通行证FCU1401通行证FCU1301通行证FCU11xx通行证

发表于 2013-3-25 09:10:02 | 显示全部楼层
你的压缩工具用的谁的是你的yaffs补丁中的吗?
技术支持电话:0312-3119192
技术支持邮箱:Linux@forlinx.com
点评回复 支持 反对

使用道具 举报

0

主题

0

帖子

34

积分

发表于 2013-3-25 09:27:54 | 显示全部楼层
你可以先将这个根文件系统挂载NFS,其中挂载方法参考飞凌的手册(需要系统界面,就直接将飞凌的QT文件夹复制在这个根文件系统下的相应位置)。可以正常挂载后,再参考飞凌的手册进行YAFFS2映像文件的制作。
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-23 11:36

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表