ubuntu系统下怎么编译内核文件

ubuntu系统下怎么编译内核文件,第1张

一、下载源代码和编译软件的准备

安装有关编译程序。安装make ,gcc, make-kpkg,运行menuconfig等等和编译内核相关的工具。安装不了,请检查/etc/apt/sources.list 文件。有关命令:代码:$sudo apt-get install build-essential kernel-package libncurses5-dev

二、解压源代码注意,网上很多教程上说应该解压到 /usr/src,纯属以讹传讹,linux掌门人linus说解压到任何目录上都可以。当然,linus的说法是正确的。我放在自己的主目录下的src目录。如果你下载源代码是放到自己的主目录下或者运行上面的wget下载的,那么运行下列命令:代码:$ cd ~$ mkdir src &&tar jfx linux-2.6.25.10.tar.bz2 -C src/现在,源代码就在 ~/src/linux-2.6.25.10进入源代码的目录,准备下一步的工作。后面都在这个目录里面进行。代码:$ cd ~/src/linux-2.6.25.10

三、开始编译前的准备工作。首先,清理以前编译时留下的临时文件。如果是刚刚解开的包,不需要执行这步。如果是第二次或者是第n次编译,那么一定要执行。相关命令如下:代码:$ sudo make mrproper网上很多教程上说把现在使用的内核的config拷贝过来参考,据实验,是不需要的,ubuntu还有debian会自动做这步。不过这条命令倒是可以学习一下。当然你可以将以前的配置拷贝过来。命令:代码:cp /boot/config-`uname -r` ./.config

四、开始配置内核选项。相关命令:代码:$sudo make menuconfig配置用到的键只有几个,esc退出菜单空格改变选项状态光标键上下左右移动,回车选定。选项意义:M是编译成可以随时加入的模块,*是编译进入内核,空就是不要。配置选项非常多,具体配置可以参考金步国先生翻译的资料:Linux 2.6.19.x 内核编译配置选项。 请大家遵循一个原则,如果你自己使用的内核已经选用了某个选项,如果你没用充分的理由,不要随便改动。这样虽然内核不那么精简,但是不容易出现问题。我们可以精简的部分是硬件模块部分,对于自己没有的硬件要毫不犹豫的清除。如果你很执着,或者你有洁癖,你也可以一项项对过去,按照金步国先生的资料描述去选择基本上没有问题。

五、必须强调的几个选项:1、

在“General setup”里面的“Prompt for development and/or incomplete

code/drivers”金步国认为是不需要。但是如果你的硬件比较新,那几乎是必须选的,这样,我们才可以找到4965无线网卡,alsa声音驱动等

等。Kernel log buffer size 我选15,双核。如果你用ia64,要选16。Control Group support 集群支持?可以不要Choose SLAB allocator (SLUB (Unqueued Allocator)) 内存管理模式slab和slub选择slub。

2、在“Block layer”里,假如没有2TB的硬盘,就去掉:Support for Large Block Devices 。Support for Large Single Files 也不需要,谁有2TB的文件?

3、Processor type and features中是关于cpu的,要认真选。Symmetric multi-processing support是打开多核的开关,我的cpu是双核的,选中。Processor family (Core 2/newer Xeon) 我的是Core 2/newer Xeon。找到自己的cpu后,把Generic x86 support选项取消。Subarchitecture Type 选(PC-compatible)Maximum number of CPUs 输入自己的核心数目,我输入2。SMT (Hyperthreading) scheduler support说的是超线程技术,P4有支持的,我的t8100不支持,目前大部分市场上的家用cpu都不支持。High Memory Support (4GB) 1G以下选1G;我是3G,选4G;4G以上的选16G在“ Timer frequency ”里,默认是250Hz,较新的cpu都可以选择了1000Hz,性能更好。

4、Power management options中把APM (Advanced Power Management) BIOS support关闭。现在的电脑都用acpi了。CPU Frequency scaling 是笔记本cpu节电技术Default CPUFreq governor (conservative) cpu节电模式有四个,笔记本默认选conservative比较好。ACPI Processor P-States driver 必须选,不然CPU Frequency就不能用。后面的可选自己硬件相关的,我选的是Intel Enhanced SpeedStep和 Intel Speedstep on ICH-M chipsets,其他的统统消灭。

5、Bus options的选择:Bus options (PCI, PCMCIA, EISA, MCA, ISA)PCI support PCI Express support 现在新买的机器基本上都是PCI Express了ISA support 较新的新机器没有ISA设备,可以去掉MCA support 去掉NatSemi SCx200 support 去掉PCI Hotplug Support Support for PCI Hotplug (EXPERIMENTAL) 如果没有PCI热插拔设备,去掉这里的选项可以考虑全部编译进内核,而不是以模块形式存在。

6、Device Drivers是重点,由于linux不但面向个人工作站,更多的是面向服务器的应用,所以可以把自己机器上没有的硬件全部去掉,而不用面面俱到。但是通用型的选项要慎重。比如在网卡的部分,除了我的千兆网卡 Broadcom Tigon3 support和4965无线网卡Intel Wireless WiFi 4965AGN,其余的硬件支持统统去掉。再比如声卡部分,我的是hd声卡,我只是在PCI devices中,选intel hd 声卡,再选Build IDT/Sigmatel HD-audio codec support,除此之外的硬件支持全部去掉。

声卡还有一个细节,在ubuntu7.10里面, 需要在/etc/modprobe.d/alsa-base后面添加options

snd-hda-intel probe_mask=1

model=3stack,这样我的笔记本喇叭才可以发声,不然只有外接耳机或者音箱。这次编译以后,这个动作就不必了,但是两个耳机插口只有一个可以用

了。再比如我的电脑中没有agp,就可以直接把agp相关的选项全部取消。要注意的:ATA/ATAPI/MFM/RLL support Include IDE/ATA-2 DISK support 如果你的/boot是放在IDE硬盘上,那么这里一定要选*,选M都不行。否则启动时会出现“waiting for root file system”的提示而停滞不前。 SCSI emulation support 要用刻录机,必须选。SCSI device support 现在都是SATA硬盘,一定要选* SCSI disk support 如果你的/boot放在SATA硬盘上,一定要选*。

SCSI CDROM support 虽然康宝刻录机是ide接口的,但是必须把它当成scsi接口的,这是老问题了。用刻录机,必须选。

Graphics supportSupport for frame buffer devices 选中,进入选择 VESA VGA graphics support 选上,不然字符界面启动会有问题,后面的显卡选择:由于我的显卡是nvidia 8400gs,要自己安装nvidia公司的驱动,所以一个都没有选。这样导致ubuntu开机动画会出问题,我索性在grub中的splash字符全部删除,把开机动画关闭。字符界面很正常。 Console display driver support 有人开机后字符控制台错误,就是这部分选项没有选,出问题了。 Framebuffer Console support 需要打开。

Bootup logo 开机图标,会在自检的画面上加上个性图标。需要在grub上添加“vga=”的选项 简称fuse。是必选的,如果你要用windows分区。

CD-ROM/DVD Filesystems ISO 9660 CDROM file system support 一般选*DOS/FAT/NT Filesystems VFAT (Windows-95) fs support 有FAT32分区就选*吧 NTFS file system support 有NTFS分区就选*吧 NTFS write support 如果想对 NTFS分区进行写 *** 作,选*必须将启动盘的文件系统编译进内核,默认是编译成模块,这样无法启动系统。ubuntu采用的文件系统是ext3,请把ext2,ext3相关的必要选项都编译进入内核。

8、Virtualization这个大类是我多花几百元买t8100的主要原因,因为t8100支持intel vt技术使linux上的虚拟机的性能大幅度提高。这里的选项我除了amd的,其他都编译成模块。

9、全部设置完成,最后一项是保存设置。按照我的习惯,先在上一层目录保存一个备份,文件名类似 ../config20080630然后再保存到当起目录,文件名 .config退出设置程序。

六、开始编译内核。ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单。相关命令:代码:$sudo make-kpkg clean 这条命令好像不要超级权限,很多资料上说要,不过这不是原则问题。

$ sudo make-kpkg -initrd --initrd --append-to-version=dell1400 kernel_image kernel-headers上述命令中的dell1400可以用自己喜欢的字符代替,最后的字符一定是数字.输完上述命令回车之前,建议大家把浏览器还有别的运用程序都关掉,机器开始的工作比较艰苦。

我的机器大概十几分钟。

七、安装内核编译完成就是安装工作。编译好的内核在上一层目录。包括linux-headers-...-_i386.deb和linux-image-...-i386.deb两个文件,如果你不搞开发的话,只要安装内核就可以,头文件以后要用的时候再说。安装相关命令:

代码:$ cd ..$ sudo dpkg -i linux-image-(按tab键)文件名很长,如果不用tab自动补足是不可能的,tab键万岁。安装完成后和老内核比较一下大小代码:

$ ls -l /boot/

八、重新启动验证新内核。代码:$ sudo reboot

九、显卡驱动如果你的显卡和我一样是nvidia显卡,启动之后往往无法正常进入x-window。即使能看到gdm登录界面,效果也是很差的。那么就要安装nvidia驱动。用ctrl+alt+f1 进入字符命令行,输入用户名,密码登录。 #ps ax看看和gdm相关的进程,把这些进程全部关闭用sudo /etc/init.d/gdm stop有可能有一个进程没有关闭:#kill 进程号然后安装nvidia显卡驱动,当然驱动要先下好,到nvidia驱动所在的目录里,运行:# sh ./NVIDIA-Linux-x86-173.14.12-pkg1.run重新启动以后就ok。要用nvidia的驱动,每次升级内核都要这么做。

十、无线网卡相关的内核选项是Networking --->Wireless --->Generic IEEE 802.11 Networking Stack (mac80211)还有4965的驱动。4965

无线网卡驱动虽然已经编入内核,但没有firmware无法使用。需要把原来内核的firmware拷贝到新内核对应的目录,名字和内核一致,我的内核是

linux-image-2.6.25.10dell1400,那建的目录名就是2.6.25.10dell1400。代码:具体命令:$ cd /lib/firmware/$ sudo mkdir 2.6.25.10dell1400把你的老内核中的4965的firmware拷贝过来。$ sudo cp 2.6.24-16-generic/* 2.6.25.10dell1400/上面的命令和下面的命令是等价的:$ cd /lib/firmware/$ sudo cp -R 2.6.24-16-generic/ 2.6.25.10dell1400/

重新启动系统,无线网卡就正常了。

附编译使用的机器配置:dell vostro 1400,t8100,nvidia 8400cs显卡,内置SigmaTel STAC9228芯片的声卡,4965无线网卡,BCM5906M千兆网卡,3G内存,160G硬盘,combo刻录。

编译系统版本:ubuntu 8.04桌面版.

世界十大黑客

十大超级老牌黑客之:李纳斯

Linux这部史诗发端于赫尔辛基。似乎天下的黑客都在为自己的生命创作源程序,李纳斯也不例外。他的家就在离市中心不远的Kalevagatan(与卡勒瓦拉很相近)大街。这是一个19世纪的建筑与现代化平房交相呼应的地方。李纳斯与妻子住在这里。他的家很像是大学生的集体宿舍,楼梯下总放着一排排自行车。

李纳斯本人看起来就像一名学生,而不像道士。他中等身材,浅褐色头发,蓝眼睛,目光透过镜片直直地射向你,只有浓密的眉毛是黑色的,衬着一张孩子气的脸庞。他的房间四周排列着许多书籍,里面布满了油画和各种装饰品,相当低廉的窗帘,两把扶手椅之间挂着发干的鳄鱼皮,房间里还有两只目空一切的猫和几台计算机:三台PC,一台Power Mac,还有三台从DEC借来的基于Alpha芯片的微机。它们不起眼地布置在房间的角落中。另外一样很有意思的东西不易察觉:那是一根将计算机连到缁安遄牡枷撸馐峭ㄏ蚧チ?56K的专线,由当地的一家ISP安装并承担费用,它是对这位Linux道士的象征性奖励。

主要成就:好像是谈论梦想,又好像是“X档案”中的一段情节。一个21岁的芬兰大学生,在学生宿舍里写了一个 *** 作系统的内核--Linux,然后公布于众,吸引了成千上万的程序员为之增补、修改和传播,短短几年就拥有了1000多万的用户,成为地球上成长最快的软件。李纳斯.托沃兹(Linus Torvalds),当今世界最著名的电脑程序员、黑客。Linux内核的发明人及该计划的合作者。托瓦兹利用个人时间及器材创造出了这套当今全球最流行的 *** 作系统内核之一。使自由软件从产业思想运动演变成为市场商业运动,从此改变了软件产业,乃至IT产业的面貌。

十大老牌黑客之:沃兹尼克

在硅谷,一个人要赢得好名声远比赢得大把的钱财要困难得多。因为财富是声名鹊起的基本条件。而要赢得财富,就必须勾心斗角,逐利而去。因此无论是苹果的乔布斯、Oracle的埃里森还是英特尔的葛鲁夫,都只能在当地获得毁誉参半的名声。但是,如果在硅谷还有唯一一位大家公认的“好人”,那么这个人肯定非沃兹莫属。

这位当年的技术天才,淡泊名利,性格纯朴,早早离开了热闹的中心。这也注定了他必然与计算机业沿着不同的路线,书写各自的历史。现在,昔日的战友乔布斯又在叱诧风云,而他则过着自己安静的生活。

十大超级老牌黑客:丹尼斯.利奇和肯.汤普生

不可思议的是,当初这个 *** 作系统的诞生,并不是为了把它推向市场,甚至不是为了让更多人使用,而仅仅是作者为了便于自己使用,而且初衷是为了自己更方便地玩游戏。连Unix这个别扭的名字,也是对早期一个名为Multics *** 作系统开玩笑的称呼。在后来的获奖答谢中,作者之一的丹尼斯.里奇坦然说:“我们的目的是为自己建立一个良好的计算机工作环境,当然也希望大家都能喜欢它”。

然而,在这不经意间,奇迹诞生了,再一次验证了IT业的创新往往是兴趣,而不是大把大把的金钱使然。经过10年的内部使用,于70年代中期开始。Unix第一次公诸于世,就慢慢走向成功,震动整个计算机业。1969年开始工作时,里奇和汤普生根本没有想过要掀起业界的狂热,在1974年以前,他们甚至没有发表过任何关于项目的消息。而当Unix露面时,他们还惊奇于会引起如此大的兴趣。他们并没有积极推销,大学、研究机构可以免费使用,而且还提供源代码。

主要成就:贝尔实验室著名的计算机科学工作组的创造力的推进剂。里奇和汤普森在1969年创造了UNIX, UNIX是小型机上的一个一流的开放 *** 作系统,它能帮助用户完成普通计算、文字处理、联网,很快成为一个标准的语言。

鲜为人知的事实:由汤普森和他的贝尔实验室的同事罗布.派克(Rob Pike)创造的Plan 9,是由UNIX衍生的下一代 *** 作系统

十大老牌黑客之:斯托曼

主要成就:老牌黑客。1971年,斯托曼在街上找到一份MIT的人工智能实验室的工作。当时他是哈佛大学的一名本科生。后来,斯托曼创立了自由软件基金,打破了软件是私有财产的概念。

第一次接触计算机:1969年在IBM纽约科学中心,时值16岁。自己独特的黑客工具:在上世纪80年代,斯托曼不拿MIT的薪水但继续在其中的一个办公室工作。在那里他创造了一个新的 *** 作系统GNU--GNU是"GNU’s Not Unix"的缩写。鲜为人知的事实:曾获得麦克阿瑟基金24万美元天才奖。

十大老牌黑客之:约翰.德拉浦

主要成就:发现了使用(“嘎吱嘎吱船长”牌的)麦片盒里作为奖品的哨子(向电话话筒吹声)可以免费打(长途)电话。Cap’n Crunch给几代黑客引入了“盗用电话线路”打(长途)电话的辉煌思想。

第一次接触计算机:青少年时期,试图使投币式公用电话确信得到他的硬币和接通他的电话。

自己独特的工具:嘎吱嘎吱船长牌的麦片盒里的玩具口哨,能够产生2600赫兹的音调,这是(让电话系统)开启一个(电话)呼出的蓝匣子(用这种装置侵入电话系统),用户就也可以免费地打(长途)电话。(随后的奥斯卡梅耶韦纳Oscar Meyer weiner口哨也曾一度获得电话飞客们的青睐)

十大超级老牌黑客之:米特尼克

主要成就:他是第一个在美国联邦调查局“悬赏捉拿”海报上露面的黑客。他由于只有十几岁,但却网络犯罪行为不断,所以他被人称为是“迷失在网络世界的小男孩”。

米特尼克的圣诞礼物来自联邦通信管理局(FCC)。FCC决定,恢复米特尼克的业余无线电执照。从13岁起,无线电就是米特尼克的爱好之一。现在,他仍然用自制电台和朋友通话。他认为,正是这一爱好引发了他对计算机黑客这个行当的兴趣。不过,这份执照恢复得也并不轻松,他必须交付高达16,000美元的罚款。“这是世界上最贵的一份业余无线电执照,米特尼克说,‘不过我仍然很高兴。’”

十大超级老牌黑客之:雷蒙德

任何一场革命或者运动都需要一个理论家,需要一份纲领性的文献,起到真正的“画龙点睛”的神效。除了架构极具思辩力和逻辑性的理论体系,更需要激发起人们对美好理想的向往,为同行者的士气传递极具煽动性的烈焰。目前,这场正在颠覆软件业传统商业模式的自由软件运动也不例外。自由软件精神领袖当然是理查德.斯托尔曼(Richard Stallman),但他太超凡脱俗,而且,除了提出核心理念外,斯托尔曼缺乏著书立作的能力。这些局限,使得埃里克.雷蒙德(Eric S. Raymond)脱颖而出,担当了这个角色。如今,他已经成为开放源代码运动(脱胎于自由软件运动)和黑客文化的第一理论家,不可动摇。

雷蒙的策略获得了很大的成功。一般认为,1998年Mozilla的发布主要归功于他。大多数黑客和主流观察家也同意,正是雷蒙将开放源代码的理念成功地带到了华尔街。但是也有批评他的声音:有一些黑客认为他利用这些机会为自己打广告,而他对理查德.斯托曼和自由软件基金会的理想主义所进行的批评,以及所采取的更务实、更符合市场口味的线路,也曾经在黑客社群里掀起了不小的政治对立。

十大超级老牌黑客之:卡普尔

1971年,卡普尔从耶鲁大学毕业。在校期间,他专修心理学、语言学以及计算机学科。也就是在这时他开始对计算机萌生兴趣。他继续到研究生院深造。20世纪60年代,退学是许多人的一个选择。只靠知识的皮毛,你也能过日子。那些年里,卡普尔1年可以挣1.2万美元。他漫无目标地在游荡,正如他后来描绘自己这一时期的生活时所说,他成了一个“有知识的吉普赛人”。

主要成就:在80年代中期,卡普尔与盖茨是美国软件业的双子星。1982年创办Lotus公司,并担任CEO。推出个人电脑“杀手级应用”软件Lotus1-2-3,1985年,Lotus员工已达千人,是当时最大的独立软件公司。直到1988年4月,微软才超过Lotus,成为头号软件公司。卡普尔发起创办的电子边疆基金会(EFF),维护黑客利益,被称为是计算机业的美国公民自由协会(ACLU)。卡普尔也因此成为80年代和90年代最具影响力的计算机人物和黑客界最具影响力的人物之一。

卡普尔是硅谷黑客理念的真正体现:反对公司、不裱髁骶瘛⒏挥写丛臁⒊缟谐鍪馈8谴脑蚴窍执诳偷奶逑郑肟ㄆ斩纬上拭鞫哉铡8谴氖欠椿降男は瘢郧浚秩胧溃非罄妫墓疽惨匝怪谱杂啥晒Γ霾舐⒈孔尽⒋看庖陨桃登牟贰S胨啾龋ㄆ斩且晃幻窦涞挠⑿邸6谴脑蚴侵髁魃缁岬挠⑿邸?/P>

十大超级老牌黑客:莫里斯

主要成就:这位美国国家计算机安全中心(隶属于美国国家安全局NSA)首席科学家的儿子,康奈尔大学的高材生,在1988年的第一次工作过程中戏剧性地散播出了网络蠕虫病毒后,“Hacker”一词开始在英语中被赋予了特定的含义。在此次的事故中成千上万的电脑收到了影响,并导致了部分电脑崩溃。

第一次接触计算机:在家里。莫里斯的父亲曾从NSA带回把一台原始的神秘的密码机器到家里。它成为一家人的谈资。

1988年冬天,正在康乃尔大学攻读的莫里斯,把一个被称为“蠕虫”的电脑病毒送进了美国最大的电脑网络--互联网。1988年11月2日下午5点,互联网的管理人员首次发现网络有不明入侵者。它们仿佛是网络中的超级间谍,狡猾地不断截取用户口令等网络中的“机密文件”,利用这些口令欺骗网络中的“哨兵”,长驱直入互联网中的用户电脑。入侵得手,立即反客为主,并闪电般地自我复制,抢占地盘。

当警方已侦破这一案件并认定莫里斯是闯下弥天大祸的“作者”时,纽约州法庭却迟迟难以对他定罪。在当时,对制造电脑病毒事件这类行为定罪,还是世界性的难题。前苏联在1987年曾发生过汽车厂的电脑人员用病毒破坏生产线的事件,法庭只能用“流氓罪”草草了事。

1990年5月5日,纽约地方法庭根据罗伯特.莫里斯设计病毒程序,造成包括国家航空和航天局、军事基地和主要大学的计算机停止运行的重大事故,判处莫里斯三年缓刑,罚款一万美金,义务为新区服务400小时。莫里斯事件震惊了美国社会乃至整个世界。而比事件影响更大、更深远的是:黑客从此真正变黑,黑客伦理失去约束,黑客传统开始中断。大众对黑客的印象永远不可能回复。而且,计算机病毒从此步入主流。

中国十大黑客组织排行榜..! 副带掌门人.!

http://tech.163.com/special/000915RB/heike.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7422244.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存