当前位置:首页 > 公众号精选 > Linux阅码场
[导读]你怎么进入Linux开发的,为什么选择这个?

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

 

您一定会以为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”。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

双系统将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对双系统的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 双系统 Windows Linux

安装Linux操作系统并不复杂,下面是一个大致的步骤指南,以帮助您完成安装。1. 下载Linux发行版:首先,您需要从Linux发行版官方网站下载最新的ISO镜像文件。

关键字: Linux 操作系统 ISO镜像

计算机是由一堆硬件组成的,为了有限的控制这些硬件资源,于是就有了操作系统的产生,操作系统是软件子系统的一部分,是硬件基础上的第一层软件。

关键字: Linux 操作系统 计算机

2023年10月18日,中国在第三届“一带一路”国际合作高峰论坛期间发布《全球人工智能治理倡议》,围绕人工智能发展、安全、治理三方面系统阐述了人工智能治理中国方案。

关键字: 人工智能 大模型 代码

Linux操作系统是一套免费使用和自由传播的类Unix操作系统,通常被称为GNU/Linux。它是由林纳斯·托瓦兹在1991年首次发布的,并基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Lin...

关键字: Linux 操作系统

所谓进程间通信就是在不同进程之间传播或交换信息,它是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息;还可以让一个程序能够在同一时间里处理许多用户的需求。

关键字: Linux 进程通信 编程接口

串口通信作为一种最传统的通信方式,在工业自动化、通讯、控制等领域得到广泛使用。

关键字: Linux 串口通信 通讯

我们看到这么多的安全问题,部分原因在于我们对待安全的方式:安全性通常被认为是事后考虑的问题,是在开发结束时才添加到设备上的东西。然而,复杂的系统,尤其是嵌入式系统,有一个很大的攻击面,这让攻击者有机可乘,能够在“盔甲”上...

关键字: 代码 嵌入式系统 软件漏洞

2023年11月16日: MikroElektronika(MIKROE) ,作为一家通过提供基于成熟标准的创新式硬软件产品来大幅缩短开发时间的嵌入式解决方案公司,今天宣布推出一款基于单线设备的软硬件开源解决方案Cli...

关键字: 嵌入式 Linux 操作系统
关闭
关闭