本文章将介绍如何在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. 二维码与json都是数据交换格式

    二维码与json都是数据交换格式: UI数据是人机数据交换格式.

  2. 几种开放源码的TCP/IP协议栈比较

    http://blog.chinaunix.net/uid-28785506-id-3828286.html 原文地址:几种开放源码的TCP/IP协议栈比较 作者:三点水兽 1.BSD TCP/IP协 ...

  3. SQLServer 数据库封装类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  4. Numpy | 02 Ndarray 对象

    NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引. ndarray 对象是用于存放同类型元素的多维数组. ndarr ...

  5. Xamarin.Forms 自定义控件(呈现器和效果)

    Xamarin.Forms 使用目标平台的本机控件呈现用户界面,从而让 Xamarin.Forms 应用程序为每个平台保留了相应的界面外观.凭借效果,无需进行自定义呈现器实现,即可自定义每个平台上的本 ...

  6. AsyncAPI and CloudEvents

    一篇比较AsyncAPI与CloudEvents的文章,很不错,原文连接:https://www.asyncapi.com/blog/asyncapi-cloud-events/ I’ve been ...

  7. cratedb 做为prometheus 的后端存储

    prometheus 提供了remote_write 以及remote_read 的数据存储方式,可以帮助我们进行数据的长时间存储.方便查询 cratedb 提供了对应的adapter,可以直接进行适 ...

  8. Java中lambda表达式学习

    一.Lambda表达式的基础语法: Java8中引入了一个新的操作符"->"该操作符称为箭头操作符或Lambda操作符,箭头操作符将Lambda表达式拆分为两部分: 左侧:L ...

  9. MySql的执行计划

    一.什么是数据库执行计划: MySQL执行计划是sql语句经过查询优化器后,查询优化器会根据用户的sql语句所包含的字段和内容数量等统计信息,选择出一个执行效率最优(MySQL系统认为最优)的执行计划 ...

  10. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...