无忧启动论坛

标题: syslinux4.03升级至6.02无法启动本地硬盘 [打印本页]

作者: wangtimeboy    时间: 2014-9-16 09:04
标题: syslinux4.03升级至6.02无法启动本地硬盘
先前基于syslinux4.03做的服务器启动本地硬盘只需“KERNEL chain.c32”即可,更新服务器后,升级到syslinux6.02,发现只能使用“localboot 0”等基于localboot.c32的方式启动本地硬盘,但升级后的服务器只对单位的台式机有效,全部联想一体机都无法进入,且停留在显示“Booting from local disk  PXE-MOF:Exiting PXE ROM”状态!请高手给予帮助!谢谢
作者: wangtimeboy    时间: 2014-9-16 16:30
LOCALBOOT

Certain models of computers, sometimes specific to BIOS and BIOS extension versions, do not work well with at least certain (but sometimes all) LOCALBOOT options (as of v3.70, available in all variants however PXELINUX interprets the option differently). As a workaround, use chain.c32 like this:
LABEL localboot
  MENU LABEL Boot from first hard drive
  COM32 chain.c32
  APPEND hd0

This is also equivalent to the command line "chain.c32 hd0". Omitting the partition number (as in these examples), implies partition number 0 (MBR).

LOCALBOOT on HP ProLiant servers

The LOCALBOOT option doesn't work reliably on G5 and older HP ProLiant servers because of BIOS defect QXCR1001064253.

LOCALBOOT on Dell Latitude E6400

The E6400 with BIOS A14, A25, A27, and A28 (probably all) has an issue with using "LOCALBOOT 0" from PXELINUX. "LOCALBOOT -1" in PXELINUX is known to work. This issue probably also affects the E6500 and possibly the E5500, E5400, Precision M4400 and M6400 as in the past model selections like these from the same generation share a lot of their BIOS code.

LOCALBOOT on Dell Latitude E6410

This is currently under discussion with Dell. Currently, when using LOCALBOOT on a Dell Latitude E6410 with BIOS revisions A04 and A07, different results will occur. -1 results in a reboot. 0 results in a hang. This issue probably also affects the E6510 and possibly the E5510, E5410, Precision M4500 and M6500 as in the past model selections like these from the same generation share a lot of their BIOS code.

LOCALBOOT on Dell PowerEdge c6220

'LOCALBOOT 0' will hang or reboot the machine. This was tested with 4.04, 4.06-pre14, 4.10-pre17 and 4.10-pre22 (all with BIOS version 1.0.28 A02) The chain.c32 workaround will work properly, or you can install the patch from this post: http://www.syslinux.org/archives/2012-July/017880.html
based on commit 0a0e0e41cad93cd16c323cf16f40264a21eedd6c of the git.kernel.org/pub/scm/boot/syslinux/syslinux.git repository.

diff --git a/core/pxelinux.asm b/core/pxelinux.asm
index e8818a6..27dc595 100644
--- a/core/pxelinux.asm
+++ b/core/pxelinux.asm
@@ -132,6 +132,13 @@ _start1:
        mov ds,ax
        mov es,ax

+       ; Copy chunk of memory used by Dell BIOS on OptiPlex 790s
+       ; Allows control to return to PXE Boot Agent for localboot
+       mov esi,47cch
+       mov edi,DellBIOSChunk
+       mov ecx,13
+       rep movsd
+
%if 0 ; debugging code only... not intended for production use
        ; Clobber the stack segment, to test for specific pathologies
        mov di,STACK_BASE
@@ -289,6 +296,14 @@ local_boot:
        ; Restore the environment we were called with
        pm_call reset_pxe
        call cleanup_hardware
+
+       ; Copy Dell BIOS chunk back into place
+       cld
+       mov esi,DellBIOSChunk
+       mov edi,47cch
+       mov ecx,13
+       rep movsd
+
        lss sp,[InitStack]
        pop gs
        pop fs
@@ -564,3 +579,6 @@ IPInfo:
.ServerIP  resd 1
.GatewayIP resd 1
.Netmask   resd 1
+
+       section .earlybss
+DellBIOSChunk   resd 13     ; 52 bytes to store Dell BIOS chunk
LOCALBOOT on IBM x3850 X5

The LOCALBOOT cannot work properly on IBM x3850 X5 server. The solution is users have to update the uEFI firmware with the latest version 1.32 then using chain.c32 module and following syntax to boot up the first hard drive:
LABEL localboot
  MENU LABEL Boot from first hard drive
  COM32 chain.c32
  APPEND hd0 0

作者: xzdn9527    时间: 2014-9-19 11:07
试试这样看行不行

LABEL hddboot
        MENU LABEL [^7]   hddboot
        LOCALBOOT 0x80
作者: wangtimeboy    时间: 2014-9-20 09:48
试过了,也不行,最后没法子又重回到syslinux4.03了
作者: jszfh    时间: 2015-4-19 10:20
顶顶健康。。。。。。。。。




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3