{"id":271,"date":"2013-06-07T09:10:43","date_gmt":"2013-06-07T09:10:43","guid":{"rendered":"http:\/\/www.selinuxplus.com\/?p=271"},"modified":"2013-06-07T09:10:43","modified_gmt":"2013-06-07T09:10:43","slug":"linux-kernel%e5%ae%9a%e5%88%b6%ef%bc%88%e4%b8%80%ef%bc%89","status":"publish","type":"post","link":"http:\/\/www.selinuxplus.com\/?p=271","title":{"rendered":"linux kernel\u5b9a\u5236\uff08\u4e00\uff09"},"content":{"rendered":"<p>\u6982\u8ff0<br \/>\n\u672c\u6587\u4e3b\u8981\u5185\u5bb9\u6d89\u53ca\u4e3a\uff1a\u5bfb\u627e\u8bbe\u5907\u9a71\u52a8\uff0c\u5b9a\u5236\u5185\u6838\u914d\u7f6e\u9009\u9879\u4ee5\u53ca\u9009\u9879\u8bf4\u660e\u3002<br \/>\n1.1 \u5929\u4e0b\u6587\u7ae0\u4e00\u5927\u6284<br \/>\n\u4e3a\u4ec0\u4e48\u6587\u6863\u7684\u5f00\u59cb\u5217\u51fa\u4e00\u4e2a\u5929\u4e0b\u6587\u7ae0\u4e00\u5927\u6284\u5462\uff1f\u5929\u4e0b\u6587\u7ae0\u4e00\u5927\u6284\uff0c\u53e4\u4eba\u66fe\u7ecf\u620f\u8c11\u7684\u8bf4\u201c\u5929\u4e0b\u6587\u7ae0\u4e00\u5927\u6284\u201d\u7528\u6765\u5f62\u5bb9\u90a3\u4e9b\u6587\u6284\u4eec\uff0c\u8fd9\u53e5\u8bdd\u542c\u8d77\u6765\u96be\u542c\uff0c\u4f46\u4ed4\u7ec6\u54c1\u5473\uff0c\u5929\u4e0b\u6587\u7ae0\u6709\u5f88\u591a\u662f\u57fa\u4e8e\u53e4\u4eba\u7684\u57fa\u7840\u800c\u5199\u6765\u7684\uff0c\u6709\u7684\u4eba\u5728\u6284\u522b\u4eba\u7684\u57fa\u7840\u4e0a\u5199\u5199\u70b9\u8bc4\u548c\u81ea\u5df1\u7684\u89c1\u89e3\uff0c\u6709\u4e9b\u5219\u662f\u4e1c\u62fc\u897f\u51d1\u7684\u7ec4\u6210\u4e00\u4e2a\u6587\u7ae0\uff0c\u53ef\u8c13\u662f\u6211\u4e2d\u6709\u4f60\uff0c\u4f60\u4e2d\u6709\u6211\u7684\u5883\u754c\u4e86\u3002<br \/>\n\u5f88\u5c11\u6709\u6280\u672f\u6587\u7ae0\u6216\u8bba\u6587\u6765\u81ea\u539f\u521b\uff0c\u5728\u5199\u6587\u7ae0\u7684\u65f6\u5019\u96be\u514d\u4f1a\u5f15\u7528\u522b\u4eba\u7684\u6587\u7ae0\u3002\u672c\u7cfb\u5217\u6587\u7ae0\u4e5f\u4f1a\u5f15\u7528\u522b\u4eba\u7684\u6587\u7ae0\u548c\u56fe\u7247\u3002<br \/>\n2 \u9009\u62e9\u9a71\u52a8<br \/>\n\u6784\u5efa\u5185\u6838\u6700\u56f0\u96be\u7684\u5c31\u662f\u786e\u5b9a\u8ba9\u8ba1\u7b97\u673a\u6b63\u5e38\u5de5\u4f5c\u9700\u8981\u54ea\u4e9b\u9a71\u52a8\u548c\u5185\u6838\u9009\u9879\uff0c\u672c\u7ae0\u8282\u5c06\u4ece\u600e\u4e48\u5224\u522b\u8bbe\u5907\u7684\u9a71\u52a8\u5f00\u59cb\u8bf4\u8d77\u3002<br \/>\n\u8fd9\u91cc\u6211\u4eec\u5c06\u63d0\u4f9b\u4e24\u4e2a\u4f8b\u5b50\u6765\u8bf4\u660e\u5bfb\u627e\u9a71\u52a8\u7684\u8fc7\u7a0b\u3002\u5bfb\u627e\u7f51\u5361\u548c\u78c1\u76d8\u8bbe\u5907<br \/>\n2 .1\u786e\u5b9a\u7f51\u7edc\u8bbe\u5907\u9a71\u52a8<br \/>\n\u7f51\u5361\u5728\u8ba1\u7b97\u673a\u7cfb\u7edf\u4e2d\u662f\u6700\u5e38\u89c1\u7684\u548c\u6700\u91cd\u8981\u7684\u8bbe\u5907\u4e4b\u4e00\uff0c\u6211\u4eec\u8981\u4e3a\u6211\u4eec\u7684\u8ba1\u7b97\u673a\u914d\u7f6e\u6b63\u786e\u7684\u7f51\u5361\u9a71\u52a8\u6765\u8ba9\u7f51\u5361\u4e3a\u6211\u4eec\u7684\u8ba1\u7b97\u673a\u8fdb\u884c\u670d\u52a1<br \/>\n\u9996\u5148\u6211\u4eec\u67e5\u770b\u4e00\u4e0b\u6211\u4eec\u7684\u7f51\u5361\u8bbe\u5907<\/p>\n<pre class=\"lang:default decode:true\">[root@qfong.com ~]# ls \/sys\/class\/net\/\r\nem1  lo<\/pre>\n<p>Lo \u8bbe\u5907\u4ee3\u8868\u56de\u73af\u8bbe\u5907<br \/>\n\u9996\u5148\u6211\u4eec\u627e\u5230\u6211\u4eec\u5173\u5fc3\u7684\u8bbe\u5907em1<\/p>\n<pre class=\"lang:default decode:true\">[root@qfong.com ~]# ifconfig\r\n\r\nem1       Link encap:Ethernet  HWaddr 00:24:7E:04:84:76  \r\n          inet addr:10.2.1.170  Bcast:10.2.255.255  Mask:255.255.0.0\r\n          inet6 addr: fe80::224:7eff:fe04:8476\/64 Scope:Link\r\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\r\n          RX packets:166188 errors:0 dropped:1347 overruns:0 frame:0\r\n          TX packets:155314 errors:0 dropped:0 overruns:0 carrier:0\r\n          collisions:0 txqueuelen:1000 \r\n          RX bytes:31902670 (30.4 MiB)  TX bytes:26229476 (25.0 MiB)\r\n          Interrupt:16 Memory:fc200000-fc220000<\/pre>\n<p>\u6839\u636e\u8fd9\u5f20\u56fe\u6211\u4eec\u53ef\u4ee5\u5f97\u51faem1\u8bbe\u5907\u662f\u6b63\u5728\u5de5\u4f5c\u7684\u8bbe\u5907\uff0c\u4fbf\u662f\u6211\u4eec\u9700\u8981\u7684\u4ee5\u592a\u7f51\u8bbe\u5907<br \/>\n\u4e3a\u4e86\u4f7fem1\u8bbe\u5907\u80fd\u5728\u65b0\u7684\u5185\u6838\u4e2d\u5de5\u4f5c\uff0c\u6211\u4eec\u9700\u8981\u4e3a\u5176\u5bfb\u627e\u9a71\u52a8\u6587\u4ef6\uff0c\u5728sysfs\u6587\u4ef6\u7cfb\u7edf\u4e2d\u8ddf\u8e2a\u94fe\u63a5\u662f\u5f88\u7b80\u5355\u7684\uff1a<\/p>\n<pre class=\"lang:default decode:true\">[root@qfong.com ~]# basename `readlink \/sys\/class\/net\/em1\/device\/driver\/module`\r\ne1000e<\/pre>\n<p>\u8be5\u8868\u8f93\u51fa\u8868\u660ee1000e\u6b63\u5728\u63a7\u5236\u6211\u4eec\u7684em1\u8bbe\u5907<br \/>\n\u8fd9\u4e2a\u8ddf\u8e2a\u8fc7\u7a0b\u662f\u600e\u4e48\u5b9e\u73b0\u7684\u5462\uff1f<br \/>\nBasename\u547d\u4ee4\u5c06\u5b8c\u6210\u4ee5\u4e0b\u5de5\u4f5c\uff1a<br \/>\n1 \u8ddf\u8e2a\u94fe\u63a5\u7b26\u53f7\/sys\/class\/net\/em1\/device\u8fdb\u5165em1\u8bbe\u5907\u4fe1\u606f\u6587\u4ef6\u7684\/sys\/device\u76ee\u5f55\u4e0b\uff1a<\/p>\n<pre class=\"lang:default decode:true\">[root@qfong.com em1]# ll\r\ntotal 0\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 addr_assign_type\r\n-r--r--r--. 1 root root 4096 Oct  8 20:46 address\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 addr_len\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 broadcast\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 carrier\r\nlrwxrwxrwx. 1 root root    0 Oct  8 20:46 <strong><span style=\"color: #ff0000;\">device -&gt; ..\/..\/..\/0000:00:19.0<\/span><\/strong>\r\n-r--r--r--. 1 root root 4096 Oct  9 01:20 dev_id\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 dormant\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 duplex\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 features\r\n-rw-r--r--. 1 root root 4096 Oct  9 01:27 flags\r\n-rw-r--r--. 1 root root 4096 Oct  9 01:27 ifalias\r\n-r--r--r--. 1 root root 4096 Oct  8 20:46 ifindex\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 iflink\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 link_mode\r\n-rw-r--r--. 1 root root 4096 Oct  9 01:27 mtu\r\n-rw-r--r--. 1 root root 4096 Oct  9 01:27 netdev_group\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 operstate\r\ndrwxr-xr-x. 2 root root    0 Oct  9 01:07 power\r\ndrwxr-xr-x. 4 root root    0 Oct  9 01:07 queues\r\n-r--r--r--. 1 root root 4096 Oct  9 01:27 speed\r\ndrwxr-xr-x. 2 root root    0 Oct  9 01:07 statistics\r\nlrwxrwxrwx. 1 root root    0 Oct  8 20:46 subsystem -&gt; ..\/..\/..\/..\/..\/class\/net\r\n-rw-r--r--. 1 root root 4096 Oct  9 01:27 tx_queue_len\r\n-r--r--r--. 1 root root 4096 Oct  8 20:46 type\r\n-rw-r--r--. 1 root root 4096 Oct  8 20:46 uevent<\/pre>\n<p>\u8fdb\u5165device\u76ee\u5f55\u5185<\/p>\n<pre class=\"lang:default decode:true \" >[root@qfong.com device]# ll\r\ntotal 0\r\n-rw-r--r--. 1 root root 4096 Oct 9 01:27 broken_parity_status\r\n-r--r--r--. 1 root root 4096 Oct 8 20:46 class\r\n-rw-r--r--. 1 root root 256 Oct 8 20:46 config\r\n-r--r--r--. 1 root root 4096 Oct 9 01:27 consistent_dma_mask_bits\r\n-r--r--r--. 1 root root 4096 Oct 8 20:46 device\r\n-r--r--r--. 1 root root 4096 Oct 9 01:27 dma_mask_bits\r\nlrwxrwxrwx. 1 root root 0 Oct 8 20:46 &lt;strong&gt;&lt;span style=\"color: #ff0000;\"&gt;driver -&amp;gt; ..\/..\/..\/bus\/pci\/drivers\/e1000e&lt;\/span&gt;&lt;\/strong&gt;\r\n-rw-------. 1 root root 4096 Oct 9 01:27 enable\r\nlrwxrwxrwx. 1 root root 0 Oct 9 01:27 firmware_node -&amp;gt; ..\/..\/LNXSYSTM:00\/device:00\/PNP0A03:00\/device:07\r\n-r--r--r--. 1 root root 4096 Oct 8 20:46 irq\r\n-r--r--r--. 1 root root 4096 Oct 9 01:27 local_cpulist\r\n-r--r--r--. 1 root root 4096 Oct 8 20:46 local_cpus\r\n-r--r--r--. 1 root root 4096 Oct 9 01:07 modalias\r\n-rw-r--r--. 1 root root 4096 Oct 9 01:27 msi_bus\r\ndrwxr-xr-x. 3 root root 0 Oct 8 20:46 net\r\n-r--r--r--. 1 root root 4096 Oct 9 01:27 numa_node\r\ndrwxr-xr-x. 2 root root 0 Oct 9 01:07 power\r\n--w--w----. 1 root root 4096 Oct 9 01:27 remove\r\n--w--w----. 1 root root 4096 Oct 9 01:27 rescan\r\n--w-------. 1 root root 4096 Oct 9 01:27 reset\r\n-r--r--r--. 1 root root 4096 Oct 8 20:46 resource\r\n-rw-------. 1 root root 131072 Oct 9 01:27 resource0\r\n-rw-------. 1 root root 4096 Oct 9 01:27 resource1\r\n-rw-------. 1 root root 32 Oct 9 01:27 resource2\r\nlrwxrwxrwx. 1 root root 0 Oct 8 20:46 subsystem -&amp;gt; ..\/..\/..\/bus\/pci\r\n-r--r--r--. 1 root root 4096 Oct 9 01:27 subsystem_device\r\n-r--r--r--. 1 root root 4096 Oct 9 01:27 subsystem_vendor\r\n-rw-r--r--. 1 root root 4096 Oct 8 20:46 uevent\r\n-r--r--r--. 1 root root 4096 Oct 8 20:46 vendor<\/pre>\n<p>2 \u5728\u8be5\u76ee\u5f55\u4e0b\u6211\u4eec\u770b\u5230\u4e00\u4e2a\u7ed1\u5b9a\u5230\u8fd9\u4e2a\u8bbe\u5907\u9a71\u52a8\u7684\u7b26\u53f7\u94fe\u63a5driver\u3002\u6211\u4eec\u8fdb\u5165driver\u76ee\u5f55\u4e0b\uff1a<\/p>\n<pre class=\"lang:default decode:true \" >[root@qfong.com driver]# ll\r\ntotal 0\r\nlrwxrwxrwx. 1 root root 0 Oct 9 01:36 0000:00:19.0 -&amp;gt; ..\/..\/..\/..\/devices\/pci0000:00\/0000:00:19.0\r\n--w-------. 1 root root 4096 Oct 9 01:36 bind\r\nlrwxrwxrwx. 1 root root 0 Oct 9 01:20 module -&amp;gt;&lt;strong&gt;&lt;span style=\"color: #ff0000;\"&gt; ..\/..\/..\/..\/module\/e1000e&lt;\/span&gt;&lt;\/strong&gt;\r\n--w-------. 1 root root 4096 Oct 9 01:36 new_id\r\n--w-------. 1 root root 4096 Oct 9 01:36 remove_id\r\n--w-------. 1 root root 4096 Oct 8 20:46 uevent\r\n--w-------. 1 root root 4096 Oct 9 01:36 unbind<\/pre>\n<p>3\u6211\u4eec\u770b\u5230\u6709\u4e00\u4e2a\u5305\u542b\u8fd9\u4e2a\u8bbe\u5907\u9a71\u52a8\u7684\u7b26\u53f7\u94fe\u63a5module\uff0c\u6211\u4eec\u8981\u7684\u4fbf\u662f\u8fd9\u4e2a\u94fe\u63a5\u76ee\u6807\uff0c\u53ef\u4ee5\u901a\u8fc7readlink\u547d\u4ee4\u5f97\u5230\u5b83\uff1a<\/p>\n<pre class=\"lang:default decode:true \" >[root@qfong.com driver]# readlink module\r\n&lt;strong&gt;&lt;span style=\"color: #ff0000;\"&gt;..\/..\/..\/..\/module\/e1000e&lt;\/span&gt;&lt;\/strong&gt;<\/pre>\n<p>4 \u7531\u4e8e\u6211\u4eec\u53ea\u5173\u5fc3\u4ed6\u7684\u6a21\u5757\u540d\u79f0\uff0c\u6240\u4ee5\u5bf9readlink\u83b7\u5f97\u591a\u4f59\u7684\u8def\u5f84\u6211\u4eec\u5e76\u4e0d\u5173\u5fc3\u3002\u6240\u4ee5\u6211\u4eec\u4fbf\u53ef\u4ee5\u53d6\u5f97\u6a21\u5757\u540d<\/p>\n<pre class=\"lang:default decode:true \" >[root@qfong.com driver]# basename ..\/..\/..\/..\/module\/e1000e\r\n&lt;strong&gt;&lt;span style=\"color: #ff0000;\"&gt;e1000e&lt;\/span&gt;&lt;\/strong&gt;<\/pre>\n<p>\u6240\u4ee5<\/p>\n<pre class=\"lang:default decode:true \" >[root@qfong.com ~]# basename `readlink \/sys\/class\/net\/em1\/device\/driver\/module`<\/pre>\n<p>\u4fbf\u662f\u6211\u4eec\u60f3\u8981\u7684\u7ed3\u679c.<br \/>\n\u73b0\u5728\u6211\u4eec\u5df2\u7ecf\u5f97\u5230\u6a21\u5757\u7684\u540d\u79f0\u4e86\uff0c\u8fd8\u9700\u8981\u5f97\u5230\u63a7\u5236\u5b83\u7684\u5185\u6838\u914d\u7f6e\u9009\u9879\uff0c\u6211\u4eec\u53ef\u4ee5\u83b7\u5f97\u8fd9\u4e2a\u9009\u9879<br \/>\n\u901a\u8fc7Makefile\u6587\u4ef6\u83b7\u5f97<\/p>\n<pre class=\"lang:default decode:true \" >[root@qfong.com linux-2.6.38.x86_64]# find -type f -name Makefile |xargs grep e1000e\r\n.\/drivers\/net\/Makefile:obj-$(&lt;strong&gt;&lt;span style=\"color: #ff0000;\"&gt;CONFIG_E1000E&lt;\/span&gt;&lt;\/strong&gt;) += e1000e\/\r\n.\/drivers\/net\/e1000e\/Makefile:obj-$(&lt;strong&gt;CONFIG_E1000&lt;\/strong&gt;E) += e1000e.o\r\n.\/drivers\/net\/e1000e\/Makefile:e1000e-objs := 82571.o ich8lan.o es2lan.o \\<\/pre>\n<p>\u6211\u4eec\u5728\u5185\u6838\u7684\u914d\u7f6e\u6587\u4ef6\u91cc\u641c\u5bfb\u5230\u6211\u4eec\u8981\u627e\u7684\u6a21\u5757e1000e\uff08\u8fd9\u91cc\u4f60\u9700\u8981\u6362\u6210\u81ea\u5df1\u60f3\u8981\u627e\u7684\u9a71\u52a8\uff09\uff0c\u5728\u8f93\u51fa\u7ed3\u679c\u4e2d\u6211\u4eec\u4fbf\u53ef\u4ee5\u770b\u5230CONFIG_\u5f00\u59cb\u7684\u6a21\u5757\u540d\u3002\u5982\u4e0a\u8868\u683cCONFIG_E1000E\u4fbf\u662f\u6211\u4eec\u8981\u627e\u7684\u914d\u7f6e\u9009\u9879<br \/>\n\u6709\u4e86\u914d\u7f6e\u9009\u9879\u6211\u4eec\u9700\u8981\u627e\u5230\u5185\u6838\u4e2d\u6240\u9700\u8981\u7684\u6a21\u5757\uff0c\u7136\u540e\u627e\u5230\u8be5\u9009\u9879\uff0c\u8fdb\u884c\u542f\u7528\u8be5\u9009\u9879<\/p>\n<pre class=\"lang:default decode:true \" >make menuconfig<\/pre>\n<p>\u5728\u542f\u52a8\u7684\u754c\u9762\u4e0b\uff1a<br \/>\n<a href=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_1.png\"><img loading=\"lazy\" src=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_1-300x202.png\" alt=\"\" title=\"make_k_1\" width=\"300\" height=\"202\" class=\"alignnone size-medium wp-image-272\" srcset=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_1-300x202.png 300w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_1-150x101.png 150w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_1-400x269.png 400w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_1.png 746w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\u7136\u540e\u6309\u4e0b\u201d\/\u201d\u952e\uff08\u8fd9\u4f1a\u542f\u52a8\u641c\u7d22\uff09\u5e76\u952e\u5165\u8981\u914d\u7f6e\u7684\u9879,\u53bb\u6389CONFIG_\u90e8\u5206\u3002<br \/>\n<a href=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_2.png\"><img loading=\"lazy\" src=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_2-300x202.png\" alt=\"\" title=\"make_k_2\" width=\"300\" height=\"202\" class=\"alignnone size-medium wp-image-273\" srcset=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_2-300x202.png 300w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_2-150x101.png 150w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_2-400x269.png 400w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_k_2.png 746w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\u70b9\u51fbOK\uff0c\u5185\u6838\u914d\u7f6e\u7cfb\u7edf\u4fbf\u4f1a\u544a\u8bc9\u4f60\u90a3\u91cc\u9009\u62e9\u542f\u52a8\u8fd9\u4e2a\u6a21\u5757<br \/>\n<a href=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_3.png\"><img loading=\"lazy\" src=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_3-300x202.png\" alt=\"\" title=\"make_kernel_3\" width=\"300\" height=\"202\" class=\"alignnone size-medium wp-image-274\" srcset=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_3-300x202.png 300w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_3-150x101.png 150w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_3-400x269.png 400w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_3.png 746w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n\u6211\u4eec\u8fdb\u5165\u5185\u6838\u914d\u7f6e\u7cfb\u7edf\u8fdb\u884c\u914d\u7f6e\uff0c\u914d\u7f6e\u7684\u8def\u5f84\u5982\u4e0a:<\/p>\n<pre class=\"lang:default decode:true \" >Device Drivers--&gt;Network device support --&gt;Ethernet<\/pre>\n<p><a href=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_4.png\"><img loading=\"lazy\" src=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_4-300x202.png\" alt=\"\" title=\"make_kernel_4\" width=\"300\" height=\"202\" class=\"alignnone size-medium wp-image-275\" srcset=\"http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_4-300x202.png 300w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_4-150x101.png 150w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_4-400x269.png 400w, http:\/\/www.selinuxplus.com\/wp-content\/uploads\/2013\/06\/make_kernel_4.png 746w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\u53d6\u6d88\u591a\u4f59\u7684\u6a21\u5757\uff0c\u9009\u62e9\u6211\u4eec\u4ec5\u9700\u8981\u7684Ethernet\uff081000Mbit\uff09\u6a21\u5757<br \/>\n\u7f16\u8bd1\u4fbf\u53ef\u52a0\u8f7d\u8be5\u6a21\u5757<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u8ff0 \u672c\u6587\u4e3b\u8981\u5185\u5bb9\u6d89\u53ca\u4e3a\uff1a\u5bfb\u627e\u8bbe\u5907\u9a71\u52a8\uff0c\u5b9a\u5236\u5185\u6838\u914d&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[45,5],"tags":[47,37,38],"_links":{"self":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts\/271"}],"collection":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=271"}],"version-history":[{"count":1,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts\/271\/revisions"}],"predecessor-version":[{"id":276,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts\/271\/revisions\/276"}],"wp:attachment":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=271"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}