金太阳下载, 中国互联网人工智能物联网行业资讯平台--公众it

linux内核视频教程全套(linux内核 视频教程)-金太阳下载

新闻来源:互联网资料整理       发布时间:2023/4/9 2:48:37       共计:4663 浏览

如何给linux安装新内核?

一、获取内核源码

二、解压内核源码

首先以root帐号登录,然后进入/usr/src子目录。如果用户在安装linux时,安装了内核的源代码,则会发现一个linux-x.y.z的子目录。该目录下存放着内核x.y.z的源代码。此外,还会发现一个指向该目录的链接linux。删除该连接,然后将新内核的源文件拷贝到/usr/src目录中,并解压:

#tarzxvflinux-2.3.14.tar.gz

文件释放成功后,在/usr/src目录下会生成一个linux子目录。其中包含了内核2.3.14的全部源代码。将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接到/usr/src/linux/include目录下的对应目录中。

 #cd/usr/include

  #rm-rfasmlinux

  #ln-s/usr/src/linux/include/asm-i386asm

  #ln-s/usr/src/linux/include/linuxlinux

  #ln-s/usr/src/linux/include/scsiscsi

删除源代码目录中残留的.o文件和其它从属文件。

  #cd/usr/src/linux

  #makemrproper

三.增量补丁

有时不需要完全重新安装,只需打增量补丁,类似升级,在内核源码树根目录运行:

patch-p1<../patch-x.y.z

四.内核源码树目录:

arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。和32位pc相关的代码存放在i386目录下,其中比较重要的包括kernel(内核核心部分)、mm(内存管理)、math-emu(浮点单元仿真)、lib(硬件相关工具函数)、boot(引导程序)、pci(pci总线)和power(cpu相关状态)。

block:部分块设备驱动程序。

crypto:常用加密和散列算法(如aes、sha等),还有一些压缩和crc校验算法。

documentation:关于内核各部分的通用解释和注释。

drivers:设备驱动程序,每个不同的驱动占用一个子目录。

fs:各种支持的文件系统,如ext、fat、ntfs等。

include:头文件。其中,和系统相关的头文件被放置在linux子目录下。

init:内核初始化代码(注意不是系统引导代码)。

ipc:进程间通信的代码。

kernel:内核的最核心部分,包括进程调度、定时器等,和平台相关的一部分代码放在arch/*/kernel目录下。

lib:库文件代码。

mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。

net:网络相关代码,实现了各种常见的网络协议。

scripts:用于配置内核文件的脚本文件。

security:主要是一个selinux的模块。

sound:常用音频设备的驱动程序等。

usr:实现了一个cpio。

在i386体系下,系统引导将从arch/i386/kernel/head.s开始执行,并进而转移到init/main.c中的main()函数初始化内核。

五.配置内核

#cd/usr/src/linux

内核配置方法有三种:

(1)命令行:makeconfig

(2)菜单模式的配置界面:makemenuconfig

(3)xwindow:makexconfig

linux的内核配置程序提供了一系列配置选项。对于每一个配置选项,用户可以"y"、"m"或"n"。其中"y"表示将相应特性的支持或设备驱动程序编译进内核;"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去;"n"表示内核不提供相应特性或驱动程序的支持。由于内核的配置选项非常多,本文只介绍一些比较重要的选项。

  1、codematurityleveloptions(代码成熟度选项)

  promptfordevelopmentand/orincompletecode/drivers(config_experimental)如果用户想要使用还处于测试阶段的代码或驱动,可以选择“y”。如果想编译出一个稳定的内核,则要选择“n”。

 2、processortypeandfeatures(处理器类型和特色)

  (1)、processorfamily(386,486/cx486,586/k5/5x86/6x86,pentium/k6/tsc,ppro/6x86mx)选择处理器类型,缺省为ppro/6x86mx。

  (2)、maximumphysicalmemory(1gb,2gb)内核支持的最大内存数,缺省为1g。

  (3)、mathemulation(config_math_emulation)协处理器仿真,缺省为不仿真。

  (4)、mtrr(memorytyperangeregister)support(config_mtrr)

  选择该选项,系统将生成/proc/mtrr文件对mtrr进行管理,供xserver使用。

  (5)、symmetricmulti-processingsupport(config_smp)选择“y”,内核将支持对称多处理器。

  3、loadablemodulesupport(可加载模块支持)

  (1)、enableloadablemodulesupport(config_modules)选择“y”,内核将支持加载模块。

  (2)、kernelmoduleloader(config_kmod)选择“y”,内核将自动加载那些可加载模块,否则需要用户手工加载。

  4、generalsetup(一般设置)

  (1)、networkingsupport(config_net)该选项设置是否在内核中提供网络支持。

  (2)、pcisupport(config_pci)该选项设置是否在内核中提供pci支持。

  (3)、pciaccessmode(bios,direct,any)该选项设置linux探测pci设备的方式。选择“bios”,linux将使用bios;选择“direct”,linux将不通过bios;选择“any”,linux将直接探测pci设备,如果失败,再使用bios。

  (4)parallelportsupport(config_parport)选择“y”,内核将支持平行口。

  5、plugandplayconfiguration(即插即用设备支持)

  (1)、plugandplaysupport(config_pnp)选择“y”,内核将自动配置即插即用设备。

  (2)、isaplugandplaysupport(config_isapnp)选择“y”,内核将自动配置基于isa总线的即插即用设备。

  6、blockdevices(块设备)

  (1)、normalpcfloppydisksupport(config_blk_dev_fd)选择“y”,内核将提供对软盘的支持。

  (2)、enhancedide/mfm/rlldisk/cdrom/tape/floppysupport(config_blk_dev_ide)选择“y”,内核将提供对增强ide硬盘、cdrom和磁带机的支持。

  7、networkingoptions(网络选项)

  (1)、packetsocket(config_packet)选择“y”,一些应用程序将使用packet协议直接同网络设备通讯,而不通过内核中的其它中介协议。

  (2)、networkfirewalls(config_firewall)选择“y”,内核将支持防火墙。

  (3)、tcp/ipnetworking(config_inet)选择“y”,内核将支持tcp/ip协议。

  (4)theipxprotocol(config_ipx)选择“y”,内核将支持ipx协议。

  (5)、appletalkddp(config_atalk)选择“y”,内核将支持appletalkddp协议。

  8、scsisupport(scsi支持)

  如果用户要使用scsi设备,可配置相应选项。

  9、networkdevicesupport(网络设备支持)

  networkdevicesupport(config_netdevices)选择“y”,内核将提供对网络驱动程序的支持。

  10、ethernet(10or100mbit)(10m或100m以太网)

  在该项设置中,系统提供了许多网卡驱动程序,用户只要选择自己的网卡驱动就可以了。此外,用户还可以根据需要,在内核中加入对fddi、ppp、slip和无线lan(wirelesslan)的支持。

  11、characterdevices(字符设备)

  (1)、virtualterminal(config_vt)选择“y”,内核将支持虚拟终端。

  (2)、supportforconsoleonvirtualterminal(config_vt_console)

  选择“y”,内核可将一个虚拟终端用作系统控制台。

  (3)、standard/generic(dumb)serialsupport(config_serial)

  选择“y”,内核将支持串行口。

  (4)、supportforconsoleonserialport(config_serial_console)

  选择“y”,内核可将一个串行口用作系统控制台。

  12、mice(鼠标)

  ps/2mouse(aka"auxiliarydevice")support(config_psmouse)如果用户使用的是ps/2鼠标,则该选项应该选择“y”。

  13、filesystems(文件系统)

  (1)、quotasupport(config_quota)选择“y”,内核将支持磁盘限额。

  (2)、kernelautomountersupport(config_autofs_fs)选择“y”,内核将提供对automounter的支持,使系统在启动时自动mount远程文件系统。

  (3)、dosfatfssupport(config_fat_fs)选择“y”,内核将支持dosfat文件系统。

  (4)、iso9660cdromfilesystemsupport(config_iso9660_fs)

  选择“y”,内核将支持iso9660cdrom文件系统。

  (5)、ntfsfilesystemsupport(readonly)(config_ntfs_fs)

  选择“y”,用户就可以以只读方式访问ntfs文件系统。

  (6)、/procfilesystemsupport(config_proc_fs)/proc是存放linux系统运行状态的虚拟文件系统,该项必须选择“y”。

  (7)、secondextendedfssupport(config_ext2_fs)ext2是linux的标准文件系统,该项也必须选择“y”。

  14、networkfilesystems(网络文件系统)

  (1)、nfsfilesystemsupport(config_nfs_fs)选择“y”,内核将支持nfs文件系统。

  (2)、smbfilesystemsupport(tomountwfwsharesetc.)(config_smb_fs)

  选择“y”,内核将支持smb文件系统。

  (3)、ncpfilesystemsupport(tomountnetwarevolumes)(config_ncp_fs)

  选择“y”,内核将支持ncp文件系统。

  15、partitiontypes(分区类型)

  该选项支持一些不太常用的分区类型,用户如果需要,在相应的选项上选择“y”即可。

  16、consoledrivers(控制台驱动)

  vgatextconsole(config_vga_console)选择“y”,用户就可以在标准的vga显示方式下使用linux了。

  17、sound(声音)

  soundcardsupport(config_sound)选择“y”,内核就可提供对声卡的支持。

  18、kernelhacking(内核监视)

  magicsysrqkey(config_magic_sysrq)选择“y”,用户就可以对系统进行部分控制。一般情况下选择“n”。

六、编译内核

  (一)、建立编译时所需的从属文件

  #cd/usr/src/linux

  #makedep

  (二)、清除内核编译的目标文件

  #makeclean

  (三)、编译内核

  #makezimage

  内核编译成功后,会在/usr/src/linux/arch/i386/boot目录中生成一个新内核的映像文件zimage。如果编译的内核很大的话,系统会提示你使用makebzimage命令来编译。这时,编译程序就会生成一个名叫bzimage的内核映像文件。

  (四)、编译可加载模块

  如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。

  #makemodules

  #makemodelus_install

  编译成功后,系统会在/lib/modules目录下生成一个2.3.14子目录,里面存放着新内核的所有可加载模块。

七、启动新内核

  (一)、将新内核和system.map文件拷贝到/boot目录下

  #cp/usr/src/linux/arch/i386/boot/bzimage/boot/vmlinuz-2.3.14

  #cp/usr/src/linux/system.map/boot/system.map-2.3.14

  #cd/boot

  #rm-fsystem.map

  #ln-ssystem.map-2.3.14system.map

  (二)、配置/etc/lilo.conf文件。在该文件中加入下面几行:

  default=linux-2.3.14

  image=/boot/vmlinuz-2.3.14

  label=linux-2.3.14

  root=/dev/hda1

  read-only

  (三)、使新配置生效

  #/sbin/lilo

  (四)、重新启动系统

  #/sbin/reboot

  新内核如果不能正常启动,用户可以在lilo:提示符下启动旧内核。然后查出故障原因,重新编译新内核即可。

linux kernel (linux内核)怎么安装?

1、下载新内核源码:到金太阳下载官网www.kernel.org,下载最新版本linux内核,保存到/usr/src/kernels目录,大约54mb。

2、#cd/usr/src/kernels

3、#tarjvxflinux-2.6.31.5.tar.bz2

4、进入系统原内核目录,把其中的隐藏文件.config复制到新内核目录中。

5、cd进入新内核目录,然后执行#makeoldconfig 此时所有提示均按回车,选项提示都默认。

6、#makexconfig此时弹出一个内核配置窗口,里面全是英文,我看不懂,干脆就直接把这个窗口关掉,继续往下做。

7、#makebzimage&&makemodules&&makemodules_install&&makeinstall第七步编译时间比较长,要30到50分钟不等,要看机器情况了。

8、#uname-r查看内核版本,完成上面步骤后就可以重启系统了,启动时会在grub菜单里出现新内核选项了。 此方法安装新内核后同时也会保留旧内核,启动时,可以在新老内核间选择,相当的实用

如何修改linux内核源码并调试?

将修改的代码添加进内核树,然后修改makefile和config文件,从新编译。

金太阳下载的版权说明:
本网站凡注明“公众it 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容金太阳下载的版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系金太阳下载。
  • 相关主题:
金太阳下载 关于金太阳下载 联系金太阳下载 合作联系 会员说明 新闻投稿 隐私协议 网站地图
网站地图