Blog: On installers

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Blog: On installers

Post by Z98 »

Wikipedia offers a very shallow description of most technical topics. It says little about the complications, challenges, and more importantly, background and infrastructure of the technologies. You're also jumping almost randomly from technology to technology with little coherence.
IamMomotaros
Posts: 7
Joined: Mon May 19, 2014 6:55 am

Re: Blog: On installers

Post by IamMomotaros »

Z98 wrote:Wikipedia offers a very shallow description of most technical topics. It says little about the complications, challenges, and more importantly, background and infrastructure of the technologies. You're also jumping almost randomly from technology to technology with little coherence.
An Excerpt from the Wikipedia_NVMe"A major application of NVMe is SATA Express, which is a new and backward-compatible interface specification supporting either SATA or PCI Express storage devices. SATA Express can use either legacy AHCI or new NVMe as the logical device interface.[1]"
[1]https://www.sata-io.org/sites/default/f ... paper_.pdf

How DO YOU know the SSD your working on is not NVMe+SATAExpress?
Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Blog: On installers

Post by Z98 »

Because we know what parts are in our computers.
erkinalp
Posts: 861
Joined: Sat Dec 20, 2008 5:55 pm
Location: Izmir, TR

Re: Blog: On installers

Post by erkinalp »

Z98 wrote:One of the things ReactOS does not have proper support for right now is installing on SSDs. Yes, ReactOS can be installed on one, but the inefficient nature of the current partitioning scheme does not do a SSD's lifetime any good. Right now partition alignment is based on cylinder boundaries with 63 sectors per track. This unfortunately does not align with the 4K blocks that SSDs use so there is some inefficiency/waste going on here. One solution would be to detect whether ReactOS is being installed to a SSD versus a harddrive and align accordingly. The other solution would be to always use megabyte alignment for partitions.
Block devices those use 4KiB blocks are Advanced Format HDDs, SSDs have mebibytes-sized TRIM blocks. The alignment scheme you suggested will fail with older CHS disks, a proper alingnment may be done like the following pseudocode:

Code: Select all

If disk is accessed using CHS addressing:
    If there are any MBR/BSD/APM partitions:
       Align partitions into max(GCD(existing partitions beginnings),cylinder size) bytes
    Else-if there are is any other recognized partition scheme:
        Align partitions into max(4*cylinder size,partition table size)
    Else:
        Align partitions into cylinder size
Else if disk is accessed via LBA addressing:
    If any GPT partitions exist:
         Align partitions into max(1'048'576,GCD(existing partition beginnings,GPT size)) bytes
         Try to add an EFI boot manager entry for ReactOS on install time
    Else-if any MBR partitions exist:
        If IO.SYS or Windows/WIN.COM or PART.EXE exists in a FAT partition:
            Align into LCM(cylinder size,GCD(existing partition beginnings))  bytes
        Else:
            Align partitions into LCM(physical sector size,GCD(existing partition beginnings))
    Else:
          Align partitions into LCM(physical sector size,partition table size)
If no partitions fit using alignment despite free space:
Try alingment in following order:cylinder size,partition table size,single sectors.
GPT size is variable and may be adjusted to hold multiple-of-4 many partition entries.
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 65 guests