无忧启动论坛

 找回密码
 注册
搜索
一次装机 终生领工资最纯净的「微PE装机优盘」UEPON大师作品卡瑞飞系统和装机二合一超级U盘
诚聘PE工具开发技术员QQ:1607112133系统gho:最纯净好用系统下载站广告联系 QQ:184822951 微信:wuyouceo
查看: 8153|回复: 29

[原创] 编译安装syslinux6.02以及启动模板

  [复制链接]
发表于 2014-2-28 21:55:44 | 显示全部楼层 |阅读模式
本帖最后由 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格式了。下面讲的就是以这个格式为基础。

  1. df -h
复制代码
查看设备位置

用  
  1. fdisk -l
复制代码
也可以查看

  1. 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还真不错。
祝玩新版本愉快。
发表于 2014-4-9 07:10:31 | 显示全部楼层
谢谢分享,学习学习

点评

www.xdtxsw.com/fl/3.html 新蛋疼 无弹窗  发表于 2014-10-25 14:29
回复

使用道具 举报

发表于 2014-3-17 10:36:08 | 显示全部楼层
本帖最后由 心情車站 于 2014-5-12 15:25 编辑
201287zr 发表于 2014-2-28 23:54
楼主能否做个efi启动的模板或教程,我的6.02用efi方式,只能启动到引导界面,但选项没用,怎么回事?模块什 ...
回复

使用道具 举报

发表于 2014-2-28 23:54:50 来自手机 | 显示全部楼层
楼主能否做个efi启动的模板或教程,我的6.02用efi方式,只能启动到引导界面,但选项没用,怎么回事?模块什么的也都配齐了,但引导时提示文件不存在,找不到选项中的引导文件!

点评

说的很简单,你就看他吹吧  详情 回复 发表于 2014-3-17 10:36
回复

使用道具 举报

发表于 2014-8-16 08:57:10 | 显示全部楼层
看了你的帖子。请问我的SYSLINUX6.02在FEDORA20中为什么编译不了。同时想请问现memdisk目录中好像没有那个叫 memdisk的文件了。不知道在GRUB2下如何使用MEMDISK哦。直接把目录拷过去好像GRUB2认不了呀
回复

使用道具 举报

发表于 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.......需求功能不多,还是哪个方便用哪个吧。
回复

使用道具 举报

发表于 2015-2-3 22:34:15 | 显示全部楼层
火得好
回复

使用道具 举报

发表于 2018-9-24 00:59:38 | 显示全部楼层
玩不懂
回复

使用道具 举报

发表于 2019-1-5 21:04:33 | 显示全部楼层
谢谢分享,学习学习
回复

使用道具 举报

发表于 2019-3-30 05:28:26 | 显示全部楼层

火得好,支持
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持本站|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2019-4-26 18:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表