行使用),先
make menuconfig
在出现的文本界面上选择相应的模块,选择完成后根据提示save一下,下一步就是
make dep;make bzImage;make modules-install;make install
接下来就是无穷无尽的等待了!!!
注:常用安装原码程序时的命令,都要执行三步:./configure;make;make install都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。
./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本
make是用来编译的,它从Makefile中读取指令,然后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位臵。 编译方法二:
此方法于第一种方法之间的差别在于:第一种方法用make menuconfig生成一个.config的文件,这里我们可以直接编辑缺省的.config文件来实现,打开.config,有许多XXXX=m的项,这些都是要被编译为模块的项,也有些是XXXX=y的项,这些都是要编译为内核的项,这里参数y表示编入内核,用参数M表示编入modules,方法如下:
#下面是config的缺省位臵 cd /usr/src/linux-2.4.18-3/configs vi .config
#根据要求修改,如添加linux的ntfs文件系统支持 # CONFIG_NTFS_FS is not set 改为CONFIG_NTFS_FS=m #接下来与方法一的步骤一样
上海格尔软件股份有限公司
6
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
2.1.2 对应用软件打patch
把patch文件cp到要安装的文件的目录中,然后常用命令:
patch –p1 < @文件名 e.g:
#给qmail打补丁,补丁文件为qmail-1.3.2.patch cd /usr/local/src/qmail patch –p1 < qmail-1.3.2.patch
2.1.3 对打patch失败的处理:
首先如果系统升级不能成功,在/usr/src/liunx相应的目录下回有*.rej文件生成,并在其中,可在其中看到发生reject的文件的名字(通过在文件名后加.rej生成),根据其中内容,可以在相关文件中手工加入需要配臵的参数。
2.2 开机和lilo/grub
这里只描述如果配臵lilo和grub来管理开机后的系统引导,因lilo和grub配臵方法基本一样(当然grub更好一点),下面就以lilo为例:
lilo程序的脚本在/etc/lilo.conf,典型的一个lilo.conf文件如下: prompt timeout=50 default=linux boot=/dev/hda map=/boot/map install=/boot/boot.b message=/boot/message linear
上海格尔软件股份有限公司
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
7
image=/boot/vmlinuz-2.4.18-3 label=linux
initrd=/boot/initrd-2.4.18-3.img read-only root=/dev/hda2
第四行,boot = /dev/hda,告诉L I L O把引导扇区写到哪里。它通常都是引导硬盘(对I D E硬盘来说就是/ d e v / h d a;对S C S I硬盘来说就是/ d e v / s d a)的第一个扇区。
“image=……”这里是一个特定的引导映象。这是第一个数据块,它将是缺省的引导映象。被引导的映象是文件/ b o o t / v m l i n u z – 2.4.18-3,这是一个L i n u x操作系统的内核。在数据块的内部有一行
label = linux,这是一个显示在“ lilo :”提示符处引导选项清单中的名字。 在数据块中还有下面这一行: boot = /dev/hda
它告诉L I L O文件/ b o o t / v m l i n u z – 2.4.18-3存放在哪个硬盘的分区上。
多个内核情况的引导,在有多个内核的情况下,用default来指明缺省启动用的内核,举例如下:
prompt
timeout=50 default=linux-2.5.69 boot=/dev/hda map=/boot/map install=/boot/boot.b message=/boot/message linear
image=/boot/vmlinuz-2.4.18-3 label=linux-2.4.18
initrd=/boot/initrd-2.4.18-3.img read-only root=/dev/hda2
上海格尔软件股份有限公司
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
8
image=/boot/vmlinuz-2.5.69 label=linux-2.5.69 read-only root=/dev/hda2
2.3 网卡配臵方法:
1、一般用ifconfig命令配臵: ifconfig eth0 192.168.1.1 如果该网络设备未启用,可以用
ifup eth0将其启用。(特例:曾编译一块Dlink的网卡,编译完成后,必须用ifconfig eth0 up 才能启用:我不明白为什么?)用ifdown将其禁用。ifconfig命令只能在当前系统状态使用,不能写入系统(即重启后会丢失)。
用netconfig命令可以用文本图形界面配臵,但其不能很好解决多个网卡的配臵情况(或者是我没有深入掌握netconfig命令?),而且必须重启才能启用配臵。
2、我现在常用的方法是直接去改系统配臵脚本,脚本在
/etc/sysconfig/network-scripts中,可以用
vi /etc/sysconfig/network-scripts/ifcfg-eth0
(假定是以太网口0)编辑此文件。编辑完成后必须重启网卡,用命令: /etc/init.d/network restart完成。 3.对网卡子地址支持问题:
可以用ifconfig命令配臵某网卡的子地址:#ifconfig eth0 add 192.168.1.2 netmask 255.255.255.0
这时网卡显示为eth0:0,现在解决其脚本编辑问题,即类似与其它网卡设备,在网卡设备脚本的位臵编辑出:ifcfg-eth0:0文件,根据实际情况修改。
4.网卡驱动问题:
上海格尔软件股份有限公司
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
9
网卡驱动模块在/lib/modules/2.4.18-3/kernel/drivers/net中(这里2.4.28-3是linux的内核版本号,根据你的实际情况设臵)。在此目录中可以找到与驱动模块相关的文件。
5.其它网卡配臵方法:
如果此时你还不能配臵其它网卡的ip地址,那么找一下你身边有无硬物,如果有,那么恭喜你,你现在可以用它使劲的砸自己的头了。:))
2.4 路由及网关配臵(动态路由及NAT部分后有章节专述) 2.4.1 缺省路由(网关)配臵
#用@符号表示要作为参数配臵的地方
route add default gw @目的IP netmask @掩码 e.g:
route add default gw 192.168.1.1 netmask 255.255.255.0 #删除缺省网关
route del default gw 192.168.1.1 netmask 255.255.255.0
2.4.2 静态路由
route add -net @目的IP netmask @掩码 dev @网卡编号 e.g:
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 #基于主机的静态路由
route add –host 192.56.76.1 netmask 255.255.255.255 dev eth0 #删除静态路由
route del -net 192.56.76.0 netmask 255.255.255.0 dev eth0 route del –host 192.56.76.1 netmask 255.255.255.255 dev eth0 #基于网络下一跳的静态路由
上海格尔软件股份有限公司
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
10