To be a janitor

来源:互联网 发布:淘宝经常出现的男模特 编辑:程序博客网 时间:2024/04/28 12:41

最近准备开始在业余时间做一些linux kernel的开发工作。kernel是一个很庞大的系统,而且在社区的开发需要与其他人协同工作,工作方式要符合社区的流程。社区有提供了https://kernelnewbies.org/,为准备开始hacking的工程师提供了详细的指导,新手可以参阅。


作为一个做开发工作的新手,首先应该打开左侧的链接https://kernelnewbies.org/KernelHacking,然后进入https://kernelnewbies.org/FirstKernelPatch,这个页面的内容详细的介绍了如何下载code,如何生成patch,如何发送patch,如何评审和修改。内容很多很详细,要仔细阅读。


下面我介绍一下我开始的步骤,以及中间遇到的一些问题和解决方法。


1,安装ubuntu。

我以前在我的windows中装了一个vmware station,然后运行了一个ubuntu,可以做一些工作,但很多时候,发现性能还是有问题,而且感觉在kernelnewbies里也是鼓励在物理机上直接运行ubuntu(We recommend running Linux natively. Most Linux kernel developers run Linux natively, so you may as well get used to it.:))。所以经过考虑,我还是在我的硬盘上开辟了150G空间,安装了一个ubuntu。


在网上找了一些介绍安装步骤的一些资料,基本就是如下步骤:

1)在windows磁盘管理开辟空间

2)在系统设置里取消快速启动

3)在BIOS里取消secure boot(我的是联想ideapad),设置为U盘启动优先启动

4)制作启动U盘(我开始的时候使用UltraISO,启动的时候提示缺少文件,后来我使用了ubuntu官方的工具和步骤,可以了。https://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows)

5)安装

6)重启

7)使用EasyBCD增加linux启动


结果发现EasyBCD提示我的系统是UEFI启动,不支持此模式下增加启动项,重新启动仍是直接进入windows。而且EasyBCD在打开的时候已经明确提醒了不支持UEFI模式,应该在使用前就看清楚。


现在的问题就是ubuntu的启动没有增加到UEFI的启动项里面,导致UEFI在启动的时候根本不知道有一个新系统的存在。我又找了一些资料了解了一下UEFI,以及UEFI模式下双系统的启动方法,发现在安装ubuntu的时候有一个错误。Ubuntu16已经支持UEFI模式了,所以在分区的时候,要把boot分区指定为UEFI分区,然后安装程序会安装grub2(支持UEFI),启动时bootloader就会发现两个UEFI的启动分区,一个windows,一个ubuntu,bootloader会提供菜单进行选择。 而且,进入advanced ubuntu,还可以指定启动的内核版本,如果你在调试4.11版本的内核,可以在编译完成后安装到boot分区,按后在启动时选择4.11进行调试。


2,安装工具,下载内核,配置,编译。


sudo apt-get install vim libncurses5-dev gcc make git exuberant-ctags libssl-dev
mkdir -p git/kernels; cd git/kernels
git clone -b staging-testing git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
cp /boot/config-`uname -r`* .config 
make olddefconfig
make
sudo make modules_install install 

参考:https://kernelnewbies.org/OutreachyfirstpatchSetup?action=show&redirect=OPWfirstpatchSetup

现在用qemu+kvm也很方便,而且可以调试ARM架构的kernel,我会在以后尝试编译和使用。


3,安装email客户端


kernel推荐使用mutt+esmtp,但我还是习惯GUI的client。目前,大多数email client都会对email的文本格式有所修改,这点不适用于kernel社区的开发。kernel代码里有一个文档讲了推荐的client, 我选择了evolution。 试了一下,可以发送纯文本的patch。



===========================================

diff --git a/backend/LepDClient.py b/backend/LepDClient.py
index 3e50b21..07e5f76 100644
--- a/backend/LepDClient.py
+++ b/backend/LepDClient.py
@@ -269,7 +269,7 @@ if( __name__ =='__main__' ):
     # df is now supported
 
     pp = pprint.PrettyPrinter(indent=2)
-    client = LepDClient('www.readeeper.com', config='debug')
+    client = LepDClient('localhost', config='debug')
============================================


4,申请加入maillist。


subscribe kernel-janitors

一开始准备使用QQ邮箱,使用web和firefox都返回格式有误。使用yahoo,hotmail,返回这两个邮箱社区都不接受。最后在手机上打开vpn,使用gmail申请成功。 但问题来了,gmail需要翻墙, 我找了一些ubuntu下翻墙的办法,但都没成功。最后我使用linuxep工作组的邮箱,使用evolution发送,成功。


------------------------------------------------------------------------

以下任务是接下来这几天需要准备的事儿,后续会更新过程和进展。(总之,先要认真的把https://kernelnewbies.org/FirstKernelPatch读几遍)

5,订阅outreachy-kernel mailing list

6,加入#kernel-outreachy

7,开始参与janitor和utreachy的任务

0 0
原创粉丝点击