小女巫 发表于 2015-1-16 15:01:09

linux教程之Slackware内核源码打造合适本人的内核

系统管理相关命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last
提纲:
用Slackware官方供应的内核源码和剧本来打造合适本人呆板的内核,进修编译内核并进步我们的进修和事情效力;
媒介:
如今的呆板设置愈来愈高,一个小小的条记本,大概也能上到2G内存,别的服务器的使用,常常用到年夜内存,从理论的情形来看,Slackware用默许的内核是不撑持年夜内存的,最高撑持800多M,大概1G都不到。别的Slackware在默许的情形下也不撑持多CPU,假如您有多CPU的呆板,也要编译内核;
让Slackware撑持1G大概凌驾1G内存的呆板,实在办理举措也极其复杂。要从头编译一下内核,让其撑持4G就行了。固然假如有有凌驾4G的,能够选64G的谁人。
让Slackware撑持多CPU的呆板,不过是在设置内核时让他撑持SMP,就是这个
[*]Symmetricmulti-processingsupport选项;
只说怎样怎样办理还不可,一篇文章假如没有操纵实例,老手弟兄读起来其实是坚苦。我写的文章都是写给老手的,我总怕我写的文章老手看不懂,对老鸟来讲又一文不值;假如真是老手弟兄看不懂,内行又不值得一看,我看我写的器材一文不值。因而我写器材的时分能具体就具体,最好是写到初度用Linux的弟兄看了我所写的文档,也能一步到位的完成。
本文合适:初低级老手
在Slackware体系中最省力量编译内核的举措,是用Slackware现有的官方资本来举行编译,别的的软件碰到成绩,假如Slackware的官方有资本,我们一样能够用这类办理举措;
究竟从http://www.ckuyun.com间接下载,本人设置内核仍是有点辛劳。假如是初学Linux的弟兄大概要花好长工夫来设置,但还不克不及包管乐成。以是我们这些slack的跟随者来讲,要充实使用Slackware的资本。
有内核编译履历的弟兄都晓得,假如配制好后,编译乐成了,要把。config文件保留上去,以便下次为懂得决一些小成绩,重编统一版本的内核而用;
信任Slackware,信任Slacware的官方资本;如许能让我们事半功倍,特别对初学Slackware的弟兄。实在Slackware的内核更新并非太主动,这和Slackware的传统(平安)有关。实在一样平常的情形下,我们有一个对照不乱的内核充足用,假如不是为懂得决特定的成绩,我们没有需要成天晋级来晋级往的。在我写本文的时分,Slackware10.1的内核版本是2.4.29;而current(也就是开辟版本)的test内核是2.6.12.3.由况下此看来Slackware不是追新族,是以平安和不乱为主;
在本文我们以Slackware的current的test内核来扼要的申明使用slackware的官方资本的优点,和特地也办理一下年夜内存撑持的成绩;
1、下载官方current的testing内核的源码;
地点:ftp://slackware.mirrors.tds.net/pub/slackware/slackware-current/testing/source/linux-2.6.12.3/
从下面的地点找镜像,一样平常的情形下美国和日本的要快一点;
好比我们经由过程上面的地点失掉testing的内核linux-2.6.12.3的源码目次;
我们要把他内里的一切器材都下载上去,Slackware所供应我们的安装包就是经由过程这些文件编译天生的;人都都把设置文件和剧本写好了,我们没有需要不必;
好比我们FTP镜像中的linux-2.6.12.3一切文件都按他FTP供应的目次布局寄存在到/usr/src/kernel26中;
下载好了,我们进进下一步;
2、使用Slackware官方供应的config文件来复杂设置本人的内核设置文件.config;
1.解压内核及一些基本事情;
bash-3.00#pwd
/usr/src/kernel26
bash-3.00#ls
config-2.6.12.3kernel-genericlinux-2.6.12.3.tar.bz2.sign
kernel-moduleslinux-2.6.12.3.tar.bz2
bash-3.00#tarjxvflinux-2.6.12.3.tar.bz2
bash-3.00#mvlinux-2.6.12.3……把解压手内核目次移到上一级目次中,也就是/usr/src中
bash-3.00#cd……
bash-3.00#ls
kernel26linux-2.4.29linux-2.6.12.3.tar.bz2speakup-2.4.29
linuxlinux-2.6.12.3rpm
bash-3.00#cdlinux-2.6.12.3
bash-3.00#pwd
/usr/src/linux-2.6.12.3
bash-3.00#cp……/kernel26/config-2.6.12.3.把内核设置文件复制到以后事情目次linux-2.6.12.3
bash-3.00#cpconfig-2.6.12.3.config把config-2.6.12.3复制为。config
2.扼要的设置内核;
bash-3.00#makemenuconfig进进设置内核的设置形式;
内核设置有两种办法,一种是间接置进内核;另外一种是编成模块;两种办法各有长处;间接编进内核的,好比设备的启动,不再必要加载模块的这一历程了;而编译成模块,则必要加载设备的内核撑持的模块;但间接把一切的器材都编进内核也不是可行的,内核体积会变年夜,体系负载也会太重。我们编内核时最好把极其主要的编进内核;别的的假如您不分明的,最好用默许。slackware的内核设置文件是最好的教程;
1]挪动键盘,选中LoadanAlternateConfigurationFile项,把。config调出去便利我们设置;由于这个设置文件是Slackware已设置好的,我们只是略加修正就行。
2]针对本人呆板存在的成绩举行修正;好比我们在前文所提到的年夜内存撑持的成绩;
选择本人呆板的CPU;
挪动键盘到Processortypeandfeatures――>,然后按ENTER进进;
找到Processorfamily(486)――>按ENTER进进;
进进后我们发明有很多多少CPU的型号可选;一样平常的情形下要依据
bash-3.00#cat/proc/cpuinfo输入的信息来选,好比我们的是Celeron(P4)一代的,应当选以下的,固然默许的486也是能够一般运转的,既然我们重编一次内核,就得选中对应型号的,大概功能有所进步呢;
Processorfamily(Pentium-4/Celeron(P4-based)/Pentium-4M/Xeon)
对年夜内存撑持;假如内存是1G大概1G以上,但小于4G的,就要选4G撑持;假如凌驾4G的,要选64G的撑持;
HighMemorySupport(4GB)――>
(X)4GB
()64GB
另有好比声卡等硬件,必要我们一步一步的检察;假如有不明的地方,就要按+?的组合键来检察申明。一样平常的情形下,slackware的config文件早都设置好了,只必要我们来检察一下就能够了。
再举个例子:好比我如今所用的声卡是intelac97的,我应当怎样设置呢?
起首要晓得本人的声卡的芯片组,我们要经由过程lspci-v来检察;
bash-3.00#lspci-v
只检察声卡的,应当用以下的办法:
bash-3.00#lspci-v|grepaudio
00:1f.5Multimediaaudiocontroller:IntelCorp.82801DB(ICH4)AC97AudioController(rev03)
经由过程下面的输入,我们晓得这台呆板用的是intelAC97声卡;以是我们要出格注重AC97的设置;
找到DeviceDrivers――>Sound――>
<M>Soundcardsupport声卡的撑持,这个是必定要选中的吧;
<M>AdvancedLinuxSoundArchitecture对声卡撑持的ALSA驱动的撑持;上面有OSS驱动,只是一部分。假如想用OSS的驱动更全的,能够往买;别的的就看以下的选吧;
<M>Sequencersupport
<M>Sequencerdummyclient
<M>OSSMixerAPI
<M>OSSPCM(digitalaudio)API
[*]OSSSequencerAPI
<M>RTCTimersupport
[*]Verboseprintk
[]Debug

Genericdevices――>进进内里
<M>Dummy(/dev/null)soundcard
<M>VirtualMIDIsoundcard
<M>MOTUMidiTimePieceAVmultiportMIDI
<M>UART16550serialMIDIdriver
<M>GenericMPU-401UARTdriver
ISAdevices――>假如您用ISA声卡就在这内里选;
PCIdevices――>假如您用PCI声卡,就在这内里选,集成声卡也在这里;
USBdevices――>这是USB声卡内核撑持选项;我有一个如许的声卡,但没有试过;
PCMCIAdevices――>这是PCMCIA声卡的选项,我还没有看过如许的声卡呢;假如您有,就在这内里动下手吧。
由于我用的是Intel集成的声卡,以是要在PCI当选择,我们在中能够看到有两个与INTEL有关的;
<M>Intel/SiS/nVidia/AMD/ALiAC97Controller这个才是IntelAC97声卡的;
Intel/SiS/nVidia/AMDMC97Modem(EXPERIMENTAL)这个是呆板集成的INTEL猫的蜂叫器的;
由于我发明假如把猫的蜂叫器的驱动也选上,大概形成两个抵触。以是只能选下面的谁人;
我们再回到OpenSoundSystem――>中看看,与我用的声卡是否是有关的?
<M>OpenSoundSystem(DEPRECATED)
<M>IntelICH(i8xx)audiosupport
<M>OSSsoundmodules
<M>LoopbackMIDIdevicesupport
<M>MicrosoftSoundSystemsupport
我们也能够看到OpenSoundSystem中也有很多多少的声卡驱动,人人依据后面的lspci-v来选择吧。
3]关于操纵体系所接纳的文件体系的撑持要编进内核,最好不要编成模块;(主要)
Filesystems――>
<*>Reiserfssupport
好比我的Slackware所接纳的文件体系用的是reiserfs,以是我要把它间接编进内核;优点是不受模块丧失大概破坏而不克不及启动体系;而偶然您把体系所接纳的文件体系编译成模块,呈现VFS毛病,也有这方面的事,多是您没有把reiserfs到场到响应的加载模块的设置文件中,以是我们为了削减贫苦,把风险降到最低,仍是要间接置进内模的好;
假如您另有别的的硬盘分区要读取,好比是ext3、ext2、fat、fat32、ntfs等,如许的能够编成模块来撑持;
再举一例:假如您的的操纵体系用的是ext3的文件体系,固然就要把ext3的间接编进内核,别的的能够编成模块来撑持了;
4]关于硬盘及RAID的撑持,要间接编进内核;
好比ATA、SATA、SCSI及RAID的撑持间接内核撑持;偶然编完内核后,启动时不克不及辨认硬盘和RAID,年夜多事变出在这里;Slackware中在这方面有的是模块撑持,我们能够把它由<M>改成<*>来撑持;
5]关于我们所没有的设备,能够在内核中不选,游刃有余而已;
好比我没有ISDN设备,以是就把ISDN往失落;
ISDNsubsystem――>
Linuxtelephonysupport
假如您没有1394的设备,固然能够把1394的撑持也往失落;
等等……
内核设置就说这么多吧,太多了,我也说不分明,程度无限啊;
设置好后先要保留
SaveConfigurationtoanAlternateFile
出来一个
Enterafilenametowhichthisconfiguration,shouldbesavedasanalternate.Leaveblanktoabort.
。config
按回车就好了,如许就保留住了;
然前进出<Exit>,这时候也会呈现保留;
假如你想把。config保留起来,能够再复制一份到平安一点的目次,以备后用;
3.编译内核
bash-3.00#make
bash-3.00#makemodules_install
如许就编译好了,并把模块也安装在了/lib/modules目次中了,请看:
bash-3.00#ls/lib/modules/
2.4.292.6.12.3
如今我们得安装内核了,但我们也没有需要急着安装,我们能够用Slackware供应的剧本来打包,然后再来安装,如许移除也便利,对不合错误?
4.用Slackware供应的剧本为内核及moudules打包;
我们在后面已说了,把linux-2.6.12.3在镜像上的目次下的一切器材载上去。以是我们要用到这些器材了。我在后面把一切的器材都下载到了/usr/src/kernel26目次中。
以是我们要用他所供应的剧本打包;
bash-3.00#cd/usr/src/kernel26/
bash-3.00#ls
config-2.6.12.3kernel-generickernel-moduleslinux-2.6.12.3.tar.bz2linux-2.6.12.3.tar.bz2.sign
a)起首我们为内核打包:请运转以下命令:
bash-3.00#bash-3.00#cpkernel-generic/slack-desc.
我们要把kernel-generic/slack-desc复到制以后操纵目次中,只是一个申明文件;不复制也行;归正是本人用,也不是给他人用的;
bash-3.00#shkernel-generic/kernel-generic.SlackBuild
输入是甚么呢?
kernel-gener
12下一页


无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。

小女巫 发表于 2015-1-16 16:14:43

linux教程之Slackware内核源码打造合适本人的内核

如果你学不好的话,你在linux中开发的机会就很少,或者说几乎没有,它的优势就消失了,然后随着时间的流逝,你就会全部忘记她;
ic/kernel-generic.SlackBuild:line33:[:toomanyarguments</P>Buildingkernel-generic-2.6.12.3-i486-1.tgz
usingthesesourcefiles.Pleasecheckandthenhit
entertomakethepackage.
KERNEL=/usr/src/linux-2.6.12.3/arch/i386/boot/bzImage
SYSMAP=/usr/src/linux-2.6.12.3/System.map
CONFIG=/usr/src/linux-2.6.12.3/.config
看到了吧,我们用的设置文件在/usr/src/linux-2.6.12.3/.config;然后按回车;
注重:假如您把打包剧本kernel-generic.SlackBuild复制到了/usr/src/linux-2.6.12.3,并在/usr/src/linux-2.6.12.3中实行它,提醒使用的设置文件是CONFIG=/usr/src/linux-2.6.12.3/config*,以是要看好了。实在这个文件我们大概没有设置,是slackware原始自带的,我们在后面已说了,我们设置的文件是。config;除非你有把。config另存为config-2.6.12.3.
假如要用我们设置好的内核文件,要进进内核源码目次,把。config拷贝一份名为config-2.6.12.3的;
b)然后我们要为内核的模块打包;
bash-3.00#shkernel-modules/kernel-modules.SlackBuild
我们把包都打好了,他们事实在那里呢?
在/tmp目次中,请看以下:
bash-3.00#ls-lh/tmp/kernel-*
-rw-r――r――1rootroot1.9M2005-08-0611:59/tmp/kernel-generic-2.6.12.3-i486-1.tgz
-rw-r――r――1rootroot11M2005-08-0612:13/tmp/kernel-modules-2.6.12.3-i486-1.tgz
5.安装编译好的内核及模块。
我们实在已把编译好的模块早就安装好了,但我们最好从头安装一下。如许卸载也便利。
bash-3.00#cd/tmp
bash-3.00#installpkgkernel-generic-2.6.12.3-i486-1.tgz
bash-3.00#installpkgkernel-modules-2.6.12.3-i486-1.tgz
如许就把内核及模块设置好了。
7686.检察体系引诱办理器grub大概lilo的设置文件。
内核在安装的时分,大概已改了一些器材,好比/boot内的变更,好比vmlinuz间接链到了vmlinuz-generic-2.6.12,以是假如想要让新老内核都能让体系引诱办理器grub和lilo的菜单上能看失掉,必需改grub.conf大概lilo.conf
我们必需保存老内核的在grub和lilo的启动菜单,究竟我们编内核不克不及百分百的乐成,对不合错误??平安第一吧;
跋文:正在订正当中,以让其更大概的周全一点,算是版本0.1吧;没有手艺含量,只是想匡助初学者用在起码的工夫内把握编译内核;

</p>上一页12


只要了解了Linux的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux就是希望构架网站,根本没有想到要先了解一下Linux的基础。这是相当困难的。

若天明 发表于 2015-1-18 18:33:14

上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.

小魔女 发表于 2015-1-27 16:37:05

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。

老尸 发表于 2015-2-5 14:25:05

和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。

蒙在股里 发表于 2015-2-12 06:36:18

永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。

兰色精灵 发表于 2015-3-3 00:04:35

未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。

因胸联盟 发表于 2015-3-11 08:16:09

清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。

分手快乐 发表于 2015-3-18 02:41:35

可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?

海妖 发表于 2015-3-25 11:26:31

为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
页: [1]
查看完整版本: linux教程之Slackware内核源码打造合适本人的内核