Debian内核编译手记

Debian内核编译 ​ 《Linux内核编译》介绍了通用的内核编译方法(当然也适用于Ubuntu),本文要介绍的是编译生成内核.deb安装包的方法,适用于Ubuntu、Debian。 阅读详情
内核编译手记

debian的内核编译是比较轻松的,版本控制也很方便。
首先,需要下载fakeroot和kernal-package包,当然,开发包不可少。
然后进入源代码目录,make conifg。当然,我喜欢用make xconfig,这需要安装libqt3-dev包:apt-get install libqt3-dev即可。
make xconfig里边非常多的 选项,搞不好就会导致机器启动不了。由于我是笔记本,显卡、网卡、声卡什么的,总不会换,所以我只选择适合我的东西,只得注意的是,为了支持休眠,要把ata支持编译进核心而不能是模块;而且,尽管本本不可能有scsi控制器,但是USB硬盘、USB CD、U盘都是模拟scsi的,所以需要scsi支持;network呢,我选上自己的网卡e100就好了,另外去掉IPV6和许多什么IPX、Appletalk一辈子用不到的东西的支持可能会让系统工作高效一些;characher device一项中,选自己的agp芯片组和显卡类型就可以了 ;对新手比较困惑的是graphic选项,这个几乎没有用,因为你也许永远不会想去在控制台用中文,一般而言,我把vesafb编译进核心,如果把自己的显卡编译进核心,无非就是可以让控制台在高于1024
×768的分辨率下工作,看的东西多一点;声卡呢,选上alsa就行了,oss已经废弃了,但是好多程序都还是使用oss的/dev/dsp设备,如果不选oss,你需要在/etc/modules里边手动添加snd_pcm_oss,这样就和oss兼容了,但是quake2对ALSA支持不好;USB是个好东西,你几乎不要动它的编译选项,不过我把uchi-hcd编进了核心,因为我是intel芯片组,要指出的是,USB鼠标只需加入usbhid模块即可;文件系统呢,为了不用initrd(4M大的空间),我把ext2文件系统编译进核心,去掉了compressed ROM fs support,然后是光盘文件(DVD使用UDF)系统,DOS文件系统(vfat、ntfs之类),pseudo文件系统不要去动它,其他出了smbfs,我一概不要;其他什么MTD、AR、Ftape、old-cdrom等等一堆东西,就不要选了。
上面提到休眠支持,这个需要给核心打swsusp2补丁的,下载地址在http://softwaresuspend.berlios.de/, 尽管核心自己带有休眠支持(stock-suspend),但是工作情况不好,没有swsusp2好用,所以还是需要打这个补丁。在编译的时候要注意,自带的休眠选项不能选,apm不要,swsusp2选前面三个就好了,LZF是压缩内核镜像用的,可以减少休眠写盘内容,加快写盘速度。
好了,可以编译核心了:
fakeroot make-kpkg --append_to_version -1-686 kernel-image
一个命令把make mrprper bzImage modules modules-install全部搞定,如果想使用initrd,并且在内核里边选上了Compressed ROM file system support,那么可以这么做:
fakeroot make-kpkg --append_to_version -1-686 --initrd kernel-image
会有警告性提示,选no即可。--append_to_version -1-686是把附加版本定位-1-686。
编译完成之后,回到/usr/src下面,就可以dpkg -i kernel-image××××.deb 了。
要注意的是,这种安装方法,如果在你有这个文件 : /etc/kernel-img.conf
# Do not create symbolic links in /
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
postinst_hook = /sbin/update-grub
postrm_hook = /sbin/update-grub
那么你dpkg -i kernel-image××××.deb之后,grub会自动生成启动选项。非常方便。我把lilo改成grub,这也是一个原因。

Debian编译内核 转自 yuzibo博客 http://yuzibo.github.io/DebianBuildKernel.html 终于成功一次了 之前重新编译了好多次,可惜没有一次成功的,说实话,借助Debian强大的dpkg软件包管理,使得重新编译内核仅仅像安装软件一样简单,我都觉得这不是正宗的编译内核,好了,废话不多说,马上进入主题。 下载内核源代码 我没有使用最新的内核源代码,用 阅读详情

相关推荐

在debian下编译、升级linux内核

本文的参考网站:http://kernel-handbook.alioth.debian.org/ 在分析linux内核源码的过程中,要是能够修改内核源码并运行修改后的内核,我想肯定是令人高兴的事,哪怕第一次修改仅仅是在启动时打印一行"Hello, Wang Jiankun!",肯定也是令我高兴的。为了能成功编译修改后的内核,今天先编译一遍内核。为了有一个完整的记录,今天的起点是一

jiankun_wang的专栏 3710

RK3568打包导出根文件系统rootfs

RK3568导出根文件系统映像文件,并且对映像文件大小进行缩小,之后生成整个烧写映像文件的过程

fhqlongteng的博客 7761

Debian内核安装

《Ubuntu14.04安装Linux头文件》和《Ubuntu14.04安装Linux源码》分别介绍了Ubuntu14.04中安装Linux头文件和源码的方法,这里进一步介绍安装Linux内核镜像的方法。

OneSea 7859

Rockchip | Rockchip Kernel的获取与构建

​ 1 下载Kernel 可以 github 克隆 rockchip 内核存储库,它是从基于 kernel 4.4: git clone https://github.com/rockchip-linux/kernel.git 2 支持的SoCs和Devices Rockchip kernel 4.4 支持: RK3036, RK3066, RK312X, RK3188, RK322X,RK3288,RK3328, RK3368,RK3399, PX30 3 内核配置与构建 在 Linux OS

Systemcall名屋 4763

Debian下的Linux内核

第七章 Debian下的Linux内核  ~~~~~~~~~~~~~  Debian运用自己的方式来编译内核及相关模块。参阅〖2.7 Debian和系统内核〗。  7.1 内核编译  ============  Debian unstable发行版中的gcc、binutils和modutils可用来编译最新的Linux内核。这方面的官方信息,参阅/usr/share/doc/kerenl-pack

3948

Debian 10.1升级内核

今天决定把Debian 10.1自带的4.19内核升级到5.2.14。 需要的工具 automake、make、g++(包含gcc)、bison、flex、libelf-dev、libssl-dev、bc。 懒人命令: sudo apt install -y automake make g++ bison flex libelf-dev libssl-dev bc 步骤 下载内核源码...

惠很好的 1万+

linux学习(1)——shell基础

1、磁盘浏览 1.1 进入根目录(存放linux安装后的文件) lenovo@lenovo-virtual-machine:~$ cd / lenovo@lenovo-virtual-machine:/$ ls bin dev initrd.img lib64 mnt run srv tmp vmlinuz boot etc initrd.img.old lost+found proc sbin swapfile usr vmlinu

Desperado376的博客 449

Debian 9 下载内核源码,手动编译安装,从4.9.0-9内核升级到5.1.0

参考链接: https://linuxhint.com/how-to-upgrade-kernel-of-debian-9-stretch-from-source/ https://blog.youkuaiyun.com/weixin_39465823/article/details/84138135 本文主要介绍:从下载内核源码到在Debian 9 stretch完成编译升级内核全过程 1.检查本机...

π的博客 5350

系统移植-(三)kernel内核源码的配置和编译过程

linux内核源码的配置和编译内核 -源码目录内核的配置(一)配置交叉编译工具链(二)README:解读内核配置过程(1)配置内核源码支持当前的硬件平台.config文件解读(2)make menuconfig:配置内核(3)编译内核生成:uImage(4)测试uImage:kernel顶层目录/arch/arm/boot/uImage 内核 -源码目录 1.在ubuntu的家目录下创建kern...

蒲公英的诗与远方 2249

Linux Kernel 之二 零基础构建流程、Image 介绍、Image 使用说明

Linux Kernel 的构建过程与 U-Boot 构建过程是一模一样的。因为 U-Boot 的构建就是采用的 Linux Kernel 的 Kconfig/Kbuild 构建系统。

技术干货 4841

基于Transformer和图卷积网络的时空人体运动预测网络

本文主要介绍了基于Transformer和图卷积网络的时空人体运动预测网络。首先,文章详细阐述了Transformer模型的原理和优点,指出其通过自注意力机制实现序列数据的建模和处理,能够捕捉长距离依赖关系。然后,文章介绍了图卷积网络的基本概念和应用场景,强调其通过邻居节点信息聚合实现空间特征的提取和融合。接着,文章详细设计了时空人体运动预测网络的总体架构,包括基于Transformer的时间特征提取模块、基于图卷积的空间特征融合模块以及时空特征联合预测模块。

babyai996的博客 1481

debian7编译linux内核以及内核安装

在Debian上编译linux内核,本质上 1. 准备系统环境 首先从官网下载 最新版的VirtualBox 和Debian Wheezy 7.3.0的32位网络安装版CD镜像文件( debian-7.3.0-i386-netinst.iso )。然后就可以载入光盘开始安装了,安装的时候有几点需要注意: 选择语言、地区的时候,最好选择English / Hong Kong,如果选

weicz的专栏 3356

蓝桥杯历年真题分类汇总(史上最全版本,一定不要错过)

天再高又怎样,踮起脚尖就更接近阳光。 满满的 题型总结​ 历年真题​ 视频讲解​ 比赛技巧 题型总结 2021 2020 2019 2018 2017 2016 2015 2014 2013 ...

m0_58367586的博客 11万+

Linux(debian)内核编译

Linux 的内核希望纳入更多的功能,或者更多的驱动,以便涵盖更多的硬件配置。所以,有的用户希望自行编译核心,按照自己的需求。原因之一是因为内存用量较小,核心代码,即使未用到,也占有内存的空间。

greathuaca的专栏 3768

Matlab实战:水声信号DEMON谱分析从入门到精通(附完整源码)

本文详细介绍了使用Matlab进行水声信号DEMON谱分析的完整流程,从基础理论到实战应用,涵盖信号预处理、包络提取、频谱分析等关键步骤,并附完整源码。特别针对水声通信中的低信噪比环境,提供了多种优化方案和性能提升技巧,帮助读者快速掌握这一水下目标检测的核心技术。

gamma的博客 296

[基于STM32底盘控制与ROS上层导航小车制作] 第一节 stm32电机驱动与编码器读取反馈

系列文章目录 第一节stm32电机驱动与编码器读取反馈 第二节 stm32电机pid控制 第三节 stm32线速度标定 第四节 stm32添加mpu6050得到angle角度 第五节 实现STM32与ubuntu系统下的ROS串口DMA通信,传输底盘速度等信息 第六节 ROS计算和发布里程计 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 系列文章目录 前言 1.pwm与电机正反转 2.编码器初始化 二、pwm控制与编码器使用 1.pwm使电机 .

LanLanLan1927的博客 1万+

debian 编译linux内核,Debian下的内核编译

如果你装了一台Linux的机器,自己没有重新编译内核,那这台机器的效率就大打折扣了,因为默认安装的机器会生成许多不需要的东西,在启动的时候也会比较慢,而你要用的有些东西可能不能工作,比如,现在都把IPV6放在里面,但我还不知道什么时候能用到IPV6呢,启动的时候老是找啊找的,心烦,而Fedora里面的PPP默认是不配置的,你上来用不了拨号怎么办?所以,在Linux下编译内核是一项必要的工作,好了,...

weixin_36489344的博客 2503

黑猫带你学UFS协议第12篇:UFS标志(Flags)和属性(Atrributes)详解

UFS中的标志其实就是一些开关,布尔型,非0即1,打开或者关闭。这些标志可以用来使能或者禁止UFS设备的一些功能、模式或者状态。 简单来说,flag和attribute、discriptor一样,都是ufs的寄存器罢了。只不过spec将这些寄存器分类了,分成这三种大的类型了而已。 标志可以被清除、复位、设置、触发、读。 主机也是通过设备管理器的Query Request UPIU来读取或者写标志。

黑猫奥利奥的博客 2083

debian如何把新编译的内核镜像替换原来的内核

本文介绍了在Debian系统上编译并更新Linux内核5.10.x版本的详细步骤。主要内容包括:安装必要软件包、获取内核源代码、配置内核选项、编译内核和模块、安装新内核以及更新引导配置。特别强调了需要root权限操作,并提供了验证方法和删除旧内核的可选步骤。文章还分享了实际遇到的问题——由于NVMe驱动未加载导致系统无法启动的解决方案,通过修改.config文件重新编译内核成功解决问题。整个过程需要注意磁盘空间和编译时间,建议保留旧内核作为备份。该指南也适用于其他Linux内核版本的更新,具有通用参考价值。

Android/Linux驱动开发传帮带学习,让驱动入门门槛更低! 1414

【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。

【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 475

Vite 任意文件读取漏洞复现(CVE-2026-39363)

Vite开发服务器 WebSocket中的fetchModule方法未实施server.fs访问控制,导致攻击者可通过WebSocket连接并读取服务器上的任意文件(CVE-2026-39363)

iSee857的博客 221

Debian下编译Linux内核

 一直以为Linux内核的编译是一件很复杂的事情,虽然有几次也实在是按捺不住冲动,要自己来编译一下试试,但是类似的几次尝试都是以失败而告终。在不久前,看到过一些关于Debian下编译内核的文章,说得很详细,而且似乎看起来也并不是很复杂的样子,于是决定自己编译一下内核,毕竟对于使用Linux的人来说没有自己编译过内核还真是一件叫人遗憾的事情。在这里记下的是自己编译2.6.19内核的方法,希望对于大家

2052

ENVI_基于无人机数据的果树提取与相对健康监测

一、数据处理 1.计算植被指数VDVI或GDVI:Band Math / Spectral Indices 2.制作掩膜:ROI——Threshold——Subset 二、单地块果树提取 1.绘制感兴趣区shp 2.确定果树提取参数:Count Crops 3.输出果树矢量文件:Convert Crops To Shapefile 4.果树相对健康程度分析:Calculate Crop Me...

提供技术服务、资源分享 429690771 1400

debian 编译linux内核源码,Debian 编译内核全过程[转]

Debian 编译内核全过程[转]Debian 编译内核全过程1、安装内核编译工具基本工具有:gcc,libc5-dev或libc6-dev,binutils,make,bin86,modutils,mawk或gawk,gzip,shellutils,grep,kernel-package,fakeroot如果要使用menuconfig进行配置的话,需要安装libncursesX.X-dev(如:...

weixin_33330157的博客 1531

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

安装debian总结以及编译linux内核

1. 安装debian 使用unetbootin(http://unetbootin.sourceforge.net/)来创建启动盘,并且下载debian的基本包。 将磁盘进行压缩操作,并且保留出一个主分区的位置。 然后,重新启动系统按F12,选择U盘启动,进行安装。 有几个需要注意的地方: 1). 事先在Windows系统中,通过“计算机->管理->磁盘管理”的工...

weixin_34032792的博客 1602

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

debian10 编译内核

操作指南 安装必要组件 apt install gcc libncurses5-dev dpkg-dev libssl-dev flex bison libelf-dev bc automake make g++ bison flex libelf-dev libssl-dev bc git clang cmake make gcc g++ libmariadbclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev libboost-a

q1009020096的博客 1970

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: Debian3.1sarge下载安装配置中文环境
下一篇: FreeBSD中/etc下的文件简介
nmdd
博客等级 码龄22年 3粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值