1.源码方式安装特定版本 Linux Kernel 步骤
2.GRUB2基本命令
3.LINUX系统下grub菜单的源码几个技巧
4.å¦ä½å¶ä½grubå¯å¨å
ç
源码方式安装特定版本 Linux Kernel 步骤
源码方式安装特定版本Linux Kernel 步骤详解
本文将详细介绍通过源码方式安装指定版本Linux Kernel(本文以6.2.0版本为例)的步骤。在安装过程中,分析您需要下载软件仓库(upstream),源码配置内核以适应特定需求,分析并最终完成内核的源码安装。此外,分析线上教育源码您将学习如何更新Grub配置以确保系统使用新内核启动。源码
安装前准备:确认操作系统为RHEL(Linux)环境,分析并拥有root权限。源码所有命令默认在root权限下执行。分析确保基础的源码Linux开发工具已安装,安装过程中如需补充工具则会自动进行。分析多仓库源码
步骤1:下载并切换到特定版本的源码Linux Kernel仓库
1.1 下载Linux Kernel仓库至/home目录,后续命令将自动安装于适当位置,分析无需更改文件名。源码对于6.2.0版本,无需特别修改文件名。
步骤2:配置内核以自定义属性
2.1 使用配置工具自定义内核属性。有多种方式:完全重新配置或导入并修改之前的配置文件(.config),最终生成新的配置文件(.config),旧配置文件则命名为(.config.old)。
步骤3:编译Linux Kernel生成bzImage文件
步骤4:默认安装Linux Kernel模块,存储于/lib/modules文件夹。logbook源码讲解
步骤5:安装Linux Kernel,自动安装至/boot文件夹下,包含System.map-6.2.0-upstream、initramfs-6.2.0-upstream.img、vmlinuz-6.2.0-upstream,更新链接关系至新生成文件。
更新Grub配置
1.1 设置启动内核,使用--set-default参数后跟启动的Linux Kernel版本。
1.2 选择启动cmdline(非必要),使用--remove-args和--args参数添加或删除cmdline参数。
1.3 查看Grub配置。mybatis源码接口
1.4 生成新的Grub配置文件,位置根据服务器启动方式决定。
重新启动计算机并配置Linux Kernel
若服务器包含其他Linux Kernel版本,指定特定版本内核并设置启动命令行参数。
1.1 修改启动命令行参数(若需要)。
1.2 重新安装Linux Kernel,删除旧版本文件。操作原因:安装过程自动链接相关文件,重新设置链接关系。删除旧文件标记为.old。
1.3 重新生成/boot/grub/grubenv文件,蜜罐系统源码并验证配置。
1.4 重启计算机。
检查安装结果
通过命令检查Linux Kernel版本,确认安装过程无误。
本文详细介绍了源码方式安装特定版本Linux Kernel的完整步骤,包括下载仓库、配置内核、编译及安装内核,以及更新Grub配置。最后,通过重启计算机验证安装结果。希望此指南能够帮助您顺利完成Linux Kernel的安装。
GRUB2基本命令
GRUB2是一个强大的启动管理器,提供了丰富的命令以满足各种操作需求。首先,你可以通过执行lsmod命令来查看当前已经加载的模块,这有助于了解系统的模块状态。如果需要装载某个模块,可以使用insmod mod_name,卸载则用rmmod mod_name,对于不清楚的命令,help [command]会提供详细的使用指导。 对于目录操作,ls [options] [dir]功能强大。默认情况下,它会列出所有硬盘设备,如果提供参数,就会显示指定目录的内容。完整的命令列表可以在/boot/grub/command.lst文件中查阅,包括但不限于boot、halt、reboot等。 值得注意的是,很多命令在模块中,如果命令未找到,只需通过insmod加载对应的模块即可。你可以通过定制内核,将所需的命令包包含其中,以满足特定需求。获取源代码通常使用CVS,但存在一个已知bug,影响启动时的菜单显示,可以通过下载并应用补丁解决,补丁文件为grub2-menu.diff。 编译步骤如下:首先,使用CVS获取源代码,然后对代码进行补丁处理。接着,执行./configure和./make编译。定制内核时,可以使用./grub-mkimage命令,如fat和pc模块用于支持不同的文件系统。最后,将生成的内核文件(如core.img)、启动文件、模块、配置文件等复制到特定的/boot/grub目录下,并编写配置文件grub.cfg来完成启动管理器的设置。扩展资料
Grub 2 是新一代的Grub,它实现了一些Grub中所没有的功能:LINUX系统下grub菜单的几个技巧
grub软件包的安装
1,安装rpm或者源码包
2,安装到mbr中
*编写/boot/grub/grub.conf文件
*grub-install /dev/hda
制作grub启动盘(将自动载软盘上创建一个/boot目录)
mke2fs /dev/fd0
mount /dev/fd0 /mnt/floppy
grub-install --root-directory=/mnt/floppy/'(fd0)'
利用grub引导盘恢复被覆盖的引导系统
先安装windows在安装linux,grub可以很好的识别并启动windows,这个过程中grub并不能直接加载windows核心引导文件,而是调用windows自身的引导器boot.ini通常是windows所在分区的引导扇区,但是再次安装windows系统时,将重写mbr.这就造成了只能启动新安装的windows,而无法启动linux,因为grub本身就安装在mbr中,被新安装windows的引导覆盖了
grubroot (查看根)
grubfind /boot/grub/grub.conf (查看grub.conf在哪个分区)
grubroot (hd0,0)
grubsetup (hd0) (把grub重新安装到hd0的mbr中)
grub配置文件说明
default saved 指定默认启动项为上次保存值
default 0 默认从第一个菜单启动
splashimage (hd0,0) /boot/grub/splash.xpm.gz 指定grub背景
timeout 指定菜单延迟的时间
title Red Hat linux 指定菜单的名称
root (hd0,0) 设置grub的根设备 root为linux内核所在的分区
kernel /boot/vmlinuz-2.4.-8 ro root=LABEL=/ 加载linux内核
initrd /boot/initrd-2.4.-8.img 使用initrd命令加载镜像文件
title winxp 定义windows启动菜单
map (hd0) (hd1) 用map命令交换磁盘或分区在BIOS中的标志符,用于启动在第二个硬盘中的windows
map (hd1) (hd0)
root (hd1,0) 设置真实windows所在的分区为grub的根设备
makeactive 设置根设备为活动分区(针对windows不能从非活动分区启动)
chainloader+1 调用Windows分区的启动引导器来引导windows系统
savedeafult -- 保存当前启动项为默认启动菜单
å¦ä½å¶ä½grubå¯å¨å ç
å°ä¸è½½å¾å°çgrldrç´æ¥æ¹å为grldr.bifï¼ç¶å使ç¨UltraISOæ°å»ºä¸ä¸ªISOéåï¼éæ©âå¯å¨å çï¼å è½½å¼å¯¼ä¿¡æ¯âå è½½grldr.bifã
è¿æ¯ï¼ä½ æ°å»ºçISOéåå·²ç»å ·å¤äºå çå¯å¨åè½ï¼grubèåæ件menu.lstæ¤æ¶åºè¯¥æ¾å¨å çæ ¹ç®å½ï¼ä¸ç¶grldrå¯å¨åæ¾ä¸å°ã
ç½ä¸ä¸å°æç« è®²è¿°äºå¦ä½å°grubè£ å¨è½¯çä¸ï¼å½ç¡¬çå¼å¯¼ä¿¡æ¯è¢«ç ´åæ¶ï¼è¿å¼ 软çå°±å¯ä»¥æ´¾ä¸ç¨åºãä½æ¯å¯¹äºä¸äºæ²¡æ软驱çç¨æ·ï¼æè 使ç¨è½¯é©±ä¸æ¹ä¾¿çç¬è®°æ¬ç¨æ·ï¼å¦æè½ç¨å çå¼å¯¼ç³»ç»ï¼åä¼æ¹ä¾¿å¾å¤ãæ¬æå°è¯´æå¦ä½å¶ä½è¿å¼ å çã
é¦å å设æ们æä¸ä¸ªè¿ä½è¯å¥½çlinuxåè¡çï¼å«cdrtools软件å ï¼ï¼cdædvdå»å½æºï¼å·²ç»é 置好ï¼å¯ä»¥å¨linuxè¿ä½æ£å¸¸ï¼å ³äºå¦ä½è®¾ç½®ï¼ç½ä¸çæç« å¾å¤ï¼ï¼grub软件å ã
æçç³»ç»æ¯redhat linux 9.0,ä½è¿ä¸ªåè¡ççgrubå ä¸ä¸å«ææ们æéè¦çstage2_eltoritoæ件ï¼è¿ä¸ªæ件æ¯å¶ä½grubå¯å¨å ççæéè¦çæ件ï¼æ以æä¸è½½äº0.ççgrub,å°åï¼ftp://alpha.gnu.org/gnu/grub/grub-0..tar.gz
æ¥ä¸æ¥æ¯å®è£ grubï¼åå¤æ°æºç å å®è£ çæ¹å¼ä¸æ ·ï¼æ们éè¦ï¼
tar zxvf grub-0..tar.gz
cd grub-0.
./configure
make
make install
好äºï¼grubå®è£ å®æï¼å¾å°äºstage2_eltoritoï¼ä¸ºäºèç大家çæ¶é´ï¼ææåäºè¿ä¸ªæ件ï¼å¦æåªä½å¯ä»¥ä¸ä¼ ä¾å¤§å®¶ä¸è½½ï¼mailæï¼
ç°å¨æ们è¿æ ·åï¼å¯ä»¥å¾å°èªå·±çgrubå çéåï¼
mkdir iso
mkdir -p iso/boot/grub
cp /stage2_eltoritoæå¨çè·¯å¾/stage2_eltorito iso/boot/grub
cp /boot/grub/menu.lst iso/boot/grub
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso
好äºï¼ç°å¨grub.isoå°±æ¯ä½ æéè¦çéåäº
ç¶åç¨cdrecordæè å端æéåå»å¨cdr/rwå°±å¯ä»¥äº
cdrecord -v dev=0,0,0 /grub.isoçè·¯å¾/grub.iso speed=8
ä¸é¢çå½ä»¤ï¼æ ¹æ®èªå·±çæ åµä¿®æ¹
好äºï¼è¿æ ·æ们就å¾å°äºä¸å¼ grubå¯å¨å çã
å½ç¶ï¼ç±äºå¶ä½grubå¯å¨å çåªéè¦å¤kåèï¼æ以å¨å¶ä½isoçæ¶åï¼ä½ å¯ä»¥æ¾ä¸äºå ¶ä»æç¨çä¸è¥¿å¨isoæ件夹ä¸ï¼åæéåã