summaryrefslogtreecommitdiff
path: root/Kernel/build-root-filesystem.sh
AgeCommit message (Collapse)Author
2020-01-04Base: Only allow members of the "wheel" group to use /bin/suAndreas Kling
2020-01-04Base: Add an "audio" group that gets to write to /dev/audioAndreas Kling
2020-01-04Base: Add a "phys" group for users with physical accessAndreas Kling
Only users in this group can access the screen, mouse and keyboard.
2020-01-04Base: Make /dev/hd{a,b,c,d} superuser-onlyAndreas Kling
2020-01-04Base: Add "tty" group and make /dev/tty* be root:tty mode 610Andreas Kling
This fixes an issue where anyone could snoop on the virtual consoles.
2020-01-04Build: Lock down the /mod and /boot directoriesAndreas Kling
Make these directories accessible to root only. Unprivileged users have no need to look at the kernel binary or kernel modules.
2020-01-02Build: add support for building on OpenBSDjoshua stein
This requires gcc8 from ports to build the Toolchain.
2020-01-02Kernel: Move kernel symbols to /res/kernel.map and make it root-onlyAndreas Kling
Let's lock down access to the kernel symbol table, since it trivializes learning where the kernel functions are. Of course, you can just build the same revision yourself locally and learn the information, but we're taking one step at a time here. :^)
2020-01-01Build: fix building Kernel/TestModule objectjoshua stein
2020-01-01Demos: Add a dynamic linking demo to show off dlfcn methodsAndrew Kaster
The LinkDemo program calls dlopen/dlsym/dlclose to try and load a dyanmic library from /usr/lib. It read a global variable and calls a global function (extern "C" of course :) ). There a few hacks left in the LinkLib dynamic library, however. In order to get the linker to stop complaining, we have to use -nostartfiles -ffreestanding otherwise it will link crt0.o to our shared object, which is definitely not right as the _init function for a main program (that calls main) is not suitable for our lib
2019-12-31Kernel+ping: Only allow superuser to create SOCK_RAW socketsAndreas Kling
/bin/ping is now setuid-root, and will drop privileges immediately after opening a raw socket.
2019-12-27MenuApplets: Add Clock applet, move code from WindowServer to the applet.Hüseyin ASLITÜRK
2019-12-27Build: Allow building serenityOS ext2 root filesystem on macOS hostStefano Cristiano
2019-12-16WindowServer+MenuApplets: Move the "Audio" applet to its own programAndreas Kling
This patch introduces the second MenuApplet: Audio. To make this work, menu applet windows now also receive mouse events. There's still some problem with mute/unmute via clicking not actually working, but the call goes from the applet program over IPC to the AudioServer, where something goes wrong with the state change message. Need to look at that separately. Anyways, it's pretty cool to have more applets running in their own separate processes. :^)
2019-12-12ProfileViewer: Begin work on a visualization tool for profiles :^)Andreas Kling
We begin with a simple treeview that shows a recorded profile. To record and view a profile of a process with <PID>, simply do this: $ profile <PID> on ... wait while PID does something interesting ... $ profile <PID> off $ cat /proc/profile > my-profile.prof $ ProfileViewer my-profile.prof
2019-12-05MenuApplets: Add CPUGraph, our first menu applet :^)Andreas Kling
This implements the WSCPUMonitor functionality in a separate process.
2019-12-02Build: Add "sm" as an alias for SystemMonitor for nowAndreas Kling
This is one of the most common apps I bring up, yet there's no handy alias for it? Silly :^)
2019-11-28Kernel: Implement basic module unloading :^)Andreas Kling
Kernel modules can now be unloaded via a syscall. They get a chance to run some code of course. Before deallocating them, we call their "module_fini" symbol.
2019-11-28Kernel: Implement very simple kernel module loadingAndreas Kling
It's now possible to load a .o file into the kernel via a syscall. The kernel will perform all the necessary ELF relocations, and then call the "module_init" symbol in the loaded module.
2019-11-25Demos: Remove "RetroFetch"Andreas Kling
We should just get good enough to run "neofetch" or something like that instead of having this half-baked thing.
2019-11-23ProtocolServer+LibProtocol: Introduce a server for handling downloadsAndreas Kling
This patch adds ProtocolServer, a server that handles network requests on behalf of its clients. The first protocol implemented is HTTP. The idea here is to use a plug-in architecture where any number of protocols can be added and implemented without having to mess around with each client program that wants to use the protocol. A simple client API is provided through LibProtocol::Client. :^)
2019-11-23Applications: Remove unused/unfinished "Downloader" programAndreas Kling
2019-11-11Launcher: Remove the Launcher app, and all hacks in support of itAndreas Kling
The Launcher's functionality has been replaced by the app shortcuts in the system menu. There were various window management hacks to ensure that the launcher stayed below all other windows while also being movable, etc.
2019-11-03POSIX compliance: (most) shell scripts converted to generic shellGeorge Pickering
Ports/.port_include.sh, Toolchain/BuildIt.sh, Toolchain/UseIt.sh have been left largely untouched due to use of Bash-exclusive functions and variables such as $BASH_SOURCE, pushd and popd.
2019-10-21HackStudio: Start working on an IDE for SerenityOSAndreas Kling
This will be fun. :^)
2019-10-13HexEditor: Initial application releaseBrandon Scott
The very first release of the Hex Editor for Serenity.
2019-10-05Browser: Start working on a simple browser using LibHTMLAndreas Kling
This was inevitable. :^)
2019-09-28Applications: Add a new Help appSergey Bugaev
This is a neat simple app that can display the Serenity manual ^)
2019-09-28Userland+LibHTML: Add the html commandSergey Bugaev
This is a simple command that can be used to display HTML from a given file, or from the standard input, in an HtmlView. It replaces the `tho` (test HTML output) command.
2019-09-21Build: Let's put the kernel in /boot/kernel for all buildsAndreas Kling
2019-09-16Applications: Add "Welcome" application, inspired by Windows 98Conrad Pankoff
2019-09-08TelnetServer: Implement basic telnet serverConrad Pankoff
Fixes #407 Depends on #530 to run reliably.
2019-09-07Applications: Create a display properties managerJesse Buhagiar
An interactive application to modify the current display settings, such as the current wallpaper as well as the screen resolution. Currently we're adding the resolutions ourselves, because there's currently no way to detect was resolutions the current display adapter supports (or at least I can't see one... Maybe VBE does and I'm stupid). It even comes with a very nice template'd `ItemList` that can support a vector of any type, which makes life much simpler.
2019-09-04SoundPlayer: Start working on a GUI sound player applicationAndreas Kling
This can play anything that AWavLoader can load (so obviously only WAV files at the moment.) It works by having a timer that wakes up every 100ms and tries to send a sample buffer to the AudioServer. If our server-side queue is full then we wait until the next timer iteration and try again. We display the most recently enqueued sample buffer in a nice little widget that just plots the samples in green-on-black. :^)
2019-08-18Inspector: Add a GUI tool for viewing a remote process's CObject graphAndreas Kling
Here comes the foundation for a neat remote debugging tool. Right now, it connects to a remote process's CEventLoop RPC socket and retreives the remote object graph JSON dump. The remote object graph is then reconstructed and exposed through a GModel subclass, which is then displayed in a GTreeView. It's pretty cool, I think. :^)
2019-08-17Kernel: Added unmount ability to VFSJesse Buhagiar
It is now possible to unmount file systems from the VFS via `umount`. It works via looking up the `fsid` of the filesystem from the `Inode`'s metatdata so I'm not sure how fragile it is. It seems to work for now though as something to get us going.
2019-08-14ProcessManager: Rename it to SystemMonitorSergey Bugaev
This is a more appropriate name now that it does a lot more than just manage processes ^)
2019-08-12Server: Add TTYServer, a rudimentary text console managerConrad Pankoff
This should probably call out to a login program at some point. Right now it just puts a root terminal on tty{1,2,3}. Remember not to leave your Serenity workstation unattended!
2019-08-12Kernel: Use established device name and number for framebufferConrad Pankoff
This is to prepare for other framebuffer implementations, for which it would be inappropriate to use the /dev/bxvga device name.
2019-08-10Calculator: Add a simple calculator appSergey Bugaev
Closes https://github.com/SerenityOS/serenity/issues/319
2019-08-04ChanViewer: Start working on a simple read-only 4Chan viewerAndreas Kling
Since they are nice enough to provide a JSON API over HTTP, this makes for a perfect way to exercise our networking code a bit. :^)
2019-08-02Build: Add /dev/{hda,hdb,hdc,hdd} filesAndreas Kling
Now that we can mount additional hard drives, let's actually have some more device files in /dev so you can use them. :^)
2019-07-16SystemDialog: Add a new app for showing system dialogs.Andreas Kling
Currently this will be used by the WindowServer to show some dialogs. This is needed since WindowServer can't use LibGUI and reimplementing message box functionality inside WindowServer would be silly. :^) The only dialog supported in this initial version is --shutdown
2019-07-13Piano: Start working on a desktop piano.Andreas Kling
The idea here is to implement a simple synhesizer that allows you to play music with your keyboard. :^) It's a huge hack currently but we can improve upon this.
2019-07-13Kernel: First cut of a sb16 driverRobin Burchell
Also add an AudioServer that (right now) doesn't do much. It tries to open, parse, and play a wav file. In the future, it can do more. My general thinking here here is that /dev/audio will be "owned" by AudioServer, and we'll do mixing in software before passing buffers off to the kernel to play, but we have to start somewhere.
2019-07-10Demos: Add a HelloWorld2 demo.Andreas Kling
This is a simple test app with its UI generated from a VisualBuilder form. The name is probably silly, but who cares. :^)
2019-07-04Libraries: Create top level directory for libraries.Andreas Kling
Things were getting a little crowded in the project root, so this patch moves the Lib*/ directories into Libraries/.
2019-07-01Build: Remove Userland/qs if we see one lying around.Andreas Kling
Userland/qs was moved to Applications/QuickShow, but some people still have old built binaries lying around in their Userland/ directories and the build system complains about this. Here goes a silly temporary hack to just get rid of them.
2019-06-23QuickShow: Allow panning and zooming the image instead of stretching it.Andreas Kling
This needs more work and polish, but it's a step in a more pleasant and useful direction. Also turn QuickShow into a fully-fledged "application". (By that, I really just mean giving it its own Applications/ subdirectory.)
2019-06-15LibHTML: Start working on a simple HTML library.Andreas Kling
I'd like to have rich text, and we might as well use HTML for that. :^)