嵌入式linux烧写(二)—Linux内核的裁剪和编译
一、内核的获得
可以从网上下载内核文件,http://www.kernel.org。如果是为了练习,尽量下载2.4.x的内核。因为2.6.x的内核比较大,当然编译也需要更都的时间。
二、内核的编译
Linux内核的编译菜单主要有三个版本:
1)make config:进入命令行,可以一行一行的配置。
2)make menuconfig:开发人员比较熟悉的menuconfig菜单。
3)make xconfig:在2.4.X以及以前版本中xconfig菜单是基于TCL/TK的图形库的.
我们采用menuconfig菜单
编译内核需要root权限,以下操作都假定你是root用户.先在根目录下建立名为ARM2410的目录.然后
把你需要升级的内核拷到/usr/src/下(下文中以2.4.18的内核的linux-2.4.18.tar.gz为例),命令为
#cp linux-2.4.18.tar.gz /usr/src
然后解压该文件,命令为:
#tar -zxvf linux-2.4.18.tar.gz
如果你所下载的是.bz2文件,例如linux-2.4.0test8.tar.bz2,请使用下面的命令
#bzip2 -d linux-2.4.18.tar.bz2
#tar -xvf linux-2.4.18.tar
下面我们开始编译:
第一步:在终端下进入内核所在目录 "/arm2410";
第二步:键入make menuconfig,进入内核配置菜单,如下图:
注意:
1)带有"-->"表示该选项包含选项;
2)每个选项前面有[ ]或< >,中括号表示仅有2种选择(*或空),尖括号表示有3种选择(M,*或空),按空格键可显示这几个选择;
3)M表示以模块方式编译进内核,在内核启动后,需要手工执行insmod命令才能使用该项驱动;*表示直接编译进内核;空表示不编译进内核;
第三步:按着自己的需求,配置内核.一共有21项.
第四步:键入make clean命令,删除已生成的模块和目标文件.
第五步:键入make dep命令,编译变量依赖关系等;
第六步:键入make zlmage生成经压缩以后的内核映像文件zlmage;
第七步:键入make modules编译模块;
第八步:键入make modules_install安装编译完成的模块;
内核映像文件zlmage存放在 ./arch/arm/boot/目录下.
相关文档:
1.Linux“线程”
进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型。Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。
大家 ......
共享文件系统文件传输,是网络侦控项目中的一个实际操作。它是为了抵制入侵者进入内网而提出的一种安全解决方案。在实际传输过程中,拓扑图如下:
实际环境均在Linux主机下进行。采用OCFS2文件集群的方式。外部主机A和内部主机B之间的通讯,均通过共享存储空间C进行接受和发送。这样即使入侵者拿下外部主机A,也无法渗透内 ......
以下举例中:蓝色字体为命令输入,红色字体为终端输出。
1.1 查看文件和目录(ls)
ls命令是linux最常用的命令,用来显示文件或者目录的相关信息。一般会搭配以下参数常用:
-a:显示全部文件,与隐藏文件(开头为.的文件)一起列出来。
-l:列出长数据串,包括文件属性。
-t:按时间排序。
-h: ......
/ 根目录
/bin 常用的命令 binary file 的目錄
/boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内
/boot/grub/menu.lst GR ......
工作中用到gdb来分析程序崩溃生产的core文件问题:
这里从网上查来的一个命令用法:
1,说明:
ulimit用于shell启动进程所占用的资源.
2,类别:
shell内建命令
3,语法格式:
  ......