Commit graph

404 commits

Author SHA1 Message Date
djwisdom
7925d51c45 Base: Add new Magnifier help documentation 2022-09-01 23:30:12 +00:00
Liav A
2c84466ad8 Kernel/Storage: Introduce new boot device addressing modes
Before of this patch, we supported two methods to address a boot device:
1. Specifying root=/dev/hdXY, where X is a-z letter which corresponds to
a boot device, and Y as number from 1 to 16, to indicate the partition
number, which can be omitted to instruct the kernel to use a raw device
rather than a partition on a raw device.
2. Specifying root=PARTUUID: with a GUID string of a GUID partition. In
case of existing storage device with GPT partitions, this is most likely
the safest option to ensure booting from persistent storage.

While option 2 is more advanced and reliable, the first option has 2
caveats:
1. The string prefix "/dev/hd" doesn't mean anything beside a convention
on Linux installations, that was taken into use in Serenity. In Serenity
we don't mount DevTmpFS before we mount the boot device on /, so the
kernel doesn't really access /dev anyway, so this convention is only a
big misleading relic that can easily make the user to assume we access
/dev early on boot.
2. This convention although resemble the simple linux convention, is
quite limited in specifying a correct boot device across hardware setup
changes, so option 2 was recommended to ensure the system is always
bootable.

With these caveats in mind, this commit tries to fix the problem with
adding more addressing options as well as to remove the first option
being mentioned above of addressing.
To sum it up, there are 4 addressing options:
1. Hardware relative address - Each instance of StorageController is
assigned with a index number relative to the type of hardware it handles
which makes it possible to address storage devices with a prefix of the
commandset ("ata" for ATA, "nvme" for NVMe, "ramdisk" for Plain memory),
and then the number for the parent controller relative hardware index,
another number LUN target_id, and a third number for LUN disk_id.
2. LUN address - Similar to the previous option, but instead we rely on
the parent controller absolute index for the first number.
3. Block device major and minor numbers - by specifying the major and
minor numbers, the kernel can simply try to get the corresponding block
device and use it as the boot device.
4. GUID string, in the same fashion like before, so the user use the
"PARTUUID:" string prefix and add the GUID of the GPT partition.

For the new address modes 1 and 2, the user can choose to also specify a
partition out of the selected boot device. To do that, the user needs to
append the semicolon character and then add the string "partX" where X
is to be changed for the partition number. We start counting from 0, and
therefore the first partition number is 0 and not 1 in the kernel boot
argument.
2022-08-30 00:50:15 +01:00
djwisdom
681490c35c Base: Add new MouseSettings.md help document 2022-08-28 20:24:28 +01:00
djwisdom
88db594691 Base: Add new Mouse.md help document 2022-08-28 20:24:28 +01:00
djwisdom
83dd8f12de Base: Update Terminal's help documentation 2022-08-28 19:48:17 +01:00
MacDue
ffc0f9550d Base: Add the -h/--hide-window option to the Eyes manpage 2022-08-25 13:42:17 +02:00
Lucas CHOLLET
4f87f03bd1 Base: Launch AudioServer at session start-up 2022-08-14 21:52:35 +01:00
Liav A
6164729d06 Everywhere: Get rid of the fbdev kernel boot argument remainders 2022-08-14 01:03:23 +01:00
Sam Atkins
913412e0c5 Browser+Base: Allow opening multiple URLs at once from command line
This lets you run `br example.com wikipedia.org some/local/file.html` in
one go and have them all opened as tabs.
2022-08-13 23:32:52 +02:00
Liav A
488f22941b SystemMonitor: Remove GML references to the deleted Hardware tab 2022-08-12 12:24:40 +02:00
demostanis
6744402dbf Base: Replace getopt with getopt_long in man page 2022-08-08 16:35:28 -04:00
djwisdom
834d936bbc Base: Add HexEditor manual 2022-08-07 17:31:17 +00:00
djwisdom
449935e096 Base: Update FontEditor manual use images with improved resolution 2022-08-05 13:56:15 +02:00
djwisdom
c72482da54 Base: Update ImageViewer manual improve description 2022-08-02 07:47:43 +00:00
networkException
85b133d47f Utilities+Base: Rename pape utility to wallpaper 2022-08-02 04:04:08 +00:00
Chase Struck
835d516d10 Base: Add more manpages
This commit adds manpages for About(1), AnalogClock(1), Assistant(1),
Browser(1), Calculator(1), and Calendar(1).
2022-07-29 20:48:04 +00:00
demostanis
ef2d4b9ed6 Base: Add sort(1) man page 2022-07-28 00:44:08 +00:00
sfdd
d1671d4f86 Documentation: Better file formats documentation 2022-07-27 10:13:21 +01:00
Tim Schumacher
c1ab29b73c du: Fix a typo in the --exclude-from option 2022-07-24 13:32:51 +01:00
Liav A
cb900006b9 Utilities/lspci: Don't unveil /res/pci.ids if not asked to resolve IDs
I tested the grub image under VirtualBox and it appeared that the image
didn't have pci.ids file included in the /res directory. In that case it
would be expected that lspci can still function correctly if the -n
parameter is passed, but then the unveil syscall failed because the file
didn't exist.

To cope with this, we should allow lspci to work without the pci.ids
file being present at the filesystem, so let's not unveil this file if
the -n parameter is passed.
2022-07-19 11:02:25 +01:00
Liav A
a660040806 Userland: Introduce the lsblk utility to show list of storage devices 2022-07-15 12:29:23 +02:00
kleines Filmröllchen
7b89c4e412 Base: Improve clipboard manpage style 2022-07-11 11:35:56 +02:00
kleines Filmröllchen
fb7cd7b340 Documentation: Merge UsingFontEditor into existing FontEditor manpage
The generate-manpages script needs to be updated again to handle the new
PNGs in section 1. (I'm intentionally not making this a multi-directory
glob.)
2022-07-11 11:35:56 +02:00
kleines Filmröllchen
1419732a73 Documentation: Move IPC endpoint documentation to manpage section 4 2022-07-11 11:35:56 +02:00
kleines Filmröllchen
9660f5d0e6 Documentation: Move all file format documentation into its own manpage
The documentation is largely unchanged except for adoption into the
standard manpage format.
2022-07-11 11:35:56 +02:00
Russell
cfea934cc8 Base: Add uptime(1) manpage 2022-07-10 11:41:45 +01:00
Brian Gianforcaro
b7c50f7094 Base: Add -ftrivial-auto-var-init to man7/Mitigations.md 2022-07-09 00:53:45 +00:00
Tim Schumacher
5efa8e507b Kernel: Implement an axallowed mount option
Similar to `W^X` and `wxallowed`, this allows for anonymous executable
mappings.
2022-07-08 22:27:38 +00:00
Tim Schumacher
80705a72bd mount: Allow extending fstab via drop-in files in fstab.d 2022-07-08 12:42:23 +02:00
Maciej
f94c7fc880 Base: Update Network manpage to the new NetworkServer behavior 2022-07-04 13:20:24 +03:00
Linus Groh
cc4bb59a7e Playground: Rename the application to GMLPlayground
Just "Playground" is too generic and doesn't match the general rule of
"application name equals display name minus spaces".
2022-06-28 21:10:10 +01:00
FrHun
a78f84645c Base: Add manpages for new layout system
This is far from explaining all implications of the new layout system,
but it covers the basics.
2022-06-28 17:52:42 +01:00
MacDue
92a1e9607d Base: Document /proc/{pid}/children in proc(7) manpage 2022-06-22 13:29:17 +01:00
Andreas Kling
45de16f195 Userland+Base: Remove Breakout and Pong games
These games were not very playable and definitely not fun.
2022-06-15 17:15:04 +02:00
Andreas Kling
a786b374b6 Utilities: Remove ddate joke program 2022-06-15 17:15:04 +02:00
Chase Struck
fc8b74f8b4 Base: Add a man-page for pwd(1) 2022-06-13 17:44:54 -07:00
Linus Groh
173dcfb7cb Everywhere: Fix a bunch of typos 2022-05-29 15:22:00 +02:00
Maciej
1ffba0b8b4 NetworkServer: Support setting default gateway
This commit adds an IPv4Gateway to Network.ini. If that option is set to
value other than 0.0.0.0, the NetworkServer adds a default route (e.g.
with address 0.0.0.0/0) with the specified destination.
2022-05-28 23:33:46 +01:00
Maciej
238bed2f24 Base: Add man page for network configuration 2022-05-26 21:47:27 +01:00
Ariel Don
210c3f24cd Base: Write man page for utimensat(3) and futimens(3) 2022-05-26 15:34:55 +02:00
Ariel Don
c77cdd8cad Base: Write man page for touch(1) 2022-05-26 15:34:55 +02:00
kleines Filmröllchen
6668077965 Base: Document the LibDSP structure in a simple class diagram
This uses UML conventions but just contains the necessary info to get
started with LibDSP development.
2022-05-25 23:27:22 +01:00
kleines Filmröllchen
900349dbe1 Base: Update the audio subsystem documentation
We need to mention the new queue system as well as the userland sample
format.
2022-05-25 23:27:22 +01:00
Sam Atkins
aadb35ff46 LibGUI: Add ability to position checkboxes to the right of their text
This uses the new `checkbox_position` property, which can be "Left"
or "Right".
2022-05-21 22:25:33 +02:00
Cameron Youell
5b82bd719e LibGUI: TabWidget add vertical tabs
Add vertical tabs to TabWidget, this can be set using
the ```TabWidget::set_tab_position``` function or in the GML
2022-05-21 22:25:16 +02:00
Sam Atkins
24a8a260c0 Base: Document new TabWidget properties, and extend the example a bit 2022-05-11 20:16:43 +02:00
Liav A
d49a35df31 Kernel/Graphics: Simplify the feature level of the Graphics subsystem
Instead of letting the user to determine whether framebuffer devices
will be created (which is useless because they are gone by now), let's
simplify the flow by allowing the user to choose between full, limited
or disabled functionality. The determination happens only once, so, if
the user decided to disable graphics support, the initialize method
exits immediately. If limited functionality is chosen, then a generic
DisplayConnector is initialized with the preset framebuffer resolution,
if present, and then the initialize method exits. As a default, the code
proceeds to initialize all drivers as usual.
2022-05-05 20:55:57 +02:00
Maciej
06c90b35ec ifconfig: Stop supporting setting/displaying default gateway
The `route` command allows more sophiscated control over routing tables
now, and supporting this in ifconfig is no longer meaningful.
2022-05-01 13:34:27 +02:00
Dylan Katz
a79896bb44 Documentation+SQLStudio: Add manual page for SQL Studio 2022-04-22 09:57:40 +02:00
brapru
a7bb3fe7a8 netstat: Add the wide flag option
Previously netstat would print the whole line of an ip address or
resolved hostname. If the hostname was longer than the address column
length, it would push following columns into disaligned output.

This sets the default behavior to truncate any IP address or symbolic
hostname that is larger than the maximum address column size to provide
cleaner output. In the event the user wishes to see the whole address
name, they can then pass the wide option that will output as wide as
necessary to print the whole name.
2022-04-21 13:17:29 +02:00