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

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

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

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

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

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

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

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

    archlinuxcn 源里就有 linux-mainline

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

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

    没办法只能自己动手。

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