[–]▶ No.855636>>855677 >>855745 >>855791 >>855808 >>855824 >>855924 >>855950 >>855978 >>856063 >>856178 [Watch Thread][Show All Posts]
I'm currently making my own operating system. It's going to be a long time (like a year or two at least) before I release any of the source code with the proper docs. I'm not ready to deal with all the GitHub tards and licensing bullshit and versioning and correcting the grammar in my source comments, etc. So I am a few months into a kernel development and it's going well. Kernel is written in C primarily with a small amount of FASM. I'm also working on my own bootloader, and some other things to integrate into it to have a 95%+ independent software platform. I'm also working on a side project for a compatibility layer for Linux drivers, so that this can eventually be used on real, modern hardware. I eventually want to get to a point where it has a full GUI installer and desktop and it's as user friendly as Windows or OS X or Ubuntu. It will have my own userland with some GNU and BSD utilities sprinkled in for compatibility and convenience, and because I am not writing a fucking compiler.
Target Features:
>mostly or fully POSIX compliant for easy porting of software
>very easy to use and user friendly even for tech illiterates
>reasonably secure and well documented with good update system
>focus on privacy and eventually will include encryption options
>will probably be put out under the LGPL or something like that
>no systemd with a dependence on modularity to prevent scope creep
▶ No.855637>>855661 >>855916 >>855943 >>855950
The kernel itself is a hybrid, where the more monolithic part is meant to be close to the hardware, and the more high level microkernel stuff can be put in userspace for some added security and modularity, and can possibly be beneficial in the way updates are processed and even made in the first place. Though mostly, the monolithic part would mostly be there to start the microkernel services at boot and manage them to a certain extent, and control kernel space privs, so for example, you want to add another module to the kernel in user space, so you call the monolithic kernel in to help with managing it. Sounds convolluted but I think it's a good way to do it.
My goal is to make this OS as user friendly and as beautiful as possible. What some features in modern desktop environments that you guys really hate? I want to know what not to include here. Also, I will make sure to find a way to port Firefox to it in the first major release and finally get the fucking thumbnails in the file picker dialogue. I need ideas for the GUI of this thing, and also for the apps I should include or make myself. I like the idea of making a lot of the GUI tabbed in certain areas so that you aren't moving the mouse around so much. How about workspaces and switching between them? Since I'm making my own bootloader, should I provide a setting to add a custom splash screen like you can do in GRUB?
Also, what the fuck do I call this thing? Any good names?
▶ No.855650>>855652
make a true successor to Win XP
▶ No.855652>>855654
>>855650
I'm not sure what you mean by this. React OS is already a thing if that's what you're looking for. This is going to be a UNIX-like OS.
▶ No.855654>>855666
>>855652
>This is going to be a UNIX-like OS.
Why not try to make something good instead?
▶ No.855661>>855666
▶ No.855666>>855671 >>855676 >>855789
>>855654
NT is not good.
>>855661
What's the significance of this name?
▶ No.855671>>855672
>>855666
>NT and UNIX are the only operating systems
the new gender binary
▶ No.855672>>855673
>>855671
The only ones that matter, yes. Just like males and females, faggot. Go be gay somewhere else.
▶ No.855673>>855675
>>855672
The only way this operating system might be going to matter is as a vehicle for new ideas. Why remake Unix for the fiftieth time?
▶ No.855675
>>855673
Think of it as being similar to Plan9 and friends, except I'm not a total dickhead and I actually want people to port software to it and use it.
▶ No.855676>>855734 >>855918
>>855666
When I saw this thread I was listening to Lacrimosa - Mozart... (La[CrimOS]a)
▶ No.855677>>855814 >>855849 >>855918
>>855636 (OP)
>POSIX compliant
>easy to use
>secure
pick one
▶ No.855680>>855918
OpenSUSE patched Firefox to use the KDE filepicker, but somehow no other distro cares enough to adopt it. Don't put your tabs on top, that is absolute braincancer.
▶ No.855697>>855735
>not rewriting TempleOS in Rust
▶ No.855730>>855918
▶ No.855734>>855739
>>855676
Hopefully it was indeed Mozart and not that half-haircut "goth" dude playing pseudo-metal
▶ No.855735
▶ No.855739
>>855734
Definitely Mozart, I'm not sure who the half-haircut goth dude is.
▶ No.855745>>855918
>>855636 (OP)
>FASM
get out
>compatibility layer for Linux drivers
botnet
>Also, what the fuck do I call this thing? Any good names?
Terrydos
▶ No.855786>>855789 >>855815 >>855918
>mostly or fully POSIX compliant
These hobbyist UNIX clones never get anywhere because they will always be behind the UNIX clones people care about. There's already Linux and BSD if you want something UNIX-like that's usable and Plan 9 if you want something UNIX-like that feels like a crappy hobbyist toy OS.
I want to see more ideas out there and not another POSIX-compatible, C-based UNIX clone. If you want make an OS clone that matters, copy VMS, Multics, Classic MacOS, or some other operating system that has a different philosophy. If you want to copy Windows, contribute to ReactOS.
▶ No.855789
>>855666
Why not YAHOS, Yet Another Hobbist Operating System, and try some weird shit like >>855786 said to see if it works out well
▶ No.855791>>855810 >>855918
>>855636 (OP)
> I am not writing a fucking compiler.
The difference between an amateur and a professional is that a professional develops a compiler.
>licensing bullshit
Just use MIT or BSD license and don't worry about it. Give people as much freedom as possible.
▶ No.855808>>855918
>>855636 (OP)
I wish you good luck. That is a great project to do and something to be proud of.
If I was doing my own OS I would make it:
- mostly POSIX compliant
- easy to use mix of source based and package distro
- use very simple static linked userspace utilities (suckless, BSD utils, maybe something like that: https://github.com/arsv/minibase)
- everything that is not a static binary would be in a some kind of container (flatpak, snap, LXC whatever)
- package manager would download git source and compile. it would also track all dependencies so if there is a security fix for a library all other programs get recompiled too
▶ No.855810
>>855791
>Give people as much freedom as possible.
That is called public domain. Contrary to retarded beliefs you can waive your copyright in Europe.
MIT/BSD still has requirements so it isn't maximum do whatever the fuck you want.
▶ No.855815>>855820
>>855786
You again? I have enough of your shit.
OUT OUT OUT OUT OUT OUT
▶ No.855819>>855918
What is the point of another Unix style OS besides as a learning project?
▶ No.855820>>855822
▶ No.855822
▶ No.855824>>855918
>>855636 (OP)
>i-im scared to publish code
DO IT FAGGOT
No one will even know about your project. I have dozens of public repos on github that no one knows about. If you don't shill your shit it's essentially private.
▶ No.855838
Good. show us when its done op
▶ No.855848
Good. show us when its done op
▶ No.855849
>>855677
POSIX isn’t secure? Can you give me some sources, I would like to know more.
▶ No.855865>>855866 >>855918
Welcome aboard. I personally have a planned project like that which has gone into hiatus (dealing with other projects). It will be a microkernel with a tiny core (absolute time-critical stuff in the kernel and the rest is providers). I got so far as getting a PMM and a VMM working beforeI put it on the backburner. As always, http://wiki.osdev.org/ is a great place to learn,
▶ No.855866
>>855865
and check out #osdev on Freenode for any questions, some really helpful people are there.
▶ No.855872
I got it OP: Yet Another Crappy Hobbyist Toy OS, i.e. YACHT OS. This is copyrighted now OP, pay the sum of $10billion in pepe cash to use.
▶ No.855891
I hope it's written in the only systems safe language Rust
▶ No.855916>>855918
>>855637
>attempting to write an OS because you want thumbnails in a file picker dialog box
oh shit nigga what are you doing
▶ No.855918>>855925 >>855938 >>856134
>>855676
Interesting. But CrimOS reminds me of crimson, and so then I would feel like I have to make the UI red, and that's going to look like trash. I don't know, I'll consider it.
>>855677
This thing is a hobbyist OS, not something that will get embedded in fighter jets.
>>855680
I was going to put tabs on the top and bottom like in OS/2.
>>855730
Eventually.
>>855745
The compatibility layer will be optional.
>>855786
Classic MacOS was a mess, and didn't even have a terminal application. The others are mostly irrelevant. I want my own flavor of UNIX that has sane defaults and is easy to use, sort of like Mac OS X, but without letting you mash on the keyboard and gain root access.
>>855791
Writing my own compiler is a waste of time when good ones already exist. I also want to maintain control over my source code for the time being, because I haven't decided on a source model yet.
>>855808
What if I just make application bundles like in OS X that all sit in one directory? That might be nice. For package management, it would be binary focused but I would also include options to compile from source, and have it spit out an app bundle that you can drag and drop in the applications folder, then run from there by double clicking it.
>>855819
I'm trying to build something that I would want to use. I don't want to use Windows, OS X, Linux, or BSD because they all have major drawbacks that make them suck to use no matter which you pick.
>>855824
Not until I have something more substantial.
>>855865
Thanks. I'll look into that.
>>855916
Yes, I am so pissed at Gnome and systemd retardation that I'm spending hundreds of hours building a new software platform. Bugs are not features, and they can lick my ass.
▶ No.855924
>>855636 (OP)
>LGPL
How_gnu_r_u.git ostensibly not very
There's also gitgud if you don't want to deal with socjus
▶ No.855925>>855936
>>855918
>Not until I have something more substantial.
No one is going to make fun of your incomplete code. Put your code up so people can learn/help.
▶ No.855936>>855960
>>855925
I don't want help though, at least not until I have it at a point where it can boot to a desktop. I'm also not sure if I even want to open source it before releasing it initially. My problem is that open source is killing itself, and I'm not sure how to prevent this. Locking away my source code is shitty but at least fuckers like Poettering won't come along and mess it all up. I would like to think that I'm competent enough to filter that stuff out, but I don't want to be tricked into this mess all over again. I need to do this right the first time. I don't want anyone forking it or modifying it, because then they'll speed up development and get faster results, but it'll be a fucking turd in the long run. I'm trying to design this thing so that various components of the kernel and OS can't be mashed into a single subsystem, hence the focus on modules. But this is easier said than done, because if you can add and remove modules, you can remove some of them and replace them under one big bloated one that's similar to systemd. I'm trying to make it so that certain services must be run in their own module/container, so that there's a degree of isolation, and if this is modified, then you break the underlying design and everything that works with it, basically putting a lock on the way you can even modify the core system components without a major rewrite of it.
▶ No.855938>>855940
>>855918
>Writing my own compiler
It hasn't even been a month since Terry went missing, and people are already forgetting his wisdom.
▶ No.855940
>>855938
Terry is more insane than I am, and I'm literally making a new OS to compete with Windows, OS X, and Linux because I'm ass blasted over a few programs included in them.
▶ No.855943>>855945 >>855946
>>855637
Forbid \n in filenames.
▶ No.855946>>855949
>>855945
>>855943
>You could forbid the backslash character. This would eliminate one error --- forgetting the -r option of Bourne shell
So forbid the backslash and limit file names to A-Z (upper/lower) and 1-9?
▶ No.855949
>>855946
>1-9
Should say 0-9, made a typo.
▶ No.855950>>855951
>>855636 (OP)
>>855637
From your description of your goals, there's no reason for you to be writing a new OS. You should be working on improving the GUI and user-friendliness of an existing open-source POSIX OS, instead of writing "Bad reimplementation of Unix #134,238".
http://wiki.osdev.org/Beginner_Mistakes was written for you.
▶ No.855951>>855954
>>855950
Well, too late to stop now.
▶ No.855954>>855957
>>855951
It's never too late to stop.
▶ No.855957
>>855954
It would be such a waste though. I think I'll continue.
▶ No.855960>>855961
>>855936
>if i put my code on gh pottering and his sjw army will ruin it
You could have just said you're clinically retarded before starting this whole argument.
▶ No.855963>>855965
>>855961
This is retarded. Poettering did nothing wrong.
▶ No.855965>>855967
>>855963
>Poettering did nothing wrong.
▶ No.855967>>855969
>>855961
>>855965
>anti sysd fags have no arguments as usual
▶ No.855969>>855976 >>855979
>>855967
>mount EFI vars with write access even though this isn't needed ever and advanced users can remount them
>leave users vulnerable to bricking because "lol gotta reboot da gombuter 2 de BIOS frum de OS"
Holy shit.
▶ No.855976
>>855969
how exactly does your average joe brick his system in that scenario?
▶ No.855978
>>855636 (OP)
If you're going to waste your time on claiming it will be secure and user friendly, consider turning it into a RTOS, and actually make something with academic value.
▶ No.855979>>855982 >>856064
>>855969
I have no sympathy for anybody who uses rm -rf /
▶ No.855982>>855988
>>855979
But rm -rf / is supposed to delete all your files, not brick your mobo.
▶ No.855988>>855998
>>855982
It's your choice to brick your mobo. You didn't have to do it.
▶ No.855998>>856003
>>855988
Are you dumb? If a certain functionality is not supposed to have a certain side effect, then that side effect should not occur. To blame the user for the side effect (even if the trouble the side effect yields only presents itself from the user's stupidity), is idiotic. A function's behavior should be as intended without any side effect (regardless of whether or not it requires the stupidity of the user to cause an issue).
▶ No.856003>>856138
>>855998
All I see is a PEBCAK. rm -rf / does exactly what it should. If you know that there are mappings to the VFS, then don't do rm -rf /. Delete each directory one at a time.
▶ No.856008
>there are retards defending this shit
▶ No.856063
>>855636 (OP)
But can it talk to God?
▶ No.856064>>856065 >>856072 >>856076
>>855979
There is nothing wrong with running rm -rf / for fun right before installing a new distro.
▶ No.856065>>856066
>>856064
fun fact
bsd doesn't have the rm -rf / problem
▶ No.856066>>856070 >>856116
>>856065
fun fact
bsd doesn't have users
▶ No.856070
>>856066
I'd be willing to bet that it has a higher share of competent users though.
▶ No.856072
>>856064
I am very happy when users want to run rm -rf /. I have no sympathy when something breaks when they willing choose to run it.
▶ No.856076
>>856064
That used to be true.
▶ No.856116>>856146
>>856066
FreeBSD is for servers that need good scaling like chat and streaming services.
OpenBSD is mainly a firewall OS that's utilized by foreign governments.
▶ No.856130
>>855961
You are fucking retarded. Unless you add Pöttering as a contributor to your project, shit like this won't happen. If you do get a contributor that does shit like this, you can always boot them. What the fuck are you exactly talking about?
▶ No.856134
>>855918
>Eventually.
when's the contest? :'^)
▶ No.856138>>856140
>>856003
>If you know that there are mappings to the VFS
No shit Sherlock, what if you don't?
▶ No.856140>>856147
>>856138
That's all the more reason why you shouldn't rm -rf /. Delete each directory one at a time.
▶ No.856146
>>856116
Why can't you use linux for the same job?
▶ No.856147>>856148
>>856140
For any UNIX noob, it's obvious that something to delete file or directories shouldn't do anything else. Think of the main systemd consumers; Ubuntu lusers and all.
I mean, how are you supposed to know? Even I didn't knew about this systemd EFIvar bullshit, and you probably didn't before this Potter joke.
▶ No.856148>>856149 >>856150 >>856184
>>856147
In what scenario would a noob delete from the root dir?
▶ No.856149>>856154
>>856148
>nobody NEEEEEEDS guns
Fuck off
▶ No.856150>>856154
>>856148
Shell script gone wrong
▶ No.856154
>>856149
>>856150
>no arguments
Okay then
▶ No.856178
>>855636 (OP)
>user firendly GUI installer
Not gonna happen thanks to Windows 8++ devices (if they build their own PC then this is not a problem).
>fastboot fucking with the EFI from booting even the native OS is gonna get fuckt
>EFI botnet preventing USB boot
>various shit preventing you to boot via USB needing to set it up on the BIOS or picking it through boot menu
Don't know about OEM windows 10 yet. Haven't bought since and neither would I bother.
Things you should also look for after is ACPI clusterfuck. Maybe try to target few devices and make things werk especially hibernation.
▶ No.856184>>856211
>>856148
rm -rf / usr/share/unwantedfile
Thankfully there is a safeguard now, at least.
▶ No.856211>>856221
>>856184
That's still PEBCAK.
▶ No.856221
>>856211
>PEBCAK
Between what chairs and keyboards? The ones at AT&T where this broken software originated. Cloning it is even worse than making it from scratch because there are years of known problems.
>On a old decstation 3100 I was deleting last semesters users to try to
>dig up some disk space, I also deleted some test users at the same time.
>
>One user took longer then usual, so I hit control-c and tried ls.
>"ls: command not found"
>
>Turns out that the test user had / as the home directory and the remove
>user script in ultrix just happily blew away the whole disk.
>U...~
Reminds me of a bit of local folk-lore (this happened before I was in
the admin group)...
We have a home-grown admin system that controls accounts on all of our
machines. It has a remove user operation that removes the user from
all machines at the same time in the middle of the night.
Well, one night, the thing goes off and tries to remove a user with
the home directory '/'. All the machines went down, with varying
ammounts of stuff missing (depending on how soon the script, rm, find,
and other importing things were clobbered).
Nobody knew what what was going on! The systems were restored from
backup, and things seemed to be going OK, until the next night when
the remove-user script was fired off by cron again.
This time, Corporate Security was called in, and the admin group's
supervisor was called back from his vacation (I think there's something in
there about a helicopter picking the guy up from a rafting trip
in the Grand Canyon).
By chance, somebody checked the cron scripts, and all was well for the
next night...
I think I've identified the fundamental problem with
unix. It's not that unix fellates worm-infested camels.
It's that
NO ONE DOES ANYTHING ABOUT IT.
Unix is full of dumb bugs that any competent hacker
could fix in ten minutes. But more than ten minutes is
wasted by *every* hacker instead. ``Yup, that's another
dumb unix bug. Sigh. Well, let's write an elaborate
work-around...'' The problem is cultural: there seems to be
an attitude of ``you can't fight city hall.''
ITS and the lispm are such wins not because they are
better-designed (they may be, but god knows they have plenty
of brain damage in them too) but because they have a culture
of ``That symbolics namespace editor sucks, so I spent ten
minutes writing a better one and installed it on b:.''
What I can't figure out is why there isn't a giant
market for improved unix software. For example, it seems
like it would be straightforward to write a decent C macro
processor or garbage collector, and that you could make a
bundle of money selling them because everyone would want
them.
But no one does this. Why not? Maybe it's because
weenies are so used to not fighting city hall that they
can't believe things could ever be better?
▶ No.856511
OP isn't showing any code. I call bs. He's just larp.
>he thinks anyone care about another unix clone
▶ No.856866
Here are some nice things to have in an OS, since I often think about how much each OS sucks in its own way:
Basic shit
Per-application volume mixer.
Built-in midi support, with option for specifying your own soundfont if the free one is shit.
File manager
Thumbnails in file picker, but also possible image preview pane in both file manager and file picker.
Control over thumbnail display, i.e. disable thumbnails for files over X MB/GB, etc. Possibly disable thumbnails for documents.
Breadcrumbs or path toggle.
Select multiple images and print from the file manager.
Hidden files setting in the file manager is linked to the file picker.
Sane file properties box that can handle permissions and ownership in a straight forward way.
Desktop environment
Perhaps the desktop environment could have a basic normalfag mode by default with a more customizable mode for powerusers, so that everyone is accommodated.
When installing the OS, you can choose from 3 preset panel setups: Windows (one opaque panel at the bottom with a menu, launcher, windows, and system tray), Mac (transparent panel of launchers at the bottom, opaque panel at the top), and Ubuntu style, and maybe a 4th original setup that distinguishes your OS. Helpful starting point for powerusers, and normalfags will just pick one and never touch the settings, just be happy with the hopefully unbloated desktop.
Desktop text color should be an option when changing the wallpaper.
Per-panel poweruser option for the desktop wallpaper to not go underneath the panel. Useful for opaque panels.
Optional window quicklist like Cinnamon desktop has, instead of having to click on each workspace (unless your OS won't have workspaces, then disregard).
Login customization, such as background, display or hide user pictures, that sort of thing, so people can have a nice login screen or a minimalist one if they'd prefer.