FL2440根文件系统的制作(完整版)

简介:


内核版本:Linux-2.6.28.7
交叉编译器版本:arm-linux-gcc4.1.2
操作系统平台:Linux(要用选上eabi支持)  Red Hat 企业版5


开发板平台:arm FL2440
使用的工具:Busybox-1.15.2.tar.bz2

提示:FL2440根文件系统的制作网上已经有很多例子,但是你发现没有,你按照他们的做法你有可能还是实现不了,我做了两方面的改进,

一是创建设备节点的时候要多加两项

#mknod s3c2410_serial0 c 204 64                

#mknod ttyS0        c  4    0  

二是把passwd文件中的第一行:root:x:0:0:root:/root:/bin/bash中的/bin/bash,改成/bin/sh

其余的基本和其他的一样,busybox编译过程中常见的错误在下篇文章中讲解。


步骤为:
一、准备制作
创建根文件系统目录,主要包括以下目录:/bin、/etc、/dev、/home、/lib、/mnt、/opt、/proc、
/root、/sbin、/sys、/tmp、/usr、/var。
建一个名为rootfs的文件夹
在该文件夹下创建上述目录
#mkdir bin etc dev ……………
二、编译 busybox
获取busybox1.15.2源码,在http://www.busybox.net/downloads/找到busybox-1.15.2.tar.bz2这个
压缩包,下载,解压:
#tar xjvf busybox-1.15.2
进入源码目录,修改Makefile
CROSS_COMPILE = arm-linux-
ARCH = arm
执行#makemenuconfig进行配置busybox
配置选项大部分都是保持默认的,只需要注意选择以下这几个选项,其他的选项都不用动:
Busybox Setting --->
Build Options --->
  
·  Build Busybox as a static binary(no shared libs)
 
·  Build with Large File Support (for accessing files > 2GB)


Installation Options --->
选择上不用usr
(./_install) Busybox installation prefix <—进入这个选项,输入busybox的安装路径,
     如:../yaffs
  Busybox Library Tuning --->
 
·  vi-style line editing commands
 
·  Fancy shell prompts<—要选择这个选项:“Fancy shell prompts”,否则挂载文
   件系统后,无法正常显示命令提示符:“[\u@\h \W]#”
配置完后,执行#make make install,然后就会在上一级目录下生成rootfs文件夹,里面包含几个
文件夹/bin、/sbin、/usr、linuxrc。把这些文件全部复制到刚建好的rootfs目录下。

#cp –rf * ../rootfs

三、制作文件系统
在dev目录下,创建两个设备节点:
#mknod console c 5 1
#mknod  null   c 1 3

由于后面会显示不能打开
can't open /dev/s3c2410_serial0: No such file or directory
can't open /dev/ttyS0: No such file or directory
(所以这儿还要创建两个设备节点)
#mknod s3c2410_serial0 c 204 64
#mknod ttyS0        c  4    0            

进入etc目录,添加文件:
(1)拷贝Busybox-1.15.2/examples/bootfloopy/etc/*到当前目录下。
# cp-r../../busybox-1.15.2/examples/bootfloopy/etc/*./
包括的文件:fstab、init.d、inittab、profile
(2)拷贝/etc/passwd、/etc/group、/etc/shadow到当前目录下。
# cp/etc/passwd./
# cp/etc/group./
# cp/etc/shadow./
把passwd文件中的第一行:root:x:0:0:root:/root:/bin/bash中的/bin/bash,改成/bin/sh,因为文件
系统的bin目录下没有bash这个命令,而是用ash代替bash,所以在用用户名密码登录的时候(如
telnet),会出现“cannot run /bin/bash: No such fileor directory”的错误。
(3)修改inittab文件:
内容如下:
console::sysinit:/etc/init.d/rcS
ttyS0::respawn:-/bin/sh
s3c2410_serial0::askfirst:-/bin/sh
:: once:/usr/sbin/telnetd-l/bin/login
:: ctrlaltdel:/bin/umount-a-r
(4)修改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
var  /dev  tmpfs  defaults  0  0
(5)修改init.d/rcS文件,内容如下:
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
runlevel=S
prevlevel=N
umask022
exportPATHrunlevelprevlevel
mount-a
mkdir/dev/pts
mount-tdevptsdevpts/dev/pts
echo/sbin/mdev>/proc/sys/kernel/hotplug
mdev-s
mkdir-p/var/lock
/bin/hostname-F/etc/sysconfig/HOSTNAME


(6)修改profile文件,内容如下:
# Ashprofile
# vim:syntax=sh
# Nocorefilesbydefault
#ulimit-S-c0>/dev/null2>&1
USER="`id-un`"
LOGNAME=$USER
PS1='[\u@\h\W]# '
PATH=$PATH
HOSTNAME=`/bin/hostname`
echo" Processing/etc/profile... "
echo"Done"
exportUSERLOGNAMEPS1PATH
(7)新建sysconfig文件夹,在里面新建HOSTNAME文件,内容为:FL2440
(8)拷贝库文件:
进入lib目录,拷贝交叉编译器的库文件到lib目录下
#cp-f-a/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib/*.so*./
由于交叉编译器的库文件比较多,体积较大,所以需要裁剪一下库文件,只保留常用的库文

件。

#cp mkyaffs2image /usr/bin

制作文件系统镜像:
#mkyaffs2image  root_2.6.33  root_2.6.33.bin

root_2.6.33.bin就是yaffs2文件系统镜像,要先修改它的权限,否则该文件无法被复制:

#chmod777root_2.6.33.bin
把root_2.6.33.bin下载到nandflash中的文件系统分区中,如果文件系统能正常挂载,终端会打印出:
Please press Enter to activate this console. <—按回车
Processing /etc/profile...
Done
目录
相关文章
|
7月前
hhc.exe本地制作、手动生成chm电子书
hhc.exe本地制作、手动生成chm电子书
|
存储 Ubuntu Shell
利用busybox制作根文件系统---参考朱有鹏嵌入式视屏(下)
利用busybox制作根文件系统---参考朱有鹏嵌入式视屏(下)
284 0
|
存储 异构计算 Windows
ps2023汉化版百度网盘下载photoshop2023自带神经滤镜安装包
最近,ps迎来了2023的版本,这次的版本提升针对windows11做了特别优化,启动速度比win10快了很多。期盼已久的Win版 PS 2023 终于来了,小编也是通过特殊渠道搞来的,本期带来的WIN版本支持一键安装激活,一次安装永久免费使用 众所周知,版本越高,需要的电脑配置也就越来越高。下面放一下2023版本的配置供大家参考。需要注意的是这些版本不再支持windows7系统,仅支持win10及以上的操作系统。
10101 3
|
编解码 搜索推荐 图形学
Premiere2023精简版一键下载无须激活版PR下载
Adobe公司Premiere 简称为pr,这是一款适用于电影、电视和 Web 的业界领先视频编辑软件,通过它不仅可以帮助用户对各种视频进行剪辑、旋转、分割、合并、字幕添加、背景音乐等基础的处理,还能帮助用户进行视频颜色校正、颜色分级、稳定镜头、调整层、更改片段的持续时间和速度、效果预设等操作,功能十分的全面强大。当然,不仅如此其中不但内置了海量的素材供用户自由使用来更好的帮助你制作出精美的影片和视频,还能根据自己的需求直接与Ps、Au、Ae等程序进行无缝协作。PR 最新版本号是 2023,新增功能主要有丰富、直观的导入和导出模式,具有 Frame.io 集成的新审阅工作区,离线语音转文本新增
1077 0
|
芯片 iOS开发 MacOS
FL Studio2023汉化注册机水果FL编曲21永久版下载
FL Studio2023水果中文版是一款由 Image Line 公司研发几近完美的虚拟音乐工作站,同时也是知名的音乐制作软件。它让你的计算机就像是全功能的录音室,漂亮的大混音盘,先进的创作工具,让你的音乐突破想象力的限制。它可以播放由你指定或加入的任何取样数据(wav),音频产生器(软音源),VSTi和DXi,或是MIDI乐器。通过它,你可以在短数分鐘内创作wav、MP3、MIDI、loops等不同格式的音乐。FL21下载:http://t.csdn.cn/3hPzh
495 0
|
7月前
|
Ubuntu Linux Shell
Linux(26) 根据现成rootfs.img制作1:1还原源代码定制实现
Linux(26) 根据现成rootfs.img制作1:1还原源代码定制实现
52 1
【在Mac电脑上录制视频,并快速转成GIF!!!超级好用,强烈推荐GIF Brewery,内附下载链接。】
【在Mac电脑上录制视频,并快速转成GIF!!!超级好用,强烈推荐GIF Brewery,内附下载链接。】
|
Ubuntu Linux Shell
利用busybox制作根文件系统---参考朱有鹏嵌入式视屏(上)
利用busybox制作根文件系统---参考朱有鹏嵌入式视屏
194 0
|
Linux Shell 网络安全
手把手教你学Linux,630幅图文解析,更有随书170集视频讲解!
手把手教你学Linux,630幅图文解析,更有随书170集视频讲解!
音乐制作软件FL Studio21最新中文版下载教程
因为对音乐有一些了解,所以周边有不少朋友会问我很多关于音乐的问题,其中比较多是学习音乐到底用哪款软件比较好。每次遇到这样的问题,我都会告诉他们,就是我一直在用的音乐制作软件FL Studio。音乐制作软件FL Studio,也就是众所熟知的水果软件, 被业内称为全能音乐制作环境或数字音频工作站。内置了各种经典的软音源和效果器插件,对各种音色的调用和编辑都很简便,非常适合做电子音色,方便舞曲制作。FL Studio 的操作接口可能是所有软件当中最「炫丽」的,但这样是不是好事就要看个人口味了。
242 0