1.在终端运行#uname-r查看现有的内核的版本,本人ubuntu 12.04的是3.2.0.30-generic
2. 用下面指令查看可用的源码包:#sudo apt-cache search linux-source
得到的结果是
linux-source - Linux kernel source with Ubuntu patches
linux-source-3.2.0 - Linux kernelsource for version 3.2.0 with Ubuntu patches
3. 在Ubuntu中可以通过下面这个命令下载:
#apt-get install linux-source-(版本号)
#sudo apt-get install linux-source-3.2.0
4.下载后的文件linux-source-3.2.0.tar.bz2在/usr/src目录中,解压:
#cd /usr/src/
#tar jxvf linux-source-3.2.0.tar.bz2
解压后在/usr/src目录下产生了一个linux-source-3.2.0源码目录
5. #cd linux-source-3.2.0
#make config或#makemenuconfig或者# cp ../linux-headers-3.2.0.30-generic/.config ./.config
6.sudo make oldconfig
7. make
如果有下列错:
ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
WARNING: modpost: Found 11 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: *** [__modpost] 错误 1
make: *** [modules] 错误 2
修改.config文件: changing CONFIG_RTS5139=n
make
8. #make module_install
执行结束之后,会在/lib/modules下生成新的目录/lib/modules/3.2.40
9.#make install
10. 使用新编译的内核
Ubuntu采用Grub引导,要使用新内核,必须配置grub。
1) 更改grub配置,显示启动菜单
#gedit/etc/default/grub
注释GRUB_HIDDEN_TIMEOUT=0语句,及改成#GRUB_HIDDEN_TIMEOUT=0后保存
2)更新启动配置文件
#update-grub
11.修改/boot/grub/grub.cfg文件,修改你喜欢的内核版本顺序
#reboot
12.使用#uname -r查看内核版本是否已修改。
编写简单的hello world测试
1.hello.c
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hi,girl do you remember me!\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT"I miss you so much\n");
}
module_init(hello_init);
module_exit(hello_exit);
2.Makefile
obj-m := hello.o
KERNELDIR := /lib/modules/3.2.40/build
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
3.进入hello.c所在目录make,生成hello.ko文件
4.sudo insmod hello.ko
如果成功,则运行#dmesg | tail
应有:Hi,girl do you remember me!的log!
good luck!
分享到:
相关推荐
最后,手册可能会探讨一些进阶主题,如Ubuntu的社区支持、开发环境的搭建、以及如何参与到开源项目中去。这包括Git版本控制的使用、编程语言的安装和配置,以及如何提交bug报告和参与论坛讨论。 通过阅读这套...
预装了Git版本控制系统,支持Python、Java、C++等多种语言的开发环境。 8. **安全性**:了解如何保护系统不受病毒和恶意软件攻击,包括保持系统更新、使用防火墙、谨慎下载和安装软件。 通过深入学习和实践以上...
- 软件开发环境:安装IDE,如Eclipse、PyCharm等,配置开发环境。 - 源代码编译:下载源码,使用make进行编译安装。 - 系统安全:防火墙设置,使用sudo和root权限,软件安全更新。 6. **故障排查与社区支持** -...
### Ubuntu 12.04 安装与桌面配置过程详解 #### 写在前面 Ubuntu 12.04 LTS (Precise Pangolin) 是一个长期支持版本,发布于2012年4月26日。对于那些希望使用稳定版本的操作系统的人来说,它是一个不错的选择。本...
总之,这个"ubuntu12.04LTS视频安装教程[标清版]"提供了从零开始学习Ubuntu的宝贵资源,尤其对于新手来说,通过视频直观地学习和实践,能更快速地掌握Ubuntu的安装和使用。无论您是想尝试新的操作系统,还是希望在...
- 设置虚拟机名称,例如“Ubuntu12.04”。 - 选择安装路径,建议不要放在系统盘(通常是C盘),而是放在其他驱动器以节省系统盘空间。 #### 四、配置虚拟机硬件 1. **处理器个数**:一般情况下,选择1个处理器...
3. **软件开发环境**:如果面向开发人员,可能会介绍搭建开发环境,如安装编程语言(Python、Java、C++等),使用集成开发环境(IDE),以及版本控制系统(Git)的基础知识。 4. **系统安全与备份**:如何设置...
配置Theano,首先需要在Ubuntu12.04系统上安装NVIDIA的CUDA开发工具。CUDA是NVIDIA为GPU计算提供的一个平台,允许开发者利用图形处理器的强大计算能力进行并行处理。在开始配置前,确保你的系统有一块支持CUDA的GPU...
2. **编译环境搭建**:在Ubuntu 12.04上编译Linux-0.11需要GCC编译器、Make工具和其他必要的构建工具。Ubuntu 12.04自带GCC 4.6,这可能需要针对旧版内核进行一些调整,因为较新的编译器可能会引入不兼容性。 3. **...
尤其对于开发者而言,Linux 提供了一个稳定且强大的开发环境。本教程旨在详细介绍如何在已经安装有 Windows 7 的计算机上,通过 U 盘安装 Ubuntu 12.04 并与 Windows 7 构建双系统环境。 Ubuntu 是一款由全球志愿者...
本文旨在为初次接触Ubuntu 12.04的用户,尤其是那些希望在Linux环境下运行Windows应用程序或进行多系统实验的用户,提供一份详细的虚拟机安装与配置指南。我们将聚焦于如何在Ubuntu 12.04中安装并配置VirtualBox,...
在Ubuntu 12.04 LTS中,验证TFTP和NFS服务的配置和功能,确保能够成功地进行文件传输和共享,这是评估开发环境是否完善的重要步骤。 六、实验总结 通过本实验,学生不仅学习了如何搭建嵌入式Linux开发环境,还了解...
2. **嵌入式开发环境搭建**:在Ubuntu中搭建嵌入式开发环境,首先需要安装交叉编译工具链,如ARM的gcc-arm-linux-gnueabi,这允许在Ubuntu上为不同架构的嵌入式设备编写代码。此外,还需要安装像qemu这样的模拟器来...
总的来说,这个压缩包为全志A20用户提供了一个经过优化的、安全的Ubuntu Core环境,使得开发者和设备制造商能够利用Ubuntu的强大功能和社区支持,同时享受到ARM架构的低功耗优势。使用此系统,用户可以开发和运行...
本文将详细介绍如何在Ubuntu 12.04上部署一个名为SniperX的项目,以及所需的依赖环境和步骤。 #### 二、部署前准备 部署SniperX之前,确保Ubuntu 12.04环境已经就绪。接下来将详细说明所需依赖库的安装与配置过程。...
在本文中,我们将深入探讨如何搭建DAVINCI DM365-DM368平台的DVSdk(DAVINCI Video SDK)开发环境,重点基于版本4.02。DVSdk是TI(Texas Instruments)为基于达芬奇处理器的嵌入式系统提供的一套强大的开发工具,它...
本文将详细介绍如何在 Ubuntu 12.04 系统环境下安装和使用 QXDM。 #### 二、QXDM 简介 QXDM 是一款专为高通平台设计的诊断工具,它能够帮助开发者捕获和分析移动设备上的诊断信息,包括但不限于 CPU、内存、射频、...
推荐使用VMware Workstation 14.0安装Ubuntu 12.04作为开发平台,这是一款广泛使用的虚拟化软件,而Ubuntu则提供了良好的Linux开发环境。为了提高软件下载速度,建议将软件源更新为国内镜像。在Ubuntu中,可以通过`...
然而,为了简化这个过程,OpenStack社区的开发者创建了一些自动化脚本,其中DevStack是最常用且被官方推荐的用于搭建开发环境的方法。 DevStack是由Rackspace公司开源的一系列Bash脚本,设计用于快速构建OpenStack...