Commit graph

41 commits

Author SHA1 Message Date
Cameron Gutman 2b82fe44ea [WLAN-BRINGUP]
- Create a branch to drop my ndisuio work

svn path=/branches/wlan-bringup/; revision=54809
2012-01-02 20:53:24 +00:00
Dmitry Gorbachev b7f9a4b528 [NTOSKRNL]
- Do not repeat messages into serial port even when using other debug methods.
- Allow to specify debug log file name.
- When using the "Screen" method, show blue screen when entering KDB.
- Disable the repetition of previous KDB command with long many-page output.

[USETUP]
- Add "ReactOS (Screen)" entry to boot menu.

svn path=/trunk/; revision=54468
2011-11-21 05:28:08 +00:00
Sylvain Petreolle 23e3ab342d [USETUP]
Use Reactos_Debug for unattended MSVC installs.

svn path=/trunk/; revision=54453
2011-11-19 22:50:04 +00:00
Cameron Gutman 7be8df8976 [USETUP]
- Fix FAT32 boot sector pointer arithmetic
- Fixes setup error when installing FAT32 boot sector to file

svn path=/trunk/; revision=54280
2011-10-31 07:32:00 +00:00
Cameron Gutman 79721ed8cb [USETUP]
- Use a separate function, InstallFat12BootCodeToFloppy(), to install the floppy boot code
- Format the floppy to FAT12 before writing to it
- Booting FreeLoader from floppy works again (bug #6495)

svn path=/trunk/; revision=54269
2011-10-29 15:10:11 +00:00
Cameron Gutman 1e3d0d1bb6 [USETUP]
- Fix length calculation for FAT16 volumes

svn path=/trunk/; revision=52748
2011-07-20 19:56:58 +00:00
Timo Kreuzer ad1f4ccd47 [USETUP]
Fix formatting. No code change.

svn path=/trunk/; revision=52743
2011-07-20 17:54:28 +00:00
Timo Kreuzer 9b7459ef6c [USETUP]
Patch by Dmitry Gorbachev:
Don't overwrite the OemName field in the bootsector. Although this field could theoretically contain any string, MS recommends using "MSWIN4.0" and MSDOS does even rely on it being this (or having higher last 2 characters)
This way we preserve what is being put there when the disk is formatted, which is "MSWIN4.0"
See issue #6386 for more details.

svn path=/trunk/; revision=52742
2011-07-20 17:00:28 +00:00
Timo Kreuzer e6a335b92c [USETUP]
Do not add RosDbg section on _WINKD_ builds

svn path=/trunk/; revision=52646
2011-07-12 00:27:22 +00:00
Timo Kreuzer ab849501e7 [FREELDR]
Remove the old boot method.
Its not needed anymore, since booting with more than 4GB works fine with the new method now. It didn't work anyway since the neccessary code in the kernel has been #if'ed out in r49445

svn path=/trunk/; revision=52491
2011-06-29 20:27:07 +00:00
Timo Kreuzer 3995cce1ba [USETUP]
The VBR (volume boot sector) contains a structure called BPB (bios parameter block) that describes the disk and the partition. The HiddenSectors member contains the number of the first sector of the partition. This is used by the VBR code to load the secondary sector containing additional boot code that is located at secor 14 relative to the partition start. Previously we were copying the BPB (plus additionally the OemName, which makes no sense) from the old VBR. Now Linux is a bit lame and doesn't put the correct value into the HiddenSectors field. Instead it sets it to the number of sectors per track which seems to be the default value. When now the linux partition manager decides to do a non standard partitioning, aligning the partition to 0x800, then the VBR fails to load it's 2nd sector. Fix this by correcting the value in the BPB with the value from the partition info.

See issue #2733 for more details.

svn path=/trunk/; revision=48706
2010-09-06 01:46:06 +00:00
Cameron Gutman 38a87f0176 [USETUP]
- Add the option to write only the VBR so FreeLoader can easily be chain loaded by GRUB or another boot loader
- Dedicated to James Tabor :)

svn path=/trunk/; revision=48703
2010-09-05 17:09:18 +00:00
Sylvain Petreolle 5b8ed5479f Revert 47685.
svn path=/trunk/; revision=47686
2010-06-07 21:38:49 +00:00
Sylvain Petreolle 03b31fbc3f Enable debug in usetup. This will be reverted in next commit.
svn path=/trunk/; revision=47685
2010-06-07 21:36:37 +00:00
Gregor Schneider a16ef45831 [USETUP] Switch KDSERIAL debug builds to new boot method, old boot method tends to bugcheck
svn path=/trunk/; revision=46826
2010-04-10 19:24:21 +00:00
Dmitry Gorbachev 9ac33d6fbe Happy testing.
svn path=/trunk/; revision=43332
2009-10-07 19:58:15 +00:00
Hervé Poussineau b809cead05 WINLDR: Finally, set Windows boot style as default
Many thanks to Fireball and Alex for your hard work on Windows boot style

svn path=/trunk/; revision=43273
2009-10-03 20:09:57 +00:00
Hervé Poussineau 9e7fc1c095 [usetup] Simplify creation of entries in freeldr.ini
svn path=/trunk/; revision=43272
2009-10-03 19:43:29 +00:00
Stefan Ginsberg 88e9b2a513 - In Win32 DBG is defined to 0 for a non-debug build and to 1 for a debug build. In ReactOS we do this slightly different: DBG is correctly defined to 1 for debug, but not defined at all on non-debug/release build. Because gcc is awesome we can then check for debug compilation with both #ifdef DBG and #if DBG (error free! yay gcc!), and so we have mixed usage all over the tree.
- Fix this by defining DBG on non-debug build too and deprecate all usage of #ifdef DBG.

svn path=/trunk/; revision=41436
2009-06-17 12:44:05 +00:00
Christoph von Wittich 43aead0a4e add ReactOS (RosDbg) option to freeldr and use it as default for unattended installs
svn path=/trunk/; revision=36253
2008-09-15 06:25:31 +00:00
Stefan Ginsberg 7876a9fe0d - Remove deprecated CHECKPOINT/CHECKPOINT1 macros which basically translated into DPRINT/DPRINT1("\n")
svn path=/trunk/; revision=35638
2008-08-25 18:52:38 +00:00
ReactOS Portable Systems Group 3cdbb3f31d FreeLDR-side of RAM Disk support for x86 based on actual NT implementation (instead of ARM-only hacks):
1) First, remove the hack in bootmgr.c that looked for a reactos.img.
	2) Instead, read the command line to the kernel, and check for /RDIMAGEPATH. If found, load the ramdisk in the loader.
	3) This uses the same routine as the previous hack, but enhances it with actual status and progress printouts.
	4) Finally, update usetup to generate a ReactOS (RAM Disk) entry on DBG builds, under the WinLDR one.

Also fixed a bug where, on MiniTUI, the text sent to UiDrawProgressBarCenter would be ignored.

This patch does not result in working RAM disk support yet.

To test the FreeLDR side of things, you need to create a ramdisk file: this is easy.

Preferred way right now is to use qemu-img to create a standard QEMU image. Then install ReactOS on it and configure it. This is now your ramdisk.
Make your image about 100MB; this is how much ReactOS requires to install right now.

Now on your "official" QEMU image, you can delete everything except freeldr.sys and freeldr.ini. Or don't, if it's large enough.

Now add the reactos.img to your official image. You should have at least 100MB free space.

Now when you boot the ReactOS (RAM disk) entry, it should boot up until the kernel, which will panic since there's no ramdisk support yet.

Note that you can't just create a QEMU image and drop files in it -- it must be properly formatted and have the ReactOS boot sector:
The RAM disk isn't just a collection of files, it's an entire virtual drive, so that's why you must first officially install ReactOS on it.


svn path=/trunk/; revision=35401
2008-08-17 02:01:30 +00:00
Hervé Poussineau 6a7b9457dc Add a "ReactOS (WinLdr)" entry when using a debug build
svn path=/trunk/; revision=33821
2008-06-01 19:15:15 +00:00
Aleksey Bragin ce7c9d5844 - Automatically create an entry for ntldr-style booting of ReactOS kernel in freeldr.ini.
- = EXPERIMENTAL, IT WON'T WORK YET, SO DON'T COMPLAIN = -

svn path=/trunk/; revision=32515
2008-02-27 20:13:34 +00:00
Hervé Poussineau f0418aa976 Display ReactOS logo when not booted in debug mode
svn path=/trunk/; revision=31518
2007-12-31 15:52:48 +00:00
Hervé Poussineau ebb26326a5 Remove some debug messages
scsiport.c: Do not try to open Device subkey if we don't have a service key
cmhardwr.c: Write BIOS information only if we succeeded to open the key

svn path=/trunk/; revision=28217
2007-08-07 11:45:30 +00:00
Alex Ionescu e707b70756 - Add proper bootcd/install freeldr.ini flags to allow KD debugging to work.
- Fix KdPollBreakIn.
- Add initial debug breakpoint code to ExpInitializeExecutive.
- WinDBG now breaks at the initial breakpoint and you can continue execution from there.
- There's still a lot of weird hangs when using WinDBG, it's far from usable.

svn path=/trunk/; revision=25996
2007-03-05 02:29:46 +00:00
Alex Ionescu d006bab906 - Fixup and enable my new HAL IRQL implementation from a couple of months ago, and remove the temporary Mm hacks from Dmitry Gorbachev, since DPCs don't interrupt DISPATCH_LEVEL Code anymore.
- This fixes a critical system malfunction and architectural bug, as well as speeds up ReactOS incredibly -- setup takes seconds again, and boot is almost instantenous (except the Explorer loading bug).
- Proper fix for bootvid regression that Aleksey "Fixed". Video mode is now properly setup wether in setup or non-setup mode, so bootvid works again.
- Enable bootvid in freeldr.ini, currently using only /SOS mode since full-screen logo isn't implemented yet.

svn path=/trunk/; revision=25800
2007-02-14 20:30:33 +00:00
Alex Ionescu 1b3e649577 - Update boot graphics with new, RLE-compressed and palette-blacked versions from mf.
- Re-enable FreeLDR's "prepare for ros video" routine, but change it to match the new BootVid, which uses Mode 0x12. This is roughly what HalDisplayReset does, which isn't yet implemented (except the latter needs to setup a BIOS call trampoline).
- Fix up some bugs in bootvid and inbv.
- Implement SOS case of DisplayBootBitmap, and implement FinalizeBootLogo. Now bootvid starts to show its colors, but one .bmp is still buggy.

svn path=/trunk/; revision=25751
2007-02-08 00:50:23 +00:00
Alex Ionescu bdc7f65b2d - Rename KiSetSystemTime to KeSetSystemTime and enhance prototype for later use.
- Create Phase 1 initialization for the SRM (SeInitSystem). Right now it inserts the system boot token into object manager, which is something we forgot to do before.
- Renamed ExPhase2Init to Phase1Initialization, since it's not Phase 2.
- Updated Phase 1 PS Initialization to get the KeLoaderBlock pointer and use it as a context parameter when calling Phase1Initialization.
- Split off Phase1Initialization into Phase1InitializationDiscard, which is the bulk of the phase 1 code (99% of it) and can be put in an .INIT section to be freed after boot.
- Modify parts of the Inbv setup code. Also implement support for /SOS, and try to mimic its behaviour on NT (not fully achieved). You will need /SOS to see boot messages on the screen! FreeLDR now adds this by default to the "Debug "configuration.
- Temporarily disable ReactOS Banner during boot. We will get this data from the .mc/.res file in a later patch instead of hard-coding it.
- Optimize calling and usage of ExpLoadInitialProcess.
- Add support for Y2K bug fix documented for Windows NT (/YEAR).
- Add support to detect WinPE/MiniNT/ReactOS Live CD.
- Add temporary debugging code to MmInit2 and some Mm functions to detect if these functions are being used too early, which could result in catastrophic to subtle bugs.
- Add more bugchecks when failures occur, and enhance others. Also add more codes to ntoskrnl.mc.
- Disable calls to ObfDereferenceDeviceMap since it's not yet implemented.

svn path=/trunk/; revision=25624
2007-01-25 01:13:09 +00:00
Hervé Poussineau eb77bd4e85 - Set correct flags when calling Nt* functions during file copy
- Fix reading of disks parameter in registry
- Keep FS name in unicode instead of char
- Don't hardcode more than once ReactOS directory on bootcd ('\reactos')
- Get screen dimensions only once (at startup)
- General cleanup (warnings...)
- Do some actions only if __REACTOS__ if defined. (I'm currently using them to debug usetup)

svn path=/trunk/; revision=24718
2006-11-10 21:00:24 +00:00
Johannes Anderwald 963c6260b1 - use ReactOS_Debug as a default os when DBG && unattended setup mode is defined
- set timeout to zero in unattended mode && DBG defined

svn path=/trunk/; revision=24661
2006-10-30 12:41:17 +00:00
Alex Ionescu 6951a4887c - Bootvid rewrite by Filip Navara (with some fixes by myself)
- HAL DMA enhancements by Filip Navara.
- CSRSS Console enhancements by Filip Navara.
- Win32k Primitive Queue/Input/Painting/Focus enhancements by Filip Navara.
- Other misc win32k/CSR bug fixes by Filip Navara.
- The new bootvid code has some bugs, but try out a GUI Boot!

svn path=/trunk/; revision=24464
2006-10-09 04:00:34 +00:00
Aleksey Bragin 778bad347c - Format code of InstallFatBootcodeToPartition(), changing from tabs+spaces mix to tabs only (use "ignore whitespaces" settings to view other changes)
- Change installation logic when installing to a NTLDR's boot.ini: Firstly freeldr.ini is checked for existence, and either created or updated, then boot.ini is checked for having a proper entry, and if needed - entry is added. Fixes related bugs (having more and more ReactOS entries, no entry added if freeldr.ini already exists in the root folder)

svn path=/trunk/; revision=24392
2006-10-04 12:26:12 +00:00
Aleksey Bragin 5c112af711 - Add a check to the boot.ini-changing code, to prevent creation of a new ReactOS entry after each installation.
svn path=/trunk/; revision=24356
2006-10-01 21:48:05 +00:00
Hervé Poussineau cc2684d474 Cleanup in .inf file handling of usetup:
- Equivalent setupapi functions have the same protoype as in Win32 API
- Extra functions have the INF_* prefix

svn path=/trunk/; revision=23836
2006-08-31 09:13:03 +00:00
Andrew Munger 3958d172cb 21728 broke the release build, use an #ifndef instead.
svn path=/trunk/; revision=21738
2006-04-25 01:31:00 +00:00
Maarten Bosma 3582ded91e Sorry did set DebugPort to COM1
svn path=/trunk/; revision=21731
2006-04-24 18:32:21 +00:00
Maarten Bosma f45cebc073 Set Freeloader timeout to 0 for release builds.
svn path=/trunk/; revision=21728
2006-04-24 10:54:06 +00:00
The ReactOS Code Auditors 510eb4e221 Lock all code in the repository.
svn path=/trunk/; revision=21257
2006-03-08 23:07:09 +00:00
Maarten Bosma 40b9227280 Moved usetup
svn path=/trunk/; revision=21076
2006-02-17 14:11:13 +00:00
Renamed from reactos/subsys/system/usetup/bootsup.c (Browse further)