ToaruOS has consumed the higher segment of my life for the final eleven years. This launch has been a truly lengthy time coming: My first plans for a 64-bit, SMP-appropriate port of the OS date wait on to earlier than the 1.0 launch. The repository wherein I constructed the recent kernel became as soon as one thing I had already prepare as far wait on as 2015. And now, lastly, I contemplate it is ready.
Featured Content Ads
add advertising hereWhat is ToaruOS?
ToaruOS is a full hobby working plan for x86-64 PCs. ToaruOS is made up of several ingredients:
- Misaka, an SMP-enabled kernel for x86-64. Misaka is the principle focal point of this launch, because it replaces the older “toaru32” kernel from 1.x.
- Yutani, a tool-compositing windowing plan. Yutani has been a core segment of ToaruOS since very early in its construction, and this launch brings a call of improvements to the windowing protocol and compositor implementation.
- Kuroko, a bytecode-compiled interpreted programming language. Kuroko first seemed in ToaruOS 1.14 as a replace for Python, and has improved critically because it made its debut.
- Bim, a Vim-inspired code editor with syntax highlighting and plugins powered by Kuroko. All code written for ToaruOS in the last few years has been written in Bim.
- Graphical applications for Yutani, in conjunction with a file browser, terminal emulator, widget-powered panel, and a kit supervisor.
- A superior series of terminal utilities, in conjunction with a mammoth subset of popular POSIX utilities.
- The ToaruOS libc, a cleanroom implementation of the C popular library. ToaruOS’s libc has confirmed itself by supporting a appreciable place of advanced ports.
- A fleshy suite of userspace libraries to supply serve for PNG and JPEG pictures, TrueType fonts, and extra.
- A dynamic linker (ld.so).
- A suite of bootloaders for BIOS and EFI methods.
All tool ingredients of ToaruOS are usual to the project.
What’s Original in ToaruOS 2.0?
There are two methods to take a study 2.0: First, as a discover up to 1.14.1. When put next to the final “in finding” launch, the modifications in 2.0 are intensive but iterative. Alternatively, 2.0 could simply also be when put next with 1.0. That launch became as soon as constructed on a call of third-party parts, and a pair of.0 demonstrates how these parts like been efficiently replaced.
Capabilities of Misaka
- x86-64 architecture serve and a miles extra moveable contaminated than its predecessor.
- Toughen for symmetric multiprocessing (SMP).
- VFS and job serve for filesystem groups and supplementary crew lists.
- Per-thread and per-core CPU usage monitoring.
- Toughen for gzip-compressed ramdisks.
- Loadable driver modules, which for the time being are loaded from the ramdisk.
- Course of tracing with
ptrace
, offering visibility into plan calls and signal shipping, single-step debugging, and unhappy-job memory access. - A newly-rewritten network stack offering a BSD-vogue sockets API, serve for just a few interfaces, a loopback interface, and listening sockets.
Modifications Since 1.14.1
- Original userspace utilities exposing functionality added in Misaka:
top
,strace
,dbg
,ping
,cpuwidget
. - Several improvements like been made to the graphics library, in conjunction with the addition of affine transformations.
- Several improvements like been made to the window compositing framework.
- A brand recent TrueType text rasterizer has been added.
- A brand recent marked-up text formatting library has been added.
- The BIOS loader has been improved and can serve a worthy broader differ of hardware configurations (in conjunction with laborious disk boot), the EFI loader has been rewritten, and each now serve editing the kernel repeat line.
- The panel has been redesigned, and widgets like been improved with loaded libraries, dynamic structure, and recent popups.
- The Julia place viewer has been rewritten with recent palettes and exploration choices.
- A brand recent calculator app has been added, powered by Kuroko.
- The libc now helps general timezone configuration. Please place your plan RTC to UTC for lawful time.
- The timezone offset and panel weather widget are robotically configured by scheme products and companies, when available.
- Driver serve has been added for the Ensoniq ES1371 chipset emulated by VMware Workstation.
- Many extra things I lost discover of.
Identified Factors
- The recent network stack remains experimental and the TCP implementation is lacking functionality I’m hoping to scream in a future replace.
- As in earlier releases, ToaruOS’s libc remains incomplete. Some functions is at risk of be equipped as stubs, or could simply no longer accumulate all anticipated alternate choices.
- There are identified concerns with the ext2 implementation and, whereas conceivable, disk installations are no longer commended.
- Please gape the linked dialogue for further concerns present on this launch.
What’s Subsequent?
Several choices had been deferred to future releases in narrate to steer clear of scope plod and web 2.0 finalized. My roadmap for the lengthy speed appears to be one thing relish this:
Featured Content Ads
add advertising here- 2.0.x: A range of worm fixes and functionality that became as soon as nearly ready for 2.0, equivalent to TCP stack improvements.
- 2.1: AHCI, xHCI, USB HID devices, and diversified improved hardware serve that became as soon as namely deferred.
- 2.2: AArch64 port.
Working ToaruOS
About the Reside CD
ToaruOS is disbursed as a “reside CD”. The default configuration will boot into a user session for native
. The password for this legend is also native
, and it is permitted to make advise of the sudo
repeat. When caused for a password by either the graphical or repeat-line sudo
utilities, enter native
. The reside CD is configured to supply an in-memory learn-write filesystem and applications could simply also be put in up to the limits of plan memory, but no recordsdata will persist between boots. As in earlier releases of ToaruOS, an experimental learn-write ext2 implementation is available (insmod /mod/ext2.ko
) and drivers for IDE laborious disks are equipped (insmod /mod/ata.ko
). While these drivers like viewed essential improvements since earlier releases, their advise on staunch methods is just not any longer commended.
Virtual Machines
I customarily indicate the advise of a digital machine equivalent to QEMU, VirtualBox or VMware Workstation to speed ToaruOS, as driver serve for staunch hardware configurations is particular.
QEMU could simply also be configured as follows:
qemu-plan-x86_64 -cdrom describe.iso -m 1G -instrument AC97 -allow-kvm
You need to perhaps more than doubtless also simply also relish to make advise of just a few virtualized CPUs with -smp 2
. For platforms diversified than Linux, replace an acceptable repeat line flag for -allow-kvm
to permit hardware virtualization.
Featured Content Ads
add advertising hereFor VirtualBox, ensure that to supply 32MB of present memory and configure an Intel NIC with NAT, and AC97 audio for many fine serve.
ToaruOS 2.0 has also been tested in VMware Player.
Valid Hardware
Users wishing to compare out ToaruOS 2.0 on staunch hardware are commended to make advise of GRUB. Booting ToaruOS 2.0 is critically simplified over 1.x, as modules no longer like to be loaded by the bootloader to carry out a functioning plan. Extract the kernel and ramdisk files from the launch CD and space them in a course accessible out of your GRUB loader, then add a menu entry with the next commands:
multiboot2 /kernel root=/dev/ram0 vid=auto migrate
module2 /ramdisk.igz
place gfxpayload=serve # You need to perhaps more than doubtless also simply like to specify an acceptable mode right here.
Credit and Licenses
ToaruOS itself is made available underneath the next terms, customarily identified because the NCSA / University of Illinois License:
Copyright (c) 2011-2021 Ample Lange, et al. (hereafter [fullname]). All rights reserved.
Developed by: ToaruOS (hereafter [project])
Permission is hereby granted, free of price, to any individual
acquiring a copy of this tool and associated documentation files
(the "Utility"), to tackle the Utility with out restriction,
in conjunction with with out limitation the rights to make advise of, copy, adjust, merge,
publish, distribute, sublicense, and/or promote copies of the Utility,
and to permit persons to whom the Utility is furnished to fetch so,
discipline to the next conditions:
Redistributions of source code must make a choice the above copyright gape,
this checklist of conditions and the next disclaimers.
Redistributions in binary make must reproduce the above copyright
gape, this checklist of conditions and the next disclaimers in the
documentation and/or diversified materials equipped with the distribution.
Neither the names of [fullname], [project] nor the names of its
contributors is at risk of be weak to endorse or promote products derived from
this Utility with out declare prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
THE SOFTWARE.
ToaruOS integrates ingredients one at a time licensed underneath the ISC License (apps/bim.c
and linked files):
Copyright (C) 2012-2021 Ample. Lange
Permission to make advise of, copy, adjust, and/or distribute this tool for any
unbiased with or with out price is hereby granted, equipped that the above
copyright gape and this permission gape appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Kuroko, ToaruOS’s bytecode-compiled interpreted language, is according to prior work by Robert Nystrom and is disbursed underneath the MIT License:
ToaruOS is constructed with GCC and its runtime serve library (libgcc
) is geared up on the CD as a dynamic shared object. This file carries a GPLv3 license with a linking exception, which you would possibly want to simply in finding right here alongside the requisite sources: https://github.com/toaruos/gcc/
Finally, ToaruOS involves the DejaVu family of TrueType fonts, license particulars for which is at risk of be realized right here: https://dejavu-fonts.github.io/License.html (embedded license text for fonts could simply also be viewed in the OS with the font-instrument
utility the advise of the -s
flag)
All diversified property, in conjunction with icons, wallpapers, mouse cursors, etc, are usual works by the ToaruOS crew and released underneath the same NCSA license because the relaxation of the OS. ToaruOS assemble property is at risk of be made available underneath alternative Ingenious Commons terms by inquire.
Changelog
about
: accumulate resize messagesahci
: extra sorting outahci
: wip modulereveal
: advise dprintf, no longer printf, when printing assertion messageata
: deal in pages, no longer sectorsata
: Raze no longer make instrument nodes for disks that reveal to be emptyata
: descend the disk scheduler job and lawful advise a factual sleepable mutexata
: Produce certain we lock spherical submitting ATAPI repeat so we’re woken up properlyata
: fix badly allocated prdtata
: fix inferior timeout on ATAPI initialization, fixes vbox seeing the CData
: establish disk earlier than checking its dimension…ata
: Original disk scheduler; much less dreadful but very sluggishata
: do away with partition info which belongs to dospart moduleata
: Rudimentary restoration of the legacy ATA driverata
: slap a warning on the halt of thatcontaminated
: Settle for QEMU IDE controller for ata driver autoloadcontaminated
: Add ‘visitor’ user without a groups, no longer in sudoerscontaminated
: add eradicated shell scripts from /bincontaminated
: Add /src/boot and /src/modulescontaminated
: Cleaned up quantity iconscontaminated
: Cleanup native’s rc filescontaminated
: define some byte narrate macroscontaminated
: Raze no longer live up for msk on bootcontaminated
: Produce certain we’re easy offering the unfounded libm.socontaminated
: Set up auto-dep.krk to /bin in favor to /usr/bincontaminated
: Land recent property for 2.0contaminated
: Load ATA drivers on vbox if IDE is detectedcontaminated
: Load iso9660 and add a desktop icon when mounting CD at bootcontaminated
: Load the piix4 remapper if we gape the ISA bridge; fixes OVFM underneath qemu with out -M q35contaminated
: make certain dir exists to create host Kurokocontaminated
: minor cleanup of /usr/piececontaminated
: Only present tutorial as soon as on first graphical login for ‘native’contaminated
: Put collectively for 2.0.0contaminated
: Print message when loading drivers on startupcontaminated
: Protect dilapidated qemu thing from startupcontaminated
: do away with unsupported startup scriptcontaminated
: Display some toasts on startup.contaminated
: A piece of much less ineffective encourage filescontaminated
: replace /etc/os-launchcontaminated
: replace kit repository on startupcontaminated
: Update README.mdcontaminated
: Wait a small earlier than beginning the wizardbim
: fix unintentional wraparound when scrolling to ‘-1’bim
: fix argument parsing derpbim
: File errors when opening filesbim
: sync with upstreambim
: sync with upstreambim
: syntax highlighter for /etc/distress filesbim
: Update gasoline highlighterbim
: upstream worm fixbim
: Exercise ansi theme on vga terminalbim
: version 3.0.0block-dev-stats
: Test instrument for ongoing ata rewriteboot
: Add 1280×800 as a most popular resolutionboot
: Add a shortcut to toggle video/text modeboot
: Add a scheme indicator when loadingboot
: add repeat line editorboot
: add menu timeoutboot
: adjust timeout a smallboot
: alternate encourage message when highlighting a toggleboot
: test for lengthy mode serve so we can bitch if any person runs the outrageous qemuboot
: Trim up editor redraw, shift-arrow input?boot
: Cleanup strings; scheme-test memory on startupboot
: Raze no longer clear traces earlier than printing on them when drawing bannersboot
: allow SMP by defaultboot
: allow vmware resize by default? it appears to be in findingboot
: Fall wait on to 24bpp modesboot
: first pass at cleanup, lawful make certain every thing has lead commentsboot
: fixup getting again from editor to menuboot
: generalize video mode decision to work on BIOSboot
: Jump wait on to staunch mode to load sectors?boot
: much less debug textboot
: Make certain menu displays if an unrecognized key’s pressedboot
: make this bootload v4.0?boot
: MBR / disk boot stubboot
: merge retooled EFI loaderboot
: extra editor key bindsboot
: Prettifyboot
: indicate 1GiB of RAMboot
: Earn better BIOS loader.boot
: make a choice final mode when toggle to text modeboot
: Rewrite READMEboot
: Rewrite the legacy BIOS loaderboot
: Make a choice present mode on video menu; esc to return with out alteringboot
: Position a kcmdline flag when debug is decided in menuboot
: Toughen AOUT_KLUDGE kernelsboot
: Exercise CD for QEMUboot
: VBE modesettingcreate
: Protect C++ serve, halt in conjunction with libstdcxx on the ramdiskcalculator
: Raze no longer let the window web too smallcalculator
: screwy, kuroko-backed calculatorcalculator
: place binpath so we can no longer lower than import ‘math’calculator
: straightforward text inputchown
: fixup semantics, serve names in repeatcoloration-picker
: Original widget democompositor
: Add a brand recent OVERLAY layer, namely for toastscompositor
: Add one more layer above overlays for menus in narrate that they present in front of toastscompositor
: Add I-beam cursor; common sense in terminal, file-browsercompositor
: Animate bottom and top windows customarily in the event that they’re no longer marked ALT_ANIMATIONcompositor
: Steer away from extra transformations.compositor
: steer clear of transformations if we’re lawful clearcompositor
: Cessation archaic windows that had been lost in the stackcompositor
: properly place subsequent targeted window when a window closescompositor
: don’t animate regular dropdown menuscompositor
: descend serve for replace rendererscompositor
: Produce higher turned around coordinate bounds to tackle rounding / truncation errorscompositor
: Fix up waft math ordering for better coordinate mapping outcomescompositor
: fixup tiling sizes for one pixel of overlap, no longer twocompositor
: Hack to serve 24bpp framebufferscompositor
: Oops, we weren’t reseting compositor clipscompositor
: realign pointing hand cursorcompositor
: refuse to initiate dragging when as we exclaim resizingcompositor
: Restructure ‘advertise‘ messages to supply window buffer, dimensioncompositor
: halt dragging windows on esccompositor
: serve positioning a window relative to 1 morecompositor
: Switch window screenshot keybind to Shift+PrtSc due to Gnome doesn’t want us to web Alt+PrtSc in emulatorscompositor
: take screenshots on print show veil keycompositor
: Unthread the render passcompositor
: Wait unless a flip match is received earlier than revealing windowscpuwidget
: Add to menu as ‘Map Video show’cpuwidget
: Cap graphs bettercpuwidget
: Complete revampcpuwidget
: CPU usage graphcpuwidget
: fix file descriptor leakcpuwidget
: Memoir cleanupcpuwidget
: Shoddily add interface names to network memoirdate
: trade default structuredbg
: add backtrace repeatdbg
: add ‘print’ repeatdbg
: make certain debugged job terminates on exitdbg
: present signal number if name is just not any longer availabledbg
: Strive and resolve out symbol names, library locationsdecorations
: are attempting to be a small smarter about drawing titlebar partsdecorations
: Exercise a single spritesheet for window bordersdhclient
: don’t segfault on RO filesystem making an are attempting to write resolv.confdhclient
: fallback to /var/resolv.conf if /etc is learn-easiestdhclient
: Skip things that wouldn’t like hardware addressesdhclient
: Strive about a instances…dhclient
: are attempting to configure all available interfacesdospart
: recover and convert to mount unbiasede1000
: add ref linke1000
: Raze no longer print that messagee1000
: Extra driver rewritese1000
: Extra transmit modifications…e1000
: Uncover SRPD irqs?e1000
: Protect debug procfs entry that became as soon as causing errorse1000
: do away with printe1000
: rewrite tx a smalle1000
: will like to doubtlessly serve the advise of no matter became as soon as in the card after resetes1371
: Audio driver for vmwareext2
: Add some essential mutexes spherical block and inode allocationext2
: Put lawful ownership of unique filesext2
: fix block crew calculation for inodesext2
: fixup increasing directoriesext2
: No cache for youext2
: Earn better (experimental) ext2 filesystem driverext2
: portray ROFSext2
: Strive and make this much less brokenfbterm
: Raze no longer personal show veil on startup, we don’t prepare memory caching for this wellfbterm
: Make certain we’re drawing with crawl, no longer widthfbterm
: Run log to middle, place bg to murkyfbterm
: Only allow scrolling by default on vga terminalfbterm
: Toughen 24bpp framebuffersfbterm
: VGA backend, allow scrolling by defaultweb
: Parse https and bail betterweb
: parse port relish we fetch in web-tlsweb
: print full time when carried out, in favor to 0.0 finalweb
: switch forced progress updates wait on offfile-browser
: add about a extra keyboard shortcutsfile-browser
: Add picker modefile-browser
: fetch fewer redundant redrawsfile-browser
: Raze no longer restart when wallpaper modificationsfile-browser
: fix interior radius of targeted text input boxfile-browser
: fix up scroll dimensions for desktop, though we undoubtedly fetch like to make that multi-columnfile-browser
: Icons, identification of PDFs, small launcher wrapperfile-browser
: small fixesfile-browser
: realign and blink the cursor in the input boxfile-browser
: Acknowledge extra file forms by extensionfile-browser
: Position the default gape mode to TILESfile-browser
: Display a distinct context menu when no files are chosenfile-browser
: stretch columns to suitfile-browser
: Exercise object icon for kernel modulesfont-preview
: If a font offers sample text, present it by defaultfont-preview
: Encompass font name in window titlefont-preview
: Override preview text with argv[2]font-preview
: instrument for viewing TrueType fontsfont-instrument
: Add method to extract all (understood) namesgithub
: checkout the factual commit of kurokogithub
: fix ramdisk course for create artifactsgithub
: Re-add launch managementgithub
: upload CD describe as create artifactglogin-provider
: cleanup, do away with animationglogin-provider
: Fixup animation to no longer smear on sluggish methodsglogin-provider
: fixup overflowing text packing containersglogin-provider
: the advise of outrageous fonts for metrics…graphics
: undoubtedly fix that off-by-one in draw_sprite_alphagraphics
: Add affine transformations for spritesgraphics
: better method to remodeled blittinggraphics
: const arguments for point/line calculationsgraphics
: make certain rounded rectangle rendering is bounded?graphics
: faster alpha utility…graphics
: fix alpha painting of spritesgraphics
: fixup aa line rasterizergraphics
: general improvementsgraphics
: improved bilinear interpolatorgraphics
: Match nearest-neighbor signature to bilinear for more straightforward swappinggraphics
: off-by-one on scanline width in draw_sprite_alphagraphics
: easiest load describe libraries as soon asgraphics
: instant-circuit out of bounds lookups in bilinear interpolatorgraphics
: some improvements to the sprite blittersgroups
: First pass at serve for supplementary crew listsgroups
: Preliminary serve for gids.gsudo
: Icon for panel, fixup overflowing password boxgunzip
: Hidden method to print progress experiences, for debugginghda
: stub moduleencourage-browser
: wants to be an inline labelencourage-browser
: viably present the AGPL text for the mupdf kithexify
: bail if fopen failedi965
: add a leading statement blocki965
: Raze no longer load if mode wasn’t already placei965
: modeset a thinkpadi965
: register namesi965
: Send mode trade signal?idt
: Track core interrupt registers due to arch_fatal() step by step occurs with inferior stack recordsdataimgviewer
: encompass filename in window titleimgviewer
: small improvementsinsmod
: Toughen passing arguments to modulesioctl
: inquire wants to be ‘unsigned lengthy’ipv4
: Raze no longer wait see you later for initial arp responseipv4
: are attempting to arp native stuff?irc
: switch to socketsirc
: This undoubtedly wants to make advise of rline, but no longer lower than don’t mess up lengthy input tracesirq
: Ticket isr_common as world so it presentations up in symbol deskiso9660
: recover, fixup driveriso9660
: are attempting to fetch some doable mount errorsjulia
: trade defaultsjulia
: totally retooled julia place explorerjulia
: fixupskbd
: Receive diversified scancode from PrtSc keykbd
: halt sending empty occasions to purchaserskernel
: Manufacture a lock spherical waitpid situation modificationskernel
: add ‘reveal()’kernel
: Add straightforward mutex with a wait queuekernel
: no longer lower than add fleshy lead comments to every thingkernel
: inferior ordering of checklist insert / wakeup triggered crasheskernel
: open work on re-adding module loadingkernel
: Better fault experienceskernel
: trade signatures for vfs interfaces to verify realitykernel
: horny up kernel/arch/x86_64/{cmos,pit}.ckernel
: cleanup kernel/arch/x86_64/idt.ckernel
: cleanup kernel/arch/x86_64/smp.ckernel
: cleanup kernel/arch/x86_64/user.ckernel
: cleanup kernel/generic.ckernel
: cleanup things offered in COWkernel
: conclude file descriptors >STDERR_FILENO on exec relish toaru32 didkernel
: exclude serial ports from pts numbering; open numbering at 1kernel
: Export sys_ functions in narrate that they appear in symbol deskkernel
: Fix gdt install clobbering symbol desk, or no matter else ends up after itkernel
: fix getpgid(pid != 0)kernel
: fix lacking lock for the duration of wakeup from signal shippingkernel
: Fixup inferior lock ordering in process_awaken_signalkernel
: fixup lock ordering spherical process_timeout_sleepkernel
: Elevated resolution CpuPermillekernel
: Implement general copy-on-write for fork()kernel
: Preliminary pass at recent debug printf interfacekernel
: Preliminary are attempting at accurate user buffer validationkernel
: make an are attempting to horny up processes in SMPkernel
: make_process_ready is at risk of be known as with sleep_lock already received?kernel
: extra vivid indolent monitoringkernel
: (wants review) let threads sleep on their like kids?kernel
: oopskernel
: opportunistically design stack housekernel
: Presumably fix sporadic lockup in compositor?kernel
: halt modules from being loaded just a few instanceskernel
: Print gs alongside diversified registers in frightkernel
: Print tracebacks for added deadly errorskernel
: Save codename string in quotes for stylistic causeskernel
: Unencumber SHM whereas we’re at it…kernel
: restore debug prints for a online page fault in the kernel, since SMP failures are uncommon nowkernel
: restore fprintf() for printing to vfs nodes (personality devices)kernel
: Could easy no longer like to make advise of non permanent buffer for fxsave/rstrkernel
: instances() can take NULLkernel
: discover indolent job usagekernel
: Track relative CPU usage over one-2d spanskernel
: Exercise native APIC timer for preemption on APs, no longer an IPIkernel
: Exercise ‘Misaka’ because the plan named offered by the kernelkernel
: advise that recent sleep_on_unlocking in ringbufferskmalloc
: Exercise existing assertion infrastructureksym
: open organizing kernel symbols for linkingkuroko
: add managed modules to filesystemkuroko
: bind text library in _yutani modulekuroko
: Bump for sendto() servekuroko
: extra upstream updateskuroko
: pull in version number replacekuroko
: Toughen keyword arguments to lambdaskuroko
: sync to fix string comparison atomizekuroko
: sync with upstreamkuroko
: sync with upstreamkuroko
: sync with upstreamkuroko
: sync with upstreamkuroko
: sync with upstreamkuroko
: Sync with upstreamkuroko
: replace repokuroko
: Upstream updateskuroko
: yet extra upstream updateskuroko: _yutani
: present shm font serveld.so
: Expose some inside of recordsdata to be utilized by debuggerld.so
: Link for 4K pagesld.so
: Position values in dynamic symbol tables when linkingld.so
: Cease leaking low heap to init functionsld.so
: Exercise a worthy higher hash dimension and cc1 hundreds lots fasterlfbvideo
: Raze no longer design EGA/VGA text mode differ as WC as apparently things don’t relish thatlfbvideo
: Produce certain we design ample room for mammoth preset video modeslfbvideo
: Fallback to port-IO driver if MMIO is just not any longer availablelfbvideo
: Withhold resolution place by loader if none specified by argslfbvideo
: recalculate vmware memory dimension on present tradelfbvideo
: place some extra bits on bochslfbvideo
: Exercise MMIO interface to configure qemu/bochs; vbox is easy port i/olibc
: __assert_func will like to exitlibc
: cleanup, some lacking thingslibc
: Fix inferior common sense when looking out out for IP tacklelibc
: fix fseek behavior with packed with life learn?libc
: Implement an accurate quicksort for qsort…libc
: Extra inferior (and a couple simply) math functionslibc
: easiest elide fractional parts in g/G, no longer f/Flibc
: rand() must always not ever return detrimental valueslibc
: serve ip addresses in gethostbynamelibc
: that xor-swap is silly and doubtlessly also slowerlibc
: Update wcwidth with most unique recordsdatalibm
: Add lacking M_, INFINITY, NAN constantslibm
: Add two lacking functionslibm
: Hyperolibc trig functionslibm
: must put into effect sqrt() or it will loop in gcclib
: replace doctorslocaltime
: rudimentary, wrong serve for timezone offsetslogin-loop
: Linefeed earlier than distress textlogin-loop
: Exercise a straightforward, ‘unique’ /etc/distresslogin
: Return 2 when ‘disconnect’ is geared up as a usernamelogin
: Toughen /etc/distress thru login-looplspci
: Add extra instrument descriptions from my ThinkPadlspci
: add qemu’s e1000e modelmake
: Add a take a look at instrument/scriptmake
: bail if make fails?make
: Trim extra stuffmake
: Default SMP=4 for qemu targets due to why no longermake
: Default to 2 SMP cores so we’re consistently sorting out with SMP enabledmake
: detect extra contaminated/ modificationsmake
: Produce certain we’re constructing /usr/bin so we can put auto-dep.krk in itmake
: Give write access to docker container’s bin dirmake
: Run SMP alternate choices to ‘make shell’make
: Substitute replace-extents.py with a Kuroko samemake
: Strip final kernel describemake
: ‘take a look at’ target will like to advise q35 planmake
: /usr/lib/ libs (from gcc) will like to approach from TOOLCHAINmake
: Why are we making an are attempting to echo PATH right here?markup
: fix inferior mallocmarkup
: Preliminary work on recent marked up text rendering librarymenu
: Add look after speech-bubble-vogue menus relish Gnome hasmenu
: Better tail alignment for bubble windowsmenu
: Disallow dragging/resizing of menu windowsmenu
: flip after transferringmenu
: put into effect menu_free_entrymenu
: The truth is, critically don’t present menus earlier than transferring themmenu
: Rudimentary checkbox menu entriesmenu
: house out menu bars nicermeta
: Add .mailmapmeta
: Add extra screenshotsmeta
: A present on licensesmeta
: Cleanup Makefile, add some commentsmeta
: Cleanup, rewrite parts of the READMEmeta
: Picture filesystem constructing in READMEmeta
: Fix typo in READMEmeta
: Fresh batch of screenshotsmeta
: I undoubtedly assign no longer like to make a choice out doing this. Please halt stealing my free code.meta
: purge most cases of vim hintsmeta
: Some README updatesmeta
: Cease commended recursive git checkout, because it pulls in gcc/binutilsmeta
: Update the overall heading comments in apps/meta
: Update leading comments in modules/meta
: Update README, recent screenshotmeta
: Update launch notes templatemeta
: We must always not like to link -lgcc in the kernelmisaka
: final merge prepmisaka
: initial mergemisc
: cleanupmmu
: The truth is learn multiboot mmap recordsdatammu
: be disturbing about ensuring we’re no longer leaking pages?mmu
: Be extra clear about what’s happening when we speed out of RAMmmu
: Fixup mapping for physical memory tackle >4GiBmmu
: Reserve about a extra initial PTs so we can serve 64GiB of memorymmu
: Strive and fabricate undoubtedly inferior TLB shootdowns?modules
: cleanup header commentsmodules
: checklist modules in /proc/modulesmodules
: Reimplement loadable kernel modulesmodules
: discover loaded sizes so we can free modules laterextra
: add straightforward pager utilityextra
: add house bindingmsk: accumulate https
: remotesmsk
: horny up after ourselvesmsk
: Fixup native manifest file resolutionmsk
: Fixup serve for just a few remotes, add about a alternate choicesmsk
: deal with failures in ‘web’ when retrieving applicationsmsk
: serve the advise of an intermediary file for gunzip as or no longer it is easy technique faster than the pipemsk
: Switch wait on to the advise of tar/gunzip with pipesmsk
: Switch kit source to CDNmsk
: Exercise 192.168.11.for native repo because it bails faster in vmwaremultiboot
: Accurately pass bits-per-pixel from framebuffer recordsdatafetch
: undoubtedly are attempting to resolve out jog scheme hardware addressesfetch
: add arp?fetch
: add configure addressesfetch
: add lacking declarationfetch
: add netmask, peep extra stuff from DHCPfetch
: Add stats countersfetch
: one more batch of rewritesfetch
: arp fixupsfetch
: cleanupfetch
: full most of a TCP stream?fetch
: disable debug prints for the duration of TCP connectionfetch
: don’t reproduction struct structure in e1000 instrument objectfetch
: don’t dynamically allocate hashmaps and lists?fetch
: don’t explode with out a networkfetch
: e1000 receive fixes?fetch
: fix inferior copy in ICMP ECHOfetch
: fixups for dhclient, just a few nicsfetch
: hacked up udp stuff, dns resolverfetch
: hack up some fin packetsfetch
: Type out indicatorsfetch
: initialize e1000e better?fetch
: initialize that checklist earlierfetch
: initial loopback interface servefetch
: initial raw socket implementationfetch
: Per chance allow udp binds?fetch
: extra cleanupfetch
: extra interface propertiesfetch
: extra tcp; timeout nameserver lookupsfetch
: net_udp_send() will like to return dimension of recordsdata despatchedfetch
: ongoing network workfetch
: Oops, we broke UDP sendsfetch
: pack that?fetch
: answer to pings?fetch
: return eof when socket is closed and no recordsdata is availablefetch
: seize random sequence number to openfetch
: silence extra debug messagesfetch
: silence the network stack unless MISAKA_DEBUG_NET is outlinedfetch: tcp
: general syn/ack receipt?fetch
: are attempting to undoubtedly discover received packet sizes…fetch
: are attempting to web the kit supervisor workingnetty
: Fixup the reverse shell host for socket connectionsnetty
: swiftly hack to make advise of threads so pasting doesn’t deadlockfetch
: variedfetch
: varied improvements to easy dreadful network stackfetch
: we undoubtedly want some factual blocking off queue primitivesfetch
: wip stuff for socketsnproc
: Expose processor rely and advise it to take dangle of between yielding and non-yielding inch lockskit-supervisor
: apply same optimization as file-browserkit-supervisor
: Scuttle up a thread to speed ‘msk’kit-supervisor
: replace ‘about‘ textpanel
: Add icon, replace much less step by steppanel
: Add notifications when a network connects/disconnectspanel
: adjust dimension of ‘Purposes’, clockpanel
: constantly seize middle alignment for popupspanel
: And pork up the popup whereas we’re at itpanel
: And make extra room for lengthy month namespanel
: Discover smarter alignment to popup menuspanel
: cleanup and fix present of window objectspanel
: cleanup widgets, segment 1panel
: Raze no longer atomize when alt-tab window is open and the final tabable window closespanel
: Raze no longer present loopback in network scheme widgetpanel
: Dynamically dimension the date widgetpanel
: experiments with a brand recent assemblepanel
: First pass at modularizationpanel
: fixup window title present in alt-tab switcherpanel
: pork up assemble of calendar popuppanel
: Enhancements to the window switcherpanel
: Withhold ticking the clock when receiving diversified occasionspanel
: Shrimp improvements to weather widgetpanel
: Original quantity slider menu widgetpanel
: redo structure when panel resizespanel
: re-allow weather widgetpanel
: Restore Alt-F1 and Alt-F3 key bindspanel
: Display icon of present window at fleshy opacitypanel
: present logout dialog in a thread (non permanent)panel
: walk the panel up faster on ctrl-f11panel
: are attempting some smarter popup placementpanel
: Exercise fleshy month name in date widgetpanel
: Visible modifications to sliderpci
: deal with setups with out a bunch bridge?pci
: Implement PIIX4 PIRQ remappingpcspkr
: recover modulepex
: The truth is are attempting to conclude server endpointspex
: Cleanup pipes?pex
: don’t go away invalid connections with the server learn/write strategies?pex
: don’t shove packets onto the pipes, shove packet pointers so we can learn them atomicallypex
: perhaps lastly fix thispiix4
: journey to module, easiest load in virtualboxping
: fancier sub-ms printing (I contemplate %Ng is supposed to fetch this, but mine is at risk of be broken?)ping
: Withhold pinging, present summary on ^Cping
: shoddy implementationpipe
: Embiggen pipe bufferspipe
: Produce pipes extra divulge with ring buffer usageplasma
: fix what I contemplate is undoubtedly a math worm in plasmapolygons
: cleanuppolygons
: rasterizer demojob
: okay don’t designate stack protectors nx…job
: Position up stack protectors for kernel stacksjob
: (temp) steer clear of releasing processes that are easy a persons finaljob
: are attempting to fix up some locks, as soon as moreprocfs
: cleanup /proc/indolent structureprocfs
: swiftly-and-soiled /proc/kallsyms, lacking modulesps2hid
: Fixup initialization sequence; unbreaks scrollwheel in vboxps2hid
: quit on PS/2 if making an are attempting to empty input buffer doesn’t work after 1024 triesps
: Encompass thread CPU usage in mother or father when no longer queried with -Tptrace
: Allow separate tracing of indicators and syscallsptrace
: steer clear of suggesting job terminated when continuing from ptrace_signalptrace
: Receive indicators, open work on debuggerptrace
: Expose non-mother or father tracer when tracee exitsptrace
: POKEDATA, permission fixes for PEEKDATAptrace
: PTRACE_SINGLESTEPptrace
: serve tracing from non-mother or father jobptrace
: Update scheme earlier than surroundings suspended flagreadelf
: Fix lacking -d optionreadelf
: fix typo in usagereadelf
: GNU-vogue alternate choicesreadelf
: Display dynamic symbol tablesreadelf
: typoreadme
: Fix docker repeatreadme
: Extra updates.readme
: replacereadme
: Update readmereadme
: Update READMEreadme
: Update references to EFI loaderreadme
: updatesreadme
: updatesreadme
: replace screenshotringbuffer
: don’t advise heap allocator if buffer dimension is one online pagerline
: Add a brand recent r-searchrline
: highlight ‘abs’ as a builtin in kuroko replrline
: halt highlighting numbers in the midst of wordsserial
: wants to be owned by ‘dialout’ crewsh
: Point out ‘ifconfig’ slightly than ‘ip’/’ipconfig’sh
: semaphore pipe write helps with an odd flee situationsh
: advise return code from final job in pipeline, and live up for every person properlysmp
: ACPI checksups are extra of an providesmp
: add a procfs entry to gape what diversified cores are up tosmp
: allow repeat line override for where to scan for RSDPsmp
: Co-opt Multiboot’s config_table member to sneak ACPI tables to kernelsmp
: fetch no longer are attempting to ship IPIs when now we like one core and no lapicsmp
: Raze no longer lawful deadly() if there is too many cores; initialize up to 32smp
: fix wakeups doing inferior EOI writesmp
: Power userspace preemption on diversified cores.smp
: Memory invalidation fixessocket
: Purge rx queue when socket closes?splash-log
: Cleanup, disable log if ‘debug’ is just not any longer specified, unless we take too lengthysplash-log
: deal with present mode tradesplash-log
: Withhold main messages on show veilsplash-log, migrate
: Cleanupsplash-log
: reset present on resolution tradesplash-log
: restore vga text outputsplash-log
: Withhold final message to print it if we switch out of tranquil modestartup
: are attempting to dhcp on bootstat
: fix dimension definitionsstat
: Print a extra coreutils-y outputstrace
: fix-up inferior signal name deskstrace
: initial -e trace=… servestrace
: Preliminary serve for a ptrace() mechanism, strace instrumentstrace
: extra syscall groupings from the staunch stracestrace
: serve extra syscalls, output values, errnostrace
: serve -o optionsync
: Toughen argumentsync
: non permanent thing for sorting out; no longer a factual syncsyscall
: PTR_VALIDATE explicitly does no longer test null…sysfunc
: undoubtedly bother validating some valuessysinfo
: OS name from /etc/os-launch $PRETTY_NAMEsysinfo
: Strive and be a small smarter about printing logosysinfo
: Update, add CPU, re-add Fonttarfs
: throw EROFS on assembletcp
: fixup connect retrytcp
: Fixup socket receive bufferstcp
: deal with connection refusedtcp
: Day out connection after 3 makes an are attempting, decrease time between resendsterminal
: Add some functionality to the -g flagterminal
: bind Ctrl Shift +, Ctrl -, Ctrl 0 to change scalingterminal
: defer updates; no longer entirely asynchronousterminal
: fix inferior bounds in mouse space testterminal
: fix text width for DejaVu Sans Monoterminal
: fixup scroll be troubled rectsterminal
: Implement some swiftly and soiled font fallback serveterminal
: Birth with out animation when operating fullscreenterminal
: make scrollback extra efficient?terminal
: Minor improvements to text decisionterminal
: rewrite redraw common sense to be extra bufferedterminal
: source repo for bitmap font moved, replace statementterminal
: serve ^[[3J to clear scrollbackterminal
: varied cleanupsterminal-vga
: Backport decision improvements from graphical terminalterminal-vga
: Fixup better left cell acting chosenterminal-vga
: recover vga text mode operationterminal-vga
: Rewrite present caching so or no longer it is undoubtedly snappily, and bufferedtake a look at
: install xhci moduletake a look at
: extra detailed logging for USB so we can take a look at xhcitake a look at-sigsegv
: Add a deeper segfault to take a look at debugging libstext
: Add some macros so we can extra with out problems swap out the bitmap fonttext
: allocate subsamples according to glyph boundstext
: carry wait on shm-saved fonts equipped by compositortext
: Expose technique for brute-pressure course stroketext
: fix clipped factual-hand-aspect of some glyphstext
: fix overly trusting bounds calculationtext
: deal with off-curve open pointtext
: Introduce recent TrueType implementationtext
: offset horizontal scanlines a small to no longer bleed bottoms of glyphs into subsequent pixeltext
: on 2d thought, cache the tips no longer the font object, so every tt_font_from_shm is a distinct reftext
: purge the SDF renderer, RIPtext
: learn fonts with instant glyf desk offsetstext
: learn unitsPerEm from font, advise for tt_set_sizetext
: do away with sdf kerning configtext
: Substitute bitmap font with a baked version of Deja Vu Sans Mono, mostly for metrics causestext
: shadowed text, port file-browsertext
: Will have to love been doing two box blurs this total timetext
: scheme fix for clipped text shadowstext
: serve extra flexible sizing in pt, pxtext
: serve form 4 cmaps, dilapidated Microsoft fontstext
: Switch several apps/libs to recent text librarytext
: varied rewritesinstances
: rudimentary serve for job instancestime
: Strive and resolve out some vivid timezone names from the TZ offset, and web that from ip-apitmpfs
: finer-grained locks, advise world mmu mappingtmpfs
: Produce full block allocations available thru a procfs entrytoastd
: Alter spacing, are attempting to vertically middle texttoastd
: Attain things up, I guess.toastd
: initial prototypetoast
: Quick Kuroko toast shoppertop
: Allow sorting by repeat linetop
: cap CPU%/CPUA at 100top
: code cleanuptop
: Differentiate general memory from memory weak for tmpfstop
: Raze no longer cap at 100, but fetch structure >=100 in some other casetop
: fixup memory leakstop
: job show screentop
: Track just a few slices of usage, present averagescontact
: don’t segfault when unable to the contactcontact
: don’t segfault when unable to the contacttutorial
: Add a online page about the reside CDtutorial
: Alter spacings, fix centeringtutorial
: do away with regards to dilapidated irc networktutorial
: width/height wants to be minus decorationsudp
: add bind() and recv() take a look at instrumentutil
: Add working bochsrcutil
: Run ISO, FAT stuff to a libraryutil
: Resolve bootstrapping distress thru bruteforcevbox
: Minor cleanup, don’t job occasions we did not web an IRQ forvfs
: Allow ‘filesystems’ that are partition mappers to no longer return a nodevfs
: copied nodes will like to web their like refcountsvfs
: ramdisk dimension wants to be updated on the usual nodevmware
: detect