linux 相关配置
要引导安装linux,需要把相关linuxISO文件中的相关文件复制出来,主要是核心文件(vmlinuz)和初始内存盘(initrd.img)以及isolinux.cfg配置文件。有以下区别:
CentOS5.x(RHEL 5.x,Oracle Linux 5.x)
需要复制isolinux下的相关文件,安装时可以添加method=hd:sda1:/路径指定iso文件的位置,需要注意的是在安装的过程中grub一定要安装到本地硬盘的MBR(可能需要调整一下磁盘识别的顺序,将本地硬盘调整到最前)
CentOS6.x(RHEL 6.x,Oracle Linux6.x)
需要复制isolinux下的相关文件并加上images下的相关文件,安装时需要找到images目录下的install.img文件,可以在安装参数中添加askmethod手动加载或者指定stage2=path来指定install.img的路径,再或者指定repo=path 或者method=path 并保证路径下包含install.img。
SUSELinux 10/11
需要复制/boot/x86_64/loader下的内容。
注意:安装时需要调整的位置
将相关LINUX ISO中的配置文件复制到/boot/linux/自定义的相关目录下。我的目录在/boot/linux下,如图:
新建 /boot/config/linux.cfg Linux主配置文件
include /boot/config/common.cfg #包含公用配置 default redhat64x64 #默认菜单项 label centos6364 #菜单项 menu label Install CentOS 6.3 X86_64 #菜单显示标题 kernel /boot/syslinux/vesamenu.c32 #加载图形菜单 append /boot/linux/centos63/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label suse10 text help #帮助提示信息,在此提示iso文件的路径 iso path:/ISO/linux/suse1064.iso endtext menu label Install Suse Enterprise Server 10 SP4 x86-64 #显示标题 kernel /boot/syslinux/vesamenu.c32 #加载图形菜单 append /boot/linux/suse1064/isolinux.cfg /boot/config/mainmenu.cfg #加载suse配置文件 menu separator label Suse11sp3 text help iso path:/ISO/linux/suse11sp364.iso endtext menu label Install Suse Enterprise Server 11 SP3 X86-64 kernel /boot/syslinux/vesamenu.c32 append /boot/linux/suse11364/isolinux.cfg #加载具体配置文件 menu separator label redhat5432bit text help iso path:/ISO/linux/rh5432.iso endtext menu label Install Redhat Enterprise Server 5.4 32Bit kernel /boot/syslinux/vesamenu.c32 append /boot/linux/rh5432/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label redhat5464bit text help iso path:/ISO/linux/rh5464.iso endtext menu label Install Redhat Enterprise Server 5.4 64Bit kernel /boot/syslinux/vesamenu.c32 config /boot/linux/rh5464/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label redhat5864bit text help iso path:/ISO/linux/rh5864.iso endtext menu label Install Redhat Enterprise Server 5.8 64Bit kernel /boot/syslinux/vesamenu.c32 config /boot/linux/rh5864/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label redhat63x64 text help iso path:/boot/linux/rh6364/rhel6364.iso. install.img path is :/boot/linux/rh6364/images endtext menu label Install Redhat Enterprise Server 6.3 64Bit kernel /boot/syslinux/vesamenu.c32 config /boot/linux/rh6364/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label redhat64x64 text help iso path:/boot/linux/rh6464/rh6464.iso. install.img path is :/boot/linux/rh6464/images endtext menu label Install Redhat Enterprise Server 6.4 64Bit kernel /boot/syslinux/vesamenu.c32 append /boot/linux/rh6464/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label redhat65x64 text help iso path:/boot/linux/rh6564/rh6564.iso. install.img path is :/boot/linux/rh6564/images endtext menu label Install Redhat Enterprise Server 6.5 64Bit kernel /boot/syslinux/vesamenu.c32 append /boot/linux/rh6564/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label oracle5864bit text help iso path:/boot/linux/ol5864/ol5864.iso endtext menu label Install Oracle Linux 5.8 64Bit kernel /boot/syslinux/vesamenu.c32 config /boot/linux/ol5864/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label oracle64x64 text help iso path:/boot/linux/ol6464/ol6464.iso. install.img path is :/boot/linux/ol6464/images endtext menu label Install Oracle Linux 6.4 64Bit kernel /boot/syslinux/vesamenu.c32 append /boot/linux/ol6464/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label oracle65x64 text help iso path:/boot/linux/ol6564/ol6564.iso. install.img path is :/boot/linux/ol6564/images endtext menu label Install Oracle Linux 6.5 64Bit kernel /boot/syslinux/vesamenu.c32 append /boot/linux/ol6564/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件 menu separator label debian564 menu hide menu label Install Debian 5.04 AMD64 kernel /boot/deb564/vmlinuz append vga=normal initrd=/boot/deb564/initrd.gz -- quiet menu separator label debian532 menu hide menu label Install Debian 5.04 I386 kernel /boot/deb532/vmlinuz append linux load_ramdisk=1 video=vesa:ywrap,mtrr initrd=/boot/deb532/initrd.gz -- quiet
这里有一个共同点,就是基本上所有的LINUX ISO或光盘的启动程序都是使用的ISOLINUX,配置文件都是isolinux.cfg。配置文件中最主要的区别是append和config。append是附加选项,而config是使用新的配置文件重新加载boot loader。我一般在 5.x的时候使用config加载,比较方便输入5.x提供的选项。而6.x使用append可以加载ISO提供的图形菜单。
我们取几个/boot/linux下有代表性的配置来看一下。(主要内容为原ISO内容,需要根据我们拷贝的情况改动一下路径,如果有特殊需求,可以在此添加参数)
/boot/linux/ol5864/isolinux.cfg
default linux #默认菜单项 prompt 1 timeout600 #超时时间 display/boot/linux/ol5864/boot.msg #一些系统提示的信息 F1/boot/linux/ol5864/boot.msg F2/boot/linux/ol5864/options.msg F3/boot/linux/ol5864/general.msg F4/boot/linux/ol5864/param.msg F5/boot/linux/ol5864/rescue.msg labellinux kernel /boot/linux/ol5864/vmlinuz append linux load_ramdisk=1 initrd=/boot/linux/ol5864/initrd.imgmethod=hd:sda1:/boot/linux/ol5864/ #method指定iso在U盘的路径 labeltext kernel /boot/linux/ol5864/vmlinuz append linux load_ramdisk=1initrd=/boot/linux/ol5864/initrd.img method=hd:sda1:/boot/linux/ol5864/ text #text指定文本方式安装 label ks kernel /boot/linux/ol5864/vmlinuz append ksinitrd=/boot/linux/ol5864/initrd.img method=hd:sda1:/boot/linux/ol5864/ks=hd:sda1:/boot/linux/ol5864/pc.ks ksdevice=eth0 #通过kickstart应答自动安装。 labellocal localboot 1 labelmemtest86 kernel /boot/linux/ol5864/memtest append -
注意:5.x的Linux如果安装时没有发现U盘,可以按F2加载usbstorage驱动。如果要加载额外的驱动也可以在安装参数后加dd来加载。
/boot/linux/rh6564/isolinux.cfg
default linux #prompt1 timeout600 display/boot/linux/rh6564/boot.msg menubackground /boot/linux/rh6564/splash.jpg #菜单背景图片 menutitle Welcome to Red Hat Enterprise Linux 6.5! menucolor border 0 #ffffffff #00000000 menucolor sel 7 #ffffffff #ff000000 menucolor title 0 #ffffffff #00000000 menucolor tabmsg 0 #ffffffff #00000000 menucolor unsel 0 #ffffffff #00000000 menucolor hotsel 0 #ff000000 #ffffffff menucolor hotkey 7 #ffffffff #ff000000 menucolor scrollbar 0 #ffffffff #00000000 labellinux menu label ^Install or upgrade an existing system kernel /boot/linux/rh6564/vmlinuz append initrd=/boot/linux/rh6564/initrd.img method=hd:LABEL=OEMDRV:/boot/linux/rh6564 labellinuxks menu label ^Install or upgrade an existingsystem kickstart menu default kernel /boot/linux/rh6564/vmlinuz append initrd=/boot/linux/rh6564/initrd.img ks=hd:sda1:/boot/linux/rh6564/pc.ks ksdevice=eth0 #通过kickstart应答自动安装。 labelvesa menu label Install system with ^basic video driver kernel /boot/linux/rh6564/vmlinuz append initrd=/boot/linux/rh6564/initrd.img xdriver=vesa nomodeset labelrescue menu label ^Rescue installed system kernel /boot/linux/rh6564/vmlinuz append initrd=/boot/linux/rh6564/initrd.img rescue labellocal menu label Boot from ^local drive localboot 0xffff labelmemtest86 menu label ^Memory test kernel /boot/linux/rh6564/memtest append-
注意:红帽系的操作系统6.x可以通过多个参数加载ISO,如repo=path,method=path。还有stage2=imagespath指定install.img的路径。另外也可以使用U盘的标签来加载U盘。
/boot/linux/suse11364
defaultlinux #install labellinux kernel /boot/linux/suse11364/linux #suse的核心是linux append initrd=/boot/linux/suse11364/initrdsplash=silent showopts vga=0x317 install="hd:/dev/sda1/ISO/linux/suse11sp364.iso" #指定suse的ISO位置 labellinux with drivers kernel /boot/linux/suse11364/linux append initrd=/boot/linux/suse11364/initrdsplash=silent showopts vga=0x317 dud=1 install="hd:/dev/sda1/ISO/linux/suse11sp364.iso" #如果要额外加载驱动需要指定dud=1 # repair labelrepair kernel /boot/linux/suse11364/linux append initrd=/boot/linux/suse11364/initrdsplash=silent repair=1 showopts # rescue labelrescue kernel /boot/linux/suse11364/linux append initrd=/boot/linux/suse11364/initrdsplash=silent rescue=1 showopts #mediacheck label mediachk kernel /boot/linux/suse11364/linux append initrd=/boot/linux/suse11364/initrdsplash=silent mediacheck=1 showopts # biostest labelfirmware kernel /boot/linux/suse11364/linux appendinitrd=/boot/linux/suse11364/biostest,/boot/linux/suse11364/initrdsplash=silent install=exec:/bin/run_biostest showopts # memorytest labelmemtest kernel memtest ui /boot/syslinux/gfxboot.c32/boot/linux/suse11364/bootlogo /boot/linux/suse11364/message implicit 1 prompt 1 timeout 600
注意:suse 安装时指定iso的位置要用install=path,附加驱动时需要用dud=1参数 。