Say you have a Toshiba Portégé R200 with possibly broken ACPI tables, e.g., under NetBSD
# acpidump -dto r200.dsdt > r200.asl # iasl r200.asl Intel ACPI Component Architecture ASL Optimizing Compiler version 20090730 [Jan 24 2010] ... Compilation complete. 2 Errors, 4 Warnings, 0 Remarks, 908 Optimizations
a good start is to update the BIOS. Hunting on the Toshiba website yields
a file called bios-20080311100521.zip which is version
1.70-WIN, and has
no release notes (who knows what if anything it fixes). Unzipping the
downloaded file yields P0027v170.exe which you are meant to run from windows.
No DOS BIOS updater (a.k.a
traditional) is provided.
First attempt was to netboot a winpe environment, but running P0027v170.exe
just gives the error
unable to execute program.
(must check wording)
P0027v170.exe appears to be a 7-Zip.PE file, so we can uncompress it with say 7-Zip:
% 7z e P0027v170.exe
This looks promising as
% strings BIO0027T.COM | head -2 BIOS v1.70 R200 % file CHGBIOSA.EXE CHGBIOSA.EXE: MS-DOS executable, MZ for MS-DOS
as opposed to
% file INSTALL2.EXE INSTALL2.EXE: PE32 executable for MS Windows (GUI) Intel 80386 32-bit
Copied CHGBIOSA.EXE and BIO0027T.COM to a trusty DOS boot floppy, booted
the floppy from an external USB floppy drive, ran CHGBIOSA, entered
A:\BIO0027T.COM as the name of the BIOS, and the BIOS was
Adding CHGBIOSA.EXE and BIO0027T.COM to a winpe image (using imagex /mountrw,
copy, imagex /unmount /commit) and netbooting the winpe image failed as
CHGBIOSA.EXE is a 16-bit (
MZ) executable, and winpe only executes
32-bit (or 64-bit if you use the 64 bit waik) executables.
Not much changed on the ACPI front though:
Compilation complete. 2 Errors, 4 Warnings, 0 Remarks, 908 OptimizationsPatrick Welche, Inference Group, Cavendish Laboratory.