本文章将介绍如何在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. node 文件上传

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  2. ubuntu中使用 alien安装rpm包

    我们可以使用alien 在ubuntu中安装rpm 包 使用方法: 安装 alien 安装   apt-get update apt-get install alien 帮助命令 Usage: ali ...

  3. ksh与bash的异同

    (1) 在ksh是,数组的index只能从0到1023,而bash中没有这样的限制. (2) ksh与bash初始化数组的语法不同: 如下所示 icymoon# ksh icymoon# set -A ...

  4. 洛谷P1962 斐波那契数列题解

    题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数) 题目描述 请 ...

  5. About me recently

    About me recently Recently I fell that memory has always been problematic.Maybe I hava bee too tired ...

  6. 性能测试-GC问题整理

    年轻代与老年代的调优(笔记整理) 几个常见名词 年轻代(young 区)从年轻代空间(包括Eden和Survivor 区域)回收内存被称为 Minor GC空间太小可能导致对象直接进入 old区 .如 ...

  7. asp.net core 托管到windows服务,并用iis做反向代理

    使用NSSM把.Net Core部署至 Windows 服务   为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.n ...

  8. python 获取天气信息,并绘制曲线

    import urllib.request import gzip import json print('------天气查询------') def get_weather_data() : cit ...

  9. SEAndroid

    SEAndroid安全机制所要保护的对象是系统中的资源,这些资源分布在各个子系统中,例如我们经常接触的文件就是分布文件子系统中的. 实际上,系统中需要保护的资源非常多,除了前面说的文件之外,还有进程. ...

  10. android x86 固件定制

    测试提了几个bug 1.系统语言默认设置成中文,否则时间控件显示的内容有问题 2.关闭10分钟不操作自动休眠功能 3.默认关闭虚拟键盘,目的在文本控件点击后,虚拟键盘就会在右下角显示出来,导致物理键盘 ...