Sunday, January 31, 2010

The problem of year 2010

Looks like the Solaris versions prior to the version 2.6 (SunOS 5.6) have a problem of year 2010.

Surprise, surprise! If the current date is specified, they just don't boot in a single user mode, hanging after detection of serial ports (zs1 is /obio/zs@0,0), when /devices directory should be configured.

At least the version 2.5.1 hangs when the system date is > 2009.12.20.

Weird, huh?

Going to update the howto....

4 comments:

  1. Вы спрашивали на форумах Sun, что будет на реальной машине.

    На системе SparcStation 5:

    SPARCstation 5, No Keyboard
    ROM Rev. 2.15, 32 MB memory installed, Serial #7747757.
    Ethernet address 8:0:20:76:38:ad, Host ID: 807638ad.

    Дата текущая:

    ok date
    01/22/2013 22:31:38 GMT

    Загрузка SunOS 5.5 ведёт к зависанию в указанном вами месте:

    ok boot -v - v=verbose
    Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@3,0 File and args: -v - v=verbose
    Size: 258936+167074+38118 Bytes
    SunOS Release 5.5 Version Generic_103093-25 [UNIX(R) System V Release 4.0]
    Copyright (c) 1983-1995, Sun Microsystems, Inc.
    vac: enabled in write through mode
    cpu0: FMI,MB86904 (mid 0 impl 0x0 ver 0x4 clock 110 MHz)
    mem = 32768K (0x2000000)
    avail mem = 28606464
    Ethernet address = 8:0:20:76:38:ad
    root nexus = SUNW,SPARCstation-5
    iommu0 at root: obio 0x10000000
    sbus0 at iommu0: obio 0x10001000
    espdma0 at sbus0: SBus slot 5 0x8400000
    esp0 at espdma0: SBus slot 5 0x8800000 sparc ipl 4
    sd3 at esp0: target 3 lun 0
    sd3 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@3,0

    Unable to install/attach driver 'isp'
    Unable to install/attach driver 'fas'
    WARNING: clock gained 2331 days -- CHECK AND RESET THE DATE!
    root on /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@3,0:a fstype ufs
    Unable to install/attach driver 'sx_cmem'
    obio0 at root
    zs0 at obio0: obio 0x100000 sparc ipl 12
    zs0 is /obio/zs@0,100000
    zs1 at obio0: obio 0x0 sparc ipl 12
    zs1 is /obio/zs@0,0

    ReplyDelete
  2. Результат неожиданный: дело в том, что в qemu оно уже на том месте не зависает. Я исправил баг в ещё прошлом году, и как минимум в qemu 1.3 исправление должно содержаться.

    А что происходит на Вашей машине, если поменять дату на более старую?

    ReplyDelete
  3. Переставил на 11/20/1997 12:50:12 GMT

    Получил то же самое. :-( Видимо, проблема в ОС или в моём железе:

    ok date
    11/20/1997 12:50:12 GMT
    ok boot -v - v=verbose
    Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@3,0 File and args: -v - v=verbose
    Size: 258936+167074+38118 Bytes
    SunOS Release 5.5 Version Generic_103093-25 [UNIX(R) System V Release 4.0]
    Copyright (c) 1983-1995, Sun Microsystems, Inc.
    vac: enabled in write through mode
    cpu0: FMI,MB86904 (mid 0 impl 0x0 ver 0x4 clock 110 MHz)
    mem = 32768K (0x2000000)
    avail mem = 28606464
    Ethernet address = 8:0:20:76:38:ad
    root nexus = SUNW,SPARCstation-5
    iommu0 at root: obio 0x10000000
    sbus0 at iommu0: obio 0x10001000
    espdma0 at sbus0: SBus slot 5 0x8400000
    esp0 at espdma0: SBus slot 5 0x8800000 sparc ipl 4
    sd3 at esp0: target 3 lun 0
    sd3 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@3,0

    Unable to install/attach driver 'isp'
    Unable to install/attach driver 'fas'
    WARNING: clock lost 3211 days -- CHECK AND RESET THE DATE!
    root on /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@3,0:a fstype ufs
    Unable to install/attach driver 'sx_cmem'
    obio0 at root
    zs0 at obio0: obio 0x100000 sparc ipl 12
    zs0 is /obio/zs@0,100000
    zs1 at obio0: obio 0x0 sparc ipl 12
    zs1 is /obio/zs@0,0

    ReplyDelete
  4. Вот тесты при холодной загрузке:


    Power-ON Reset

    $$$$$ WARNING: No Keyboard Detected! $$$$$
    MMU Context Table Reg Test
    MMU Context Register Test
    MMU TLB Replace Ctrl Reg Tst
    MMU Sync Fault Stat Reg Test
    MMU Sync Fault Addr Reg Test
    MMU TLB RAM NTA Pattern Test
    MMU TLB CAM NTA Pattern Test
    MMU TLB LCAM NTA Pattern Test
    IOMMU SBUS Config Regs Test
    IOMMU Control Reg Test
    IOMMU Base Address Reg Test
    IOMMU TLB Flush Entry Test
    IOMMU TLB Flush All Test
    SBus Read Timeout Test
    EBus Read Timeout Test
    D-Cache RAM NTA Test
    D-Cache TAG NTA Test
    I-Cache RAM NTA Test
    I-Cache TAG NTA Test
    Memory Address Pattern Test
    FPU Register File Test
    FPU Misaligned Reg Pair Test
    FPU Single-precision Tests
    FPU Double-precision Tests
    FPU SP Invalid CEXC Test
    FPU SP Overflow CEXC Test
    FPU SP Divide-by-0 CEXC Test
    FPU SP Inexact CEXC Test
    FPU SP Trap Priority > Test
    FPU SP Trap Priority < Test
    FPU DP Invalid CEXC Test
    FPU DP Overflow CEXC Test
    FPU DP Divide-by-0 CEXC Test
    FPU DP Inexact CEXC Test
    FPU DP Trap Priority > Test
    FPU DP Trap Priority < Test
    PROC0 Interrupt Regs Tests
    Soft Interrupts OFF Test
    Soft Interrupts ON Test
    PROC0 User Timer Test
    PROC0 Counter/Timer Test
    DMA2 E_CSR Register Test
    LANCE Address Port Tests
    LANCE Data Port Tests
    DMA2 D_CSR Register Test
    DMA2 D_ADDR Register Test
    DMA2 D_BCNT Register Test
    DMA2 D_NADDR Register Test
    ESP Registers Tests
    DMA2 P_CSR Register Test
    DMA2 P_ADDR Register Test
    DMA2 P_BCNT Register Test
    PPORT Registers Tests
    NVRAM Access Test
    TOD Registers Test
    initializing TLB
    initializing cache

    Allocating SRMMU Context Table
    Setting SRMMU Context Register
    Setting SRMMU Context Table Pointer Register
    Allocating SRMMU Level 1 Table
    Mapping RAM
    Mapping ROM

    ttya initialized
    Probing Memory Bank #0 32 Megabytes
    Probing Memory Bank #1 Nothing there
    Probing Memory Bank #2 Nothing there
    Probing Memory Bank #3 Nothing there
    Probing Memory Bank #4 Nothing there
    Probing Memory Bank #5 Nothing there
    Probing Memory Bank #6 Nothing there
    Probing Memory Bank #7 Nothing there
    Probing CPU FMI,MB86904
    Probing /iommu@0,10000000/sbus@0,10001000 at 5,0 espdma esp sd st SUNW,bpp ledma le
    Probing /iommu@0,10000000/sbus@0,10001000 at 4,0 SUNW,CS4231 power-management
    Probing /iommu@0,10000000/sbus@0,10001000 at 1,0 Nothing there
    Probing /iommu@0,10000000/sbus@0,10001000 at 2,0 Nothing there
    Probing /iommu@0,10000000/sbus@0,10001000 at 3,0 cgsix
    Probing /iommu@0,10000000/sbus@0,10001000 at 0,0 Nothing there
    SPARCstation 5, No Keyboard
    ROM Rev. 2.15, 32 MB memory installed, Serial #7747757.
    Ethernet address 8:0:20:76:38:ad, Host ID: 807638ad.




    Type help for more information

    ReplyDelete