RaspBerry Pi3 ~ 内核编译
RaspBerryPi3-内核编译
转载注明出处:http://www.cnblogs.com/einstein-2014731/p/5985128.html
在有道云笔记的同步分享:http://note.youdao.com/share/?id=0867c9cbe7b0167881656e3a86a98e20&type=note#/
编译更新RaspberryPi3的内核有两种方式,第一种是在树莓派上编译新的内核,完成后重启,优点是简单方便,缺点是速度慢。另一种是在另一台电脑上使用交叉编译的方法编译内核,完成后拷贝到SD卡上。优点是速度很快,但是操作起来相对麻烦些。这里记录下两种方式。
在树莓派本地编译内核
这个方式主要就是copy官网上说的了。翻译下
https://www.raspberrypi.org/documentation/linux/kernel/building.md
1、在全球最大男性同性交友网站GitHub上下载linux内核源码。
| mkdir PiLinuxCore
cd PiLinuxCore/ git clone https://github.com/raspberrypi/linux |
2、安装缺少的依赖项。
| sudo apt-get install bc |
3、内核配置。
|
cd PiLinuxCore/
|
4、编译安装内核模块,
sudo
sudo
sudo
sudo
sudo |
耗时40分钟到80分钟之间。
5、重启完成内核更新
| sudo reboot |
6、使用uname 查看下内核版本是否更新了
在Ubuntu上交叉编译内核
交叉编译建议使用Ubuntu因为Raspbian是Debian的一种发行版本,有很多指令是相同的。因为树莓派的内核代码总是在更新,所以编译方法尽量按照官网的方法,以下就是最新的方法。
下载源码和交叉编译工具
1、内核源码:https://github.com/raspberrypi/linuxc
直接打包下载zip文件
2、编译工具:https://github.com/raspberrypi/tools
直接打包下载
下载完成后在ubuntu home目录下的用户文件夹中建个文件夹RaspberryPi
也可以随意定个位置。把下载完的两个文件拷贝到这个文件夹内。如下:

分别解压缩
| unzip linux-rpi-4.4.y.zip
unzip tools-master.zip |
进入tools目录,32位机器拷贝下面这个目录 到指定位置。
| /tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian |
并把下面的路径添加到home路径下的.bashrc文件里,就是所说的环境变量$PATH,添加环境变量有多种方法可自行上网查询。
| /tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin |
64位系统的主机拷贝下面的路径,其它步骤和32位的一样
| /tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin |
开始编译
下面的操作都是root权限,进入下载的linux内核解压后的目录,Pi1的配置方法:
| cd linux
KERNEL=kernel make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcmrpi_defconfig |
Pi2\3的配置方法:
| cd linux
KERNEL=kernel7 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig |
然后进行编译
| make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs |
这个时候不出意外的话就开始编译了 等待十几分钟左右吧 就差不多编译完了。
安装到SD卡
插入SD卡之后 你会看到咔咔弹出三个对话框,然并卵。

然后输入 lsblk 会得到如下分区目录(我是用NOOBS装的):

这个sdb是SD卡,显示7.4G的总容量;sda是虚拟机给ubuntu分的区50G
sdb6 是 FAT(boot)引导分区 类似启动文件。
sdb7 是 ext4文件系统分区
如果你不是用的NOOBS装的系统 那就是下面这种情况:
sdb1 是 FAT(boot)引导分区 类似启动文件。
sdb2 是 ext4文件系统分区
对于用NOOBS的SD卡:首先挂载SD卡。随便一个位置建个mnt文件夹用来挂载磁盘。我建在linux目录下,接下来按照下面的方法建文件夹。
| mkdir /mnt/fat32mkdir /mnt/ext4
sudo mount /dev/sdb6 mnt/fat32 sudo mount /dev/sdb7 mnt/ext4 |
因为是NOOBS装的系统所以这里挂载sdb6、sdb7。
接下来安装模组到mnt/ext4:
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules_install |
最后复制内核文件到SD卡。这里最好备份下之前的内核文件。
sudo cp mnt/fat32/$KERNEL.img mnt/fat32/$KERNEL-backup.img
|
把SD卡插到树莓派然后重启,uname -a查看下版本

没有问题。
RaspBerry Pi3 ~ 内核编译的更多相关文章
- [raspberry pi3] hadoop 编译搭建和配置
Causion: 只有一个raspberry pi3的就随便玩玩吧,瓶颈不在在cpu, 1 G的内存实在是太少了,跑个hadoop就很辛苦了 下面是瞎折腾的过程: oracle的arm jdk的安装过 ...
- [raspberry pi3] aarch64 mongodb 编译和安装
raspberry pi3官方支持是32bit的系统,使用mongodb的时候有2G数据库大小的限制,32bit的系统上数据大点基本上就可以认为不能用了,所以要装64bit的opensuse. 安装了 ...
- [raspberry pi3] 编译安装chromium
想要试试arm板上使用selenium是不是可能,发现Firefox什么的不顶用,网上有提供的chrome的安装手顺,但是没有arm版本的对应的chromedriver,只能自己搞了. 这边介绍的方法 ...
- 在阿里云中编译Linux4.5.0内核 - Ubuntu内核编译教程
实验环境:Ubnuntu 64位(推荐使用14.04)+Xshell 阿里云现在提供的云服务器很好用的,用来编译内核性能也不错.本文介绍最基本的内核编译方法,为了方便,所有操作均在root用户下进行. ...
- zju(3)内核编译与运行
1.实验目的 学习和掌握Linux配置和编译的基本步骤. 二.实验内容 1. 对Linux内核及用户程序进行配置: 2. 编译生成内核映像文件: 3. 把编译的映像文件烧写到FLASH中,查看运行结果 ...
- linux内核编译,配置本机驱动
1.前言 编译linux内核失败的原因很多时候就是驱动选错,适合自己本机的驱动没编译进去.面对特殊平台(或者有些洁癖者,我就是^_^),要编译精简内核,只要本机驱动,其他都不需要.面对内核里面这么多 ...
- linux内核编译相关
参考:http://www.arm.linux.org.uk/docs/kerncomp.php 一. 内核编译1) linux 2.4make clean/make mrpropermake dep ...
- 运行在TQ2440开发板上以及X86平台上的linux内核编译
一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/E ...
- 【转】内核编译时, 到底用make clean, make mrproper还是make distclean(转载)
原文网址:http://dongyulong.blog.51cto.com/1451604/449470 内核编译时, 到底用make clean, make mrproper还是make distc ...
随机推荐
- 计算机网络自顶向下第三章传输层二TCP
TCP 全双工 A-B,B-A 点对点 一对一的 TCP连接建立过程 客户首先发送一个特殊的TCP报文段,服务器用另一个特殊的TCP报文段来相应,最后,客户再用第三个特殊的报文段作为相应,前两个报文段 ...
- windows 屏幕坐标 窗口坐标 客户区坐标 逻辑坐标 设备坐标之间的关系及转换
设置坐标映射 (1)Windows坐标系统 Windows坐标系分为逻辑坐标系和设备坐标系两种,GDI支持这两种坐标系.一般而言, GDI的文本和图形输出函数使用逻辑坐标,而在客户区移动或按下鼠 ...
- MapWindowPoints
中文名 MapWindowPoints Windows CE 1.0及以上版本 头文件 winuser.h 库文件 user32.lib MapWindowPoints函数把相对于一个窗口的坐标空间的 ...
- zoj3329--One Person Game(概率dp第六弹:形成环的dp,带入系数,高斯消元)
One Person Game Time Limit: 1 Second Memory Limit: 32768 KB Special Judge There is a very ...
- 网站添加ico图标
打开某一个网页会在浏览器的标签栏处显示该网页的标题和图标,当网页被添加到收藏夹或者书签中时也会出现网页的图标,怎么在网页title左边显示网页的logo图标呢? 方法一(被动式): 制作一个ico格式 ...
- struts2获取服务器临时目录
CreateTime--2017年9月7日08:57:39 Author:Marydon struts2获取服务器(tomcat.WebLogic)的临时目录 需要导入: import java. ...
- 总结java编程常用的快捷键
Eclipse 常用快捷键 Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率.Eclipse中有如下一些和编辑相关的快捷键. 1. [ALT+/] 此快捷键为用户 ...
- maven打包时无法加载lib下的jar
© 版权声明:本文为博主原创文章,转载请注明出处 问题描述: 项目在本地部署没有问题,但是使用maven打包时报错: ***(引用jar中某个类的的路径) 不存在 ***(某个java类中的某行某列) ...
- 网络工具的瑞士军刀netcat
这是一个聒噪的夜晚,假设要给出个原因.可能是由于尽管我认为西班牙不纯粹,可是怎么也不至于干为人家搭台面自己不唱戏的角色吧..结束以后.我认为该玩一下素有网络瑞士军刀之称谓的netcat了. 尽管瑞士军 ...
- Linux相互排斥与同步应用(三):posix线程实现单个生产者和单个消费者模型
[版权声明:尊重原创.转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu.文章仅供学习交流,请勿用于商业用途] 在第一节说到了 ...