• «
  • 1
  • 2
  • »
  • Pages: 2/2     Go
主题 : 文件系统的制做问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 2497
精华: 0
发帖: 30
金钱: 300 两
威望: 300 点
综合积分: 60 分
注册时间: 2008-11-20
最后登录: 2009-12-24
10楼  发表于: 2009-06-05 20:47
先在/dev目录下,建立console、null等设备:
     mknod console c 5 1
         mknod  null c 1 3
级别: 新手上路
UID: 2497
精华: 0
发帖: 30
金钱: 300 两
威望: 300 点
综合积分: 60 分
注册时间: 2008-11-20
最后登录: 2009-12-24
11楼  发表于: 2009-06-07 00:23
或者就是镜像不对了,建立先用NFS测试。
[ 此帖被renyucjs在2009-06-07 00:41重新编辑 ]
级别: 新手上路
UID: 5970
精华: 0
发帖: 37
金钱: 380 两
威望: 375 点
综合积分: 74 分
注册时间: 2009-05-15
最后登录: 2009-09-14
12楼  发表于: 2009-06-08 11:54
console、null建立了
你说的镜像不对 是 什么 意思的 ,会不会是内核移植的 有问题
用官方的root好像也是这样(不怎么严谨)
级别: 新手上路
UID: 5970
精华: 0
发帖: 37
金钱: 380 两
威望: 375 点
综合积分: 74 分
注册时间: 2009-05-15
最后登录: 2009-09-14
13楼  发表于: 2009-06-09 11:00
以下是这几天搞出来的
              Mini2440上Yaffs2文件系统的建立
    注:参考天嵌公司的相关手册
一:确认内核移植时对yaffs2的支持并确保yaffs的补丁打上
二:建立目录
    #mkdir myroot
    #cd myroot
    #mkdir bin dev etc lib mnt proc sbin sys root tmp home
三:busybox的修改
1.    解压并修改Makefile
ARCH ?=arm
CROSS_COMPILE ?=arm-linux-
    2.     配置
Busybox Settings --->
Build Options --->
[*] Build BusyBox as a static binary (no shared libs)
其他的默认就行了,也可以根据自己的情况配置
3    编译安装busybox
#mak CONFIG_PREFIX=/opt/myroot install
可以在myroot文件夹下看到bin、sbin、usr、linuxrc相应的添加
四:各个文件的编写
    1:/dev
从2.6.18开始,负责旧版本的设备管理系统devfs没有了,但是新版本的udev是基于用户空间的设备管理系统,在内核启动时并不能自动创建设备节点,要手工建立两个设备节点console和null,字符类型,后面的数字代表主设备号和次设备号
#mknod  console c 5 1
#mknod  null c 1 3
    如果不创建这两个设备,在文件系统启动是会出现:不能初始化控制台的错误
    如    Warning: unable to open an initial console.
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
在init/main.c中的init_post()中
    2./lib
        从以前的root或linux中拷过来库文件
        #cp –rfd /root_qtopia/lib/* /opt/myroot/lib/
        -d保持库文件的链接关系
3./etc
在“etc”目录下面有如下常用的文件:
fstab:指明需要挂载的文件系统;
group:用户组;
inittab:init 进程的配置文件;
passwd:密码文件;
profile:用户环境配置文件;
mdev.conf:因为2.6.18 版本开始linux 放弃使用devfs 而采用udev(mdev 是udev 的简化版本),这里的mdev.conf 文件可以是空,也可以按照一定规则来编写,这里我采用了为空;
resolv.conf:存放DNS 信息的文件,访问外网时需要DNS 的信息。
常用的目录有:
init.d 目录:启动文件目录,该目录下面有个“rcS”的文件,里面存放了系统启动时配置以及自启动加载的进程等;
sysconfig 目录:在我们的文件系统里面,该目录下面存放了名为“HOSTNAME”的文件,该文件内容为:localname,这句话就是我们在文件系统里面看到那个“[root@ localname /]”
rc.d 目录:在我们的文件系统里面用来存放一些自启动所要调用的脚步等;
boa 目录:我们的文件系统特有的目录,用来存放web 服务器的配置脚本。
【/etc/fstab】:
# device mount-point type options dump 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
var /dev tmpfs defaults 0 0

【/etc/group】:
root:*:0:
daemon:*:1:
bin:*:2:
sys:*:3:
adm:*:4:
tty:*:5:
disk:*:6:
lp:*:7:lp
mail:*:8:
news:*:9:
uucp:*:10:
proxy:*:13:
kmem:*:15:
dialout:*:20:
fax:*:21:
voice:*:22:
cdrom:*:24:
floppy:*:25:
tape:*:26:
sudo:*:27:
audio:*:29:
ppp:x:99:
500:x:500:xuxiaohua
501:x:501:xuxiaohua

【/etc/passwd】:
root::0:0:root:/:/bin/sh
ftp::14:50:FTP User:/var/ftp:
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
nobody:*:99:99:Nobody:/:
jiajintao:$1$8GIZx6d9$L2ctqdXbYDzkbxNURpE4z/:502:502:Linux User,,,:/home/xuxiaohua:/bin/sh
Passwd和group文件可以从linux或友善的root里面直接拷过来

【/etc/profile】:
# Ash profile
# vim: syntax=sh
# No core files by default
#ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"   #这个符合是Esc键下面的那个
LOGNAME=$USER
PS1='[\u@\h \W]\#  '
PATH=$PATH
HOSTNAME=`/bin/hostname`
export USER LOGNAME PS1 PATH

【mdev.conf】:


【resolv.conf】:
Nameserver  192.168.1.1

【init.d/rcS】:
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel
#
# Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
mkdir -p /var/lock
/bin/hostname -F /etc/sysconfig/HOSTNAME
Echo “*********************myroot*********************”
最后把属性改下#chmod +x rcS

【/etc/rc.d/init.d/httpd】:
#!/bin/sh
base=boa
# See how we were called.
case "$1" in
start)
/sbin/$base
;;
stop)
pid=`/bin/pidof $base`
if [ -n "$pid" ]; then
kill -9 $pid
fi
;;
esac
exit 0

【/etc/sysconfig/HOSTNAME】:
xuxiaohua
这个可以是你在home目录下的用户

最后#mkyaffs2image myroot jyaffs2.img

介绍下各目录
“home”目录
存放用户文件的目录,在这里,我建立了一个名为“xuxiaohua”的目录,前面的passwd 文里面有个用户名就是对应xuxiaohua这个目录
“lib”目录
常用的库文件,获取库文件的方法:
#cp -rfd /root_qtopia/lib/* /myroot/lib/
这里拷贝了常用的库文件,如果需要特殊的库,需要再从相应的位置复制过来。
“mnt”目录
我们一般用来挂载的U 盘之类的外设,这里建立两个目录“udisk”和“sd”挂载U 盘和SD卡。
“opt”目录

“proc”目录
提供一些目录和虚拟文件系统。
“root”目录
超级用户的目录。
“sys”目录
“tmp”目录
存放临时文件的目录。
“var”目录
存放临时文件的目录。
“web”目录
存放web 服务器的相关文件的目录,建议直接从以前制做好的文件系统中拷贝过来。
级别: 新手上路
UID: 5108
精华: 0
发帖: 22
金钱: 220 两
威望: 220 点
综合积分: 44 分
注册时间: 2009-04-10
最后登录: 2009-06-14
14楼  发表于: 2009-06-10 15:54
请问 你做的文件系统 是不是不带界面的,就是在mini2440显示屏上没有东西的是吗
do right, be good!
级别: 新手上路
UID: 4397
精华: 0
发帖: 21
金钱: 210 两
威望: 210 点
综合积分: 42 分
注册时间: 2009-03-13
最后登录: 2009-07-09
15楼  发表于: 2009-06-10 17:41
文件系统只是一个管理器,是没有什么界面的
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
16楼  发表于: 2009-06-10 17:57
引用第15楼arthur于2009-06-10 17:41发表的  :
文件系统只是一个管理器,是没有什么界面的

别在这里误导别人,文件系统和管理器没关系,文件系统有没有界面取决于文件系统里有没有包含GUI,比如Qtopia
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 5108
精华: 0
发帖: 22
金钱: 220 两
威望: 220 点
综合积分: 44 分
注册时间: 2009-04-10
最后登录: 2009-06-14
17楼  发表于: 2009-06-11 21:35
我就是想请教 怎样把qtopia 放进去文件系统里面 以及启动 谢谢
  • «
  • 1
  • 2
  • »
  • Pages: 2/2     Go