linux-kernel – linux内核命令行开关上的三重破解

linux-kernel – linux内核命令行开关上的三重破解,第1张

概述我正在尝试添加一个开关,将 Linux内核日志发送到XenServer6上的串行控制台. 可以在EXTLinux配置文件(/boot/extlinux.conf)上编辑内核命令选项. 这是一段摘录: serial 1 115200default xeprompt 1timeout 50label xe # XenServer kernel mboot.c32 append / @H_301_4@ 我正在尝试添加一个开关,将 Linux内核日志发送到XenServer6上的串行控制台.

可以在EXTlinux配置文件(/boot/extlinux.conf)上编辑内核命令选项.

这是一段摘录:

serial 1 115200default xeprompt 1timeout 50label xe  # XenServer  kernel mboot.c32  append /boot/xen.gz mem=1024G dom0_max_vcpus=4 dom0_mem=752M lowmem_emergency_pool=1M crashkernel=64M@32M console= vga=mode-0x0311 --- /boot/vmlinuz-2.6-xen root=LABEL=root-tfnnfzfp ro xencons=hvc com2=115200,8n1 console=com2 console=hvc0 console=tty0 quIEt vga=785 splash --- /boot/initrd-2.6-xen.imglabel xe-serial  # XenServer (Serial)  kernel mboot.c32  append /boot/xen.gz com1=115200,8n1 console=com1,vga mem=1024G dom0_max_vcpus=4 dom0_mem=752M lowmem_emergency_pool=1M crashkernel=64M@32M --- /boot/vmlinuz-2.6-xen root=LABEL=root-tfnnfzfp ro console=tty0 xencons=hvc console=hvc0 --- /boot/initrd-2.6-xen.img

命令行上的三个破折号(—)是什么意思?

是加载3个启动文件?

@H_301_4@解决方法 TL; DR是的,确实如此. Extlinux必须加载Xen和linux内核.它使用mboot.c32来执行此 *** 作. —将Xen映像路径及其命令行与linux映像路径及其命令行分开.

这就是Extlinux(实际上,SysLinux系列中的所有引导加载程序)实现多引导的方式,这是加载Xen所必需的.

大多数简单的启动配置只会加载一个内核.引导加载程序有一种方法可以将命令行写入您期望的位置.在Syslinux风格:

label Simple    kernel linux.c32    append <linux kernel filename> <linux command line>

或者在Grub:

Title Simple Boot    root (hd0,0)    kernel <linux kernel filename> <linux command line>

更复杂的引导配置可能会加载启动Xen和内核.它们使用一个名为“multiboot”的系统,它可以加载这两个系统,并为每个系统提供自己的命令行.这允许您将Xen命令和linux命令传递给它.您甚至可以通过另一个阶段来加载其他内容,例如初始ramdisk.在Syslinux风格:

label Complex    kernel mboot.32    append <xen kernel filename> <xen command line> --- <linux kernel filename> <kernel command line> --- <initrd filename>

或者在Grub:

label Complex Bootkernel <xen kernel filename> <xen command line>module <linux kernel filename> <linux command line>module <initrd filename>

如果你正在使用grub,它实际上在他们自己的节中指定了这些. Grub充当了一种超级引导加载程序,因为它可以加载大量的小模块来实现多引导(或不同的文件系统等).在那种情况下,Grub在你不知道的情况下完成了大部分内容.

Syslinux和家庭分工不同.它们不是拥有一个必须处理所有情况的巨型引导加载程序,而是有两层具有许多不同的部分.在顶部,他们有核心启动加载程序,知道系统启动(即syslinux知道BIOS启动FAT文件系统上的文件,pxelinux知道通过网络加载东西,isolinux知道从CD-ROM加载文件等). Extlinux就是知道如何启动Ext2,Ext3,Ext4或BTRFS文件系统的人.

其他常见功能实现为“comboot”模块,可插入任何引导加载程序.例如:

> multiboot(mboot.c32)
>直接加载linux内核(linux.c32)
>菜单支持(menu.c32)
> Lua口译员(lua.c32)
>硬件检测工具(hdt.c32)
>基于cpu标志的备用启动(ifcpu.c32)

在多引导的情况下,它们加载mboot.c32模块,该模块实现多重引导.与Grub和family(了解多个命令行)不同,syslinux必须在单个命令行中包含所有模块及其命令行.由于 – 经常在其他程序中用作参数分隔符,因此他们选择使用—来分隔模块.

在这种情况下,Xen需要多重引导,这需要使用语法来分离Xen Hypervisor内核和作为其初始特权来宾运行的linux内核的命令行.

@H_301_4@ @H_301_4@ @H_301_4@ @H_301_4@ 总结

以上是内存溢出为你收集整理的linux-kernel – linux内核命令行开关上的三重破解全部内容,希望文章能够帮你解决linux-kernel – linux内核命令行开关上的三重破解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1025047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存