2012findteam 发表于 2014-2-28 21:55:44

编译安装syslinux6.02以及启动模板

本帖最后由 2012findteam 于 2014-2-28 22:13 编辑

好久没有碰syslinux了,发现版本都升级到6.02了。

环境 xubuntu12.04 + xfce4.10
查了下系统自带的syslinux和extlinux版本停留在4.05。只好自己升级了。

不让我发链接就样吧

我下的是.tar.bz2的包。因为我喜欢用bz2压缩。
解压后看到有makefile,直接就make 和make install 了。当然,你要去看看readme。因为里面提到了几个要依赖的包。

装好后查了下发现没有问题
接下来就是做启动盘了。
我一开始是用extlinux的,分区用的ext4.结果在这里发现个问题。syslinux WiKi说支持ntfs,ext4等等。结果安装好后man手册说只支持ext2,ext3,fat16,fat32。这是什么意思嘛?难道是Linux版本只能这样????我想了想换成syslinux和fat32格式了。下面讲的就是以这个格式为基础。

df -h 查看设备位置

用   fdisk -l也可以查看

sudo syslinux -d /boot/syslinux/ -i /dev/sdXX
开始制作引导。
然后就搞定了。

现在开始说要拷贝哪些文件。有人说能进菜单但是不能引导,那是因为你少拷贝文件了。

Syslinux6.02依赖ldlinux模块。ldlinux.c32(bios),ldlinux.e32(EFI IA32)或者ldlinux.e64(EFI X64);syslinux的”.c32“依赖libcom32.c32,libgpl.c32,liblua.c32,libmenu.c32,libutil.c32。这些模块要拷贝进/boot/syslinux。
特别注意。拷贝.c32文件时要注意区分不同的二进制文件。BIOS,EFI32,EFI64都有各自的文件,引导时要注意区分。特别是EFI启动需要syslinux.efi引导加载程序(从各自的目录),还要相应的ldlinux模块:ldlinux.e32从EFI IA32, ldlinux.e64 从EFI X64.
我使用BIOS引导,所以文件都来源于BIOS文件夹。拷贝错了就不能启动了。下面也只讨论BIOS启动。EFI只要模块对了。其实都是一样的。

我懒,图形窗口模块只使用menu.c32。因为我加载了syslinux自带的shell。有一堆文件。一般有个图形的和上面提到的几个必须的依赖文件就够了。
看上去只要这些,就能启动了引导了。
libcom32.c32,libgpl.c32,liblua.c32,libmenu.c32,libutil.c32   menu.c32   reboot.c32

然后建立syslinux.cfg文件。文件格式必须是DOS和UNIX。

我的syslinux.cfg

UI /boot/syslinux/menu.c32

# 启动Veket
LABEL veket
        SAY Now booting the Veket8.01 x86
        MENU LABEL ^Veket 8.01 x86
        KERNEL /boot/syslinux/veket/vmlinuz
        APPEND initrd=/boot/syslinux/veket/initrd.gz pmedia=cd

# 启动MaxDOS
LABEL MaxDOS
        SAY Now booting the MaxDOS Tools
        MENU LABEL ^MaxDOS
        KERNEL /boot/syslinux/memdisk
        APPEND initrd=/dos/MaxDOS.img

# 重启动
LABEL reboot
        SAY Rebooting System NOW!!
        MENU LABEL ^Reboot system
        KERNEL /boot/syslinux/reboot.c32
        APPEND warm

# 调用Syslinux终端
LABEL Terminator
        SAY Loading Syslinux Read-Only SHell
        MENU LABEL [^C] Read-Only SHell
        KERNEL /boot/syslinux/rosh.c32


最后启动完全搞定。觉得syslinux自己带的那个shell还真不错。
祝玩新版本愉快。

2012hzy6420 发表于 2014-4-9 07:10:31

谢谢分享,学习学习{:3_150:}

心情車站 发表于 2014-3-17 10:36:08

本帖最后由 心情車站 于 2014-5-12 15:25 编辑

201287zr 发表于 2014-2-28 23:54
楼主能否做个efi启动的模板或教程,我的6.02用efi方式,只能启动到引导界面,但选项没用,怎么回事?模块什 ...

201287zr 发表于 2014-2-28 23:54:50

楼主能否做个efi启动的模板或教程,我的6.02用efi方式,只能启动到引导界面,但选项没用,怎么回事?模块什么的也都配齐了,但引导时提示文件不存在,找不到选项中的引导文件!

云上独思念 发表于 2014-8-16 08:57:10

看了你的帖子。请问我的SYSLINUX6.02在FEDORA20中为什么编译不了。同时想请问现memdisk目录中好像没有那个叫 memdisk的文件了。不知道在GRUB2下如何使用MEMDISK哦。直接把目录拷过去好像GRUB2认不了呀

qq58945591 发表于 2014-8-30 15:43:23

rhel7 下默认参数make编译失败,会提示在什么什么ia32错误。使用make bios efi64通过,使用make efi32失败,懒得搞,目前只用bios方式做pxe ,efi不懂,等大神做好捡现成的吧。

uname -a
Linux 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux


顺便问一句,syslinux一定要使用gfxboot 才能支持 真色彩background ?觉得grub4dos比这玩意强太多了,但是syslinux对linux支持较好,菜单直接可用,用g4d还得重写菜单。 so.......需求功能不多,还是哪个方便用哪个吧。

opopk08 发表于 2015-2-3 22:34:15

火得好

dhlxtynz 发表于 2018-9-24 00:59:38

玩不懂

sxz7392 发表于 2019-1-5 21:04:33

谢谢分享,学习学习

1901630099 发表于 2019-3-30 05:28:26


火得好,支持

1901630099 发表于 2019-3-30 05:28:29

火得好,支持

1901630099 发表于 2019-3-30 05:28:31

火得好,支持

1901630099 发表于 2019-3-30 05:28:34

火得好,支持

1901630099 发表于 2019-3-30 05:28:37

火得好,支持

1901630099 发表于 2019-3-30 05:28:39

火得好,支持

1901630099 发表于 2019-3-30 05:28:42

火得好,支持

1901630099 发表于 2019-3-30 05:28:45

火得好,支持

1901630099 发表于 2019-3-30 05:28:50

火得好,支持

1901630099 发表于 2019-3-30 05:28:52

火得好,支持

1901630099 发表于 2019-3-30 05:28:55

火得好,支持

1901630099 发表于 2019-3-30 05:28:57

火得好,支持

1901630099 发表于 2019-3-30 05:29:00

火得好,支持

1901630099 发表于 2019-3-30 05:29:02

火得好,支持

1901630099 发表于 2019-3-30 05:29:05

火得好,支持

1901630099 发表于 2019-3-30 05:29:07

火得好,支持

1901630099 发表于 2019-3-30 05:29:11

火得好,支持

1901630099 发表于 2019-3-30 05:29:14

火得好,支持

1901630099 发表于 2019-3-30 05:29:16

火得好,支持

cbl 发表于 2020-3-3 16:15:41

学习了

laonat 发表于 2022-11-20 00:44:33

谢谢分享,学习一下
页: [1]
查看完整版本: 编译安装syslinux6.02以及启动模板