ubuntu 内核源码(ubuntu软件源)

这篇文章给大家聊聊关于ubuntu 内核源码,以及ubuntu软件源对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

ubuntu内核编译到一半退出

ubuntu内核编译到一半退出原因如下

主要是因为没有在内核源码目录下进行。例如,要编译或升级的内核解压后的目录为/usr/src/linux-2.4.24,一定要进入到该目录后使用make menuconfig命令,这样就不会提示错误了。

2、Unable to find the ncurses libraries

更新或编译Ubuntu的内核时,执行make menuconfig可能看如这样的错误:

*** required header files.

***‘make menuconfig’ requires the ncurses libraries.

*** Install ncurses(ncurses-devel) and try again.

这是因为缺少库文件,使用apt-get install ncurses-dev在线安装即可。

3、Your display is too small to run Menuconfig这是因为屏幕太小的缘故,窗口调大即可。

如何在Debian或Ubuntu上安装完整的内核源码

在Debian上安装完整的内核源码

在下载内核源码之前,先安装dpkg-dev,其中包含你在Debian上生成源代码时需要的开发工具套件。不仅如此,dpkg-dev中还包含在用来解压Debian源码包并自动打补丁的工具dpgk-source。

$ sudo apt-get install dpkg-dev

然后,运行以下命令下载完整的内核源码。

$ apt-get source linux-image-$(uname-r)

伴随着完整内核源码(linux_X.X.XX.orig.tar.xz)的还有一些可用的内核补丁(linux_X.X.X+XXX.debian.tar.xz)和源码控制文件(linux_XXXX.dsc),这些都将被下载并存储到当前目录。在.dsc文件中会指出如何给内核源码打补丁。

当下载完成,以上的命令将会自动调用工具dpkg-source将下载的内核源码解压到当前的目录中,与此同时根据.dsc文件来下补丁。

最终完整的内核源码树将会以"linux-X.X.XX"的形式呈现在当前目录中。

在Ubuntu上安装完整内核源码

如果你想安装完整内核源码的话,以上在Debian上的那一套做法在Ubuntu上仍然奏效。

在Ubuntu上还有另一套方法安装完整内核源码。事实上,你可以查一下由Canonical为Ubuntu不同发行版维护的内核源码树。

$ sudo apt-get install git$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-$(lsb_release--codename| cut-f2).git

举个例子,如果你使用的是Ubuntu 14.04,以上的命令将会查看Git的"ubuntu-trusty"仓库中的代码。

一旦在你对Git仓库的查询结束后,使用以下的命令来安装用来访问生成内核源码树所需依赖的重要开发包。

Linux下内核文件drivers/usb/serial/option.c,Ubuntu中在哪

两种方法:

1,直接添加进内核。

a,比如进入drivers/char/目录,把xxx.c文件拷贝到该目录

b,修改drivers/char/Kconfig文件,自定义仿照其他选项,添加自己的选项XXX。

c,修改drivers/char/Makefile文件,添加obj-$(CONFIG_XXX)+= xxx.o

d,进入内核根目录,make menuconfig,进入device drivers->character devices在这里面找到XXX选项,配置成“M”,也就是模块编译,会生成xxx.ko

2,随便建一个目录,写Makefile,这个Makefile里面,要指定内核源码根目录,并调用内核源码的Makefile,来编译当前目录的文件,类似一下格式,可在网上找一个Makefile来修改:

CFILES= xxx.c

DRIVER_NAME= xxxx

KSRC:=/home/linux/linux-2.6.xxx

TARGET=$(DRIVER_NAME).ko

obj-m+=$(DRIVER_NAME).o

$(DRIVER_NAME)-objs:=$(CFILES:.c=.o)

default:

$(MAKE)-C$(KSRC) SUBDIRS=$(shell pwd) modules

阅读剩余
THE END