osblog
linux

osblog | linux | |
---|---|---|
3 | 97 | |
517 | 45 | |
- | - | |
0.0 | 0.0 | |
over 2 years ago | over 1 year ago | |
Rust | C | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
osblog
-
My RISC-V OSDev journey, so far
How to automate building and running the project using make; in particular, leveraging variables in the Makefile to elegantly apply the same command line options for compiling each file in the codebase - because trust me, you'll need a ton of command-line options ;-) For this, I based my initial Makefile on that found in the source code for "The Adventures of OS", e.g. this
-
Getting started with OSDev on RISC-V
I would like to thank the authors of RISC-V from scratch and The Adventures of OS for their high-quality articles that go into great detail on how RISC-V works. Without their well-written articles, I wouldn't have known how to get started with kernel development on RISC-V. My initial project setup - the minimal C runtime crt0.s in assembly and the linker script riscv64-virt.lds - is based on the former, while my UART driver code is adapted from the latter and I intend to closely follow the latter going forward.
-
RV32I Stack and stack pointer in hardware implementation
Here's an example of an interrupt routine (m_trap_vector): https://github.com/sgmarz/osblog/blob/master/risc_v/src/asm/trap.S
linux
-
If Linux is so great why isn't everyone using it?
Linux is a family of free and open source operating systems based on the Linux kernel.
-
I Solve Problems (talk at EuroBSDCon 2024)
You mean apart from 6.6 being the current latest longterm kernel?
https://kernel.org/
-
What Is PID 0?
I don't like that, it's not good practice.
One should give links to original sources, i.e. https://kernel.org as far as Linux is concerned.
Even if git guarantees that the content is the same (if someone bothers to verify that the SHA-1 is the same and we exclude the possibility of a SHA-1 collision in git, which is yet to be demonstrated).
kernel.org existed before github.
-
Thinking about building a operating system
- Modern Operating Systems, 5th Edition by Andrew Tanenbaum (of MINIX fame) and Herbert Bos (https://www.pearson.com/en-us/subject-catalog/p/modern-opera...) is the latest edition of a solid graduate-level textbook on operating system concepts.
It may also be beneficial studying the source code of existing operating systems. I recommend starting with smaller, simpler systems, such as MINIX and xv6 (https://github.com/mit-pdos/xv6-public), before moving on to larger, more complex systems such as the Linux kernel (https://kernel.org/) and its userland (e.g., GNU utilities, systemd, etc.).
Another cool thing is to study the designs of non-Unix operating systems, such as the classic Mac OS, VMS, IBM OS/400, Plan 9 (yes, this is "more Unix than Unix" in many ways, but it's quite a departure from Unix) and its successor Inferno, and Symbolics Genera. Bonus points for reading academic papers on OS concepts such as exokernels.
Good luck! It's a long but very interesting journey!
-
problem with connman
Those other flashy distros like mint and ubuntus are designed with rich people with very fresh machines in mind, they don't care if you have an AMDx4 or core2duo or even 32bit older machine. Even Mint and ubuntu people will tell you, if you have an old machine with little ram, use antiX. It still works very well with machines not even released yet, buy one in May 2024 and I "guaranty you" antiX will run fine. That's because kernels, even 6.1 have code for machines not yet released in the market, this is where manufacturers of new hardware send their prototypes to be tested, to kernel.org Some are even industrial machines we will never see in the market.
-
Is there a way to naively replicate a VarHandle.getOpque with fences?
The memory_order_relaxed explanation on the kernel.org documentation heavily implies (never explicitly) that the direct memory load is implicit in the barrier(so by preventing it's reordering we are also forcing a LOAD from main), and that THIS specific barrier (relaxed) is what we NEED for these type of scenarios, so I am not entirely sure if a loadLoadFence() would prevent the hoisting... maybe it will prevent the reordering but not the hoisting/caching... in which case we would still have a visibility issue.
-
Have some confusion around the Ubuntu Kernel
Are all versions of the kernel from kernel.org called mainline kernels or only 6.6-rc4 as shown in the picture?
- Devuan アップグレード: 4 から 5 Daedalus へ
-
Devuan Upgrade: 4 to 5 Daedalus
Devuan is a fork of Debian GNU+Linux without systemd.
- Flutter 3 on Devuan 4: 始め方
What are some alternatives?
riscv-elf-psabi-doc - A RISC-V ELF psABI Document
PVEDiscordDark - A Discord-like dark theme for the Proxmox Web UI.
avr-device - Register access crate for AVR microcontrollers
android-sdk-sources-for-api-level-1 - This is only a backup for Android SDK Sources for API Level 1 [Android 1.0].
riscv-from-scratch - The code for the RISC-V from scratch blog post series.
linux - Arch Linux kernel sources, with patches
riscv - Container image for RISC-V
proxmox-stuff - This is a collection of stuff that I wrote for Proxmox.
marvelos - Marvelous RISC-V Operating System, by donaldsebleung
systemd - systemd upstream
awesome-riscv - 😎 A curated list of awesome RISC-V implementations
git-remote-aws - encrypted git hosting should be easy
