diff --git a/data/eng/Makefile b/data/eng/Makefile index 03acba0f90..da02732ebe 100644 --- a/data/eng/Makefile +++ b/data/eng/Makefile @@ -197,6 +197,21 @@ FASM_PROGRAMS_CD:=\ drivers/atikms:DRIVERS/ATIKMS:$(REPOSITORY)/drivers/video/drm/radeon/atikms.asm \ # end of list +# The list of all FASM programs which needs to be compiled without KPACKing. +FASM_NOKPACK_PROGRAMS:=\ + distr_data/9x2klbr.exe:-:$(PROGS)/hd_load/9x2klbr/9x2klbr.asm \ + distr_data/MeOSload.com:-:$(PROGS)/hd_load/meosload/MeOSload.asm \ + distr_data/mtldr:-:$(PROGS)/hd_load/mtldr/mtldr.asm \ + mtldr_for_installer:-:$(PROGS)/hd_load/mtldr_install/mtldr_code/mtldr.asm \ + distr_data/mtldr_install.exe:-:$(PROGS)/hd_load/mtldr_install/mtldr_install.asm \ + distr_data/MeOSload_for_usb_boot_old.com:-:$(PROGS)/hd_load/usb_boot_old/MeOSload.asm \ + distr_data/enable_for_usb_boot_old.exe:-:$(PROGS)/hd_load/usb_boot_old/enable.asm \ + distr_data/BOOT_F32.BIN:-:$(PROGS)/hd_load/usb_boot/BOOT_F32.ASM \ + distr_data/MTLD_F32:-:$(PROGS)/hd_load/usb_boot/mtldr.asm \ + distr_data/inst.exe:-:$(PROGS)/hd_load/usb_boot/inst.asm \ + distr_data/setmbr.exe:-:$(PROGS)/hd_load/usb_boot/setmbr.asm \ +#end of list + # The list of all NASM programs with one main NASM file. # Format of an item is exactly the same as in the previous list. NASM_PROGRAMS:=\ @@ -302,6 +317,33 @@ MKISOFS_EXTRA:=\ Docs/readme.txt=docs/README.TXT \ Docs/stack.txt=docs/STACK.TXT \ Docs/sysfuncs.txt=docs/SYSFUNCS.TXT \ + HD_Load/9x2klbr/=distr_data/9x2klbr.exe \ + HD_Load/9x2klbr/=../common/HD_load/9x2klbr/LDKLBR.VXD \ + HD_Load/9x2klbr/=$(PROGS)/hd_load/9x2klbr/readme.txt \ + HD_Load/MeOSLoad/=distr_data/MeOSload.com \ + HD_Load/MeOSLoad/=$(PROGS)/hd_load/meosload/AUTOEXEC.BAT \ + HD_Load/MeOSLoad/=$(PROGS)/hd_load/meosload/CONFIG.SYS \ + HD_Load/MeOSLoad/=$(PROGS)/hd_load/meosload/L_readme.txt \ + HD_Load/MeOSLoad/=$(PROGS)/hd_load/meosload/L_readme_Win.txt \ + HD_Load/mtldr/=distr_data/mtldr \ + HD_Load/mtldr/install.txt=$(PROGS)/hd_load/mtldr/install_eng.txt \ + HD_Load/mtldr/=$(PROGS)/hd_load/mtldr/vista_install.bat \ + HD_Load/mtldr/=$(PROGS)/hd_load/mtldr/vista_remove.bat \ + HD_Load/=distr_data/mtldr_install.exe \ + HD_Load/memdisk=../common/HD_load/memdisk \ + HD_Load/USB_Boot/=distr_data/BOOT_F32.BIN \ + HD_Load/USB_Boot/=distr_data/MTLD_F32 \ + HD_Load/USB_Boot/=distr_data/inst.exe \ + HD_Load/USB_Boot/=distr_data/setmbr.exe \ + HD_Load/USB_Boot/readme.txt=$(PROGS)/hd_load/usb_boot/readme_eng.txt \ + HD_Load/USB_boot_old/=$(PROGS)/hd_load/usb_boot_old/usb_boot.rtf \ + HD_Load/USB_boot_old/=$(PROGS)/hd_load/usb_boot_old/usb_boot_866.txt \ + HD_Load/USB_boot_old/=$(PROGS)/hd_load/usb_boot_old/usb_boot_1251.txt \ + HD_Load/USB_boot_old/MeOSload.com=distr_data/MeOSload_for_usb_boot_old.com \ + HD_Load/USB_boot_old/enable.exe=distr_data/enable_for_usb_boot_old.exe \ + games/=../common/games \ + games/fara=games/fara \ + games/soko/soko=games/soko \ #end of list # Some macro for convenient work. @@ -380,7 +422,7 @@ $(BUILD_DIR)/kolibri.img: $(BUILD_DIR)/.dir \ # The second goal: LiveCD image. $(BUILD_DIR)/kolibri.iso: $(BUILD_DIR)/kolibri.img $(mkisofs_extra_targets) - mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -hide-joliet kolibri.img -graft-points \ + mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points \ -A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "KolibriOS r$(REV)" -sysid "KOLIBRI" \ -iso-level 3 -o $(BUILD_DIR)/kolibri.iso $(BUILD_DIR)/kolibri.img $(call respace,$(MKISOFS_EXTRA)) 2>&1 @@ -393,7 +435,7 @@ $(BUILD_DIR)/boot_fat12.bin: $(KERNEL)/bootloader/boot_fat12.asm $(KERNEL)/bootl fasm $(KERNEL)/bootloader/boot_fat12.asm $(BUILD_DIR)/boot_fat12.bin $(BUILD_DIR)/.dir 3d/.dir demos/.dir develop/.dir develop/info/.dir drivers/.dir fonts/.dir \ - games/.dir lib/.dir media/.dir network/.dir allskins/.dir .deps/.dir: + games/.dir lib/.dir media/.dir network/.dir allskins/.dir distr_data/.dir .deps/.dir: mkdir -p $(dir $@) touch $@ develop/info/.dir: develop/.dir diff --git a/data/eng/games/fara b/data/eng/games/fara new file mode 100644 index 0000000000..623c30e85f Binary files /dev/null and b/data/eng/games/fara differ diff --git a/data/rus/Makefile b/data/rus/Makefile index a8f4aa2274..88001de22d 100644 --- a/data/rus/Makefile +++ b/data/rus/Makefile @@ -347,6 +347,8 @@ MKISOFS_EXTRA:=\ HD_Load/USB_boot_old/MeOSload.com=distr_data/MeOSload_for_usb_boot_old.com \ HD_Load/USB_boot_old/enable.exe=distr_data/enable_for_usb_boot_old.exe \ games/=../common/games \ + games/fara=games/fara \ + games/soko/soko=games/soko \ #end of list # Text files which need to be recoded to cp1251 from native aka cp866 diff --git a/data/common/games/fara b/data/rus/games/fara similarity index 100% rename from data/common/games/fara rename to data/rus/games/fara diff --git a/data/common/games/soko/soko b/data/rus/games/soko similarity index 100% rename from data/common/games/soko/soko rename to data/rus/games/soko diff --git a/programs/hd_load/9x2klbr/readme.txt b/programs/hd_load/9x2klbr/readme.txt new file mode 100644 index 0000000000..f15f282b67 --- /dev/null +++ b/programs/hd_load/9x2klbr/readme.txt @@ -0,0 +1,34 @@ +Purpose: when it is started (from Win95/98/ME), (correctly) unloads Windows +and loads KolibriOS instead. + +Installation is not required. + +Start: + 9x2klbr [[drive:]\[path\][image_name]] +Image file must be situated on hard disk. +Default values: drive C:, root folder, image kolibri.img. +Path and image name must contain only characters from first half of +ASCII-table. In particular, there must be no russian letters. + +FAT: Only short names of folders and file are accepted, i.e. progra~1 instead +of Program Files; for names such as kolibri and menuet.075 (no more than +8 characters in name, no more than 3 characters in extension, no special +characters) this is satisfied automatically, in general case short name can be +found out, for example, in Explorer dialog "Properties" (in column +"MS-DOS name"). + +If this requirements are not satisfied, loader will not format drive :-) +but simply says 'not found'. + +Examples: + 9x2klbr d:\download\kolibri\kolibri1.img + 9x2klbr c:\progra~1\kolibri\ + 9x2klbr \progra~1\kolibri\ + (will load from kolibri.img) + 9x2klbr e:\ + (equivalent to 9x2klbr e:\kolibri.img) + 9x2klbr + (without parameters; equivalent to 9x2klbr c:\kolibri.img) + + diamond + mailto: diamondz@land.ru diff --git a/programs/hd_load/mtldr/install_eng.txt b/programs/hd_load/mtldr/install_eng.txt new file mode 100644 index 0000000000..cb4a8938aa --- /dev/null +++ b/programs/hd_load/mtldr/install_eng.txt @@ -0,0 +1,95 @@ +Installation: +Step 1. Copy files mtldr and kolibri.img to C:\ + (You do not want to use C:\? Read remarks below.) + +Step 2a) For users of NT-family (NT/2k/XP/2003 Server (?)): + add to boot.ini to the section [operating systems] line +c:\mtldr="KolibriOS" + (either open c:\boot.ini with any text editor, or through + Control Panel -> System -> Advanced -> Startup and Recovery + -> Edit). You can change the title in quotes to anything you like, + under this title the system will appear to bootload list. +Now at booting the screen of operating system choice will appear. + +Step 2b) For users of 9x-family (95/98) +(probably it works also for some DOS): + add to config.sys line +install=c:\mtldr + as first line, if you have simple linear config.sys, + as first line in the corresponding section, if config.sys + is divided to sections (and begins with [menu]) +Now at booting mtldr will ask: "Load KolibriOS? [y/n]: " and wait for press +one of 'y','Y','n','N'. + +It does not work for Windows Millenium, because loader of WinME does not +load external code referenced by config.sys. (Thanks to camper for pointing +to this sad fact.) Use 9x2klbr. + +Step 2c) For Vista users: + open command line with administrator rights + (the variant "Run as administrator" in context menu); + if you do not plan install many Kolibri variants as described + in remarks, simply run vista_install.bat + otherwise execute the following commands: +bcdedit /create /d "KolibriOS" /application BOOTSECTOR + (You can replace the string in quotes with anything you like, + this is the title for system in boot list.) + The following message must appear: +"The record {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} was successfully created." + In the next commands place obtained value (it is different on + different machines and different runs). +bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} DEVICE PARTITION=C: +bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} PATH \mtldr +bcdedit /displayorder {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /addlast + +To remove mtldr, in cases 2a) and 2b) delete entered data from boot.ini or +config.sys accordingly. To remove in case 2c), do the following: + +vista_remove.bat, if you install through vista_install.bat; +bcdedit /delete {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} in general case + +If you do not remember assigned to mtldr GUID (this is normal), you can +find it out by running bcdedit without arguments and finding in displayed list +corresponding item. + +In all cases in KolibriOS screen of parameter choice you can +on the question about image (item d, "floppy image"), answer "3" +(use already loaded image). + +Remarks: + +1. Now all this works only for file systems NTFS and FAT32, support for FAT16 +is not implemented because I think that now FAT16 is only historical object. +If you use FAT16 and Windows and you do not want to go to FAT32 - mail me - +possibly you will succeed in make me change my mind. + +2. You do not need to place the loader mtldr itself to C:\. Under 9x and Vista +it can be placed anywhere, in NT-family - on drive C:, but not necessary in +root folder. (Of course, when installing, you must use instead of c:\mtldr +the real path and the real name of the file.) + +3. You do not need to place the image kolibri.img to C:\. You can without +any changes in install use root folder of any logical drive, located on +first physical. + +4. Do you want to use logical drive on other physical drive? You can use +any from following variants: +a) (If you can work with FASM) In the sources (which can be downloaded from + http://diamondz.land.ru, in the same place with loader itself) change + the constant boot_drive (located at the end of mtldr.asm) from 80h to + identifier of disk, 80h for first, 81h for second and so on. Recompile. +b) (If you can use hex-editor) Change the byte at offset 0xD98 from 80h to + identifier of disk (as in a)). +c) Use mtldr_install (you can download it in the same place). It will + config and install loader. + +5. Do you dislike root folder? There is two variants: +a) In the sources change the constant kolibri_img_name (end of mtldr.asm) + to path to root. For example, for C:\Program Files\kolibri\kolibri.img + write 'progra~1\kolibri\kolibri.img' (use 8.3 names). Recompile. +b) Use mtldr_install. + +6. Your wishes, remarks, suggestions are welcome on mail, stated below. + + diamond + mailto: diamondz@land.ru diff --git a/programs/hd_load/usb_boot/readme_eng.txt b/programs/hd_load/usb_boot/readme_eng.txt new file mode 100644 index 0000000000..ddf772e7cb --- /dev/null +++ b/programs/hd_load/usb_boot/readme_eng.txt @@ -0,0 +1,46 @@ +BOOT_F32.BIN - bootsector for FAT32; +MTLD_F32 - auxiliary loader file; +inst.exe - installer for WinNT+; +setmbr.exe - installs standard MBR (read below); +readme.txt - this file. + +To install, flash with FAT32 file system, with free space available for +file kolibri.img and a couple of Kb for loader, is required. + +Installation for WinNT+ users: +Run inst.exe, it will display a list of connected flash drives. Select +the drive, on which you want to install, and double-click on it. +The program will report success or fail (cannot read/write to drive or +drive is not FAT32-volume). +Copy to the flash the file kolibri.img with wanted distribution kit version. +(These two actions can be done in any order.) +Now you can boot from this flash drive. + +I have encountered situation, when (recently released) flash does not boot +and displays message "Pen drive Without Operating System.Remove +Pen Drive And Reboot." If instead of booting you see the same or like message, +probably setmbr.exe can help. It must be runned with administrator rights. +After loading in the appeared list double-click on the drive corresponding to +your flash drive. Program will report success or fail. + +Installation for users of other operating systems: +automatic - not supported yet. If you can work with disk editor, the following +information may help you: inst.exe does following: +- reads bootsector, checks that it specifies FAT32; +- copies to the flash the file MTLD_F32, at the same time sets attributes +"hidden","system","read-only" (they do not play any role for the loader itself, +they protect the file from unnecessary curiosity); +- reads the file BOOT_F32.BIN; in its data replaces volume parameters +from offset 3 to offset 0x5A (0x57 bytes) to parameters taken from current +bootsector; +- writes obtained data back to flash bootsector, and also in backup copy of +bootsector, if it is present (the 2-byte field on offset 0x32) +(backup copy indeed is not required to be modified, in real life it is not +used). + +Under Linux a new bootsector can be installed to the drive /dev/sdb1 (replace +with a name of FAT32-volume of any device you want) with the sequence of +two following commands: +dd if=/dev/sdb1 of=BOOT_F32.BIN bs=1 skip=3 seek=3 count=87 conv=notrunc +dd if=BOOT_F32.BIN of=/dev/sdb1 bs=512 count=1 conv=notrunc +Files mtld_f32 and kolibri.img must be copied as usual.