===== Firmware ===== Alpha systems use one of two families of firmware, depending on the operating system they were designed for: the SRM console, and the ARC family (ARC, AlphaBIOS, and ARCSBIOS). Some systems carry both and can switch between them. ^ Firmware ^ Interface ^ Operating systems ^ Linux boot loader ^ | [[software:firmware:srm|SRM console]] | Command line | OpenVMS, Tru64 UNIX, Linux, NetBSD, OpenBSD | [[software:boot_loaders:aboot|aboot]] | | [[software:firmware:arc|ARC, AlphaBIOS, and ARCSBIOS]] | Menus | Windows NT, Linux | [[software:boot_loaders:milo|MILO]], built from source for current kernels (APB on the UP1000) | The pages on individual [[hardware:systems|systems]] and [[hardware:motherboards|motherboards]] describe the firmware available for each, and [[software:firmware:srm#final_versions|SRM Console: Final versions]] lists the last SRM release for each system. ==== Choosing firmware for Linux ==== Linux should be booted from SRM wherever the system has it. SRM provides the PALcode that Linux uses and loads [[software:boot_loaders:aboot|aboot]] from the disk; ARC and AlphaBIOS provide Windows NT PALcode, so Linux on them must be started through [[software:boot_loaders:milo|MILO]], which brings its own PALcode. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1998-January.mbox#L26796|"Re: Does DEC have a clue?"]], Jay Estabrook, axp-list, 21 Jan 1998)] [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-September.mbox#L12590|"Re: SRM vs. AlphaBIOS"]], Phillip Ezolt, axp-list, 7 Sep 1999)] OpenVMS, Tru64 UNIX, and the BSDs also require SRM. [(>{{wiki:hardware:motherboards:common:srm_console_user_guide.pdf?linkonly|Alpha SRM Console for Alpha Microprocessor Motherboards User's Guide}}, p. 1-2)] [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/freebsd-alpha-mbox/1999-April.mbox#L3081|"Re: MILO for fbsd?"]], Andrew Gallatin, freebsd-alpha, 8 Apr 1999)] On systems that hold ARC or AlphaBIOS alongside SRM, the console is switched as described in [[software:firmware:arc#switching_to_srm|ARC Firmware: Switching to SRM]]. The AlphaPC 164, 164LX, and 164SX hold only one firmware at a time, so moving them to SRM means flashing the SRM image. [(>{{wiki:hardware:motherboards:common:srm_console_user_guide.pdf?linkonly|Alpha SRM Console for Alpha Microprocessor Motherboards User's Guide}}, p. 2-20)] The console settings, and on some systems the choice between SRM and AlphaBIOS, are kept in memory backed by a battery on the motherboard; settings that do not survive a power cycle usually mean the battery has failed. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2010-August.mbox#L757|"Minifridge"]], Jay Estabrook, axp-list, 20 Aug 2010)] See [[hardware:systems#common_problems|Systems: Common problems]] for the batteries used, and [[software:firmware:srm#environment_variables|SRM Console: Environment variables]] for the settings to restore. Systems with no SRM firmware, among them the Alpha XL and XLT, [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1998-January.mbox#L3642|"Re: SRM license issues"]], Jay Estabrook, axp-list, 6 Jan 1998)] the AlphaPC 164RX, [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2000-August.mbox#L9150|"Re: switching from ARC back to SRM"]], Jay Estabrook, axp-list, 16 Aug 2000)] and the Ruffian (AlphaPC 164UX and 164BX), [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-September.mbox#L29483|"Re: AlphaBios vs SRM"]], Rich Payne, axp-list, 15 Sep 1999)] can boot Linux only with MILO. A current kernel needs an EV56 (21164A) or later processor [(>[[https://git.kernel.org/torvalds/c/a4184174be36|"alpha: drop pre-EV56 support"]], Linux 6.10)] and a MILO built from the alphalinux repository; see [[software:boot_loaders:milo|MILO]]. Under [[software:emulators#qemu|QEMU]], the firmware is [[https://gitlab.com/qemu-project/qemu-palcode|qemu-palcode]], which provides just enough of the SRM interfaces for Linux to boot as if on SRM, [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/debian-alpha-mbox/2011-May.mbox#L823|"Re: QEMU Alpha system status"]], Richard Henderson, debian-alpha, 5 May 2011)] but has no console command line; QEMU loads the kernel itself. ==== Obtaining and updating firmware ==== HP's firmware site, ''ftp.hp.com/pub/alphaserver/firmware'', no longer exists. Its contents survive in the Wayback Machine, [(>[[http://web.archive.org/web/20200502043806/ftp://ftp.hp.com/pub/alphaserver/firmware|ftp.hp.com/pub/alphaserver/firmware]], Wayback Machine, 2 May 2020)] and the Internet Archive holds images of the Alpha Systems Firmware Update CDs, among them [[https://archive.org/details/alphafwupcds|a collection of the update CDs]] and individual releases such as [[https://archive.org/details/alphasystemsfirmwareupdate60_agrcfbjbs|V6.0]]. The last CD, V7.3, was released in April 2007. [(>{{wiki:software:firmware:alpha_systems_firmware_update_v7.3_release_notes_overview.pdf?linkonly|Alpha Systems Firmware Update V7.3 Release Notes Overview}})] Firmware for API's UP1000, UP1100, UP1500, UP2000, and CS20 and for several Digital Semiconductor boards is kept in the [[https://github.com/alphalinux/firmware|alphalinux/firmware]] repository on GitHub. AlphaServers and workstations are updated by booting the firmware CD, which runs the Loadable Firmware Update utility (LFU); ''update srm'' at its ''UPD>'' prompt updates the console. [(>{{wiki:software:firmware:alpha_systems_firmware_update_v7.3_release_notes_overview.pdf?linkonly|Alpha Systems Firmware Update V7.3 Release Notes Overview}}, p. 6)] The Digital Semiconductor motherboards are updated from a FAT floppy holding ''fwupdate.exe'' and the ROM image, run with SRM's ''fwupdate'' command or AlphaBIOS's "Upgrade AlphaBIOS", and most have a fail-safe booter, enabled by a jumper, for recovering from a failed update. [(>{{wiki:hardware:motherboards:common:srm_console_user_guide.pdf?linkonly|Alpha SRM Console for Alpha Microprocessor Motherboards User's Guide}}, pp. 2-1, 2-3, 3-16)] The procedures are described in [[software:firmware:srm#updating_firmware|SRM Console: Updating firmware]] and [[software:firmware:arc#updating_firmware|ARC Firmware: Updating firmware]]. ==== Documentation ==== === Firmware release notes === These release notes cover firmware releases from V6.0 (2001) to V7.3 (April 2007) and describe the Loadable Firmware Update utility, update procedures, and changes in each release. The last two entries are the release notes for the KZPSA SCSI adapter and the manual for the WWIDMGR console utility. ^ Document ^ Part number ^ Date ^ | {{wiki:software:firmware:alpha_systems_firmware_update_v7.3_release_notes_overview.pdf?linkonly|Alpha Systems Firmware Update V7.3 Release Notes Overview}} | AA-RGKNV-TS | April 2007 | | {{wiki:software:firmware:alphaserver_4000_4100_v6.0_firmware_release_notes.pdf?linkonly|AlphaServer 4100/4000 Firmware Release Notes, V6.0}} | | September 2001 | | {{wiki:software:firmware:alphaserver_8200_8400_v6.4_firmware_release_notes.pdf?linkonly|AlphaServer 8200 and AlphaServer 8400 Systems V6.4 Firmware Update Procedures and Release Notes}} | | December 2002 | | {{wiki:software:firmware:alphaserver_gs140_v6.4_firmware_release_notes.pdf?linkonly|AlphaServer GS60/GS60E/GS140 Systems V6.4 Firmware Update Procedures and Release Notes}} | | December 2002 | | {{wiki:software:firmware:alphaserver_gs140_v6.6_firmware_release_notes.pdf?linkonly|AlphaServer GS60/GS60E/GS140 V6.6 Firmware Update Procedures and Release Notes}} | | November 2003 | | {{wiki:software:firmware:alphaserver_ds10_v7.2_firmware_release_notes.pdf?linkonly|AlphaServer DS10 V7.2 Console Firmware Release Notes}} | | June 2006 | | {{wiki:software:firmware:alphaserver_ds10_v7.3_firmware_release_notes.pdf?linkonly|AlphaServer DS10 V7.3 Console Firmware Release Notes}} | | April 2007 | | {{wiki:software:firmware:alphaserver_ds15_v7.2_firmware_release_notes.pdf?linkonly|AlphaServer/AlphaStation DS15 and DS15A V7.2 Firmware Release Notes and Update Procedures}} | | June 2006 | | {{wiki:software:firmware:alphaserver_ds15_v7.3_firmware_release_notes.pdf?linkonly|AlphaServer/AlphaStation DS15 and DS15A V7.3 Firmware Release Notes}} | | April 2007 | | {{wiki:software:firmware:alphaserver_ds20_v7.2_firmware_release_notes.pdf?linkonly|AlphaServer DS20 V7.2 Firmware Release Notes and Update Procedures}} | | June 2006 | | {{wiki:software:firmware:alphaserver_ds20_v7.3_firmware_release_notes.pdf?linkonly|AlphaServer DS20 V7.3 Firmware Release Notes}} | | April 2007 | | {{wiki:software:firmware:alphaserver_ds20l_v6.5_firmware_release_notes.pdf?linkonly|AlphaServer DS20L V6.5 Console Firmware Release Notes}} | | June 2003 | | {{wiki:software:firmware:alphaserver_ds20l_v6.6_firmware_release_notes.pdf?linkonly|AlphaServer DS20L V6.6 Console Firmware Release Notes}} | | December 2003 | | {{wiki:software:firmware:alphaserver_ds25_v7.2_firmware_release_notes.pdf?linkonly|AlphaServer and AlphaStation DS25 V7.2 Firmware Release Notes and Update Procedures}} | | June 2006 | | {{wiki:software:firmware:alphaserver_es40_v7.2_firmware_release_notes.pdf?linkonly|AlphaServer ES40, ES40cv, ES40lp, and TS40 V7.2 Firmware Release Notes and Update Procedures}} | | June 2006 | | {{wiki:software:firmware:alphaserver_es40_v7.3_firmware_release_notes.pdf?linkonly|AlphaServer ES40, ES40cv, ES40lp, TS40, and TS20 V7.3 Firmware Release Notes}} | | April 2007 | | {{wiki:software:firmware:alphaserver_es45_v7.2_firmware_release_notes.pdf?linkonly|AlphaServer and AlphaStation ES45 V7.2 Firmware Release Notes and Update Procedures}} | | June 2006 | | {{wiki:software:firmware:alphaserver_es45_v7.3_firmware_release_notes.pdf?linkonly|AlphaServer and AlphaStation ES45 V7.3 Firmware Release Notes}} | | April 2007 | | {{wiki:software:firmware:alphaserver_gs1280_v7.2_firmware_release_notes.pdf?linkonly|AlphaServer ES47, ES80, and GS1280 V7.2 Firmware Release Notes and Update Procedures}} | | June 2006 | | {{wiki:software:firmware:alphaserver_gs1280_v7.2a_firmware_release_notes.pdf?linkonly|AlphaServer ES47, ES80, and GS1280 V7.2A Firmware Release Notes and Update Procedures}} | | October 2006 | | {{wiki:software:firmware:alphaserver_gs1280_v7.3_firmware_release_notes.pdf?linkonly|AlphaServer ES47, ES80, and GS1280 V7.3 Firmware Release Notes and Update Procedures}} | | April 2007 | | {{wiki:software:firmware:alphaserver_gs320_v7.2_firmware_release_notes.pdf?linkonly|AlphaServer GS80/160/320 V7.2 Firmware Release Notes and Update Procedures}} | | June 2006 | | {{wiki:software:firmware:alphaserver_gs320_v7.3_firmware_release_notes.pdf?linkonly|AlphaServer GS80/160/320 V7.3 Firmware Release Notes}} | | April 2007 | | {{wiki:software:firmware:alphaserver_ts202c_v6.8a_firmware_release_notes.pdf?linkonly|AlphaServer TS202c V6.8A Firmware Release Notes and Update Procedures}} | | October 2004 | | {{wiki:software:firmware:alphaserver_ts202c_v6.8b_firmware_release_notes.pdf?linkonly|AlphaServer TS202c V6.8B Firmware Release Notes and Update Procedures}} | | September 2005 | | {{wiki:hardware:other:kzpsa_a12_release_notes.pdf?linkonly|Release Notes KZPSA SCSI Storage Adapter Module}} | EK-KZPSA-RN.M01 | July 1999 | | {{wiki:software:firmware:wwidmgr_v1.3_users_manual.pdf?linkonly|WWIDMGR Users' Manual: Alpha Systems' Console World Wide ID Manager for Fibre Channel Devices, V1.3}} | | May 2004 | === System guides === These guides include chapters on the SRM, ARC, or AlphaBIOS firmware of their systems. ^ Document ^ Part number ^ Date ^ | {{wiki:hardware:systems:alphaserver_300:alphaserver_300_users_guide.pdf?linkonly|AlphaServer 300 User's Guide}} | EK-AS300-UG.A01 | November 1996 | | {{wiki:hardware:systems:alphaserver_300:alphaserver_300_release_notes.pdf?linkonly|AlphaServer 300 Release Notes}} | EK-AS300-RN.A01 | December 1996 | | {{wiki:software:firmware:alphaserver_800_users_guide.pdf?linkonly|AlphaServer 800 User's Guide}} | EK-ASV80-UG.B01 | November 1997 | | {{wiki:hardware:systems:alphaserver_800:alphaserver_800_service_guide.pdf?linkonly|AlphaServer 800 Service Guide}} | EK-ASV80-SG.A01 | April 1997 | | {{wiki:hardware:systems:alphaserver_1000:alphaserver_1000_owners_guide.pdf?linkonly|AlphaServer 1000 Owner's Guide}} | EK-DTLSV-OG.A01 | November 1994 | | {{wiki:hardware:systems:alphaserver_1000:alphaserver_1000_service_guide.pdf?linkonly|AlphaServer 1000 Service Guide}} | EK-DTLSV-SV.B01 | July 1995 | | {{wiki:hardware:systems:alphaserver_1000:alphaserver_1000_release_notes.pdf?linkonly|AlphaServer 1000 Read This First}} | EK-DTLSV-CL.C01 | June 1995 | | {{wiki:hardware:systems:alphaserver_1000a:alphaserver_1000a_owners_guide.pdf?linkonly|AlphaServer 1000A Owner's Guide}} | EK-ALPSV-OG.A02 | October 1996 | | {{wiki:hardware:systems:alphaserver_1000a:alphaserver_1000a_service_guide.pdf?linkonly|AlphaServer 1000A Service Guide}} | EK-ALPSV-SV.A01 | March 1996 | | {{wiki:hardware:systems:alphaserver_1000a:alphaserver_1000a_release_notes.pdf?linkonly|AlphaServer 1000A Read This First}} | EK-ALPSV-CL.A01 | February 1996 | | {{wiki:software:firmware:alphaserver_2000_2100_2100a_firmware_reference_guide.pdf?linkonly|AlphaServer 2000/2100/2100A Firmware Reference Guide}} | EK-AXPFW-RM.C01 | December 1995 | | {{wiki:hardware:systems:alphaserver_2100:alphaserver_2000_2100_release_notes.pdf?linkonly|AlphaServer 2000/2100 Read This First}} | EK-KN450-CL.G01 | January 1996 | | {{wiki:hardware:systems:alphaserver_2100:alphaserver_2100a_owners_guide.pdf?linkonly|AlphaServer 2100A Owner's Guide}} | EK-2100A-OP.A01 | December 1995 | | {{wiki:hardware:systems:alphaserver_4100:alphaserver_4000_system_drawer_users_guide.pdf?linkonly|AlphaServer 4000 System Drawer User's Guide}} | EK-4000A-UG.B01 | March 1997 | | {{wiki:hardware:systems:alphaserver_4100:alphaserver_4100_system_drawer_users_guide.pdf?linkonly|AlphaServer 4100 System Drawer User's Guide}} | EK-4100A-UG.D01 | September 1996 | | {{wiki:hardware:systems:alphaserver_4100:alphaserver_4000_4100_configuration_and_installation_guide.pdf?linkonly|AlphaServer 4000/4100 Configuration and Installation Guide}} | EK-4100A-CG.E01 | June 1997 | | {{wiki:hardware:systems:alphaserver_8400:alphaserver_8200_8400_operations_manual.pdf?linkonly|AlphaServer 8200/8400 Operations Manual}} | EK-T8030-OP.B01 | March 1998 | | {{wiki:hardware:systems:alphaserver_es47:alphaserver_es47_es80_gs1280_cli_reference.pdf?linkonly|AlphaServer ES47/ES80/GS1280 Server Management Command Line Interface Reference, Version 3.0}} | | October 2003 | | {{wiki:software:firmware:alphaserver_es47_es80_gs1280_srm_console_reference.pdf?linkonly|AlphaServer ES47/ES80/GS1280 Server Management SRM Console Reference, Version 1.0}} | | December 2002 | | {{wiki:hardware:systems:alphaserver_es47:alphaserver_management_release_notes_v5.2.0.pdf?linkonly|HP AlphaServer Management Release Notes V5.2.0}} | | August 2006 | | {{wiki:hardware:systems:personal_workstation:personal_workstation_au_series_installation_and_setup_guide.pdf?linkonly|DIGITAL Personal Workstation a/au-Series Installation and Setup Guide}} | EK-ALMIG-SI.A01 | April 1998 | {{tag>software firmware}}