本文章将介绍如何在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下载源码并编译的更多相关文章

  1. 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 ...

  2. 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 百篇博客分析OpenHarmony源码 | v58.01

    百篇博客系列篇.本篇为: v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o 本篇用两个脚本完成鸿蒙(L1)的编译环境安装/源码下载/编译过程,让编译,调试鸿 ...

  3. Ubuntu TensorFlow 源码 Android Demo的编译运行

    Ubuntu TensorFlow 源码 Android Demo的编译运行 一. 安装 Android 的SDK和NDK SDK 配置 A:下载 国内下载地址选最新的: SDK: https://d ...

  4. 通过清华大学镜像下载Android源码并编译源码

    之前看源码都是在Windows下用SourceInsight看,虽然达到了研究源码的效果,但终究还是有遗憾...趁着周末,准备在Ubuntu虚拟机上下载编译源码. 之前下源码时,有了解一些Androi ...

  5. 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...

  6. maven编译下载源码

    下载源码 mvn dependency:sources 跳过TEST mvn  -DskipTests

  7. ubuntu10.04版本下android源码的编译

    首先是网址:http://software.intel.com/en-us/blogs/2012/03/06/hands-on-notesbuild-android-x86-ics-4-virtual ...

  8. 从源码(编译)安装golang 二

    h1 { margin-top: 0.6cm; margin-bottom: 0.58cm; direction: ltr; color: #000000; line-height: 200%; te ...

  9. Linux中源码安装编译Vim

    Linux中源码安装编译Vim Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高.在Ubuntu上安装vim使用命令直接安装很简单.但有时还是需要自己手动编译安装.例如: vim中的 ...

随机推荐

  1. combineReducers(reducers)

    combineReducers(reducers) 随着应用变得越来越复杂,可以考虑将 reducer 函数 拆分成多个单独的函数,拆分后的每个函数负责独立管理 state 的一部分. combine ...

  2. multipart/form-data与数据封装

    方案一: 将所有数据先格式化(编码)成可读字符串,然后转化成bytes的形式. 方案二: 将每一个部分分别转化成(或者直接使用)bytes的形式,然后串联到一起. http://www.jianshu ...

  3. 22-1 web传输视频 Opencv+usb摄像头 树莓派+Flask实现视频流媒体WEB服务器

    第一篇 讲解原理 https://blog.miguelgrinberg.com/post/video-streaming-with-flask 第二篇 加入多线程可以直接用 https://gith ...

  4. Xamarin.Forms之主题

    Xamarin.Forms应用程序可以使用DynamicResource标记扩展在运行时动态响应样式更改. 此标记扩展类似于StaticResource标记扩展,两者都使用字典键从ResourceDi ...

  5. 使用Maven创建一个普通java项目

    1.创建项目: 使用Maven目的是是我们能够轻松的管理各种别人写过的包 创建好之后,我们去找我们所需要的包:在mvnrepository.com中找自己所需要的包 例子: 最后将依赖写入pom.xm ...

  6. JavaScript兼容性问题 js兼容

    1.获取事件对象: var e=e||event; 2.阻止冒泡: e:stopPropagation?e:stopPropagation():e.cancelBubble=true; 3.阻止浏览器 ...

  7. kafka消费端提交offset的方式

    Kafka 提供了 3 种提交 offset 的方式 自动提交 复制 1234 consumer.commitSync(); 手动异步提交 offset 复制 1 consumer.commitAsy ...

  8. SQL基础-游标&事务

    一.游标 1.游标简介 SQL是一种集合操作语言,但有时候需要对单行操作怎么办呢? 也就是有时候会过滤出不止一行的数据,但是想一行行的处理: ---游标 游标: 从集合中依次提取单条记录,直接提取完最 ...

  9. 驱动中遍历模块,以及获取ntoskrnl.exe基址

    方法是基于PsLoadModuleList方式 驱动中遍历模块 一丶简介 简介: 进入内核了.遍历内核中使用的模块该怎么办. 其实在驱动中.我们的DriverEntry入口位置. 提供了两个参数. 一 ...

  10. nginx 反向代理之 proxy_redirect

    proxy_redirect 该指令用来修改被代理服务器返回的响应头中的Location头域和“refresh”头域. 语法结构为: proxy_redirect redirect replaceme ...