2006年12月6日

APIC problem

2006/12/08 更新:原來 Shuttle 的 BIOS APIC 還不能亂關,關掉以後 due core 竟然少一顆 cpu,剛剛才發現... 換成把 BIOS 的 APIC 打開,但是 kernel 加上 noapic 參數就可以了。

工作電腦在 Debian Testing 底下一直不穩,有時候幾天不關放著就 hang 住了。這台機器 (Shuttle SS59G) 的 power supply 不太好,電源接頭感覺不穩,有時候動到一下電源就重開機。很可能 hang 住是電源品質造成的,不過還是要檢查一下是否有軟體問題。看了一下 system log,有如下的訊息重複出現:

APIC error on CPU0: 40(40)

大概查了一下,這應該是 sis 晶片組常見的問題,首先我試著 update BIOS 看看。不過很不幸的,雖然我很辛苦的做出了 usb 開機碟,但是 awdflash 每次跑到一半就掛掉。後來網路翻找一下,發現在 LinuxBIOS 這網站裡頭竟然有 flashrom 這種好東西,直接在 Linux 底下就可以更新 BIOS,不用開到 dos 底下了。可是更新重開以後,訊息照樣出現,乾脆進 BIOS 裡頭把 APIC 關掉,錯誤訊息就不會出現了。後來用到現在也沒當,不知道兩者間有沒有關係。

順帶一提,我做 usb boot disk 的方法如下:
  • Download and compile makebootfat

  • Install syslinux if you don't have it.

  • Prepare usb disk content under a directory, say "/home/john/tmp/usb". I put boot98sc.ima (Win98 boot floppy image file) and syslinux.cfg under it. The content of syslinux.cfg:

    default dos
    label dos
    kernel memdisk
    append initrd=boot98sc.ima

  • Under /usr/lib/syslinux, execute

    makebootfat -o usb -Z -Y -b ldlinux.bss -m mbr.bin \
    -c ldlinux.sys -c memdisk /home/john/tmp/usb/

Now ldlinux.bss and mbr.bin will take the system to ldlinux.sys, the syslinux boot loader. Then the boot loader will try to locate syslinux.cfg, load memdisk by instruction, finally load the win98 boot disk image to simulate a floppy boot.

The DOS will recognise the floppy image as A:, and the content of the real USB disk as B:, which is a good thing, since you could put your tools inside the USB instead of the small floppy image.

沒有留言 :

張貼留言