source: trunk/BOOTCODE/MAKE.BAT@ 36

Last change on this file since 36 was 36, checked in by Ben Rietbroek, 13 years ago

## RC1 ## -- Various Fixes and Enhancements [2012-01-25]

Fixes

o Fixed BootManager chaining

Chainloaing IBM BootManager would did now work because it was not
supplied with the correct information. It needs some special
signatures and data setup, especially when it is located above the
8 MiB boundary. In addidtion, when IBM BootManager is located on the
secon harddisk, a copy of the 1st harddisk MBR needs to be
at 0000:7E00 before relinguishing control to IBM-BM.

o Fixed Boot from Floppy

This did not work because Int13X was used to access the floppy
instead of the classic Int13 interface. On fresh installations the
booot from floppy menu-item is now enabled by default.

o Fixed drive-letter feature for when using JFS

The JFS boot-strap code does not use the boot-sector passed to it
in memory. Instead is uses the one that resides on disk. This made
the drive-letter feature disfunctional on JFS. Now, when using the
dl-feature on JFS, a modified PBR with the new drive-letter is
written to disk so the JFS boot-strap code uses the new
drive-letter.

o Fixed bug in LVM label editing

When editing an LVM-label, it was padded with spaces instead of
zero's. Labels in the PBR need to be space padded to 8 chars, LVM
labels need to be zero padded to 32-chars in the LVM-record.

o Fixed stuck Phase #1 indicator

When an eCS installation is taking place, and somehow this
installation passed a wrong volume-name or was aborted, the Phase #1
indicator would not be reset on next reboot, causing AiR-BOOT to
skip the menu and try to boot the partition that was being
installed, but has no system due to incorrect name or user abort.

Changes

o Show LVM Volume Label instead of LVM Partition Label

This makes the display of the labels more consistent with IBM-BM.
Since most systems will be partitioned with MiniLVM, which sets
both to the same name, this change will not be noted on the majority
of installations.

o Synchronize LVM-labels

When editing the LVM-lavel from AiR-BOOT SETUP, the LVM Partition
Label is synced with the new LVM Volume Label. This synchronization
only occurs when both were the same before the edit. It they were
different, only the LVM V-label is changed and the P-label remains
untouched.

o Protect type 0x35 partitions from label editing

These are spanned volumes and are not bootable anyway.
The normal eCS Volume Management tools should be used to change
the labels of these partition types.

Note

This commit and all following commits upto and including the RC3
commit [2012-09-09] are delayed commits from a local repository.
Also, the RC (Release Candidate) naming of the corresponding commits
is a bit misleading. One would label a revision with RC when near to
a final release. Since many things have changed between RC1,RC2 & RC3,
these RC's should be interpreted as mile-stones.

WARNING!!

All commits upto and including the commit of [2012-05-13] contain
a severe bug!! Building from these sources and then disabling
the 'force LBA' feature while also using the drive-letter feature or
editing the label can destroy the MBR on all attached disks!!
DO NOT DISABLE 'FORCE LBA USAGE' WHEN BUILT FROM THE ABOVE COMMITS!!

File size: 1.4 KB
RevLine 
[29]1@echo off
2rem This batch file builds
3if "%1"=="EN" goto Valid
4if "%1"=="DE" goto Valid
[30]5if "%1"=="NL" goto Valid
[29]6if "%1"=="FR" goto Valid
7if "%1"=="IT" goto Valid
8if "%1"=="RU" goto Valid
9if "%1"=="SW" goto Valid
10if "%1"=="ALL" goto BuildAll
11echo Invalid language ID
12goto ExitMe
13
[32]14rem -- We do English last so an English version can be copied
15rem -- to this directory, using it's normal basename instead
16rem -- of the language suffixed one.
[29]17:BuildAll
18call make.bat DE
[30]19call make.bat NL
[29]20call make.bat FR
21call make.bat IT
22call make.bat RU
23call make.bat SW
[30]24call make.bat EN
[29]25goto ExitMe
26
27:Valid
[30]28echo.
29echo.
[29]30echo Making %1 language version of AiR-BOOT bootcode...
31echo Include TEXT\%1\MBR.asm >TEXT\TXTMBR.asm
32echo Include TEXT\%1\MENUS.asm >TEXT\TXTMENUS.asm
33echo Include TEXT\%1\OTHER.asm >TEXT\TXTOTHER.asm
34
35rem Do actual build...
36call ..\env\dos.bat
37%assembler% air-boot.asm
38if errorlevel 1 goto Failed
39%linker% air-boot.obj >nul
40if errorlevel 1 goto Failed
41%exe2bin% air-boot.exe air-boot.com >nul
42if errorlevel 1 goto Failed
[31]43
[36]44@ren air-boot.LST air-boot.tsl
45@ren air-boot.tsl AIR-BOOT.LST
46
[29]47..\tools\internal\fixcode.com
[31]48
[36]49copy AIR-BOOT.COM ..\RELEASE\BOOTCODE\AIRBT-%1.BIN
[29]50
[30]51copy AIR-BOOT.COM AIRBOOT.BIN
52
[29]53rem Cleanup
[36]54del AiR-BOOT.COM
55del AiR-BOOT.EXE
56del AiR-BOOT.OBJ
[29]57goto ExitMe
58
59:Failed
60echo Errorlevel not 0, make failed
61:ExitMe
[32]62
63echo.
64echo Gonna build the installer and setaboot now...
65echo.
66
[30]67rem @pause
Note: See TracBrowser for help on using the repository browser.