正好多了一个小米的wifi就拿来用一下
编译了半天,怕以后忘了怎么搞
这是我见过最奇葩的一次编译
参考
http://www.7forz.com/2470/
http://www.freemindworld.com/blog/2015/150312_complie_kernel_module_for_raspberry_pi_2.shtml
我的是树莓派2
uname -r
3.18.11-v7+
这是树莓派2的版本
如果你的是b+的就会是3.18.11+
两个是不一样的 B+和2代的B是不一样的
下载对应的源码确实都一样的
</pre><pre name="code" class="html">wget https://github.com/raspberrypi/linux/archive/rpi-3.18.y.tar.gz
tar xvfz rpi-3.18.y.tar.gz
mv linux-rpi-3.18.y /usr/src
ln -s /usr/src/linux-rpi-3.18.y /lib/modules/3.18.8-v7+/build
cd /lib/modules/3.18.8+/build
这个是我见过最奇葩的时候了
先是树莓派自带的gcc-4.6 编译可以通过但是后面模块编译会出问题
直接用gcc-4.8的编译会出现compiler too buggy 的问题(如果直接使用 李大神说的rpi-source 就会出现这个问题)
结果就是要先
apt-get install gcc-4.8 g++-4.8
<span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(247, 247, 247);">update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20</span>
<span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);">update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50</span>
<span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);"><span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(247, 247, 247);">update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20</span>
</span>
<span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);"><span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(247, 247, 247);"><span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);">update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50</span>
</span></span>
<span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);"><span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(247, 247, 247);"><span style="color: rgb(255, 128, 0); font-family: Monaco, MonacoRegular, 'Courier New', monospace; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);">
</span></span></span>
<span style="font-family:Monaco, MonacoRegular, Courier New, monospace;"><span style="line-height: 15px; white-space: pre-wrap;">更新到gcc-4.8以后再</span></span>
<span style="font-family:Monaco, MonacoRegular, Courier New, monospace;"><span style="line-height: 15px; white-space: pre-wrap;">
</span></span>
<pre name="code" class="cpp">cd /usr/bin
rm gcc
rm g++
cp gcc-4.6 gcc
cp g++-4.6 g++
这个时候再回到目录 /lib/modules/3.18.11-v7+/build
<pre name="code" class="cpp">cd /lib/modules/3.18.11-v7+/build
执行编译
<pre name="code" class="cpp">make mrproper
gzip -dc /proc/config.gz > .config
make modules_prepare
接下来下载 内核模块导出符号文
<span style="font-family:arial;color:#2c2b2b;"><span style="font-size: 14px; line-height: 18px;">有两种文件 </span></span>
<span style="font-family:arial;color:#2c2b2b;"><span style="font-size: 14px; line-height: 18px;">一代 b+:下这个</span></span>
<span style="font-size: 14px;"></span><pre name="code" class="cpp" style="color: rgb(44, 43, 43); font-family: arial; line-height: 18px;">wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers
二代b 这个
<span class="crayon-e" style="font-family: Monaco, MonacoRegular, 'Courier New', monospace; height: inherit; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);">wget </span><span class="crayon-v" style="font-family: Monaco, MonacoRegular, 'Courier New', monospace; height: inherit; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);">https</span><span class="crayon-o" style="font-family: Monaco, MonacoRegular, 'Courier New', monospace; height: inherit; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);">:</span><span class="crayon-o" style="font-family: Monaco, MonacoRegular, 'Courier New', monospace; height: inherit; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);">/</span><span class="crayon-o" style="font-family: Monaco, MonacoRegular, 'Courier New', monospace; height: inherit; line-height: 15px; white-space: pre-wrap; background-color: rgb(253, 253, 253);">/</span><span class="crayon-v" style="font-family: Monaco, MonacoRegular, '