当前位置:首页 » 编程软件 » linux内核编译安装新电脑

linux内核编译安装新电脑

发布时间: 2022-02-27 08:12:58

编译基于linux内核2.6的驱动一定要在电脑上用2.6内核的操作系统吗

RH9 ?那你的升级还不如直接去作一个 LFS 。

内核驱动是要匹配内核版本的,而且要匹配小版本,2.6.9 、2.6.11 .2.6.2x (忘了具体版本)都有接口修改。最近内核接口变化非常大,很多驱动接口变动的都要修改驱动才能支持。

如果你真的想用 RH 升级,给你的升级路线是:
升级 moles-init-tools -> 升级内核
不过这样你的系统可能会有问题,一般用应该没问题,但驱动编译可能会过不去,或者就算编译成功,测试成功,也不能保证可以在别人的机器上使用。(因为编译驱动是和内核版本以及 gcc 版本相关的)
这样的话,你可能需要升级 glibc -> gcc ->binutils -> glibc -> gcc (这两个是在新环境重新编译)-> 重新编译内核 -> 升级或者重新编译基础软件环境 -> 重新编译全部系统。
大概全自动脚本协助的状态下(也就是说排除操作时的时间损耗,找资料的时间损耗)。大概需要 48 小时 - 72 小时吧。机器性能特别好,也需要大概 36 小时以上,之后因为你的 Linux 环境已经升级,你所有想安装的软件都要自己编译安装。

不过注意,RH9 自带的 gcc 是 3.x (好象是 3.2 ),现在 gcc 是 4.3 。其中加强了语法检查,以及别的东西。glibc 也跨过多个版本(RH9 好几年前的,真想不起来他是什么版本了。反正非常古老),可以说现在的程序接口,已经和过去不同了。
你用 RH9 开发,现在来说应该只有你自己的机器可以运行,换到别人的机器上,那就需要把别人的机器改回 RH9 (这在新计算机上面是不可能的,不兼容很多硬件的),并且根据你的升级去升级软件,才能使用。

当然,这里有个除非,除非你开发的驱动不是用在你当前的计算机上面,而是通过交叉编译而运行在另外一个系统上面,这样的话,只要你的交叉编译环境版本正确,那就没问题(不过我还是质疑这个交叉编译用的 gcc 和 binutils 能否在你的机器上面编译出来&运行。)
--------------------
RH4 是什么?比 RH9 还老的版本?
还是 RHEL 4 ?这个也不新。

理论上在开发板上面加载是和当前系统无关的,但你需要一个能在当前系统上面运行的交叉编译环境,用这个交叉编译环境来编译一个在你的目标 CPU、主板上目标内核兼容的驱动程序。

这个是嵌入式开发的基础知识,如果你连这个都不会,暂时不要看 Linux 驱动开发,先去看看“交叉编译程序”相关的信息。

因为 arm 上面的 CPU 指令架构与 x86 完全不同,所以这两个内核版本不同没有关系,只要是针对 arm 的内核&架构编写的驱动,并且用交叉编译器编译为 arm 的二进制指令,就能使用。

② 我想在ubuntu系统下编译linux内核代码,那我要怎么进行环境的配置,要安装什么呢

安装内核代码,拷贝.config,mole.symvers文件。

③ linux内核编译详细教程及开发Linux系统

已发送到[email protected]

④ linux编译内核时,到安装内核模块:#make moles_install 时,过程中提示设备上没有空间

建议裁剪内核,内核中很多驱动模块,子系统等一般用户都用不上,我在我自己的电脑上裁剪后编译的内核源码树大小只有700多M~

⑤ 关于Linux内核编译,如果我已经编译好内核,那么下一步怎么办,如何用它替换我现在已经装好的linux的内核

RH9 不要折腾了,你升级了内核也没有意义。

⑥ 如何重新编译linux内核

  1. 因为一般电脑安装的系统都是Windows,而整个编译过程都需要在Linux环境下实现,所以最好是在虚拟机里安装Linux系统来完成这一过程。我使用的虚拟机是VMware-workstation-full-v7.1.4。

  2. 然后,我们需要下载一个较高版本的Linux系统的镜像文件,安装在虚拟机上,作为编译环境。我使用的是ubuntu-11.04-desktop-i386。之所以选择较高版本,是因为它的界面比较方便用户操作。

  3. 然后下载一个Linux内核源代码文件,将它保存到虚拟机上新安装的系统中去。并解压到/usr/src目录。我使用的是linux-2.6.36,下载低版本的原因是,小巧轻便,易于编译。

    解压命令如下:

    bzip2 -d linux-2.6.36.tar.bz2

    tar -xvf linux-2.6.36.ta

  4. 修改/usr/src/linux-2.6.36/kernel/sys.c文件,在文件末尾增加一个系统调用函数。自行编写一个简单的程序即可,只为测试用。

  5. 修改/usr/src/linux-2.6.36/arch/x86/kernel/syscall_table_32.S,为新添加的程序配置系统调用号。

  6. 在/usr/src/linux-2.6.36/arch/x86/include/asm/unistd_32.h中配置系统调用表。

  7. 下面就是最重要的内核编译与安装:

    首先配置编译信息,使其生成适合当前机器的Makefile,输入make oldconf ig。

    接着还要输入make menuconfig,在字符界面下进行必要的细微的修改。

    然后要经过四步编译过程(直接输入命令即可):

    (1)make bzImage

    将内核编译为压缩映像,存储在源码根目录下的“System.map”文件中。

    (2)make moles

    编译各个模块。

    (3)sudo make moles_install

    安装模块

    (4)sudo make install

    安装内核

    第(2)(3)步等待时间较长,可能需要数个小时,请耐心等待。

    无报错的话重启进入GRUB界面,就可以看到新编译的内核了。

  8. 按回车键进入我们编译的目标内核中,用关键词搜索查看新增加的系统调用“my call”是否已在内核中:

  9. 编写测试程序,调用新添加的系统调用:

  10. 测试成功,说明系统调用添加成功,进而说明内核编译成功!

    以上的办法你可以试一下,希望对你有所帮助。

⑦ linux如何编译安装新内核支持NTFS文件系统(

第一步: 对硬件进行设置,使其满足要求并下载内核:

1. 新添加一块20G的硬盘及修改内存:

⑧ Linux内核编译并安装后,都生成了哪些文件

你编译源代码的目录删了没?
另外你怎么安装的?用的哪几个命令?
-----------
那应该就是 /boot 里面的文件和 /lib/moles 里面的东西啊……
你是不是把别的软件的 cache 当成内核一流的东西了?
比如 ccache 这个 gcc 缓存程序他会把所有编译时的数据做缓存保存在硬盘上等下次编译时使用。

⑨ linux内核编译问题 vmware内编译好内核如何在其他主机上安装

你这水平要加油了。
1. 没有网卡的话,可以增加个usb口的网卡呢。一个才十几块钱。usb口绝对有。配置好ip地址,直接传,如scp.
2. 拷贝内核,moles, 到U盘。
然后目标机器挂载U盘。
dmesg 识别到u盘。
然后挂载u盘:mount挂载下。
然后手动安装内核,生成initxxxx文件,修改bootloader内核优先级。
最后 sync 然后eject弹出u盘即可。
3. 硬盘接口等传文件。
4. 人人顺风顺水的回答没有问题,简明,是你水平太差看不懂而已。
5. 内核目录里有个Documentation, 你多阅读下

热点内容
蒙皮算法 发布:2025-01-18 12:57:53 浏览:549
常用的r语言编译器 发布:2025-01-18 12:55:05 浏览:199
同人志解压密码 发布:2025-01-18 12:55:05 浏览:876
qq密码不记得怎么办 发布:2025-01-18 12:48:22 浏览:448
安卓系统停用怎么办 发布:2025-01-18 12:35:49 浏览:260
五菱宏光星辰哪个配置最值得买 发布:2025-01-18 12:29:43 浏览:595
鸿蒙系统为什么完美兼容安卓应用 发布:2025-01-18 12:16:02 浏览:856
数分转算法 发布:2025-01-18 12:08:31 浏览:612
iphone硬件为什么比安卓更好 发布:2025-01-18 12:08:29 浏览:822
医院冷热源配置有哪些 发布:2025-01-18 12:08:26 浏览:167