Povýšení BIOSu s FreeDOS
Můžete potřebovat, nebo máte potřebu, aktualizovat verzi BIOSu vašeho počítač, jakmile váš výrobce oznámí nějáké vylepšení software BIOSu vaší základní desky. Obvykle nabízený instalační program je aplikace pro MS-DOS.
Zde se jedná o způsob aktualizace BIOSu z USB v Linuxu. Bude to fungovat s USB klíči a s micro/mini/SD kartami (s vhodným adaptérem).
Prvně je nutné, aby váš BIOS umožňoval zavádění z USB a byl kompatibilní s pevnými disky USB. Některé BIOSy povolují USB disketové, CD-ROM nebo zip mechaniky. Ačkoliv by takovéto mohly být použitelné, může být složitější tak provést povýšení. Nicméně nemusíte mít jinou možnost (především co se týče netbooků).
Potřebujete tři věci:
- USB klíč, přednostně <2 GB (FAT16 neumožňuje více jak 2 GB), základní FreeDOS (fdbasecd.iso) se instaluje na pouhých 5.8 MB. FAT16 je upřednostňovaný formát, jelikož není FAT32 rozeznán jako zaváděníschopný každým BIOSem.
- Instalační medium FreeDOSu fdbasecd.iso (8MB).
- qemu (apt-get install qemu), qemu je nezbytný pro instalátor. Vlastně, v qemu emulovaný BIOS umožní, aby byl váš USB disk viditelný ve FreeDOSu jako běžný pevný disk, takže můžete instalovat jako obvykle (a není tak vyžadováno vypálení FreeDOSu na CD).
Toto je absolutně nezbytné: v žádnou chvíli nesmí být váš USB disk připojen (mounted). Buďte velmi opatrní při výběru 'device node', jinak budou data na špatném disku nenapravitelně vymazána. To může být klidně váš hlavní pevný disk.
Vsuňte váš USB disk, pamatujte - nepřipojovat. Zkontrolujte dmesg (poslední zpráva, pokud jste jej zrovna vsunuli), který 'device node' byl přidělen vašemu USB disku. Předpokládejme, že /dev/sdb .
Vyčistěte váš USB disk. Všechna data budou ztracena. Také můžete vymazat vše, ne jen prvních 16 MB.
$ su Heslo: dd if=/dev/zero of=/dev/sdb bs=1M count=16 16+0 records in 16+0 records out 16777216 bytes (17 MB) copied, 2.35751 s, 7.1 MB/s
Vytvoření diskových oddílů na USB disku
Správné vytvoření diskových oddílů a formátování USB disku je pravděpodobně ta nejtěžší část.
Štítek diskového oddílu nastavte na FAT16, na <2 GB klíčích (všeobecně to zaručuje lepší kompatitibilitu).
Pak vstupte fdiskem na diskový oddíl:
# fdisk /dev/sdb fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xa8993739. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Nyní vytvořte diskový oddíl:
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1018, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1018, default 1018): Using default value 1018
Potvrďte vytvoření diskového oddílu vytištěním tabulky diskových oddílů:
Command (m for help): p
Disk /dev/sdb: 2003 MB, 2003828736 bytes
62 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Disk identifier: 0xa8993739
Device Boot Start End Blocks Id System
/dev/sdb1 1 1018 1956595+ 83 Linux
Nastavte správný štítek diskového oddílu , '6' pro FAT16:
Command (m for help): t Selected partition 1 Hex code (type L to list codes): l 0 Empty 1e Hidden W95 FAT1 80 Old Minix be Solaris boot 1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris 2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 5 Extended 41 PPC PReP Boot 85 Linux extended c7 Syrinx 6 FAT16 42 SFS 86 NTFS volume set da Non-FS data 7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT 10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT 1c Hidden W95 FAT3 75 PC/IX Hex code (type L to list codes): 6 Changed system type of partition 1 to 6 (FAT16)
Aktivujte nový a jediný diskový oddíl:
Command (m for help): a Partition number (1-4): 1
Vytiskněte znovu novou tabulku diskových oddílu, znovu s ověřte, že se diskový oddíl opravdu aktivoval:
Command (m for help): p
Disk /dev/sdb: 2003 MB, 2003828736 bytes
62 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Disk identifier: 0xa8993739
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1018 1956595+ 6 FAT16
Zapiště novou tabulku diskových oddílu na váš USB disk a opusťte fdisk:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
# exit
Naformátujte nově vytvořený USB disk:
mkfs -t vfat -n FreeDOS /dev/sdb1 exit
Přípravná fáze je nyní u konce. Nyní jste naformátovali USB disk a vytvořili na něm diskový oddíl. Nic jiného nezbývá udělat a můžete již přistoupit k instalačnímu procesu.
Zavedení FreeDOSu s qemu
Jelikož DOS nemá ponětí o USB discích, musíte najít způsob, jak přinutit instalátor FreeDOSu, aby rozeznal USB jako běžný "pevný disk". Při live zavádění to za nás udělá systémový BIOS - zde si ale musíme poradit s qemu:
jako user$: qemu -hda /dev/sdb -cdrom /path/to/fdbasecd.iso -boot d
ctrl-alt aktivuje zachytávání myši a klávesnice a umožní vám přepínat plochy, abyste si mohli znovu přečíst při každém kroku instrukce.
Toto zavede CD FreeDOSu a namapuje zařízení USB jako 'primary master' pevný disk (zde umožňuje možnost emulac BIOSu v qemu, že se USB disk pro DOS objeví jako běžný pevný disk). Vyberte instalátor ze spouštěcího menu virtuálně zavedeného FreeDOSu:
1) Continue to boot FreeDOS from CD-ROM
1
enter
Pokračujte volením 1 a/nebo výběrem Yes, když jste požádáni.
Instalátor váš požádá o restart - ještě tak nečiňte, jelikož je potřeba opravit dvě chyby v instalátor FreeDOSu pro mbr a zaváděcí nabídku. Stiskněte písmeno n.
Zapsání zaváděcího sektoru na váš USB disk
První chyba k opravení je mbr s:
fdisk /mbr 1
Další chyba, která potřebuje opravit se týká zaváděcí nabídky ve vámi nově vytvořeném souboru fdconfig.sys, spusťte:
cd \ edit fdconfig.sys
a upravte řádek začínající command.com na:
1234?SHELLHIGH=C:\FDOS\command.com C:\FDOS /D /P=C:\fdauto.bat /K set
(vlastní příkaz neměňte, jen přidejte na začátek řádku "1234?" (před SHELLHIGH==C:\FDOS\command.com .....
POZNÁMKA má to tedy být: 1234?
Nic jiného neměňte, jelikož tento řádek zavísí od vašeho nastavení instalace.
Uložte a opusťte "edit":
[alt]+[f]
Jakmile se vrátíte do příkazové řádky, můžete opustit qemu.
Otestujte, že je qemu schpno zavést USB disk.
qemu -hda /dev/sdb -boot c
Váš USB disk je nyní zaváděníschopný a obsahuje plnou instalaci FreeDOSu o velikosti 5.4 MB. Opravdu byste měli zavádět bez použití jakýchkoliv ovladačů (volba v menu 4), načtení souborů himem.sys a emm386 se může plést s vámi načítanými programy!:
Aktualizace BIOSu
Za předpokladu, že váš počítač běží, vsuňte váš FreeDOS USB disk, připojte ho a stáhněte soubory BIOSu, které potřebujete, tak, jak je doporučeno výrobce vaší základní desky, na USB disk s FreeDOSem, pak ho odpojte.
Vypněte váš počítač, vsuňte FreeDOS USB disk, zapněte počítač a váš USB disk bude zaveden s FreeDOSem. Následujte procedury vašeho výrobce základní desky/BIOSu.