Let's make an operating system from scratch. Completely from scratch, kernel and all...

Let's make an operating system from scratch. Completely from scratch, kernel and all. We are smart (some of us at least) and we know how to program (some of us at least), why not?

Attached: g-os.jpg (300x300, 50K)

Other urls found in this thread:

wiki.osdev.org/Main_Page
support.amd.com/TechDocs/24592.pdf
github.com/tmathmeyer/sos
twitter.com/NSFWRedditVideo

Ok, I'll start

#include

This shitpost is legitimately progress.
T h a n k y o u .

>can't finish a browser
>maybe we can make an os
I guess I'll make the logo.

Thank you. Let's not fuck up and quit, we'll make a thread every day if we get this going. It's about damn time we make our own OS.

In-fact, gimme your Discord.

>It's about damn time we make our own OS.
CloverOS
Also 99% of Jow Forums users can't even fizzbuzz. Don't bother.

It's 2018 we should write it in JavaScript , not C like a 30 year old boomer.
#include
(for some reason Jow Forums gives error when posting JavaScript code)

>linux
NOT OURS.

#include

this project is gonna bomb harder than Aubergine :^)

The fuck is Aubergine.

preinstalled with bubble witch saga

>he doesnt know
',:^ j

YES.

>autism figth over use C,rust,C++,Lisp,Haskell,Go,some new language or Oberon,Ada.

>all of those
>not using Joy
fucking retard

#error "no"

it's going to be C
all Jow Forums projects are in fucking C

>>>>>>>>>>>>>C

what is this, the fourth or fifth time this shit has happened on this board, in the past few years? these reruns are getting fucking boring

>hurr durr what language to use for OS
C and ASM are the lingua franca of OS development.
Read this if any anons are interested
wiki.osdev.org/Main_Page

Terry is /ourguy/ so its already done.

if this project goes anywhere, you'll see

How's Grand Theft Gentoo coming along?

Attached: 1448152497284.jpg (2048x1536, 656K)

linux is a kernel

the only people on this board smart enough to be able to make one are also smart enough to know that doing so would be a monumental waste of time

Alright. Tell us OP, microkernel, exokernel, monolithic kernel, nanokernel, modular kernel?
Will it be a monotasking system or a multitasking system? What family of processors will it target? What filesystem?

install gentoo

fuck that, only newbs use proprietary hardware. i wrote my own OS, LarpOS on a commodore 64, programmed up CAD software, then designed my own processor and PCBs, got them fab'd in china, then i wrote my own VHDL in my editor LNV (LNV's not Vim) for my own video card i also designed in CAD, then i ported my OS to run in my LNAIP (LNU's not an AMD or Intel PROCESSOR) architecture.

but then i installed KDE plasma on it

FUCK YOU ASSHOLES, DIY

I did.
org 7C00h
jmp short Start
Msg: db "OP is faggot, that can't stop sucking dicks"
EndMsg:
Start: mov bx, 000Fh
mov cx, 1
xor dx, dx
mov ds, dx
cld
Print: mov si, Msg
Char: mov ah, 2
int 10h
lodsb
mov ah, 9
int 10h
inc dl
cmp dl, 80
jne Skip
xor dl, dl
inc dh
cmp dh, 25
jne Skip
xor dh, dh

Skip: cmp si, EndMsg
jne Char
jmp Print
times 0200h - 2 - ($ - $$) db 0

dw 0AA55h

lrn 2 comma

YEAH, IT'S NOT OUR FUCKING KERNEL.

Dunno, NASM compiled it successfully last time

I was talking about your grammar
Msg: db "OP is faggot, that can't stop sucking dicks" should read Msg: db "OP is faggot that can't stop sucking dicks"

How about we make a compiler that successfully compiles multiple languages into working executable machine code. Then we can build an OS using that.

i'll make the logo

A. Oh... Sorry, I'm ESL.

Rule 1 for commas: if you're not sure if a comma belongs, leave it out.

Has the logo been taken yet?

>We are smart (some of us at least) and we know how to program (some of us at least)

but lazy as hell. just let someone else do it then pirate it.

Attached: 1515389448983.jpg (200x229, 65K)

typedef op faggot;

we need a disc server. I'll make one but post your discord first.

org 7C00h
jmp short Start
Msg: db "OP is faggot that can't stop sucking dicks"
EndMsg:
Start: mov bx, 000Fh
mov cx, 1
xor dx, dx
mov ds, dx
cld
Print: mov si, Msg
Char: mov ah, 2
int 10h
lodsb
mov ah, 9
int 10h
inc dl
cmp dl, 80
jne Skip
xor dl, dl
inc dh
cmp dh, 25
jne Skip
xor dh, dh

Skip: cmp si, EndMsg
jne Char
;jmp Print
nop
times 0200h - 2 - ($ - $$) db 0

dw 0AA55h

v.0.0.1 changelog
- fixed grammar
- fixed looping text

Attached: Screenshot_20180718_230832.png (729x482, 19K)

>a monumental waste of time
Just like browsing Jow Forums.

>legacy BIOS MBR
Kys

I'll add EFI version later.

NIGGER

I'm doing this right now with Asgard OS. I post about it occasionally here but haven't released source or install media. I plan on putting out a pre-alpha image in a month or two on my ftp server for Jow Forums if you guys promise not to rape it. Not sure about source code or model yet.

Basically it's a Unix-like microkernel OS. Uses a few BSD and GNU components, most notably nano as a text editor and mksh as my main shell and an experimental kernel space server that's a stripped down Linux kernel to run Linux binaries. I just got USB support and the display server and window manager done. Application scheduler needs a partial rewrite so it isn't as sluggish on boot. The desktop shell is looking good. Spent some time in GIMP making icons and adding color to the window controls. I've changed the console colors from black on white to yellow on black because it's what I prefer (can still be changed back with config file). Bash doesn't work right, don't know why. Notepad app is in the works, but Nano is still the default for now. The OS uses a fair amount of Intel flat assembler for the low level upstart. I plan on replacing this with C code or with another more robust loader like GRUB2 to make this OS portable to ARM and POWER and PPC and stuff. The rest of the kernel has working 32 and 64 bit builds that compile and run. All compiling is done on my Debian server remotely with GCC.

Going outside for a smoke but I'll have my phone on me. Feel free to ask me shit. I also unironically need someone to make the logo. I'd also take new name suggestions. Naming it after Norse pagan myths is sort of an internal thing for now.

Micgrogernel :DDDDD

Discord is garbage. Stop shilling it.

Attached: 20180718_230822-1.jpg (2415x2070, 2.21M)

Bump

Bumperino

>Unix-like
Into the trash it goes.
>microkernel
@set trashcan=alight

What are your biggest priorities right now for this project?

Exokernels are criminally underrated.

No, Richard.

fuck yeah man. any advice for someone curious about pursuing a similar project?

Fuck yourself.

I don't really know. I just add new pieces as I go and work on stuff that I know needs a lot of work. My end goal is a nice stable and secure system that can be used for small servers and mainly for desktop computing. That means a full graphical installer application, graphical desktop and user applications.

I've already reused enough code scraps and programs from other open source projects that I feel like I'm getting lazy and tired of reinventing the wheel. I'm very tempted to just graft my display server, window manager, and apps onto MINIX/NetBSD. It wouldn't be too difficult since my current code base is mostly POSIX compliant and can utilize some existing parts of MINIX. NetBSD userland porting would be fairly straightforward.

Start with a bootloader. Make a single program that can be booted by your computer. Get a good Intel assembly guide to do this, and read freeloader documentation. Then you can begin work on your kernel. Get it to a point where your kernel can launch a hello world program and display that output. Then you do memory, scheduling, drivers, file systems, etc. A monolithic design puts it all into one binary program. Microkernels are the lazy man's kernel because you do it one piece at a time and you don't have to wait for everything to recompile, only that program you cahanged. It's all downhill from there until you've got a big hairball of glorious spaghetti with an MS Paint tier GUI running on a display server that barely works.

Welcome to OS dev. You've got to be a special sort of autistic masochist to enjoy it.

Attached: 20180718_233823-1.jpg (1909x2054, 1.84M)

Man, how too boot beyond first 512 bytes?

L O G O
O
G
O

A blind alley fuckup you've sank a lot of time and effort into is still a blind alley fuckup, user.

if we're going to recreate llvm, how about we write it in rust?

Read freeloader docs m9. I haven't touched the boot loader in months. But basically you need to have your binary in the root if the main partition. The name can't change, you then point the MBR loader to this file.

Not like masturbation and video games would've been any better use of my free time

Why not to make it compatible with Linux (and GNU as result)?

Good luck with it user. If I knew more about OS development I'd gladly help if you're willing to let others help you. Godspeed, user.

Frankly, yes, it would have been. At no point have you asked me how I know sinking over two years into a homebrew OS project can easily become a total waste of your life. Maybe you should.

Is it not? POSIX compliant software should compile and run for t he most part. I'm already using GCC. I'm trying to run Linux as a server as well.

Thanks m8.

Where's your hospice nurse? Go back to wood working or painting bird houses or knitting or whatever the fuck dumb boomers are into these days.

>Get a good Intel assembly guide to do this
don't listen to Chaim here support.amd.com/TechDocs/24592.pdf

>Is it not? POSIX compliant software should compile and run for t he most part. I'm already using GCC. I'm trying to run Linux as a server as well.
Not bad, I to admit.
But what about hardware? Can we somehow make use of Linux blobs and shit to run toasters and other broadcom proprietary cards?

looks good user, I’m too dumb to code but nice to see such a project on Jow Forums

Some have to learn the hard way. Honestly, good luck.

I'd rather kill myself!

Do you plan on implementing package managing? How'd we handle repositories if so?

>he thinks it isn't
This is exactly why this project won't take off.

>operating system from scratch
Call it GNU/operating system from scratch, please.

Does AMD hardware not run x86 assembly? It thought they used Intel's 32-bit set with their own instructions tacked on. I also thought they shared instructions between each company like amd64.

That's what the Linux as a kernel server is supposed to be for. But that being said this wouldn't offer any extra security since it's still in kernel space and bad drivers would have the same access to critical stuff essentially. One benefit of a microkernel architecture is having isolation of drivers.

Learn C. Go write a hello world program right now. 3 and a half years ago I couldn't do anything better than HTML/CSS. C is not difficult to learn if you actually try.

(You)
Do elaborate, cunt.

I don't even have networking. Haven't even though about package management to be honest. I just toss binaries in /bin (system binaries) or /usr/bin (user installed) and add them to the path. I can also make desktop shortcuts using a script to execute these files.

These are just more reasons to rebase on MINIX/NetBSD or just make a NetBSD fork. I'd have that sweet sweet pkgsrc and all that software.

I make the logo.

learn with me github.com/tmathmeyer/sos

then kys faggot

Do a flip.

Attached: 1531491794030.png (651x789, 810K)

On Jow Forums, everything that helps the user do anything with more ease is considered 'bloat'.

there's no difference between programming for either brands cpu's, it's just that AMD has higher quality literature. check out the other volumes too there's a few bits you'll need regarding programming for operating systems.
I have to admit though, I think linux is pretty great and i can't see the value in what you're doing especially if it's (I assume) elf compatible anyway, and using gcc anyway. I think spending your time learning everything you can about linux (if you're really interested in operating systems) is a better use of time than replacing parts of it and gimping it along the way.

Attached: 1510778283442s.jpg (125x83, 2K)

Alright, fair enough on the AMD docs. But with the OS thing, I sort of see your point. My issue with Linux stems from bloat. I want an extremely minimal system that isn't some Arch or Gentoo garbage. I also want all of my own programs tailored to my specific needs. So honestly, what's your suggestion going forward? I want to fork NetBSD and slap my own GUI and utils on it. Why should I bother with Linux? Aside from driver support. Are you suggesting I port all my GUI/utils to Linux instead of BSD? Because I like BSD a lot more for many reasons, and I don't want to just make another Linux distro.

And I'll probably get shit for this, but using BSD cuck code would allow me to close the source and sell it and stuff. I probably wouldn't go from open to closed source but I like options.

you can build your own minimal kernel from the linux source. I believe you can make it way smaller than kconfig will 'let' you, you just have to do it all yourself.
I think you should learn opengl and (less importantly) openglES. This will let you program a whole DE in opengl, from a context yielded by egl. you should also look at libgpm for the input. This is all without X11 or anything that goes on top of it. So your stack would be just linux, glibc, and gcc more or less.

Any reason why I shouldn't shelf my own display server and use X11? I'm not rewriting that shit.

Already exists

Attached: logo-new.png (272x191, 28K)

you don't need a display server whatsoever. It actually has negative performance implications and will get in your way.

>you don't need a display server whatsoever
You fucking what? I don't believe you. What else does the window manager plug into? Are you suggesting I make a non-modular window management system that's an all-in-one ball of shit that's hard to modify? Because that sounds aful. I don't want an app that does that thing. Please elaborate on this, because what I think you're suggesting tastes like lemons.

Attached: F250196D128146CBBA4BD2E8373609E8.png (789x750, 18K)

org 7C00h
byte niggers 0 ;cant allow any chocolate humans near our new OS!
jmp short Start
Msg: db "OP is faggot that can't stop sucking dicks"
EndMsg:
Start: mov bx, 000Fh
mov cx, 1
xor dx, dx
mov ds, dx
cld
Print: mov si, Msg
Char: mov ah, 2
int 10h
lodsb
mov ah, 9
int 10h
inc dl
cmp dl, 80
jne Skip
xor dl, dl
inc dh
cmp dh, 25
jne Skip
xor dh, dh

Skip: cmp si, EndMsg
jne Char
;jmp Print
nop
times 0200h - 2 - ($ - $$) db 0

dw 0AA55h

Also, wasn't that exactly what like MacOS 7 and earlier had? That finder program that ran the whole GUI? It sucked. That's what I'm thinking of.

Attached: FIESTA_DURO.gif (240x256, 189K)

Hello world

Hello user

>Are you suggesting I make a non-modular window management system that's an all-in-one ball of shit that's hard to modify?
no

Then what do you want from me? Explain yourself.

But that's degenerate.

Attached: Screen Shot 2013-08-21 at 8.23.50 PM.png (1042x114, 27K)

ideally, seek help

Attached: richard_stallman_75[1].jpg (1200x794, 68K)

not really... your example is like how the windows desktop works. But that's on top of the window manager still.

No u

REEEEEEEEEEEEEEE

Fuck it I'll just start porting to NetBSD. I've had enough of this shit.

Attached: 15286346685900.png (789x750, 18K)

>'s no difference between programming for either brands cpu's
>intel compiler

the ISA is literally the same

Attached: zzzzzzzzzzzzzzz.jpg (385x385, 28K)

It wont