0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

高中生也能成为Linux内核龙芯架构的maintainer!

Linux阅码场 来源:Linux阅码场 作者:Linux阅码场 2021-06-29 09:02 次阅读

当您打开Linux内核源代码的maintainer文件,在里面搜索一个名字Jiaxun Yang,您会发现,他是内核多个模块的maintainer:

4a0c6fce-d873-11eb-9e57-12bb97331649.png

4a16eaa8-d873-11eb-9e57-12bb97331649.png

您一定会以为Linux内核龙芯架构的maintainer,是一位资深的年长工程师。可是,接下来Linux阅码场将向您揭晓的Jiaxun Yang的故事,可能会让您目瞪口呆。

本期采访对象:杨嘉勋,中国上海某高中应届毕业生,长居于中国杭州。

当Linux阅码场联系到嘉勋的时候,他正好走出高中校园,在完成自己的毕业旅行。

我们非常幸运地采访到了嘉勋,并希望通过分享嘉勋的Linux故事,激励更多优秀的人们积极投身操作系统的研发中来,收获技术的喜悦和人生的精彩。

1。 Linux阅码场:你是什么时候开始接触Linux(内核)的?

嘉勋:

接触Linux应该是小学四五年级的时候,当时沉迷于用虚拟机安装各种操作系统,偶然从网上了解到了Linux操作系统,对其开源开放的模式感到好奇,于是下载安装了Ubuntu。

后来越来越着迷,在理解了各种基本操作之后之后就把Linux安装到笔记本上作为日用操作系统,慢慢地积累了不少各种Linux知识。

后来初三的时候换了台联想的IdeaPad笔记本,当时遇到无线网卡无法使用的问题,研究了一段时间发现问题的根源出在内核rfkill组件。当时在不少论坛QQ群求解都无人能回答,就打算自己啃这个硬骨头,读起了ideapad-laptop ACPI驱动的代码。

当时我对C语言已经有基本的掌握,但大量不理解的名词与逻辑仍然是是拦路虎。差不多边读代码边搜索了一个月,慢慢理解了内核驱动的套路,做了一个patch并提交到upstream。

2. Linux阅码场:你怎么进入Linux开发的,为什么选择这个?

嘉勋:

之后因为偶然的机会搞到了一台龙芯的机器,想装Debian系统,发现主线内核对他的支持很差,于是就想着折腾折腾。这一折腾就深似海,一头钻进去出不来了。各种写驱动抓debug交patch。

后来也因为在社区的活动得到了在龙芯生态里的企业航天龙梦实习的机会,在师傅陈华才博士的带领下对Linux的理解深入了不少,一路继续玩下去了。至于为什么选择这个,我觉得是Linux选择了我~他有问题需要我去解决。我也不是只做Linux开发,平时也会参与一些其他的开源项目或者自己写点小玩意玩。

3。 Linux阅码场:你在内核领域,都做了哪些事情?

嘉勋:

X86各种平台驱动随机修点问题。MIPS这里也是随机修修补补,整理整理代码,写写驱动,龙芯3A4000 CPU和7A1000桥片在上游的bring up,龙芯KVM的开发和upstream。实习期间搞了龙芯7A1000的GPU驱动和3A4000的睿频机制,不过这样那样的原因实习期间的工作没能upstream。

4。 Linux阅码场:你做内核开发的成就感来自哪里?

嘉勋:

It works。别笑,单单是It works就能给我很大的成就感。我从小就对各种机械,各种工业产品很感兴趣,据说两三岁的时候看着空调外机的风扇转动就能发几小时呆。

我一直希望成为一个去解决各种问题,创造产品的工程师。内核可以说是软件和硬件的边界,我从内核俯视可以看到盘根错节的电路构建的硬件,仰望可以看到几代人层层抽象刻画的用户态软件,能为这对伟大的结晶构建桥梁共同完成整个计算机系统,我觉得很荣幸。

5. Linux阅码场:第一次提交patch的过程,对初学者有什么建议?

嘉勋:

因为我是Loongson64的Maintainer,遇到first patch的机会还是挺多的,最近遇到的比较多的问题是大家对于patch提交前检测的流程不是很清楚。除了基本的功能性测试以及老生常谈的checkpatch.pl之外有些子系统还会有额外的要求,比如涉及DeviceTree的make dt_binding_check。

建议大家在提交之前仔细阅读一下内核的文档部分,除了子系统要求之外里面对于邮件客户端的配置以及基本工作流程的介绍都还是很实用的。如果没有时间压力的话在提交第一个补丁之前翻阅一下子系统邮件列表的历史信件也有助于快速搞清楚“潜规则”,避开常见的坑。

6. Linux阅码场:未来有什么计划?

嘉勋:

继续上学,继续写代码玩电脑,如果以后能成为一个工程师参与一些激动人心的项目那再好不过了。

Linux阅码场随后在Linux内核源码中发现了嘉勋的许多patch,最早地可以追溯到2017年。

Linux阅码场无意分享任何励志故事,更无意烹饪任何心灵鸡汤,我们只是希望让更多的人们相信:“我能行”。我们同时也衷心地祝愿嘉勋同学在Linux这条路上越走越远,收获更多的“It works”。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1372

    浏览量

    40276
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209327
  • 龙芯
    +关注

    关注

    3

    文章

    340

    浏览量

    31244
  • 计算机系统
    +关注

    关注

    0

    文章

    282

    浏览量

    24105

原文标题:一名上海高中生是如何成长为Linux内核多个模块的maintainer的?

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于risc-v架构的芯片与linux系统兼容性讨论

    广泛而深厚的生态,大量优秀应用程序直接对接或者基于LINUX内核改进,以此提供更多服务。 RISC-V架构芯片与Linux系统的兼容性 指令集兼容性 :
    发表于 11-30 17:20

    迅为3A6000_7A2000开发板龙芯全国产处理器与龙芯 3A5000完全兼容

    证明了国内有能力在自研 CPU 架构上做出一流的产品。 龙芯 3A6000 处理器采用龙芯自主指令系统龙架构(LoongArch),是
    发表于 11-19 11:15

    龙芯的虚拟linux没有中文字库和输入法

    近日收到龙芯发来的linux虚拟系统的demo,里面没有中文字库和汉字输入法,语言更新更新不了,是不是还要自己重装虚拟linux系统?
    发表于 11-06 15:12

    迅为3A6000_7A2000核心主板龙芯全国产处理器LoongArch架构

    证明了国内有能力在自研 CPU 架构上做出一流的产品。 龙芯 3A6000 处理器采用龙芯自主指令系统龙架构(LoongArch),是
    发表于 10-12 11:25

    龙芯2K0300蜂鸟板试用】OpenHarmony代码

    收到龙芯2K0300蜂鸟开发板后,对开发板做了一些了解和研究,现将OpenHarmony代码提供给大家测试,希望大家能更多的认识龙芯2K0300蜂鸟开发板,下面先简单介绍一下这块开发板。 广东
    发表于 09-18 11:42

    第四章:对广东龙芯2K0300-蜂鸟板-v1.0视频教程我的感触

    LoongArch Linux内核的上游故事.mp425:02分钟62.13MB 文件大小 2022-10-30发表。其内容主讲第17届中国Linux内核开发者大会上陈华才(
    发表于 09-11 18:10

    龙芯2K0300蜂鸟板试用】龙芯2K0300蜂鸟开发板开发环境搭建

    设计,核心板尺寸为35mm×35mm。这种设计不仅实现了高度的集成化,而且为用户提供了丰富的可扩展性。系统支持U-Boot作为启动固件和Linux内核,同时适配了Buildroot、OpenWrt
    发表于 09-05 21:16

    深圳特信电子 单臂螺旋天线:为何它能成为无线通信领域的佼佼者

    深圳特信电子|单臂螺旋天线:为何它能成为无线通信领域的佼佼者
    的头像 发表于 09-05 09:05 395次阅读

    linux驱动程序如何加载进内核

    Linux系统中,驱动程序是内核与硬件设备之间的桥梁。它们允许内核与硬件设备进行通信,从而实现对硬件设备的控制和管理。 驱动程序的编写 驱动程序的编写是Linux驱动开发的基础。在编
    的头像 发表于 08-30 15:02 440次阅读

    Linux内核测试技术

    Linux 内核Linux操作系统的核心部分,负责管理硬件资源和提供系统调用接口。随着 Linux 内核的不断发展和更新,其复杂性和代码规
    的头像 发表于 08-13 13:42 482次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>测试技术

    欢创播报 华为宣布鸿蒙内核已超越Linux内核

    1 华为宣布鸿蒙内核已超越Linux内核   6月21日,在华为开发者大会上, HarmonyOS NEXT(鸿蒙NEXT)——真正独立于安卓和iOS的鸿蒙操作系统,正式登场。这是HarmonyOS
    的头像 发表于 06-27 11:30 826次阅读

    龙芯CPU统一系统架构规范及参考设计下载

    *附件:LoongArch 系统调用(syscall)ABI.pdf *附件:龙芯 CPU 统一系统架构规范(适用于 LA 架构通用 PC、服务器系列)-v4.1.0.pdf *附件:龙芯
    发表于 06-20 14:42

    龙芯2K0300蜂鸟板支持OpenHarmony 4.0 Release版本操作系统

    接口和一个40Pin的扩展接口,可以提供丰富且强大的外设控制能力。 龙芯2K0300蜂鸟板在软件方面采用uBoot启动界面和Linux内核,适配了Buildroot、OpenWrt
    发表于 06-20 10:02

    rk3399移植Linux内核

    Linux内核移植到RK3399上。 首先,我们需要了解RK3399的硬件架构和特性。RK3399采用的是ARM架构,具有双核Cortex-A72和四核Cortex-A53处理器,支持
    的头像 发表于 01-08 09:56 1123次阅读

    Linux内核内存管理架构解析

    内存管理子系统可能是linux内核中最为复杂的一个子系统,其支持的功能需求众多,如页面映射、页面分配、页面回收、页面交换、冷热页面、紧急页面、页面碎片管理、页面缓存、页面统计等,而且对性能也有很高
    的头像 发表于 01-04 09:24 653次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>内存管理<b class='flag-5'>架构</b>解析