V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zuotun
V2EX  ›  Linux

什么情况下才会自己编译内核?

  •  1
     
  •   zuotun · 6 天前 · 3919 次点击
    自用 Arch 看着 6.12 都到 rc7 了还没发布我有点急了
    以前也尝试过编译,一路上的参数选项看的我都烦了所以不太想自己动手
    40 条回复    2024-11-20 11:15:35 +08:00
    NessajCN
        1
    NessajCN  
       6 天前 via Android   ❤️ 3
    自己拼的主板,用冷门架构的 u ,不光自己编内核还要自己 dtb 写驱动
    passive
        2
    passive  
       6 天前 via Android   ❤️ 1
    快二十年没再搞了。以前配置起来挺容易的,那时候没几个选项。只要知道自己用哪些硬件就能配个精简的内核。现在大概一个一个选项看回来需要花不少时间。
    LanhuaMa
        3
    LanhuaMa  
       6 天前
    Openwrt 这种嵌入式系统,自己编译自己需要用的软件包来精简大小。而且有很多 Kmod 如果不是在编译时就选好,后面是打不上的
    miscnote
        4
    miscnote  
       6 天前
    如果只是在 pc/server 上搞个 linux 系统,完全没必要编了,现在硬件与 20 年前不同,都是大内存、大硬盘时代,不必省那一点代码空间,很费事。当然,系统缺乏必要的驱动除外。
    qfly
        5
    qfly  
       6 天前 via Android
    gentoo 或者 特定开发板比如 arm 或者特定的处理器没现成的,需要裁剪移植,后者一般是用交叉编译
    qfly
        6
    qfly  
       6 天前 via Android
    Arch Linuxkernel 还是比较新的 6.11.7, kernel.org 最新 stable 的 11.月 14 才刚发布 6.11.8 还有你 用 rc 版本你不怕出问题啊
    zhanghua0
        7
    zhanghua0  
       6 天前 via Android
    不想自己动手的话我记得 aur 就有 rc 内核的打包脚本,按正常 aur 软件包那样安装就行。并且这样创建一个软件包再来安装也是最推荐的方式,因为可以用包管理器来管理这些文件,你如果直接 make install 的话就祈祷你记下来它改了些啥吧。
    如果你实在是想自己手动编译然后 make install 的话,我记得 Makefile 里面有用当前系统配置的 target ,或者直接复制稳定版的配置然后手动同步一下?
    zhanghua0
        8
    zhanghua0  
       6 天前 via Android
    @zhanghua0 https://aur.archlinux.org/pkgbase/linux-rc 这个就是 rc 内核在 aur 的地址
    hefish
        9
    hefish  
       6 天前
    6.12 有什么激动人心的改进吗?
    SiLenceControL
        10
    SiLenceControL  
       6 天前
    @NessajCN 这么屌
    PTLin
        11
    PTLin  
       6 天前   ❤️ 1
    不用选参数,直接用 zcat /proc/config.gz >> .config 就完事了。
    liaohongxing
        12
    liaohongxing  
       6 天前
    Arch 本来就滚动更新,Linux Kernel 官网主线才 6.12-rc7 ,已经最新了, 你自己编译能提前变正式版?
    villivateur
        13
    villivateur  
       6 天前
    我搞 ARM 嵌入式开发的,天天自己编译内核
    leonshaw
        14
    leonshaw  
       6 天前 via Android
    都用 Arch 了不会看 wiki ?
    byby
        15
    byby  
       6 天前
    嵌入式开发板
    410054336
        16
    410054336  
       6 天前
    调试的路上。
    lucifer9
        17
    lucifer9  
       6 天前
    一般如果自己需要的硬件驱动或者自己有 patch 暂时还没进主线
    那为了正常用肯定要自己编译内核了
    至于参数,楼上说的很多了。没有明确知道要设置的,那就是不用设置
    sir283
        18
    sir283  
       6 天前 via Android
    公司要做新产品,然后又需要用到 Linux ,就会要求重新编译内核,比如我现在做的 openharmony 移植,各种驱动都没有,只能自己去扒源码跑。
    valjean
        19
    valjean  
       6 天前
    @lucifer9

    我就是双 11 买的 X870 板子,装 linux 网卡不支持。😂
    等周末再试试看
    https://www.v2ex.com/t/1089606
    chingyat
        20
    chingyat  
       6 天前
    debug 的时候
    jqtmviyu
        21
    jqtmviyu  
       6 天前
    ARM 设备, 例如高通 cpu 的手机刷 linux, 路由器 openwrt, 安卓内核
    zuotun
        22
    zuotun  
    OP
       6 天前
    @miscnote #4 主要是提速,据说 zen 打游戏会高那么几帧

    @qfly #6 所以我还在 6.11 啊,另外出问题还可以切回旧内核,一路上其他折腾已经出过不少问题了

    @hefish #9 基本没有,6.13 倒是可能有 #19

    @jqtmviyu #21 是高通的都不支持吗?记得以前是有能插卡的高通笔记本的,不过 SIM 卡驱动好像又是一个大问题了
    lucifer9
        23
    lucifer9  
       6 天前
    @zuotun 要有针对性优化和追新的话,要不考虑下 https://github.com/CachyOS/linux-cachyos
    YouKnowIt
        24
    YouKnowIt  
       6 天前
    我以前研究 linux 内核漏洞的时候,会自己编译内核,还会去 debug 内核
    m1nm13
        25
    m1nm13  
       6 天前
    你把旧的 config 直接导入进去编译不就完了?哪需要自己点?再说你自己配的内核,进系统不直接黑屏就不错了

    之前测试内核的时候就把 ubuntu 的 config 直接导进最新内核里面编译.自己配的根本用不了
    valjean
        26
    valjean  
       6 天前
    @zuotun
    嗯,看样子得到 6.13 了,不过也是等不急,先自己鼓捣看看吧
    crackself
        27
    crackself  
       6 天前
    博通网卡安装 gentoo 和 LFS 编过,裁剪配置一次内核,后续升级一直受益
    ivvei
        28
    ivvei  
       6 天前
    装 Gentoo 的时候。
    colom
        29
    colom  
       6 天前
    当时编译实时内核,要加个补丁改点选项
    leon2023
        30
    leon2023  
       6 天前
    就编过 openwrt 的,大部分时候都用别人编译好的
    yanqiyu
        31
    yanqiyu  
       6 天前
    用灵车特性,然后炸了,然后找对应子系统开发者对线,他发我个 patch 让我把内核换掉之后跑起来把日志给他。如此反复定位问题
    aloxaf
        32
    aloxaf  
       6 天前
    你这是闭门用 Arch 么

    archlinuxcn 源里就有 linux-mainline

    就算你不用 cn 源,也可以用 ABS 重新打包: https://wiki.archlinux.org/title/Arch_build_system
    jim9606
        33
    jim9606  
       6 天前 via Android
    以前折腾 4M flash 刷 openwrt 就折腾过,因为不把驱动编到 kernel 里的话甚至没空间装 kmod 让我能挂 u 盘外部 rootfs 。
    说起来也是难受,linux 算是我碰过最容易编译的 C/C++大型项目了,其他 userland 的应用要么依赖死活找不到要么出看不懂的编译错误。
    0x5c0f
        34
    0x5c0f  
       6 天前
    装逼的时候或者自己需要的时候
    AlexHsu
        35
    AlexHsu  
       6 天前
    号称自己是纯国产的时候
    iflyime
        36
    iflyime  
       6 天前
    架构冷门,需要开启某些特性的时候。
    Richared
        37
    Richared  
       6 天前
    pc 没必要吧,路由器我都是自己编译,没别的,只为了只要自己需要的东西,不需要的通通删除掉。
    faywong8888
        38
    faywong8888  
       6 天前
    以前大学的时候,电脑性能很一般,新内核发布了第一时间去打 BFS( https://en.wikipedia.org/wiki/Brain_Fuck_Scheduler) 的 patch .
    liyafe1997
        39
    liyafe1997  
       5 天前
    目前维护着一个小米的骁龙 865/870 设备的内核: https://github.com/liyafe1997/kernel_xiaomi_sm8250_mod

    开始的原因是:小米魔改了高通电量计的驱动,写了个 bug ,在某些情况下会导致电量永远卡在 1%,已经找到问题点并且提交 bug 反馈了但小米就是不修,反馈石沉大海。

    没办法只能自己动手。

    这时开源/GPL 的魅力就体现出来了,就算厂商写垃圾代码写 bug ,按 GPL 要求必须开源,你也能自己修。
    edwardzcn98
        40
    edwardzcn98  
       1 天前
    openwrt ,模块化,为了精简。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3974 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 10:17 · PVG 18:17 · LAX 02:17 · JFK 05:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.