仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 756|回复: 10
打印 上一主题 下一主题

[其他Linux] linux教程之Slackware内核源码打造合适本人的内核

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 15:01:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
系统管理相关命令: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
    另有好比声卡等硬件,必要我们一步一步的检察;假如有不明的地方,就要按[shift]+?的组合键来检察申明。一样平常的情形下,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上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
    老尸 该用户已被删除
    5#
    发表于 2015-2-5 14:25:05 | 只看该作者
    和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。
    蒙在股里 该用户已被删除
    6#
    发表于 2015-2-12 06:36:18 | 只看该作者
    永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
    兰色精灵 该用户已被删除
    7#
    发表于 2015-3-3 00:04:35 | 只看该作者
    未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。
    因胸联盟 该用户已被删除
    8#
    发表于 2015-3-11 08:16:09 | 只看该作者
    清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。
    分手快乐 该用户已被删除
    9#
    发表于 2015-3-18 02:41:35 | 只看该作者
    可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?
    海妖 该用户已被删除
    10#
    发表于 2015-3-25 11:26:31 | 只看该作者
    为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

    GMT+8, 2024-5-13 15:46

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表