diff options
| -rw-r--r-- | faq/2_gib_partition_limit.mdwn | 6 | ||||
| -rw-r--r-- | hurd/rump/rumpdisk.mdwn | 2 | ||||
| -rw-r--r-- | open_issues/running_rump_for_slash.mdwn | 72 |
3 files changed, 4 insertions, 76 deletions
diff --git a/faq/2_gib_partition_limit.mdwn b/faq/2_gib_partition_limit.mdwn index 654379a3..aece70b4 100644 --- a/faq/2_gib_partition_limit.mdwn +++ b/faq/2_gib_partition_limit.mdwn @@ -11,12 +11,14 @@ License|/fdl]]."]]"""]] [[!tag faq/support]] -[[!meta title="Is there still a 2 GiB ext2fs disk partition limit?"]] +[[!meta title="Is there still a 2 GiB / 128GiB ext2fs disk partition limit?"]] -The 2 GiB ext2fs limit has been removed. +The 2 GiB ext2fs limit has been removed since long. IDE disk drivers (`hd*`) however currently do not support more than 2^28 sectors, i.e. 128GiB. The gnumach AHCI disk driver (`sd*`) and rumpkernel drivers (`wd*`) support up to 2^48 sectors, i.e. 128PiB, but the device interface supports only 2^32 sectors, i.e. 2TiB. +To use disks bigger than 128GiB you can either switch your disk to AHCI (BIOS or virtualization) configuration, or switch to [[using the rumpkernel driver|/hurd/rump/rumpdisk]] + You can have a bigger disk, you just should not put disk partitions beyond these limits for the drivers to be able to read from them. diff --git a/hurd/rump/rumpdisk.mdwn b/hurd/rump/rumpdisk.mdwn index bb8bcdb1..c7764ca7 100644 --- a/hurd/rump/rumpdisk.mdwn +++ b/hurd/rump/rumpdisk.mdwn @@ -59,5 +59,3 @@ rumpdisk is normally already set up on `/dev/rumpdisk`. $ showtrans /dev/rumpdisk /hurd/rumpdisk - -[[!inline pages=open_issues/running_rump_for_slash raw=yes feeds=no]] diff --git a/open_issues/running_rump_for_slash.mdwn b/open_issues/running_rump_for_slash.mdwn deleted file mode 100644 index 0740993e..00000000 --- a/open_issues/running_rump_for_slash.mdwn +++ /dev/null @@ -1,72 +0,0 @@ -[[!meta copyright="Copyright © 2019 Free Software -Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_hurd]] - -## Samuel's [[email|https://lists.gnu.org/archive/html/bug-hurd/2019-12/msg00002.html]] - -I have been thinking about how to get rump running for the / filesystem. - -Looking at how things go between ext2fs and exec: in grub.cfg we have -roughly: - - module ext2fs --exec-server-task='${exec-task}' '$(task-create)' '$(task-resume)' - module exec '$(exec-task=task-create)' - -i.e. the kernel is told to create two tasks, to pass a reference to -the exec task to the ext2fs task, and to let only the ext2fs task to -run. What happens then is in `diskfs_start_bootstrap`, which calls -`start_execserver`, which uses `task_set_special_port` to set the -`TASK_BOOTSTRAP_PORT` special port to a send right to ext2fs, and resumes -the exec task. I.e. basically ext2fs tells exec where it is so that exec -can start the userland with `/` available. - -I'm thinking that the same can be used for the rump translator, -something like: - - module rump --fs-server-task='${fs-task}' '$(task-create)' '$(task-resume)' - module ext2fs --exec-server-task='${exec-task}' '$(fs-task=task-create)' - module exec '$(exec-task=task-create)' - -and we'd make rump's initialization use `task_set_special_port` to set -the `TASK_BOOTSTRAP_PORT` special port of ext2fs to a send right to rump, -and resume it. When ext2fs sees that this port is set, it would use it -instead of the gnumach-provided `_hurd_device_master` port to open -devices. - -And we can nest this yet more for the pci-arbiter: - - module pci-arbiter --disk-server-task='${disk-task}' '$(task-create)' '$(task-resume)' - module rump --fs-server-task='${fs-task}' '$(disk-task=task-create)' - module ext2fs --exec-server-task='${exec-task}' '$(fs-task=task-create)' - module exec '$(exec-task=task-create)' - -and we'd make `pci-arbiter`'s initialization use `task_set_special_port` -to set the `TASK_BOOTSTRAP_PORT` special port of rump to a send right to -pci-arbiter and resume it. When `libpciaccess` sees that this port is set, -it would use it instead of looking up `/server/bus/pci`. - -## Damien's [[follow up email|https://lists.gnu.org/archive/html/bug-hurd/2020-04/msg00032.html]] - -In my own words, the changes that are needed: - -1. libpciaccess needs to check if pci-arbiter's `task_bootstrap_port` is set -and if it is, use it instead of `/servers/bus/pci` - -2. pci-arbiter needs to call `task_set_special_port` on rump's `TASK_BOOTSTRAP_PORT` -if `--disk-server-task` flag is detected. - -3. rumpdisk needs to call `task_set_special_port` on ext2fs's `TASK_BOOTSTRAP_PORT` -if `--fs-server-task` flag is detected. - -4. ext2fs will just work in this configuration - - |
