This commit is contained in:
geekpi 2013-11-26 01:21:26 +00:00
commit cb05eb0b5c
5 changed files with 366 additions and 14 deletions

View File

@ -1,26 +1,27 @@
向女士延伸项目为Linux内核寻找新的女性实习生 Linux编程女神计划招募新的内核级MM实习生
=== =====
这个夏季作为[FOSS针对女性的延伸项目][1]的一部分,在Linux基金会工作的实习生们背景不同,水平也高低不等,但是她们至少有一件事情是相同的(除去性别之外),就是她们可以在自己的履历中添加一项“Linux内核工作者”。
作为[FOSS的Linux编程女神计划Outreach Program for Women][1]的一部分这个夏季在Linux基金会工作的实习生们背景不同水平也高低不等但是她们至少有一件事情是相同的除去性别之外就是她们可以在自己的履历中添加一项“Linux内核黑客”。译注Outreach Program for WomenOPW此处译作“Linux编程女神计划”带有调侃意味Just joke没有恶意。
![](http://www.linux.com/images/stories/41373/OPW-kernel-contributions-9.jpg) ![](http://www.linux.com/images/stories/41373/OPW-kernel-contributions-9.jpg)
*针对女性的延伸项目在对Linux内核3.12的贡献已经名列前茅。来源LWN.net* *针对女性的招募项目在对Linux内核3.12的贡献已经名列前茅。来源LWN.net*
在Linux基金会资助的第一批每人5000美元薪水的申请人中Lisa Nguyen, Xenia Ragiadakou, Elena Ufimtseva, Laura Vasilescu 和Tulin Izer是41申请者中的7名女性女性获得者。她们与Intel、Oracle和Citrix的内核开发者一起全职工作了三个月处理包括x86启动进程和XNUMA拓扑等项目。她们还利用500美元的旅行奖学金,出席在新奥尔良或者爱丁堡举行的LinuxCon会议并做了演讲。 在Linux基金会资助的第一批每人5000美元酬金的申请人中Lisa Nguyen, Xenia Ragiadakou, Elena Ufimtseva, Laura Vasilescu 和Tulin Izer是41申请者中的7名女性女性获得者。她们与Intel、Oracle和Citrix的内核开发者一起全职工作了三个月处理包括x86启动进程和XNUMA拓扑等项目。她们还利用500美元的旅行奖学金,出席了在新奥尔良或者爱丁堡举行的LinuxCon会议并做了演讲。
“我要说能有我这样的机会并不多哦在LinuxCon北美会议上做志愿者在LinuxCon北美会议上发表演讲而且与Linux Torvalds交流了三天”Nguyen说她是一个Linux内核实习生与Orcale的Konrad Rzeszutek Wilk一起解决Xen block 驱动问题。 “我要说能有我这样的机会并不多哦在LinuxCon北美会议上做志愿者在LinuxCon北美会议上发表演讲而且与Linux Torvalds交流了三天”Nguyen说她是一个Linux内核实习生与Orcale的Konrad Rzeszutek Wilk一起解决Xen block 驱动问题。
除了学习如何创建和提交内核补丁这些实习生们通过结交新朋友和同事克服了她们的恐惧心理为Linux内核的发展作出了显的贡献。 除了学习如何创建和提交内核补丁这些实习生们通过结交新朋友和同事克服了她们的恐惧心理为Linux内核的发展作出了显的贡献。
“我不再害怕碰内核代码了”Izer这样说道她和来自Intel的Peter P. Waskiewicz Jr.一起工作解决x86的启动进程并行化问题。“这是我第一次对开源项目作出贡献我以此为自豪。我将接着做下去”。 “我不再害怕碰内核代码了”Izer这样说道她和来自Intel的Peter P. Waskiewicz Jr.一起工作解决x86的启动进程并行化问题。“这是我第一次对开源项目作出贡献我以此为自豪。我将接着做下去”。
###内核贡献着排行榜 ###内核贡献着排行榜
据[LWN 8月内核报告][2]作为一个组织OPW被列为对Linux3.11内核的主要贡献者之一提交了230个变更总体位于第13位。其中实习生Xenia Ragiadakou给3.11内核贡献了100个补丁在最活跃的开发者中位列前10 据[LWN 8月内核报告][2]作为一个组织OPW被列为对Linux3.11内核的主要贡献者之一提交了230个变更总体位于第13位。其中实习生Xenia Ragiadakou给3.11内核贡献了100个补丁在最活跃的开发者中位列前10
“我的主要工作就是添加追踪事件然后写trace-cmd插件以便于人们阅读的格式分析这些痕迹以方便xhci(驱动)找出问题。” ”Ragiadakou说她和Intel的内核开发者Sarah Sharp一起做这项工作。“我学习了如何使用git如何使用静态代码分析工具以及如何发送补丁如何查看debug日志usb子系统是如何组成的xhci驱动又是如何实现的。” “我的主要工作就是添加追踪事件然后写trace-cmd插件以便于人们阅读的格式分析这些痕迹以方便xhci(驱动)找出问题。” ”Ragiadakou说她和Intel的内核开发者Sarah Sharp一起做这项工作。“我学习了如何使用git如何使用静态代码分析工具以及如何发送补丁如何查看debug日志usb子系统是如何组成的xhci驱动又是如何实现的。”
据[LWN 10月分析报告][3]在内核3.12上OPW再次排在了贡献最大的团队或公司之中这次是排行第11行有19649行代码的改动。那代表了在过去最新的一次开发周期中接近2.7%的改动量。 据[LWN 10月分析报告][3]在内核3.12上OPW再次排在了贡献最大的团队或公司之中这次是排行第11行有19649行代码的改动。那代表了在过去最新的一次开发周期中接近2.7%的改动量。
在她们的实习计划在9月份结束时她们中的大多数仍然持续做该项目并打算继续做下去。 在她们的实习计划在9月份结束时她们中的大多数仍然持续做该项目并打算继续做下去。
@ -28,7 +29,7 @@
“我甚至需要学习如何才能停下来。有时候好吧是常常我无法停下来”Ufimtseva说她和Citrix的Stefano Stabellini、Dario Fargiolli、George Dunlap一起工作以解决针对与工作在xen上的并行虚拟机的vNUMA拓扑问题。“我一直努力最终我贡献的补丁被提交到了高质量代码库里这真的是很鼓舞人心哇 “我甚至需要学习如何才能停下来。有时候好吧是常常我无法停下来”Ufimtseva说她和Citrix的Stefano Stabellini、Dario Fargiolli、George Dunlap一起工作以解决针对与工作在xen上的并行虚拟机的vNUMA拓扑问题。“我一直努力最终我贡献的补丁被提交到了高质量代码库里这真的是很鼓舞人心哇
下一轮Liux内核实习生的截止日期是11月。申请者应有c或c++的基本知识,布尔代数,对Linux/Unix操作系统有一定的经验了解Git更好不过不是硬性要求。想了解有关项目以及如何申请的更详细信息可浏览[ Kernel Newbies上的OPW 页面][4]。 下一轮Linux内核实习生的截止日期是11月。申请者应有c或c++和布尔代数的基本知识对Linux/Unix操作系统有一定的经验了解Git更好不过不是硬性要求。想了解有关项目以及如何申请的更详细信息,可浏览[ Kernel Newbies上的OPW 页面][4]。
###Lisa Nguyen ###Lisa Nguyen
@ -40,7 +41,7 @@
**你为什么申请同OPW一起为Linux内核工作** **你为什么申请同OPW一起为Linux内核工作**
我想要一个挑战,想要跳离自己的舒服区域。我要给自己一个软件开发的机会因为过去我一直面临自信心问题。一天我决定要寻求一个有关Linux的职业来而不是数字分析工作。当我看到OPW项目出现在Linux基金会在Google+上的博文时,我觉得这是一个再合适不过的机会咯,于是,我想“我为什么不去尝试一下呢?” 我想要一个挑战,想要跳离自己的小窝。我要给自己一个软件开发的机会因为过去我一直面临自信心问题。一天我决定要寻求一个有关Linux的职业来而不是数字分析工作。当我看到OPW项目出现在Linux基金会在Google+上的博文时,我觉得这是一个再合适不过的机会咯,于是,我想“我为什么不去尝试一下呢?”
###Elena Ufimtseva ###Elena Ufimtseva
@ -52,7 +53,7 @@
**你为什么申请同OPW一起为Linux内核工作** **你为什么申请同OPW一起为Linux内核工作**
我觉得我需要在低层创建软件例如系统软件而不是用java。我有一种感觉我能应对复杂的问题并解决他们。我经常阅读最新的Linux新闻我觉得最吸引我注意的是Greg在一年前在Google做的关于Linux内核开发着社区以及补丁递交程序等的报告。我觉得“哇,这好好玩哇!” 我觉得我想在底层开发软件例如系统软件而不是用java。我有一种感觉我能应对复杂的问题并解决他们。我经常阅读最新的Linux新闻我觉得最吸引我注意的是Greg在一年前在Google做的“关于Linux内核开发者社区以及补丁递交程序”等的报告。我觉得“哇,这好好玩哇!”
### Laura Vasilescu ### ### Laura Vasilescu ###
@ -60,7 +61,7 @@
**Laura Vasilescu 和 Carolyn Wyborny以及Anjali Singhai共同去解决igb驱动的ethtool属性。** **Laura Vasilescu 和 Carolyn Wyborny以及Anjali Singhai共同去解决igb驱动的ethtool属性。**
我认为自己就是一个极客,我对改善教育系统(尤其是罗马尼亚的)有着非常浓厚的兴趣。作为一名学生,我志愿做我所在大学的教师助理,还是罗马尼亚开源教育协会的成员。我的技术专长是网络,操作系统和低级编程语言。 我认为自己就是一个极客,我对改善教育系统(尤其是罗马尼亚的)有着非常浓厚的兴趣。作为一名学生,我志愿做我所在大学的教师助理,还是罗马尼亚开源教育协会的成员。我的技术专长是网络,操作系统和底层编程语言。
**你为什么申请同OPW一起为Linux内核工作** **你为什么申请同OPW一起为Linux内核工作**
@ -72,7 +73,7 @@
**Tulin Izer和来自Intel的Peter Waskiewicz一起去解决x86系统的启动进成并行化问题。** **Tulin Izer和来自Intel的Peter Waskiewicz一起去解决x86系统的启动进成并行化问题。**
我来自土耳其。我是一名来自于伊斯坦布尔的Galatasaray大学的计算机工程专业的学生。今年我大四。 我来自土耳其。我是一名来自于伊斯坦布尔的Galatasaray大学的计算机工程专业的学生。今年我大四。
**为什么你申请同OPW一起为Linux内核工作** **为什么你申请同OPW一起为Linux内核工作**
@ -86,11 +87,15 @@
想加入开源项目的想法已经在我的脑海中存在很久了但我一直认为我还没有足够的能力加入开源项目中去。这次有三个因素促使我去申请。1OPW针对女性这一目标是我感到更加舒坦。2有Linux核心方面的项目。3被引入Linux内核的开发过程非常平顺会在应用开发的早期加入进去。 想加入开源项目的想法已经在我的脑海中存在很久了但我一直认为我还没有足够的能力加入开源项目中去。这次有三个因素促使我去申请。1OPW针对女性这一目标是我感到更加舒坦。2有Linux核心方面的项目。3被引入Linux内核的开发过程非常平顺会在应用开发的早期加入进去。
作者:[Libby Clark][5]
![img](http://www.linux.com/component/ninjaboard/avatar/41373/catid/200-libby-clark/thumbnail/large/cache/1331753338)
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
via: http://www.linux.com/news/featured-blogs/200-libby-clark/746687-outreach-program-for-women-seeks-new-linux-kernel-interns/ via: http://www.linux.com/news/featured-blogs/200-libby-clark/746687-outreach-program-for-women-seeks-new-linux-kernel-interns/
译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasmiepeng](https://github.com/jasminepeng) 译者:[Linux-pdz](https://github.com/Linux-pdz) 校对:[jasmiepeng](https://github.com/jasminepeng),[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
@ -98,3 +103,4 @@ via: http://www.linux.com/news/featured-blogs/200-libby-clark/746687-outreach-pr
[2]:http://lwn.net/Articles/563977/ [2]:http://lwn.net/Articles/563977/
[3]:http://lwn.net/Articles/570483/ [3]:http://lwn.net/Articles/570483/
[4]:http://kernelnewbies.org/OPWIntro [4]:http://kernelnewbies.org/OPWIntro
[5]:http://www.linux.com/community/forums/person/41373/catid/200-libby-clark

View File

@ -0,0 +1,22 @@
GCC 4.9 Is Now In Bug-Fixes-Only Stage 3 Mode
================================================================================
[GCC 4.9][1] with [its many new features][2] is aiming for a release in the first half of 2014. As of this morning the GCC code-base will not accept new features as it's under a big-fixing-only flag.
Richard Biener announced this morning that trunk is now in stage three, so that after eight months of allowing features into GCC for the 4.9 release, nothing new will be permitted unless an exception is granted by the release managers. Stage 3 allows for general bug-fixing work to be completed while in about two months it will go into the Stage 4 mode of only allowing documentation and regression fixes.
At the moment there are 63 P1 regressions (the most severe regression) for GCC 4.9 followed by 136 P2 regressions, 14 P3 regressions, 88 P4 regressions, and 60 P5 regressions. Not until the 63 regressions of the P1 state have been zeroed out will GCC 4.9 move closer to being released. The GCC 4.9.0 release will likely come some time around Q2'2014.
This morning's GCC 4.9.0 status report can be found on the [GCC mailing list][3]. GCC 4.9 will be a very nice compiler update and competition to next month's release of [LLVM 3.4][4].
--------------------------------------------------------------------------------
via: http://www.phoronix.com/scan.php?page=news_item&px=MTUyMjk
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.phoronix.com/scan.php?page=search&q=GCC+4.9
[2]:http://www.phoronix.com/scan.php?page=news_item&px=MTUxNzQ
[3]:http://gcc.gnu.org/ml/gcc/2013-11/msg00435.html
[4]:http://www.phoronix.com/scan.php?page=search&q=LLVM+3.4

View File

@ -0,0 +1,72 @@
How to convert video to animated gif image on Linux
================================================================================
Once thought of as outdated art forms, animated GIF images have now come back. If you haven't noticed, quite a few online sharing and social networking sites are now supporting animated GIF images, for example, on [Tumblr][1], [Flickr][2], [Google+][3], and [partly on Facebook][4]. Due to their ease of consumption and sharing, GIF-ed animations are now part of mainstream Internet culture.
So some of you may wonder how you can create such animated GIF images. There are various online or offline tools dedicated to create animated GIF images. Another option is to create an animated GIF image off of an existing video clip. In this tutorial, I will describe **how to convert a video file to an animated GIF image on Linux**.
As a more useful example, let me demonstrate how to **convert a YouTube video to an animated GIF image**.
### Step 1: Download a YouTube Video ###
First, download a YouTube video that you would like to convert. You can use [youtube-dl][5] tool to save a YouTube video as an MP3 file. Suppose you saved your favorite YouTube video as "funny.mp3".
### Step 2: Extract Video Frames from a Video ###
Next, [install FFmpeg][5] on your Linux system, which I will use to extract video frames from the video.
The following command will extract individual video frames, and save them as GIF images. Make sure to use the output file format ("out%04d.gif") as is. That way, individual frames will be named and saved properly.
ffmpeg -t <duration> -ss <starting position in hh:mm:ss format> -i <input_video> out%04d.gif
For example, if you want to extract the video frames of input video, for 5 seconds, starting at 10 seconds from the beginning, run the following command.
$ ffmpeg -t 5 -ss 00:00:10 -i funny.mp4 out%04d.gif
After FFmpeg is completed, you will see a list of GIF files created, which are named as "out[\d+].gif".
### Step 3: Merge Video Frames into an Animated GIF ###
The next step is to merge individual GIF files into one animated GIF image. For that, you can use ImageMagick.
First, [install ImageMagick][7] on your Linux system if you haven't done so.
Then, run the following command to merge created GIF images into a single animated GIF file.
convert -delay <ticks>x<ticks-per-second> -loop 0 out*gif <output-gif-file>
In the command, "-delay" is an option that controls the animation speed. This option indicates that [ticks/ticks-per-second] seconds must elapse before the display of the next frame. The "-loop 0" option indicates infinite loops of animation. If you want, you can specify "-loop N", in which case the animation will repeat itself N times.
For example, to create an animated GIF image with 20 frames-per-second and infinite loop, use the following command.
$ convert -delay 1x20 -loop 0 out*.gif animation.gif
### Step 4 (Optional): Reduce the Size of an Animated GIF ###
The last (optional) step is to reduce the size of the created GIF file, by using ImageMagick's GIF optimizer.
Use the following command to reduce the GIF size.
convert -layers Optimize animation.gif animation_small.gif
Now you are ready to share the GIF image on your social networks. The following shows a sample GIF image that I created from a cute YouTube video.
Enjoy. :-)
[![](http://farm8.staticflickr.com/7372/10988763123_4e89a18085_o.gif)][8]
--------------------------------------------------------------------------------
via: http://xmodulo.com/2013/11/convert-video-animated-gif-image-linux.html
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://staff.tumblr.com/post/15623140287/1mb-gifs
[2]:http://www.flickr.com/photos/markus-weldon-imagebank/4439159924/sizes/o/in/photostream/
[3]:https://plus.google.com/communities/110524851358723545415
[4]:http://mashable.com/2013/08/29/gifs-return-to-facebook/
[5]:http://xmodulo.com/2013/03/how-to-save-youtube-videos-on-linux.html
[6]:http://xmodulo.com/2013/06/how-to-install-ffmpeg-on-linux.html
[7]:http://ask.xmodulo.com/install-imagemagick-linux.html
[8]:http://www.flickr.com/photos/xmodulo/10988763123/

View File

@ -0,0 +1,125 @@
22 The Linux Kernel: Configuring the Kernel Part 18
================================================================================
![](http://www.linux.org/attachments/slide-jpg.616/)
Aloha! Ready for the next article? In this article, we will discuss the auxiliary-screen. The auxiliary displays are small LCD screens; most are equal to or less than 128x64. Then, we will discuss Userspace IO drivers, some virtual drivers, Hyper-V, staging drivers, IOMMU, and other kernel features.
The first driver to configure for the auxiliary display is the "KS0108 LCD Controller" driver. The KS0108 LCD Controller is a graphics controller made by Samsung.
Next, the parallel port address for the LCD can be set (Parallel port where the LCD is connected). The first port address is 0x378, the next is 0x278 and the third is 0x3BC. These are not the only choices of addresses. The majority of people will not need to change this. The shell command "cat /proc/ioports" will list the available parallel ports and the addresses.
The kernel developer can set the writing delay of the KS0108 LCD Controller to the parallel port (Delay between each control writing (microseconds)). The default value is almost always correct, so this typically does not need to be changed.
The "CFAG12864B LCD" screen is a 128x64, two-color LCD screen. This screen relies on the KS0108 LCD Controller.
The refresh rate of these LCD screens can be changed (Refresh rate (hertz)). Generally, a higher refresh rate causes more CPU activity. This means slower systems will need a smaller refresh rate.
After the auxiliary displays are configured, the "Userspace I/O drivers" are then set. The userspace system allows the user's applications and processes to access kernel interrupts and memory addresses. With this enabled, some drivers will be placed in the userspace.
The "generic Hilscher CIF Card driver" is a userspace driver for Profibus cards and Hilscher CIF Cards.
The "Userspace I/O platform driver" creates a general system for drivers to be in the userspace.
The next driver is the same as above, but adds IRQ handling (Userspace I/O platform driver with generic IRQ handling).
The following driver is again like the one before, but with dynamic memory abilities added (Userspace platform driver with generic irq and dynamic memory).
Next, some vendor/device specific drivers are available.
Then, there is a generic PCI/PCIe card driver (Generic driver for PCI 2.3 and PCI Express cards).
The following driver is for "VFIO support for PCI devices". VFIO stands for Virtual Function Input/Output. VFIO allows devices to directly access userspace in a secure fashion.
The "VFIO PCI support for VGA devices" allows VGA to be supported by PCI through VFIO.
Next, are virtio drivers. Virtio is a IO virtualization platform. This virtual software is for operating system virtualization. This is required for running an operating system in a virtual machine on the Linux system.
The first virtio driver we can configure is the "PCI driver for virtio devices". This allows virtual access to PCI.
The "Virtio balloon driver" allows the memory owned by a virtual system to be expanded or decreased as needed. Generally, no one wants a virtual system to reserve memory it may never use when the host operating system needs the memory.
The following driver supports memory mapped virtio devices (Platform bus driver for memory mapped virtio devices).
If the Linux kernel being configured is intended to run on a Microsoft Hyper-V system, then enable this driver (Microsoft Hyper-V client drivers). This would allow Linux to be the guest/client system on Hyper-V.
![](http://www.linux.org/attachments/kernel_18-png.617/)
Next, we have the staging drivers. These are drivers that are under development, may change soon, or are not up to the standard quality for the Linux kernel. The only group of drivers in this category (in this kernel version 3.9.4) are the Android drivers. Yes, Android uses the Linux kernel which would make Android a Linux system. However, this is still debated. If the kernel is intended for Android, then it may be wise to enable all of the drivers.
The "Android Binder IPC Driver" provides support for Binder which is a system that allows processes to communicate with each other on Android systems.
The ashmem driver can be enabled next (Enable the Anonymous Shared Memory Subsystem). Ashmem stands for "Anonymous SHared MEMory" or "Android SHared MEMory". This supports a file-based memory system for userspace.
The "Android log driver" offers the complete Android logging system.
The "Timed output class driver" and "Android timed gpio driver" allow the Android system to manipulate GPIO pins and undo the manipulations after the timeout.
The "Android Low Memory Killer" closes processes when more memory is needed. This feature kills the tasks that are not used or inactive.
The "Android alarm driver" makes the kernel wakeup at set intervals.
After the staging drivers are configured, the next set of drivers are for the X86 platform. These drivers are vendor/device specific for X86 (32-bit) hardware.
The next driver is for "Mailbox Hardware Support". This framework controls mailbox queues and interrupt signals for hardware mailbox systems.
"IOMMU Hardware Support" links the memory to devices that are able to use DMA. IOMMU enhances DMA. The IOMMU maps addresses and blocks faulty devices from accessing the memory. IOMMU also allows hardware to access more memory than it could without IOMMU.
The "AMD IOMMU support" driver offers better IOMMU support for AMD devices.
Debugging abilities exist for the AMD IOMMU support (Export AMD IOMMU statistics to debugfs).
A newer version of the IOMMU driver exists for AMD hardware (AMD IOMMU Version 2 driver).
The Linux kernel also provides an IOMMU driver specifically for Intel devices (Support for Intel IOMMU using DMA Remapping Devices).
Some devices may be able to accept a variety of voltages and clock frequencies. This driver allows the operating system to control the device's voltage output and clock rate (Generic Dynamic Voltage and Frequency Scaling (DVFS) support). With this driver enabled, other kernel features can be enabled for power/performance management as seen below.
"Simple Ondemand" is like above, but specifically changes the clock rate based on the device's activity. Generally, more activity means the device needs a faster clock speed to accommodate for the larger resource demand.
"Performance" allows the system to set the clock speed to the maximum supported amount for best performance. This increases power consumption.
"Powersave" sets the clock rate to the lowest value to save power.
"Userspace" allows the userspace to set the clock speed.
"External Connector Class (extcon) support" provides the userspace with a way to watch external connectors like USB and AC ports. This allows applications to know if a cable was plugged into a port. Users will almost always want this enabled. If anyone has purposely disabled this for a legitimate reason, please share with us why that would be needed.
The "GPIO extcon support" driver is just like the above driver, but is made specifically for GPIO pins.
Next, there is a list of various vendor/device specific controllers for memory (Memory Controller drivers). Memory chip controllers may be separate devices or built inside the memory chips. These controllers manage the incoming and outgoing data flow.
The "Industrial I/O support" driver provides a standard interface for sensors despite the bus type they are on (that is, PCIe, spi, GPIO, etc.). IIO is a common abbreviation for Industrial Input/Output.
The Linux kernel offers support for a large variety of accelerometers, amplifiers, analog to digital converters, inertial measurement units, light sensors, magnetometer sensors, and many other sensors and converters.
The "Intel Non-Transparent Bridge support" driver supports PCIe hardware bridges which connect to systems. All writes to mapped memory will be mirrored on both systems.
"VME bridge support" is the same as above except the bridge uses VME which is a different bus standard.
"Pulse-Width Modulation (PWM) Support" controls the back-light and fan speed by regulating the average power received by such devices.
"IndustryPack bus support" offers drivers for the IndustryPack bus standards.
In the next article, we will configure the firmware drivers. Mahalo!
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-18.4896/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:
[2]:
[3]:
[4]:
[5]:
[6]:
[7]:
[8]:
[9]:
[10]:
[11]:
[12]:

View File

@ -0,0 +1,127 @@
23 The Linux Kernel: Configuring the Kernel Part 19
================================================================================
![](http://www.linux.org/attachments/slide-jpg.626/)
Aloha and welcome to the next article of the Linux kernel series! We are getting closer to the end of the configuration process. In this article, we will discuss firmware drivers and then the filesystem drivers.
The first driver in this category is for finding the boot-disk (BIOS Enhanced Disk Drive calls determine boot disk). Sometimes, Linux does not know which drive is the bootable drive. This driver allows the kernel to ask the BIOS. Linux then stores the information on sysfs. Linux needs to know this for setting up bootloaders.
Even if BIOS EDD services are compiled in the kernel, this option can set such services to be inactive by default (Sets default behavior for EDD detection to off ). EDD stands for Enhanced Disk Drive.
When using kexec to load a different kernel, performance can be increased by having the firmware provide a memory map (Add firmware-provided memory map to sysfs).
The "Dell Systems Management Base Driver" gives the Linux kernel better control of the Dell hardware via the sysfs interface.
The hardware's information can be accessed by the software via /sys/class/dmi/id/ with this driver enabled (Export DMI identification via sysfs to userspace). DMI stands for Desktop Management Interface. The DMI manages the components of the hardware and can access the hardware's data. The structure of the data in the BIOS and hardware is regulated by the System Management BIOS (SMBIOS) specification.
The raw data tables from the DMI can be accessed with this driver (DMI table support in sysfs).
To boot from an iSCSI driver, enable this driver (iSCSI Boot Firmware Table Attributes).
The last firmware driver is a set of "Google Firmware Drivers". These are drivers for Google-specific hardware. Do not enable this driver unless you work for Google and need to use Linux on such hardware or if you are making a Linux kernel for a computer you stole from Google.
Next, we can configure the file system support of the kernel.
The "Second extended fs support" driver provides the EXT2 filesystem. [http://www.linux.org/threads/ext-file-system.4365/][1]
![](http://www.linux.org/attachments/kernel_19-png.627/)
The "Ext2 extended attributes" offers the ability to use extra metadata not natively supported by the filesystem.
The "Ext2 POSIX Access Control Lists" driver adds additional permission schemes not native to EXT2.
The "Ext2 Security Labels" enhances the security provided by SElinux.
Enabling "Ext2 execute in place support" allows executables to be executed in the current location without being executed using the paged cache.
The EXT3 filesystem is offered by this driver (Ext3 journaling file system support). [http://www.linux.org/threads/ext-file-system.4365/][2]
The "Default to 'data=ordered' in ext3" driver sets the data ordering mode to "Ordered". This deals with the way the journaling and writing work. Data ordering is explained in this article - [http://www.linux.org/threads/journal-file-system.4136/][3]
The "Ext3 extended attributes" offers the ability to use extra metadata not natively supported by the filesystem. Again, the following EXT3 drivers/features are the same as for EXT2 - "Ext3 POSIX Access Control Lists" and "Ext3 Security Labels". Also, the same is true for the following EXT4 drivers/features - "Ext4 POSIX Access Control Lists", "Ext4 Security Labels", and "EXT4 debugging support".
Journal Block Device debugging is supported by EXT3 (JBD debugging support) and EXT4 (JBD2 debugging support).
The next driver offers the Reiser filesystem (Reiserfs support). [http://www.linux.org/threads/reiser-file-system-reiser3-and-reiser4.4403/][4]
Debugging exists for the Reiser filesystem (Enable reiserfs debug mode).
The kernel can store ReiserFS statistics in /proc/fs/reiserfs (Stats in /proc/fs/reiserfs).
The following Reiser drivers/features are the same as the ones for EXT2/3/4 - "ReiserFS extended attributes", "ReiserFS POSIX Access Control Lists", and "ReiserFS Security Labels".
JFS is also supported by the Linux kernel and includes various features - "JFS filesystem support", "JFS POSIX Access Control Lists", "JFS Security Labels", "JFS debugging", and "JFS statistics". [http://www.linux.org/threads/journaled-file-system-jfs.4404/][5]
Again, XFS is supported with drivers/features that can be enabled - "XFS filesystem support", "XFS Quota support", "XFS POSIX ACL support", "XFS Realtime subvolume support", and "XFS Debugging support". [http://www.linux.org/threads/xfs-file-system.4364/][6]
The Global FileSystem 2 is supported by the Linux kernel (GFS2 file system support). This filesystem is used to share storage in a cluster.
The "GFS2 DLM locking" driver offers a distributed lock manager (DLM) for GFS2.
The Oracle Cluster FileSystem 2 is supported by the Linux kernel (OCFS2 file system support). This filesystem is used to share storage in a cluster.
The "O2CB Kernelspace Clustering" driver offers various services for the OCFS2 filesystem.
The "OCFS2 Userspace Clustering" driver allows the cluster stack to execute in userspace.
The "OCFS2 statistics" driver allows the user to get statistics concerning the filesystem.
Like with most of the Linux kernel, the OCFS2 offers logging (OCFS2 logging support). This may be used to watch for errors or for debugging purposes.
The "OCFS2 expensive checks" driver offers storage consistency checks at the cost of performance. Some Linux users recommend only enabling this feature for debugging purposes.
The kernel also contains the new B-Tree FileSystem; this driver offers the disk formatter (Btrfs filesystem Unstable disk format). BTRFS is still in development and is planned to one day become as popular or more popular than EXT4. [http://www.linux.org/threads/b-tree-file-system-btrfs.4430/][7]
The "Btrfs POSIX Access Control Lists" driver adds additional permission schemes not native to BTRFS.
Next, there is a BTRFS check tool (Btrfs with integrity check tool compiled in (DANGEROUS)). Since, BTRFS is a newly developing filesystem, most of the software associated with it are unstable.
The NIL-FileSystem is also supported by Linux (NILFS2 file system support). [http://www.linux.org/threads/new-implementation-of-a-log-structured-file-system-nilfs.4547/][8]
To support the flock() system call used by some filesystems, enable this driver (Enable POSIX file locking API). Disabling this driver will reduce the kernel size by about eleven kilobytes. The driver provides file-locking. File-locking is the process of allowing one process to read a file at a time. This is commonly used with network filesystems like NFS.
The "Dnotify support" driver is a legacy filesystem notification system that informs the userspace of events on the file system. One use of this and the successor notifications software is to monitor the filesystem for applications. Certain applications tell this daemon what events to watch. Otherwise, each userspace application would need to complete this task themselves.
Remember, Dnotify is a legacy system, so what is the new notification system? It is Inotify which is provided by this driver (Inotify support for userspace).
An alternative notification system is fanotify (Filesystem wide access notification). Fanotify is the same as Inotify, but fanotify relays more information to the userspace than Inotify.
Fanotify can check permissions with this driver enabled (fanotify permissions checking).
For systems that need to divide the storage space by user will want "Quota support". [http://www.linux.org/threads/atomic-disk-quotas.4277/][9]
The following driver allows disk quota warnings and messages to be reported through netlink (Report quota messages through netlink interface). Netlink is a socket interface on the userspace that communicates with the kernel.
Quota messages can also be sent to a console (Print quota warnings to console (OBSOLETE)).
This driver allows the quota system to perform extra sanity checks (Additional quota sanity checks). In computer technology, a sanity check is the process of checking for errors that may be due to poor programming. The files and output are inspected to ensure the data is what it should be and not structured in some odd fashion.
Some old system use the old quota system but want to retain the old quota system when upgrading to a newer kernel. This is easily solved by enabling this driver (Old quota format support). Many readers may be wondering why someone would want to keep the old quota system instead of upgrading. Well, imagine being the manager of the IT department of a very large corporation that has many servers running very important tasks. Would you want to create and configure a new (and possibly large) quota system when you can continue using the one that works well? Generally, with computers, follow the principle - If it is not broken or will not cause security issues, do not fix it.
The newer quota system supports 32-bit UIDs and GIDs with this driver (Quota format vfsv0 and vfsv1 support).
To automatically mount remote storage units, enable this driver (Kernel automounter version 4 support).
FUSE filesystems are supported by this driver (FUSE (Filesystem in Userspace) support). Filesystem in Userspace (FUSE) allows any user to create their own filesystem and utilize it in userspace.
A special extension for FUSE can be used to utilize character devices in userspace (Character device in Userspace support).
In the next article, we will discuss caches, optical disc filesystems, FAT32 on Linux, and other interesting filesystem topics. Mahalo!
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-19.4929/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.linux.org/threads/ext-file-system.4365/
[2]:http://www.linux.org/threads/ext-file-system.4365/
[3]:http://www.linux.org/threads/journal-file-system.4136/
[4]:http://www.linux.org/threads/reiser-file-system-reiser3-and-reiser4.4403/
[5]:http://www.linux.org/threads/journaled-file-system-jfs.4404/
[6]:http://www.linux.org/threads/xfs-file-system.4364/
[7]:http://www.linux.org/threads/b-tree-file-system-btrfs.4430/
[8]:http://www.linux.org/threads/new-implementation-of-a-log-structured-file-system-nilfs.4547/
[9]:http://www.linux.org/threads/atomic-disk-quotas.4277/