Commit graph

8 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto f527e23aa7
[SETUPLIB] Lock the BTRFS volume before installing the new bootsector code.
CORE-15334 CORE-15339

The BTRFS driver requires the volume to be locked in order to modify
the first sectors of the partition, even though they are outside the
file-system space / in the reserved area (they are situated before
the super-block at 0x1000) and is in principle allowed by the NT
storage stack.
So we lock here in order to write the bootsector at sector 0.
If locking fails, we ignore and continue nonetheless.

See also the following links for reference:
https://stackoverflow.com/a/12928934
https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-writefile
https://support.microsoft.com/en-us/help/942448/changes-to-the-file-system-and-to-the-storage-stack-to-restrict-direct
2018-11-11 21:55:48 +01:00
Hermès Bélusca-Maïto bfb2b88f82
[SETUPLIB] Use proper file share access when opening partitions for raw access. 2018-11-11 21:47:37 +01:00
Hermès Bélusca-Maïto 9016b5f3ef
[SETUPLIB] Silence noisy DPRINTs. 2018-10-28 23:40:26 +01:00
Hermès Bélusca-Maïto 765994c9e3
[SETUPLIB][USETUP] Bring some suggestions from PR #59 in.
- Use OBJ_CASE_INSENSITIVE when initializing object attributes
  (no actual reason why to keep case sensitivity there).

- Check the success of a RtlStringCchPrintfW call in EnumerateReactOSEntries().

- Explicitly check for returned STATUS_NOT_SUPPORTED from ChkdskPartition()
  or FormatPartition(), and display an appropriate error message.

- Remove some left-over comments but also explain why I kept some
  commented code (mainly for future reference).
2018-10-28 01:08:57 +02:00
Hermès Bélusca-Maïto a7a11dd60d
[SETUPLIB] Improve the bootloader 'validity' checks -- Addendum to f06734e5 (r74512).
Adapted from PR #89 by Serge Gautherie.
This should improve the situation described in CORE-12672 and CORE-4870.
2018-10-28 00:59:46 +02:00
Hermès Bélusca-Maïto 48aab0fb20
[SETUPLIB][USETUP] Use NT RTL String Safe functions instead of Win32-oriented ones (and remove usage of HRESULT too).
Based on:
svn path=/branches/setup_improvements/; revision=75755
svn path=/branches/setup_improvements/; revision=75757
2018-10-28 00:58:46 +02:00
Hermès Bélusca-Maïto 9d93100afc
[SETUPLIB][USETUP] Move the floppy-disk accessibility check into InstallFatBootcodeToFloppy().
svn path=/branches/setup_improvements/; revision=75751
2018-10-28 00:25:51 +02:00
Hermès Bélusca-Maïto 95a34ef6fc
[USETUP][SETUPLIB] Move the bootsup.c code into the setuplib, and perform the necessary adjustments.
Move the bootsup.c code into the setuplib, as the code is generic
enough to be used by both USETUP and the 1st-stage GUI installer.

svn path=/branches/setup_improvements/; revision=75674
2018-10-27 22:09:32 +02:00
Renamed from base/setup/usetup/bootsup.c (Browse further)