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下的相关文件并加上p_w_picpaths下的相关文件,安装时需要找到p_w_picpaths目录下的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 separatorlabel suse10text help #帮助提示信息,在此提示iso文件的路径iso path:/ISO/linux/suse1064.isoendtextmenu 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 separatorlabel Suse11sp3text helpiso path:/ISO/linux/suse11sp364.isoendtextmenu label Install Suse Enterprise Server 11 SP3 X86-64kernel /boot/syslinux/vesamenu.c32append /boot/linux/suse11364/isolinux.cfg #加载具体配置文件menu separatorlabel redhat5432bittext helpiso path:/ISO/linux/rh5432.isoendtextmenu label Install Redhat Enterprise Server 5.4 32Bitkernel /boot/syslinux/vesamenu.c32append /boot/linux/rh5432/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件menu separatorlabel redhat5464bittext helpiso path:/ISO/linux/rh5464.isoendtextmenu label Install Redhat Enterprise Server 5.4 64Bitkernel /boot/syslinux/vesamenu.c32config /boot/linux/rh5464/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件menu separatorlabel redhat5864bittext helpiso path:/ISO/linux/rh5864.isoendtextmenu label Install Redhat Enterprise Server 5.8 64Bitkernel /boot/syslinux/vesamenu.c32config /boot/linux/rh5864/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件menu separatorlabel redhat63x64text helpiso path:/boot/linux/rh6364/rhel6364.iso.install.img path is :/boot/linux/rh6364/p_w_picpathsendtextmenu label Install Redhat Enterprise Server 6.3 64Bitkernel /boot/syslinux/vesamenu.c32config /boot/linux/rh6364/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件menu separatorlabel redhat64x64text helpiso path:/boot/linux/rh6464/rh6464.iso.install.img path is :/boot/linux/rh6464/p_w_picpathsendtextmenu label Install Redhat Enterprise Server 6.4 64Bitkernel /boot/syslinux/vesamenu.c32append /boot/linux/rh6464/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件menu separatorlabel redhat65x64text helpiso path:/boot/linux/rh6564/rh6564.iso.install.img path is :/boot/linux/rh6564/p_w_picpathsendtextmenu label Install Redhat Enterprise Server 6.5 64Bitkernel /boot/syslinux/vesamenu.c32append /boot/linux/rh6564/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件menu separatorlabel oracle5864bittext helpiso path:/boot/linux/ol5864/ol5864.isoendtextmenu label Install Oracle Linux 5.8 64Bitkernel /boot/syslinux/vesamenu.c32config /boot/linux/ol5864/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件menu separatorlabel oracle64x64text helpiso path:/boot/linux/ol6464/ol6464.iso.install.img path is :/boot/linux/ol6464/p_w_picpathsendtextmenu label Install Oracle Linux 6.4 64Bitkernel /boot/syslinux/vesamenu.c32append /boot/linux/ol6464/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件menu separatorlabel oracle65x64text helpiso path:/boot/linux/ol6564/ol6564.iso.install.img path is :/boot/linux/ol6564/p_w_picpathsendtextmenu label Install Oracle Linux 6.5 64Bitkernel /boot/syslinux/vesamenu.c32append /boot/linux/ol6564/isolinux.cfg /boot/config/mainmenu.cfg #加载具体配置文件menu separatorlabel debian564menu hidemenu label Install Debian 5.04 AMD64 kernel /boot/deb564/vmlinuz append vga=normal initrd=/boot/deb564/initrd.gz -- quietmenu separator label debian532menu hidemenu 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 1timeout600 #超时时间display/boot/linux/ol5864/boot.msg #一些系统提示的信息F1/boot/linux/ol5864/boot.msgF2/boot/linux/ol5864/options.msgF3/boot/linux/ol5864/general.msgF4/boot/linux/ol5864/param.msgF5/boot/linux/ol5864/rescue.msglabellinux 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 1labelmemtest86 kernel /boot/linux/ol5864/memtest append -
注意:5.x的Linux如果安装时没有发现U盘,可以按F2加载usbstorage驱动。如果要加载额外的驱动也可以在安装参数后加dd来加载。
/boot/linux/rh6564/isolinux.cfg
default linux#prompt1timeout600 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 #00000000menucolor sel 7 #ffffffff #ff000000menucolor title 0 #ffffffff #00000000menucolor tabmsg 0 #ffffffff #00000000menucolor unsel 0 #ffffffff #00000000menucolor hotsel 0 #ff000000 #ffffffffmenucolor hotkey 7 #ffffffff #ff000000menucolor 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 nomodesetlabelrescue menu label ^Rescue installed system kernel /boot/linux/rh6564/vmlinuz append initrd=/boot/linux/rh6564/initrd.img rescuelabellocal menu label Boot from ^local drive localboot 0xfffflabelmemtest86 menu label ^Memory test kernel /boot/linux/rh6564/memtest append-
注意:红帽系的操作系统6.x可以通过多个参数加载ISO,如repo=path,method=path。还有stage2=p_w_picpathspath指定install.img的路径。另外也可以使用U盘的标签来加载U盘。
/boot/linux/suse11364
defaultlinux#installlabellinux 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 # repairlabelrepair kernel /boot/linux/suse11364/linux append initrd=/boot/linux/suse11364/initrdsplash=silent repair=1 showopts # rescuelabelrescue kernel /boot/linux/suse11364/linux append initrd=/boot/linux/suse11364/initrdsplash=silent rescue=1 showopts #mediachecklabel mediachk kernel /boot/linux/suse11364/linux append initrd=/boot/linux/suse11364/initrdsplash=silent mediacheck=1 showopts # biostestlabelfirmware kernel /boot/linux/suse11364/linux appendinitrd=/boot/linux/suse11364/biostest,/boot/linux/suse11364/initrdsplash=silent install=exec:/bin/run_biostest showopts # memorytestlabelmemtest kernel memtest ui /boot/syslinux/gfxboot.c32/boot/linux/suse11364/bootlogo /boot/linux/suse11364/messageimplicit 1prompt 1timeout 600
注意:suse 安装时指定iso的位置要用install=path,附加驱动时需要用dud=1参数 。