分类: 嵌入式
2009-10-15 08:14:23
rm -r 删除目录,不管目录中有没有文件
rm -rf 强制删除,没有提示
一般用到的就这两个,删除文件可以用rm -f,同样是强制删除
Cp -r arm2410s/root/ /home/yuan/fs/uptechfs/ 将root文件夹下的文件全部拷贝到uptechfs文件夹下 #貌似有时候也不行,有时候是拷贝的整个文件夹。被搞晕了!
cp -a arm2410s/root/ /home/yuan/fs/uptechfs/
./当前目录
环境变量说白了就是指定一个软件的路径
Profile
对整个生效的
etc/profile
对根的宿主生效
/root/.bash_profile
对普通用户生效的
/home/abc/.bash_profile
/etc/profile
这个文件是每个用户登录时都会运行的环境变量设置
.bashfile
是单用户登录时比如root会运行的
mdev是busybox下精简版的udev,适合在嵌入式系统下管理设备使用
cp -r /usr/local/arm/
[root@localhost rootfs]# chmod 4755 ./bin/busybox bin为rootfs下的目录
从目前追踪2.6内核代码的情况来看:
1、2.4内核代码越升级写的越混乱,特别是mizi的那套release版本,韩国人的编码风格实在不好。
2、2.6的代码结构比2.4更加清晰,资源的定义进行了分类,可读性很好,条理清楚,修改起来容易。
3、2.6的代码相当精炼,大量使用C的struct实现了C++的面向对象风格,看起来很舒服。
4、2.6支持标准的高级电源管理apm,mizi的那个mizi_bios和apm2是他们自己写的,和标准不兼容,修改起来费劲。
5、在同样的目标板上,我发现2.6的内核跑起来比2.4省电,电流表上的显示结果相差近50mA左右,
可以相信,2.6在硬件资源的管理上做得很好。这可真是个意外的发现。
Gdb安装
安装gdb调试工具
下载地址:
执行如下命令安装:
a.安装在主机上运行的arm-linux-gdb工具:
tar xvzf gdb-6.3.tar.gz
cd gdb6.3
./configure --target=arm-linux
make
make install
此时,在/usr/local/bin中生成arm-linux-gdb等工具
b.继续上面的步骤,安装gdbserver。需要将此工具下载到开发板上运行,这
在后面会详细描述:
cd gdbserver
export CC=/usr/local/arm/
./configure arm-linux
make
此时在当前目录中生成了gdbserver工具,当我们讲到如何调试时,会把这
个文件下载到开发板上去。
Yaffs(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系
统,目前有YAFFS和YAFFS2两个版本,两个版本的主要区别之一在于YAFFS2能够更好的支持大容量
的NAND FLASH芯片。这也就是我的系统加载YAFFS2时给我主动切换到YAFFS1的原因,YAFFS文件系统会根据你的NAND Flash的页面的大小来主动的配置你是使用YAFFS1还是YAFFS2。这也是我把制作的yaffs2映像烧写到目标板之后,启动却显示的是yaffs1的原因。
在文件系统中,配置文件主要存放在 /etc 目录里面。《基于 S3C2410 的 Linux 全线移植文档》里面介绍的文件系统由于需要加载文件系统的时候把 /mnt/etc 目录拷贝到 /etc ,所以不得不使用 /linuxrc 脚本,不过如果是这样的话需要在内核传递参数里设置 init=/linuxrc ,因为默认是启动 /sbin/init 初始化脚本的(busybox 编译安装以后生成的 linuxrc 文件是指向 /bin/busybox 的符号文件,应该把它删掉,自己重写脚本)
在文件系统中,配置文件主要存放在 /etc 目录里面。《基于 S3C2410 的 Linux 全线移植文档》里面介绍的文件系统由于需要加载文件系统的时候把 /mnt/etc 目录拷贝到 /etc ,所以不得不使用 /linuxrc 脚本,不过如果是这样的话需要在内核传递参数里设置 init=/linuxrc ,因为默认是启动 /sbin/init 初始化脚本的( busybox 编译安装以后生成的 linuxrc 文件是指向 /bin/busybox 的符号文件,应该把它删掉,自己重写脚本)。在我做的文件系统里不采用这种方法,所以不用设置 init=/linuxrc 。
Busybox init 的流程在《构建嵌入式 linux 系统》这本书里面有介绍,我在这简单的说一下:如果不采用 linuxrc 的话就会执行 /sbin/init 脚本( busybox init ),它会去分析 /etc/inittab 脚本(如果没有的话就使用它默认的来代替,一般没必要自己为它编写这个脚本,用它默认的就行),然后会执行 /etc/init.d/rcS 命令(在我制作的文件系统里就把配置都写入了这个文件)。
至于 rcS 这个目录的编写主要是安排哪些目录挂载哪些次级文件系统,比如 /proc 要挂载 proc 文件系统、 /sys 要挂载 sysfs 、 管理员在2009年8月13日编辑了该文章文章。