#
5aaa8fef |
| 06-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a BSD disklabel backend to g_part: o Disklabels can have between 8 and 20 partitions (inclusive). o No device special file is created for the raw partition. o Switch ia64 to use this backend.
Add a BSD disklabel backend to g_part: o Disklabels can have between 8 and 20 partitions (inclusive). o No device special file is created for the raw partition. o Switch ia64 to use this backend. o No support for boot code yet.
show more ...
|
#
f352a0d4 |
| 24-Oct-2007 |
John Baldwin <jhb@FreeBSD.org> |
First cut at support for booting a GPT labeled disk via the BIOS bootstrap on i386 and amd64 machines. The overall process is that /boot/pmbr lives in the PMBR (similar to /boot/mbr for MBR disks) a
First cut at support for booting a GPT labeled disk via the BIOS bootstrap on i386 and amd64 machines. The overall process is that /boot/pmbr lives in the PMBR (similar to /boot/mbr for MBR disks) and is responsible for locating and loading /boot/gptboot. /boot/gptboot is similar to /boot/boot except that it groks GPT rather than MBR + bsdlabel. Unlike /boot/boot, /boot/gptboot lives in its own dedicated GPT partition with a new "FreeBSD boot" type. This partition does not have a fixed size in that /boot/pmbr will load the entire partition into the lower 640k. However, it is limited in that it can only be 545k. That's still a lot better than the current 7.5k limit for boot2 on MBR. gptboot mostly acts just like boot2 in that it reads /boot.config and loads up /boot/loader. Some more details: - Include uuid_equal() and uuid_is_nil() in libstand. - Add a new 'boot' command to gpt(8) which makes a GPT disk bootable using /boot/pmbr and /boot/gptboot. Note that the disk must have some free space for the boot partition. - This required exposing the backend of the 'add' function as a gpt_add_part() function to the rest of gpt(8). 'boot' uses this to create a boot partition if needed. - Don't cripple cgbase() in the UFS boot code for /boot/gptboot so that it can handle a filesystem > 1.5 TB. - /boot/gptboot has a simple loader (gptldr) that doesn't do any I/O unlike boot1 since /boot/pmbr loads all of gptboot up front. The C portion of gptboot (gptboot.c) has been repocopied from boot2.c. The primary changes are to parse the GPT to find a root filesystem and to use 64-bit disk addresses. Currently gptboot assumes that the first UFS partition on the disk is the / filesystem, but this algorithm will likely be improved in the future. - Teach the biosdisk driver in /boot/loader to understand GPT tables. GPT partitions are identified as 'disk0pX:' (e.g. disk0p2:) which is similar to the /dev names the kernel uses (e.g. /dev/ad0p2). - Add a new "freebsd-boot" alias to g_part() for the new boot UUID.
MFC after: 1 month Discussed with: marcel (some things might still change, but am committing what I have so far)
show more ...
|
#
a1fedf91 |
| 21-Oct-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add the freebsd-zfs alias. Both APM and GPT have ZFS partition types.
|
#
0081f96e |
| 18-Jun-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Have gpart synthesize a disk geometry if the underlying provider don't have it. Some partitioning schemes, as well as file systems, operate on the geometry and without it such schemes (e.g. MBR) and
Have gpart synthesize a disk geometry if the underlying provider don't have it. Some partitioning schemes, as well as file systems, operate on the geometry and without it such schemes (e.g. MBR) and file systems (e.g. FAT) can't be created. This is useful for memory disks.
show more ...
|
#
33a558c7 |
| 06-Jun-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Call sbuf_finish() before sbuf_data() and sbuf_len().
|
#
ce3498bd |
| 16-May-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Fix a dereference in KASSERT.
|
#
35fe9df0 |
| 15-May-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
o Implement automatic commit. It's enabled when the flags parameter exists and contains the 'C' flag. o The partition label can be the empty string. It's how labels are cleared. o When an ac
o Implement automatic commit. It's enabled when the flags parameter exists and contains the 'C' flag. o The partition label can be the empty string. It's how labels are cleared. o When an action fails, lower permissions when they were raised in order to allow the action. A failed action will not result in any uncommitted changes. o Allow the flags paremeter to be present but empty. It's the equivalent of not being present.
show more ...
|
#
5100f9e9 |
| 09-May-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Write the output parameter (if present) for the add, create, delete destroy and modify verbs.
|
#
c8dffc52 |
| 09-May-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
When reverting the creation of a partitioning scheme on a provider, the failure to probe an existing partitioning scheme means that no previous partitioning scheme existed. Don't error. Just destroy
When reverting the creation of a partitioning scheme on a provider, the failure to probe an existing partitioning scheme means that no previous partitioning scheme existed. Don't error. Just destroy the geom.
show more ...
|
#
d287f590 |
| 08-May-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
MFp4: 119373: o Remove the query verb, along with the request and response parameters. o Add the version and output parameters. 119390: [APM,GPT] Properly clear deleted entries. 119394: o Mak
MFp4: 119373: o Remove the query verb, along with the request and response parameters. o Add the version and output parameters. 119390: [APM,GPT] Properly clear deleted entries. 119394: o Make the alias the standard and use the '!' to prefix literal partition types. o Treat schemes and partition types as case insensitive. 119462: [GPT] Fix a page fault caused when modifying a partition entry without a new partition type.
show more ...
|
#
e8e1f544 |
| 27-Apr-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Put the scheme (APM, GPT, etc) in the XML.
|
#
1d3aed33 |
| 07-Feb-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Evolve the ctlreq interface added to geom_gpt into a generic partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE
Evolve the ctlreq interface added to geom_gpt into a generic partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM and GEOM_PART_GPT (resp).
The ctlreq interface supports verbs to create and destroy partitioning schemes on a disk; to add, delete and modify partitions; and to commit or undo changes made.
show more ...
|