首页 > 代码库 > 如何制作一个通用的多系统安装U盘六(Linux相关配置)

如何制作一个通用的多系统安装U盘六(Linux相关配置)

linux 相关配置

    要引导安装linux,需要把相关linuxISO文件中的相关文件复制出来,主要是核心文件(vmlinuz)和初始内存盘(initrd.img)以及isolinux.cfg配置文件。有以下区别:


CentOS5.xRHEL 5.xOracle Linux 5.x

    需要复制isolinux下的相关文件,安装时可以添加method=hd:sda1:/路径指定iso文件的位置,需要注意的是在安装的过程中grub一定要安装到本地硬盘的MBR(可能需要调整一下磁盘识别的顺序,将本地硬盘调整到最前)


CentOS6.xRHEL 6.xOracle 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下的内容。


注意:安装时需要调整的位置

wKiom1Rq2Mzj1q3PAAMsG-msIYo448.jpg

wKioL1Rq2UKwZeUxAANwvIh6Bfk557.jpg



将相关LINUX ISO中的配置文件复制到/boot/linux/自定义的相关目录下。我的目录在/boot/linux下,如图:

wKiom1Rq2YHSpLUoAACBjZ2mgpo425.jpg


新建 /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参数 。


本文出自 “梦想成真” 博客,请务必保留此出处http://zhile.blog.51cto.com/9599674/1579036

如何制作一个通用的多系统安装U盘六(Linux相关配置)