当前位置:首页 » 操作系统 » 下载linuxkernel

下载linuxkernel

发布时间: 2025-08-10 11:59:52

① qemu怎样为选择arm linux内核镜像选择运行arm平台

下载Linux内核

下载内核有两种方法,一种是用git直接下载内核代码树,方便后面的内核开发。另一种是直接到内核社区下载对应版本的源码包。我采用第一种方法,但后面发现主线上3.18版本和后面版本的代码,使用这种搭建方法运行不起来。目前未查明问题的根因。如果读者想快速搭建成功,建议选用3.16版本的内核进行搭建。

安装arm的交叉编译工具链

想必做嵌入式开发的朋友,对交叉编译工具链不陌生。如果你订制一个交叉编译工具链,建议你使用crosstool-ng开源软件来构建。但在这里建议直接安装arm的交叉编译工具链:

sudoapt-getinstallgcc-arm-linux-gnueabi

编译Linux内核

生成vexpress开发板子的config文件:

makeCROSS_COMPILE=arm-linux-gnueabi-ARCH=armvexpress_defconfig

编译:

makeCROSS_COMPILE=arm-linux-gnueabi-ARCH=arm

生成的内核镱像位于arch/arm/boot/zImage,后续qemu启动时需要使用该镜像。

下载和安装qemu模拟器

其实Ubuntu12.04有qemu的安装包,但由于版本较低,对vexpress开发板支持不友好,建议下载高版本的qemu:

wget

配置qemu前,需要安装几个软件包:

sudoapt-getinstallzlib1g-dev

sudoapt-getinstalllibglib2.0-0

sudoapt-getinstalllibglib2.0-dev

配置qemu,支持模拟arm架构下的所有单板:

./configure--target-list=arm-softmmu--audio-drv-list=

编译和安装:

make

makeinstall

测试qemu和内核能否运行成功

qemu已经安装好了,内核也编译成功了,到这里最好是测试一下,编译出来的内核是否OK,或者qemu对vexpress单板支持是否够友好。

运行命令很简单:

qemu-system-arm-Mvexpress-a9-m512M-kernel/home/ivan/kernel_git/linux/arch/arm/boot/zImage-nographic-append"console=ttyAMA0"

如果看到内核启动过程中的打印,说明前的搭建是成功的。

这里简单介绍下qemu命令的参数:

-Mvexpress-a9模拟vexpress-a9单板,你可以使用-M?参数来获取该qemu版本支持的所有单板

-m512M单板运行物理内存512M

-kernel/home/ivan/kernel_git/linux/arch/arm/boot/zImage告诉qemu单板运行内核镜像路径

-nographic不使用图形化界面,只使用串口

-append"console=ttyAMA0"内核启动参数,这里告诉内核vexpress单板运行,串口设备是哪个tty。

注意:

我每次搭建,都忘了内核启动参数中的console=参数应该填上哪个tty,因为不同单板串口驱动类型不尽相同,创建的tty设备名当然也是不相同的。那vexpress单板的tty设备名是哪个呢?其实这个值可以从生成的.config文件CONFIG_CONSOLE宏找到。

如果搭建其它单板,需要注意内核启动参数的console=参数值,同样地,可从生成的.config文件中找到。

制作根文件系统

到这里是否大功告成了呢?其实在上面的测试中,你会发现内核报panic,因为内核找不到根文件系统,无法启init进程。

根文件系统要考虑两个方面:

1.根文件系统的内容

如果你看过《LinuxFromScratch》,相信你会对这一步产生恐惧感,但如果一直从事嵌入式开发,就可以放下心来。根文件系统就是简单得不能再简单的几个命令集和态动态而已。为什么LinuxFromScratch会有那么复杂,是因为它要制作出一个Linux发生版。但在嵌入式领域,几乎所有的东西,都是mini版本,根文件系统也不例外。

本文制本的根文件系统=busybox(包含基础的Linux命令)+运行库+几个字符设备

2.根文件系统放在哪里

其实依赖于每个开发板支持的存储设备,可以放到NorFlash上,也可以放到SD卡,甚至外部磁盘上。最关键的一点是你要清楚知道开发板有什么存储设备。

本文直接使用SD卡做为存储空间,文件格式为ext3格式

下载、编译和安装busybox

wget

makedefconfig

makeCROSS_COMPILE=arm-linux-gnueabi-

makeinstallCROSS_COMPILE=arm-linux-gnueabi-

安装完成后,会在busybox目录下生成_install目录,该目录下的程序就是单板运行所需要的命令。

形成根目录结构

先在Ubuntu主机环境下,形成目录结构,里面存放的文件和目录与单板上运行所需要的目录结构完全一样,然后再打包成镜像(在开发板看来就是SD卡),这个临时的目录结构称为根目录

1.创建rootfs目录(根目录),根文件系统内的文件全部放到这里

sudomkdirrootfs

2.拷贝busybox命令到根目录下

sudocpbusybox-1.20.2/_install/*-rrootfs/

3.从工具链中拷贝运行库到lib目录下

sudocp-P/usr/arm-linux-gnueabi/lib/*rootfs/lib/

4.创建4个tty端终设备

sudomknodrootfs/dev/tty1c41

sudomknodrootfs/dev/tty2c42

sudomknodrootfs/dev/tty3c43

sudomknodrootfs/dev/tty4c44

制作根文件系统镜像

1.生成32M大小的镜像

ddif=/dev/zeroof=a9rootfs.ext3bs=1Mcount=32

2.格式化成ext3文件系统

mkfs.ext3a9rootfs.ext3

3.将文件拷贝到镜像中

sudomkdirtmpfs

sudomount-text3a9rootfs.ext3tmpfs/-oloop

cp-rrootfs/*tmpfs/

sudoumounttmpfs

系统启动运行

完成上述所有步骤之后,就可以启动qemu来模拟vexpress开发板了,命令参数如下:

qemu-system-arm-Mvexpress-a9-m512M-kernel/home/ivan/qemu/linux/arch/arm/boot/zImage-nographic-append"root=/dev/mmcblk0console=ttyAMA0"-sda9rootfs.ext3

从内核启动打印,到命令行提示符出现,激动人心的时刻出现了……

写在后面的话

通过上面的步骤,搭建出来一个最小的qemu+arm开发环境,你可以上面的基础上修改内核,或者增加一些测试程序在单板上运行,甚至使用单板的flash设备。

在此,你可以做纯arm架构的内核开发,或者与架构无关的内核开发,也可以做单板相关的驱动开发。

② RockPI 4A Linux内核下载与编译

本文介绍RockPI 4A单板Debian系统Linux内核的下载和编译方法,为后续介绍RockPI 4A单板Linux内核调试进行抛砖引玉。

一笑神腔、代码下载

Rockpi 4A Debian版本SDK代码下载方法:

代码下载完成后,显示如下瞎册:

kernel 目录下保存Linux内核代码。

build 目录下保存配置和编译脚本

如果RockPI 4A代码下载失败,提示如下:

解决方法:将下载链接中 https 替换成 git 。

二、内核编译

使用代码里的编译脚本,编译脚本名称: mk-kernel.sh ,位置如下:

注:在脚本 mk-kernel.sh 中有一段代码: source $LOCALPATH/build/board_configs.sh $BOARD ,使用脚本编译时,必须在 build 文件夹同一级目录。

RockPI 4A Linux内核编译方法碰衫如下(使用...省略部分编译输出):

其中: rockpi4a 对应RockPI 4A单板,如果使用其它单板,需要设置不同内容。单板类型可参考 build/board_configs.sh 脚本中 case ${BOARD} in 的选项。例:

编译出来的映像路径:

③ Linux系统下载(超全镜像整理下载)

Linux系统镜像下载的超全整理如下

一、主流Linux发行版官方镜像站

  • Ubuntu
    • 官方镜像站
    • 另一官方镜像站
  • CentOS
    • 官方镜像状态查询
  • Debian
    • 全球镜像站
    • 镜像存档
  • Fedora
    • 官方镜像站
    • BitTorrent下载
  • Linux Mint
    • 官方镜像站
  • Kali Linux
    • 官方下载页面

二、企业机构及国内开源镜像站

  • 网易开源镜像站
    • 镜像站链接
  • 阿里云开源镜像
    • 镜像站链接
  • 搜狐开源镜像站
    • 镜像站链接
  • 首都在线科技股份有限公司
    • 镜像站链接
  • 中国科学技术大学镜像站
    • IPv4 + IPv6镜像
  • 清华大学镜像站
    • 镜像站链接

三、国内高校开源镜像站

  • 电子科技大学
    • Ubuntu镜像
  • 上海交通大学
    • IPv4镜像
    • IPv6镜像
  • 北京交通大学
    • IPv4镜像
  • 厦门大学
    • 镜像站链接
  • 中山大学
    • 镜像站链接
  • 浙江大学
    • 镜像站链接

四、国外开源镜像站

  • 卡内基梅隆大学(CMU)
    • 镜像站链接
  • 麻省理工学院(MIT)
    • 镜像站链接
  • 哥伦比亚大学
    • 镜像站链接
  • 俄勒冈州立大学
    • 镜像站链接

五、特定Linux发行版或组件镜像站

  • Kernel镜像站
    • 镜像站链接
  • RedHat Enterprise Linux(RHEL)镜像站
    • 镜像站链接

请注意,以上链接可能会随时间发生变化,建议访问时核实链接的有效性。在下载Linux系统镜像时,请确保从官方或可信的镜像站下载,以避免安全风险。

④ centos7 离线升级/在线升级操作系统内核

CentOS作为一款Linux发行版,它基于开放源代码,受到许多服务器使用青睐。在某些情况下,系统内核版本的限制可能会成为问题,如某些软件运行需求更高的内核版本。本文将详细介绍如何实现CentOS7的离线升级和在线升级系统内核。

一、系统环境与内核下载网址

为了确保升级过程顺利,首先需要确保你的CentOS系统环境完整。内核的下载可通过两个主要渠道:阿里云开源软件镜像站(mirrors.aliyun.com/elre...)和elrepo镜像站(elrepo.org/linux/kernel...)。

二、离线升级系统内核

离线升级需要进行一系列步骤,确保过程的安全性和稳定性。首先,查看当前系统版本和内核版本,确保信息准确。接着,通过命令更新yum源仓库。启用ELRepo仓库,为内核升级提供必要的支持。导入ELRepo仓库的公共密钥并安装其yum源。下载指定版本的内核包,此步骤需要先确保导入公共密钥和安装yum源,否则无法下载。安装内核包后,需通过修改GRUB_DEFAULT为0来设置默认启动内核,并生成新的grub配置文件以完成升级。

三、在线升级系统内核

在线升级更为便捷,首先同样启用ELRepo仓库并安装yum源。查看可用的内核版本,根据需求选择最新或长期支持版本进行安装。安装新内核后,同样需要调整GRUB_DEFAULT为0,并生成新的grub配置文件。重启系统后,通过查看当前内核版本确认升级成功。

本文旨在提供一个完整的升级流程,以确保CentOS7系统的内核可以满足所需应用的需求。通过离线或在线升级系统内核,用户可根据实际需求选择最合适的升级方式,确保系统稳定运行。

(来源:cnblogs.com/renshengdez...)

⑤ 【general】linux kernel编译与安装

要编译与安装Linux内核,首先进行环境准备,确保已安装适当的开发工具和环境。接着,下载Linux内核源代码,推荐使用官方或可靠镜像源。

准备内核代码版本5.14,可从Linux Kernel Archives获取。解压并复制当前内核配置文件,利用menuconfig工具进行调整。

安装编译内核所需的依赖包,确保系统具备执行构建所需的软件。解压后,根据需要调整配置选项,如编译目标、模块支持等。

开始编译内核,使用make命令。为了提高编译效率,可添加“-j N”参数,其中N代表使用的并行进程数,评估系统在多处理器环境中的多任务并行执行性能。确保使用相同的内核代码、配置和命令进行编译,以便对比性能。

完成编译后,安装内核模块和内核本身。通常,系统会自动执行此过程。

参考资源:如何编译安装Linux内核 - LightningStar - 博客园,如何编译安装Linux内核-腾讯云开发者社区-腾讯云。

热点内容
linux怎么编译c文件 发布:2025-09-18 09:55:16 浏览:301
python安装后无法运行 发布:2025-09-18 09:45:57 浏览:236
安卓手机怎么剪辑音乐 发布:2025-09-18 09:44:16 浏览:781
服务器地址修改在哪找 发布:2025-09-18 09:42:41 浏览:441
sntp服务器地址 发布:2025-09-18 09:28:36 浏览:552
phpunit 发布:2025-09-18 09:25:19 浏览:571
怎么改服务器的ip地址吗 发布:2025-09-18 09:24:33 浏览:12
编译703n固件 发布:2025-09-18 08:50:59 浏览:539
三星手机系统文件夹是哪个文件夹 发布:2025-09-18 08:48:45 浏览:282
rmijava 发布:2025-09-18 08:38:26 浏览:21