Ubuntu下载源码并编译
本文章将介绍如何在Ubunt下进行Linux源码下载,并进行简单的编译步骤。
1、下载linux源码
先查看对应的Ubuntu对应版本源码
$ sudo apt-cache search linux-source

查看Ubuntu的源码版本相关信息
$ uname -a

使用命令下载对应的源码并解压到用户工作目录
$ sudo apt-get install linux-source-4.15.
直接安装下载对应的源码将会被下载到/usr/src目录下,将源码解压到用户目录
$ cd /usr/src
$ sudo tar -xvjf linux-source-4.15..tar.bz2 -C /home/hly/study/
由于解压的时候借用了root的权限进行解压,因此,需要将代码内文件修改权限为用户
$ sudo chown hly:hly –R linux-source-4.15.
命令行中的hly:hly是赋予权限的用户,前一个是组名,后一个是用户名,参数-R表示遍历目录下的所有文件
2、对源码进行编译
先对内核进行一些配置
$ cd ~/studu/linux-source-4.15.
$ make menuconfig
命令运行后出现下列错误,原因是缺少了ncurses-devel:

根据错误提示进行ncurses-devel安装即可
$ sudo apt-get install ncurses-dev
再次运行配置命令调用配置菜单,如下所示:

基本配置完成后,选择<Load>按钮保存.config文件,并进行保存。
运行命令进行内核镜像编译
$ make bzImage
将会出现下面错误提示,根据提示进行解决

解决方法如下:
$ sudo apt-get install libelf-dev
$ sudo apt-get install libssl-dev
返回终端输入编译命令继续完成编译,编译完成如下:

编译命令完成后,将会在Linux源码的根目录下得到未压缩的内核镜像vmlinux和内核符号表文件System.map,在arch/x86/boot目录下会得到内核镜像bzImage。
Ubuntu下载源码并编译的更多相关文章
- ubuntu下载源码clang + llvm+lldb 编译+安装
[本文可能涉及到Ubuntu安装以下工具:] A.g++ B.gcc C.make D.cmake E.clang(10.0.1)(必须) F.llvm(10.0.1)(必须) G.lldb(10.0 ...
- 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 百篇博客分析OpenHarmony源码 | v58.01
百篇博客系列篇.本篇为: v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o 本篇用两个脚本完成鸿蒙(L1)的编译环境安装/源码下载/编译过程,让编译,调试鸿 ...
- Ubuntu TensorFlow 源码 Android Demo的编译运行
Ubuntu TensorFlow 源码 Android Demo的编译运行 一. 安装 Android 的SDK和NDK SDK 配置 A:下载 国内下载地址选最新的: SDK: https://d ...
- 通过清华大学镜像下载Android源码并编译源码
之前看源码都是在Windows下用SourceInsight看,虽然达到了研究源码的效果,但终究还是有遗憾...趁着周末,准备在Ubuntu虚拟机上下载编译源码. 之前下源码时,有了解一些Androi ...
- 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...
- maven编译下载源码
下载源码 mvn dependency:sources 跳过TEST mvn -DskipTests
- ubuntu10.04版本下android源码的编译
首先是网址:http://software.intel.com/en-us/blogs/2012/03/06/hands-on-notesbuild-android-x86-ics-4-virtual ...
- 从源码(编译)安装golang 二
h1 { margin-top: 0.6cm; margin-bottom: 0.58cm; direction: ltr; color: #000000; line-height: 200%; te ...
- Linux中源码安装编译Vim
Linux中源码安装编译Vim Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高.在Ubuntu上安装vim使用命令直接安装很简单.但有时还是需要自己手动编译安装.例如: vim中的 ...
随机推荐
- swift的柯里化demo
func baseFunc(go:String, goo:String) -> String { return "hello" + go + goo; } func Curr ...
- 兰伯特余弦定理(Lambert)
兰伯特余弦定理(Lambert) 1.漫反射,是投射在粗糙表面上的光向各个方向反射的现象.当一束平行的入射光线射到粗糙的表面时,表面会把光线向着四面八方反射,所以入射线虽然互相平行,由于各点的法线方向 ...
- RabbitMQ简单介绍+Windows环境安装
文章目录 1.RabbitMQ简介2.RabbitMQ与其他MQ有什么不同3.RabbitMQ环境安装3.1 安装erlang3.2 安装rabbitmq-server4. RabbitMQ管理平台介 ...
- [RN] React Native中使用 react-native-scrollable-tab-view嵌套在ScrollView里,导致 子内容 在安卓上无法显示
React Native中使用 react-native-scrollable-tab-view嵌套在ScrollView里,导致 子内容 在安卓上无法显示 问题: 0.9.0 或 0.8.0 版本的 ...
- linux netstat 命令简介
常用选项: -r, --route 显示路由表 -i, --interfaces 显示接口信息表-s, --statistics 显示网络协议汇总信息 -n, --numeric 不解析域名-p, - ...
- .NET项目发布到本地IIS完整流程(VS2015)
概要: 一.安装IIS功能 二.建立发布网站 三.发布应用程序 四.发布后各种问题的解决. [可先看概要四,可避免很多坑] 具体操作: 一.安装IIS功能 选择必要的功能进行安装,重启有效. 二.建立 ...
- 实现mysql的读写分离(mysql-proxy)____2
mysql-proxy简介 MySQL读写分离是指让master处理写操作,让slave处理读操作,非常适用于读操作量比较大的场景,可减轻master的压力. 使用mysql-proxy实现mysql ...
- Kibana数据可视化
Kibana数据可视化 1,3.1使用logstash导入数据的问题 会出现错误提示: [location] is defined as an object in mapping [doc] but ...
- 原创:【ajax | axios跨域简单请求+复杂请求】自定义header头Token请求Laravel5后台【亲测可用】
如标题:我想在ajax的header头增加自定义Token进行跨域api认证并调用,api使用laravel5编写,如何实现? 首先,了解下CORS简单请求和复杂请求. -- CORS简单请求 -- ...
- 使用SpringEL功能来动态化模板数据
在类似excel导出功能里,如果excel的格式很复杂,通过程序去动态生成格式显然是很吃力的,我们可以采用模板文件+动态表达式占位来生成目标文件. 如果只是纯粹生成纯文本,使用freemarker等模 ...