紧接上一节: http://blog.csdn.net/mybelief321/article/details/10027917
根据第五节可以看出,制作的根文件系统还不完善,首先那个命令行提示符就巨难看,表面功夫都没有做好,惭愧!在这里,我不再用自己移植的bootloader引导内核、根文件系统,而是用开发板自带的supervivi和内核,反正这样子省事!先简单介绍一下利用supervivi下载的方法,,之前的dnw、minicom设置详细解说就不说了,这也不是重点,我感觉既然都开始制作根文件系统了,这些都得接触到了吧。
1、 将咱们要下载的supervivi、内核镜像、上一节制作好的yaffs2文件系统存放在dnw所在文件夹里,注意,dnw的下载地址要设成0x3000 0000。
2、打开串口终端minicom,然后nor flash启动,可以看到superviv启动
3、下载supervivi
在supervivi内输入:v ,然后另一终端执行命令:sudo ./dnw supervivi-128M.bin 下载supervivi到nand flash分区
4、下载内核
在supervivi内输入:k,然后另一终端执行命令:sudo ./dnw zImage_X35.bin
5、下载咱们制作好的镜像文件
在supervivi内输入:y,然后另一终端执行命令:
6、在supervivi中输入:b,启动开发板,或者关掉电源,从nand flash启动,可以看到咱们制作的根文件系统。
真难看啊!
7、下面咱们就接着完善,首先就是把那个命令好弄好!我突然有个想法,我来回烧什么,直接在这个开发板系统上先做实验就行了啊,实验成功后再在我的电脑中将这些文件内容拷贝过去,对,就这么办了!接下来就是怎么修改了,于是我谷歌了“Linux下命令提示符”,原来是和/etc/profile有关,好吧,先创建它。
在系统中执行命令:cd etc 进入etc目录
执行命令:vi profile,添加profile文件。
在该profile文件里加了一句:PS1='[root@wws\W]#'
编写保存后,再执行命令:source /etc/profile ,“成功”了
8、成功个啥啊,谁会用这个wws的名字啊!再说,和书上比差得远呢。我还是直接把书上的贴出来。
在/etc 下执行命令:vi profile 修改此文件,将原来的内容全部删除,然后,放入以下代码:
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
ulimit -S -c 0 > /dev/null 2>&1 //首先 ulimit -S -c 0 是ulimit命令,-c选项:设置core文件的最大值,单位:blocks,就是段错误时产生的core文件,后面加文件大小。后面加上0,就是设置段错误不产生core文件。然后 > /dev/null 的意思就是ulimit输出的结果保存到/dev/null文件,而这个文件是系统的一个文件,它不保存任何信息。所以如果有不想的输出数据,重定向到这个文件就可以了,这时,标准输出(文件句柄1)是指向这个文件。最后,2>&1
的意思就是标准错误(文件名柄)复制文件句柄为1的地方,也就是/dev/null。所以,这句的意思,就是设置core文件大小为0,然后输出信息以及错误信息都不输出在>显示器上。
USER="`id -un`" //id-un与whoami命令有相同的功能,获取当前的用户名。
LOGNAME=$USER //LOGNAME表示当前的用户名,也就是命令提示符中[root@wws]#、[guest@wws]#中的root和guest字样。
PS1='[\u@\h\W]# ' //Linux系统提示符是用系统变量PS1来定义的。一般系统默认的形式是:[username@hostname 工作目录]$。其中,\u 表示当前用户名,\h表示运行shell的计算机名,\W表示当前的工作目录名,更多PS1的信息请百谷。
PATH=$PATH //获得当前的环境变量。
HOSTNAME=`/bin/hostname` //获得当前的主机名,这里/bin/hostname是一个命令
export USER LOGNAME PS1 PATH //导出变量符号。注意:/etc/profile定义的变量是全局的,即对所有登录的Linux用户都有效。而在普通脚本里eport只在当前脚本以及子进程里有 效。
好了,现在保存退出!
9、执行命令:source /etc/profile ,使咱们的profile生效。
我去,怎么比开始还难看!奥,对了,还没有添加一个文件hostname。
10、同样在 /etc目录下执行命令:vi hostname,添加hostname文件
在里边任意填写自己喜欢的名,我这里填的是 wws ,填写完保存退出。
11、再执行:source /etc/profile 结果如下
额.......怎么没有变,对了,刚才在编写profile的时候,添加了/bin/hostname的命令,它怎么能执行呢?
12、修改 /etc/init.d/ 目录下的 rcS 文件,因为它定义了系统启动时执行的命令。
13、在rcS中最后一行添加:/bin/hostname -F /etc/hostname 表示从/etc/hostname中读取设置用户名
14、重新启动系统,这会出现下面的结果
还好,出来一个了,只剩下@前边显示root了。
15、至于怎么显示root,我看了看,这和 /etc/group点此了解 和 /etc/passwd点此了解
有关,我把刚才查的关于这两个文件的介绍转过来,建议去了解一下,毕竟不能光看教程走。
现在,在 /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:
16、在 /etc 中添加passwd 文件,只需要在其中添加一句root::0:0:root:/root:/bin/sh
17、还需要在 /etc 下建立 shadow文件 ,内容可以为空,直接保存就可以了。
18、现在 /etc 下所有的文件如下图
19、重新启动系统,出来效果了。
20、好了,做实验成功了,现在可以将咱们修改过的内容或者添加的文件,添加到上一节制作完的根文件系统了。
21、上一节制作好的文件系统,点此下载这一节修改后的文件系统,点此下载
今天天气真好,抓紧整理完,晚上散散步!
下一节http://blog.csdn.net/mybelief321/article/details/10068293
分享到:
相关推荐
一步一步制作yaffs2根文件系统,一步一步制作yaffs2根文件系统,
s/yaffs2/yaffs_vfs.c: In function 'yaffs_read_super': fs/yaffs2/yaffs_vfs.c:2383:2: error: implicit declaration of function 'get_sb_bdev' fs/yaffs2/yaffs_vfs.c: At top level: fs/yaffs2/yaffs_vfs.c:...
给内核打yaffs2文件系统的补丁 cd /mnt/hgfs/share tar –zxvf /mnt/hgfs/share/cvs-root.tar.gz –C /opt/studyarm cd /opt/stdudyarm/cvs/yaffs2/ ./patch-ker.sh c /opt/studyarm/linux-2.6.29.1/ 上面命令...
yaffs2 工具包 1.从http://www.yaffs.net/download-yaffs-using-git网址下载得到yaffs和yaffs2的源文件 2.解压后,进入到yaffs2目录下,通过yaffs2目录下的脚本...3.最后就是配置编译内核,让内核支持yaffs2文件系统
压缩包包含三个适用于Tiny6410的yaffs2根文件系统,mini_rootfs.yaffs2是最小的根文件系统,不是很完整的根文件系统,fix_mount_mini_rootfs.yaffs2添加了自动挂载功能,fix_udev_rootfs.yaffs2在添加了自动挂载功能...
期刊论文,介绍了一种制作YAFFS2嵌入式文件系统的方法, 详细介绍了在ARM处理器S3SC2440和嵌入式Linux 平台上建立YAFFS2 根文件系统的方法步骤。
s3c2440下 yaffs2文件系统制作详解,本人实践成功
yaffs yaffs2 文件系统正确补丁包 移植LINUX常用 CSDN有的下载的编译不正确,特发布正确的。
busybox编译,ok6410开发板yaffs2文件系统的制作和烧写。
在utu2440开发板上制作yaffs2根文件系统的详细步骤
yaffs 文件系统制作 解压工具
YAFFS意义为‘yet another flash file system... YAFFS是目前为止唯一一个专门为NAND flash设计的文件系统,目前有YAFFS 和YAFFS2 两个版本,两个版本的主要区别之一在于YAFFS2 能够更好的支持大容量的NAND FLASH芯片。
很详细的介绍yaffs2的数据结构,初始化,挂载,内存分布等。新手必看,老手回顾。
另一个yaffs根文件系统工具包,有时候工具没用对,制作出来的文件系统没法用
Yaffs2文件系统是转为Nand Flash设计的文件系统,是基于日志式的文件系统
YAFFS2文件系统的加载过程,具普遍性
实验环境的搭建: 交叉编译工具,内核源代码,根文件系统压缩包,yaffs2文件夹,Busybox源代码包,mkyaffs2image-128M工具 实验内容: 1.对标准Linux2.6.32内核源代码的修改,加上s3c2440的特性,配置,编译,烧写...
第一章 移植内核... 2 1.1 Linux内核基础知识... 2 1.1.1 Linux版本... 2 1.1.2 什么是标准内核... 2 ...1.1.3 Linux操作系统的分类......1.1.4 linux内核的选择......2.2.5 制作根文件系统映像文件... 26
yaffs2 linux bsp YAFFS意义为‘yet another... YAFFS是目前为止唯一一个专门为NAND flash设计的文件系统,目前有YAFFS 和YAFFS2 两个版本,两个版本的主要区别之一在于YAFFS2 能够更好的支持大容量的NAND FLASH芯片。
linux在TQ2440上移植4--yaffs2文件系统制作----经典