• NOTICE: If you are reading this, you are hitting our new server. We expect there to be some bugs - please let us know if you come across anything, THANKS!

Need help

Status
Not open for further replies.

brian byon

New Member
I'd like to create custom operating system, but tutorials here didn't help.

When I say new, I mean a whole new powerful version like iOS, Windows, and so on.

Can someone help me?
 


atanere

Well-Known Member
Hi Brian, and welcome to the site. I don't suppose you mean that you want to write millions of lines of code from scratch, right? And I don't think you would find many people willing to help with such a monumental task.

With Linux, there are some alternatives so that you don't have to reinvent each and every wheel in an OS. As far as I know, all Linux distributions (distros) are open source... you are free to take any distro and modify it, rebrand it with your own name, logo, graphics, etc, and present it to the world. But there are still licensing restrictions you must adhere to, so in most cases what you received for free, you also have to give away for free. That is the spirit of open source itself.

There is also a project called Linux From Scratch that may interest you. It is more than just cloning an OS, it is building it from the ground up, but still using prebuilt packages. http://www.linuxfromscratch.org/

If your goal is an OS to sell and make money (since you named the big proprietary systems)... again, I don't think you will find much support here. Linux lovers are mostly behind the concept of "free and open source" for both operating systems and applications.

Cheers
 

brian byon

New Member
Thank you for kind message.

Well one of the reasons why I want to build OS from scratch, meaning everything from the start of base, it is my ambition to create OS starting from binary codes(perhaps even change 0's and 1's and convert to my own system). Is follows, there are so many junks that already run on Windows and iOS when you startup the system and even as administrator you have no authority to cancel some and many of running apps, which it slows you down when playing games.

It is anybody's ambition to change binary codes into his or her own will, and change the same, boring metric system throughout the decades.

Yes, I do suppose writing millions of lines of sentences.

Can someone help? I'm looking for resources.. Plus now that corrupted wine is now in charge of linux after the update with many bugs..

I see the reason why not.

Sire Homer.
 

brian byon

New Member
Not to be rude or offensive in my opinion. There aren't much resources available despite "give one share one motto" in linux. #opinion #experience
 

JasKinasis

Well-Known Member
Writing a new OS will not be a trivial undertaking.

The best resource online for OS development would be:
https://wiki.osdev.org/Main_Page

That site contains a lot of information for would-be OS developers.

I don't know how much programming experience you have, but if you are thinking of creating your own OS, you'll need to be an expert coder already!

In order to write an operating system, you will need to at least have a good general knowledge of computer science and operating systems design. You'll need to be an expert programmer with at least one low-level programming language (like C, or C++). You will also need expert debugging skills. Experience with assembly would also help.

You'd also need to know a lot about:

- The entire toolchain you will be using in order to develop your OS. From compilers/interpreters/debuggers to emulators/virtualisation software that you could use to test your OS in a virtualised environment.

- UNIX systems and the POSIX standard.

- The hardware/platforms you will be targeting. And I mean right down to the manual for the CPU and its instruction set. (e.g. you can download manuals for intel chipsets directly from Intel)

- Executable formats
In order for your OS to be able load and run binary, executable files, you'd need to know about the various binary/executable formats and how they work - So for example, if you were creating something that was compatible with Unix/Linux - you might want to look at how the ELF executable format works.

I could go on and on. My point is: you need to know a LOT!

The few websites and forums out there that are dedicated to OS development (like osdev.net) WILL NOT hold your hand through the process of learning - the onus will be entirely on you to learn what you need to know. The OS development communities can be quite hostile to new developers too. So be careful not to ask stupid questions, or ask for information that you could get from a manual - they are often quick to dismiss questions like that with the reply "RTFM".

Even osdev.net say that building an OS is not a good way for novice developers to learn how to code.

If you're up to doing all of that reading and research and doing it all yourself - then more power to you.

Stans suggestion of Linux From Scratch might be a good starting point. That would allow you to build your own Linux based operating system from scratch.

And that would give you the option of either:
1. Using pre-existing software components
2. Writing your own components
3. mixing and matching pre-existing software with some of your own custom software.

Alternatively - you could perhaps start out by joining an existing OS project - Like one of the many Linux distributions, or one of the alternative, independent OSes listed on osdev.net (if any of them are still alive):
https://wiki.osdev.org/Projects

Either way, by joining an existing project - you can get a feel for the way things work, learn from the other members of that projects community and build your understanding of things from there.

Then once you are more experienced and confident - then you can think about starting your own OS.

Personally, if it was me - I'd probably take the Linux from scratch approach first. LFS will help you to understand how a Linux distribution is put together.

Alongside that, you might also want to take a look at the source code and the documentation for the Linux Kernel, and see how it works too.

After all - If you are going to write your own operating system, you will need a kernel to deal with all resource management and interactions between hardware and software. Even if you decide NOT to use Linux - understanding the design and implementation Linux kernel would help you to be able to create your own kernel.

There is also GNU Hurd - which is GNU's microkernel, which has been in development since a few years before Linux was first released by Linus Torvalds. I don't know what state that project is in, but the last I heard - they were still having some problems with it. But it might be worth having a search for some information about Hurd and how it is designed/implemented.

Sorry for the wall of text. Hopefully some of it will be useful!
 

brian byon

New Member
I'm an official founder of world's first computer(device) technology for creatures. My current net-worth holds 120b although nobody wants to list me, and Forbes and Google terminated like 40 websites of mine, Youtube terminated and even banned my account for no reason containing all valuable information for this project even proof that I'm a founder, Wikipedia terminated my name and almost arrested me for posting stuff about my own things without violating any rule under my name just because they "felt" like it,

sorry for late intro hehe:)

No not at all pleasure is all mine.

You can check out where it all started here:

Writing a new OS will not be a trivial undertaking.

The best resource online for OS development would be:
https://wiki.osdev.org/Main_Page

That site contains a lot of information for would-be OS developers.

I don't know how much programming experience you have, but if you are thinking of creating your own OS, you'll need to be an expert coder already!

In order to write an operating system, you will need to at least have a good general knowledge of computer science and operating systems design. You'll need to be an expert programmer with at least one low-level programming language (like C, or C++). You will also need expert debugging skills. Experience with assembly would also help.

You'd also need to know a lot about:

- The entire toolchain you will be using in order to develop your OS. From compilers/interpreters/debuggers to emulators/virtualisation software that you could use to test your OS in a virtualised environment.

- UNIX systems and the POSIX standard.

- The hardware/platforms you will be targeting. And I mean right down to the manual for the CPU and its instruction set. (e.g. you can download manuals for intel chipsets directly from Intel)

- Executable formats
In order for your OS to be able load and run binary, executable files, you'd need to know about the various binary/executable formats and how they work - So for example, if you were creating something that was compatible with Unix/Linux - you might want to look at how the ELF executable format works.

I could go on and on. My point is: you need to know a LOT!

The few websites and forums out there that are dedicated to OS development (like osdev.net) WILL NOT hold your hand through the process of learning - the onus will be entirely on you to learn what you need to know. The OS development communities can be quite hostile to new developers too. So be careful not to ask stupid questions, or ask for information that you could get from a manual - they are often quick to dismiss questions like that with the reply "RTFM".

Even osdev.net say that building an OS is not a good way for novice developers to learn how to code.

If you're up to doing all of that reading and research and doing it all yourself - then more power to you.

Stans suggestion of Linux From Scratch might be a good starting point. That would allow you to build your own Linux based operating system from scratch.

And that would give you the option of either:
1. Using pre-existing software components
2. Writing your own components
3. mixing and matching pre-existing software with some of your own custom software.

Alternatively - you could perhaps start out by joining an existing OS project - Like one of the many Linux distributions, or one of the alternative, independent OSes listed on osdev.net (if any of them are still alive):
https://wiki.osdev.org/Projects

Either way, by joining an existing project - you can get a feel for the way things work, learn from the other members of that projects community and build your understanding of things from there.

Then once you are more experienced and confident - then you can think about starting your own OS.

Personally, if it was me - I'd probably take the Linux from scratch approach first. LFS will help you to understand how a Linux distribution is put together.

Alongside that, you might also want to take a look at the source code and the documentation for the Linux Kernel, and see how it works too.

After all - If you are going to write your own operating system, you will need a kernel to deal with all resource management and interactions between hardware and software. Even if you decide NOT to use Linux - understanding the design and implementation Linux kernel would help you to be able to create your own kernel.

There is also GNU Hurd - which is GNU's microkernel, which has been in development since a few years before Linux was first released by Linus Torvalds. I don't know what state that project is in, but the last I heard - they were still having some problems with it. But it might be worth having a search for some information about Hurd and how it is designed/implemented.

Sorry for the wall of text. Hopefully some of it will be useful!
Writing a new OS will not be a trivial undertaking.

The best resource online for OS development would be:
https://wiki.osdev.org/Main_Page

That site contains a lot of information for would-be OS developers.

I don't know how much programming experience you have, but if you are thinking of creating your own OS, you'll need to be an expert coder already!

In order to write an operating system, you will need to at least have a good general knowledge of computer science and operating systems design. You'll need to be an expert programmer with at least one low-level programming language (like C, or C++). You will also need expert debugging skills. Experience with assembly would also help.

You'd also need to know a lot about:

- The entire toolchain you will be using in order to develop your OS. From compilers/interpreters/debuggers to emulators/virtualisation software that you could use to test your OS in a virtualised environment.

- UNIX systems and the POSIX standard.

- The hardware/platforms you will be targeting. And I mean right down to the manual for the CPU and its instruction set. (e.g. you can download manuals for intel chipsets directly from Intel)

- Executable formats
In order for your OS to be able load and run binary, executable files, you'd need to know about the various binary/executable formats and how they work - So for example, if you were creating something that was compatible with Unix/Linux - you might want to look at how the ELF executable format works.

I could go on and on. My point is: you need to know a LOT!

The few websites and forums out there that are dedicated to OS development (like osdev.net) WILL NOT hold your hand through the process of learning - the onus will be entirely on you to learn what you need to know. The OS development communities can be quite hostile to new developers too. So be careful not to ask stupid questions, or ask for information that you could get from a manual - they are often quick to dismiss questions like that with the reply "RTFM".

Even osdev.net say that building an OS is not a good way for novice developers to learn how to code.

If you're up to doing all of that reading and research and doing it all yourself - then more power to you.

Stans suggestion of Linux From Scratch might be a good starting point. That would allow you to build your own Linux based operating system from scratch.

And that would give you the option of either:
1. Using pre-existing software components
2. Writing your own components
3. mixing and matching pre-existing software with some of your own custom software.

Alternatively - you could perhaps start out by joining an existing OS project - Like one of the many Linux distributions, or one of the alternative, independent OSes listed on osdev.net (if any of them are still alive):
https://wiki.osdev.org/Projects

Either way, by joining an existing project - you can get a feel for the way things work, learn from the other members of that projects community and build your understanding of things from there.

Then once you are more experienced and confident - then you can think about starting your own OS.

Personally, if it was me - I'd probably take the Linux from scratch approach first. LFS will help you to understand how a Linux distribution is put together.

Alongside that, you might also want to take a look at the source code and the documentation for the Linux Kernel, and see how it works too.

After all - If you are going to write your own operating system, you will need a kernel to deal with all resource management and interactions between hardware and software. Even if you decide NOT to use Linux - understanding the design and implementation Linux kernel would help you to be able to create your own kernel.

There is also GNU Hurd - which is GNU's microkernel, which has been in development since a few years before Linux was first released by Linus Torvalds. I don't know what state that project is in, but the last I heard - they were still having some problems with it. But it might be worth having a search for some information about Hurd and how it is designed/implemented.

Sorry for the wall of text. Hopefully some of it will be useful!
 
Last edited:

MacgyverPT

Member
Like @atanere said, I share the same opinion. Look and try the LFS (Linux From Scratch) project.
 

brian byon

New Member
I did actually, more like brotherhood team, but

now Blizzard and Overwatch (game) is invading my product, they make millions of dollars with a single hero, they paid me 0 cent, such a ripoff #wreckingball

thanks folks anyway hope we can make somethin out of this post,

Brian,

Your best bet would be to follow the information that @JasKinasis gave you in the previous post. If you're truly worth 120b, i'd also suggest you hire a team of people to plan and build your OS.
 

brian byon

New Member
Don't even get me started on how NASA gets their technology and prototypes, they red-flag kicked me out of their organization saying I violated their legal jurisdiction or some thing I did none of even after explaining with 100% proof, believe me any monopoly in linux or unix world violates lot of human rights, and there is none of give one or take one, ... IT is my wish to build a better, safer and fair environment, that's bull in my opinion and experience that monopolies follow give one or take one its THE opposite,

You can never stop monopoly, only proper grandma I know is the McDonald coffee incident in the world as of 2018, unfortunately, well, so let here commence, anyone is more than welcome to leave this post,

I broke down whole OSDev as much as I can,

---------------------

Well so I broke down OSDev after a day of thorough research, its missing lot of running .exe files... A LOT, like TON of emulators and other runners,

So here I'd like to ask to provide me as resource (not that I force anybody, if you can), here's what I mean,

Let's say I have OS ready, you need to know how to package this OS into CD bootable, plus executable bar codes so nobody steals it, even if I do have OS right now ready to go how do I turn it into iso file with registered keys?

BTW, what software do you mean when you say "compilers/interpreters/debuggers to emulators/virtualisation," do you mean Eclipse.,? I don't think there is packaging software built solely ready for Operating Systems, or is there.?

So I need these info after breaking down the whole OSDev in simplest forms,
--------------------
Packaging software to run codes, in a virtualization format, Linux (central codes), bar code distribution, setup,

I understand OS is a lot and there are only 2 in the world in handful, but any human being would need more info than that to create properly functioning OS that's like Windows and iOS, OSDev resource is lacking in my opinion, I mean A LOT, there's more to it that they're hiding keeping secret it seems, ...

#SETUP #MORESPECIFICREQUEST
-------------------

You can memorize every line of OSDev, but you still won't be able to make iOS and Windows, its missing: KEY fragments, proper software to get there, can you be more specific when providing resources seek? ty

------------------

3 things missing: software to run the code, packaging emulator (keys, iso, boot, running .exe), powerful tool-chains to get to Windows 10, and iOS, (its missing even knowledge),

------------------

Anybody is more than welcome to disapprove me here line by line deriving, I appreciate that,

Hallelujah :):):)


Writing a new OS will not be a trivial undertaking.

The best resource online for OS development would be:
https://wiki.osdev.org/Main_Page

That site contains a lot of information for would-be OS developers.

I don't know how much programming experience you have, but if you are thinking of creating your own OS, you'll need to be an expert coder already!

In order to write an operating system, you will need to at least have a good general knowledge of computer science and operating systems design. You'll need to be an expert programmer with at least one low-level programming language (like C, or C++). You will also need expert debugging skills. Experience with assembly would also help.

You'd also need to know a lot about:

- The entire toolchain you will be using in order to develop your OS. From compilers/interpreters/debuggers to emulators/virtualisation software that you could use to test your OS in a virtualised environment.

- UNIX systems and the POSIX standard.

- The hardware/platforms you will be targeting. And I mean right down to the manual for the CPU and its instruction set. (e.g. you can download manuals for intel chipsets directly from Intel)

- Executable formats
In order for your OS to be able load and run binary, executable files, you'd need to know about the various binary/executable formats and how they work - So for example, if you were creating something that was compatible with Unix/Linux - you might want to look at how the ELF executable format works.

I could go on and on. My point is: you need to know a LOT!

The few websites and forums out there that are dedicated to OS development (like osdev.net) WILL NOT hold your hand through the process of learning - the onus will be entirely on you to learn what you need to know. The OS development communities can be quite hostile to new developers too. So be careful not to ask stupid questions, or ask for information that you could get from a manual - they are often quick to dismiss questions like that with the reply "RTFM".

Even osdev.net say that building an OS is not a good way for novice developers to learn how to code.

If you're up to doing all of that reading and research and doing it all yourself - then more power to you.

Stans suggestion of Linux From Scratch might be a good starting point. That would allow you to build your own Linux based operating system from scratch.

And that would give you the option of either:
1. Using pre-existing software components
2. Writing your own components
3. mixing and matching pre-existing software with some of your own custom software.

Alternatively - you could perhaps start out by joining an existing OS project - Like one of the many Linux distributions, or one of the alternative, independent OSes listed on osdev.net (if any of them are still alive):
https://wiki.osdev.org/Projects

Either way, by joining an existing project - you can get a feel for the way things work, learn from the other members of that projects community and build your understanding of things from there.

Then once you are more experienced and confident - then you can think about starting your own OS.

Personally, if it was me - I'd probably take the Linux from scratch approach first. LFS will help you to understand how a Linux distribution is put together.

Alongside that, you might also want to take a look at the source code and the documentation for the Linux Kernel, and see how it works too.

After all - If you are going to write your own operating system, you will need a kernel to deal with all resource management and interactions between hardware and software. Even if you decide NOT to use Linux - understanding the design and implementation Linux kernel would help you to be able to create your own kernel.

There is also GNU Hurd - which is GNU's microkernel, which has been in development since a few years before Linux was first released by Linus Torvalds. I don't know what state that project is in, but the last I heard - they were still having some problems with it. But it might be worth having a search for some information about Hurd and how it is designed/implemented.

Sorry for the wall of text. Hopefully some of it will be useful!
 
Last edited:

JasKinasis

Well-Known Member
OS development is an immense can of worms.
I know enough about OS development to get by, but I am primarily a user-space applications developer (mainly using C and C++). That is where most of my experience lies. I haven't done a lot of programming at kernel level or boot-level. So I can't offer much more help than I already have.

Other than myself - there aren't many other developers in the active community here at linux.org either. Most of the other active users here are ordinary Linux users. There are one or two sys-admins and a few retirees with tech-backgrounds. And I could be wrong, but I don't think there are any people here with a solid background in OS design.

The Linux.org community primarily exists to assist other Linux users. It is NOT an OS development forum per se.

For further help, I'd recommend perhaps joining the osdev community and asking some questions there:
https://forum.osdev.org/

BTW, what software do you mean when you say "compilers/interpreters/debuggers to emulators/virtualisation," do you mean Eclipse.,? I don't think there is packaging software built solely ready for Operating Systems, or is there.?
In that part of my post, I was merely saying that you will need to be an expert user of ALL of the tools in your tool-chain.

If you are going to use Eclipse for coding and compiling/debugging - then fine - that is one component of your tool-chain. But under the hood, it still uses a compiler, linker and debugger. So you will also need to know the intricacies of using them too.

During the development of your OS, you will need to test it somehow - so the emulators/virtualisation would refer to any software you use to test your OS - so perhaps you will use qemu, or bochs or virtualbox... or maybe you have a spare PC that you will be installing onto.

Again, that is for you to decide, there are loads to choose from... But whatever development software you choose to use - you will need to know how to use them all really well.

So my point was - you will need to be an expert with ALL of the development tools in your tool-chain. Nowhere did I mention anything about packaging software.

In terms of packaging, I guess you'd have to install a bootable version of your OS onto a hard-drive, or a USB drive. Then you could take a disk image of that and convert it to a .iso that could be burnt to CD/DVD.

This shows you how to convert a bootable usb drive to a .iso that can be burnt to CD/DVD:
https://www.ostechnix.com/create-iso-bootable-usb-drive-linux/

I could be mistaken, but that process looks like it should work for ANY bootable OS on any kind of hard-drive!

For your installation disk, I suppose you would need a bootable system that will boot into a minimal version of your operating system and will then run your installation program that will guide the user through the installation process, to install the full OS on their system.

With regards to key-management and software protection - that is an issue for you to resolve yourself.

OSdev.org is about OS development, not software protection or anti-piracy measures. Those are issues for you to worry about once you actually have something to protect.

A web-search for licence management software should result in a swathe of companies offering their own solutions, which you'd obviously have to pay to include in your OS. Failing that - you'd need to work out how to best protect your software yourself. License key management software is mostly proprietary, so the source code and the implementation details will be closely guarded secrets by the companies that own those solutions - so again, you'd either have to pony up the cash and pay for a licence, or create your own solution.

Also it is worth bearing in mind that no system is 100% invulnerable - so even if you did take measures to protect your software - there are no guarantees that crackers won't be able to find a way to circumvent licence key checks or other protection mechanisms.

And I agree, reading and memorising OSDev.org will not allow you to create the next Windows 10 or iOS.
You'd also have to do a lot of additional reading and research alongside a lot of critical thinking and decision making based on the technical requirements of your OSes design. Then you just have to write a few million lines of code and put in a ton of work testing and developing your OS.

OSdev.org is indisputably the best and most comprehensive OS development resource you will find on the internet.

It is not a complete guide to OS development, but it does provide enough background to get you started. Much of it is left up to you to fill in the blanks - after all, it is YOUR OS isn't it?
 
Last edited:

arochester

Moderator
Staff member
Gold Supporter
Well one of the reasons why I want to build OS from scratch, meaning everything from the start of base, it is my ambition to create OS starting from binary codes(perhaps even change 0's and 1's and convert to my own system). Is follows, there are so many junks that already run on Windows and iOS when you startup the system and even as administrator you have no authority to cancel some and many of running apps, which it slows you down when playing games.
I'm sorry but I see no reason whatsoever in this quote for attempting to create an Operating System.

Microsoft and Apple are over 40years old and Linux is 26 years old. What is your timescale?

it slows you down when playing games
A Microsoft compatible game will work on Microsoft. You are not only going to have to create an Operating System, you are going to have to make compatible apps.

I understand OS is a lot and there are only 2 in the world in handful
Err... you come to Linux.Org and you tell is there are only two Operating Systems? Can I suggest https://en.wikipedia.org/wiki/List_of_operating_systems ?
 

brian byon

New Member
I'm sorry but I see no reason whatsoever in this quote for attempting to create an Operating System.

Microsoft and Apple are over 40years old and Linux is 26 years old. What is your timescale?

A Microsoft compatible game will work on Microsoft. You are not only going to have to create an Operating System, you are going to have to make compatible apps.

Err... you come to Linux.Org and you tell is there are only two Operating Systems? Can I suggest https://en.wikipedia.org/wiki/List_of_operating_systems ?
Not sure how to answer that question. For company wise, my Legacy would be 90 yrs old. This would include my knowledge, wisdom, and power. mate. I do have some experience with them before it grew drastically and was small in comparison to adulthood (big) today.

kk hold on I can't talk to 5 people at once with this website emulator,
 

brian byon

New Member
Dearest apology for any inconvenience sire. Sorry. I'm not sure what you mean, but I don't get what's so wrong about asking how to build linux on linux, I mean that's what its for, rite?, please correct me if I'm wrong sire I'd be glad, :):):)

You can memorize every single line on that website, you won't make it, that's because its missing specific lines of codes, mine as well be useless,

1) you need runners that can hold .exe file, and iOS file (note since they are two different processors), wine's got lot of problems since it runs on third party software (experience)

2) patchier so you can distribute keys

3) Its missing setup software,

4) packaging program

5) Extractor, one that decodes and turns applications/programs into readable, executable codes, C++, python, and so on, in full, #python #eclipse #microsoft

Based on comments and tremendous-lot of search*

OS development is an immense can of worms.
I know enough about OS development to get by, but I am primarily a user-space applications developer (mainly using C and C++). That is where most of my experience lies. I haven't done a lot of programming at kernel level or boot-level. So I can't offer much more help than I already have.

Other than myself - there aren't many other developers in the active community here at linux.org either. Most of the other active users here are ordinary Linux users. There are one or two sys-admins and a few retirees with tech-backgrounds. And I could be wrong, but I don't think there are any people here with a solid background in OS design.

The Linux.org community primarily exists to assist other Linux users. It is NOT an OS development forum per se.

For further help, I'd recommend perhaps joining the osdev community and asking some questions there:
https://forum.osdev.org/



In that part of my post, I was merely saying that you will need to be an expert user of ALL of the tools in your tool-chain.

If you are going to use Eclipse for coding and compiling/debugging - then fine - that is one component of your tool-chain. But under the hood, it still uses a compiler, linker and debugger. So you will also need to know the intricacies of using them too.

During the development of your OS, you will need to test it somehow - so the emulators/virtualisation would refer to any software you use to test your OS - so perhaps you will use qemu, or bochs or virtualbox... or maybe you have a spare PC that you will be installing onto.

Again, that is for you to decide, there are loads to choose from... But whatever development software you choose to use - you will need to know how to use them all really well.

So my point was - you will need to be an expert with ALL of the development tools in your tool-chain. Nowhere did I mention anything about packaging software.

In terms of packaging, I guess you'd have to install a bootable version of your OS onto a hard-drive, or a USB drive. Then you could take a disk image of that and convert it to a .iso that could be burnt to CD/DVD.

This shows you how to convert a bootable usb drive to a .iso that can be burnt to CD/DVD:
https://www.ostechnix.com/create-iso-bootable-usb-drive-linux/

I could be mistaken, but that process looks like it should work for ANY bootable OS on any kind of hard-drive!

For your installation disk, I suppose you would need a bootable system that will boot into a minimal version of your operating system and will then run your installation program that will guide the user through the installation process, to install the full OS on their system.

With regards to key-management and software protection - that is an issue for you to resolve yourself.

OSdev.org is about OS development, not software protection or anti-piracy measures. Those are issues for you to worry about once you actually have something to protect.

A web-search for licence management software should result in a swathe of companies offering their own solutions, which you'd obviously have to pay to include in your OS. Failing that - you'd need to work out how to best protect your software yourself. License key management software is mostly proprietary, so the source code and the implementation details will be closely guarded secrets by the companies that own those solutions - so again, you'd either have to pony up the cash and pay for a licence, or create your own solution.

Also it is worth bearing in mind that no system is 100% invulnerable - so even if you did take measures to protect your software - there are no guarantees that crackers won't be able to find a way to circumvent licence key checks or other protection mechanisms.

And I agree, reading and memorising OSDev.org will not allow you to create the next Windows 10 or iOS.
You'd also have to do a lot of additional reading and research alongside a lot of critical thinking and decision making based on the technical requirements of your OSes design. Then you just have to write a few million lines of code and put in a ton of work testing and developing your OS.

OSdev.org is indisputably the best and most comprehensive OS development resource you will find on the internet.

It is not a complete guide to OS development, but it does provide enough background to get you started. Much of it is left up to you to fill in the blanks - after all, it is YOUR OS isn't it?
 
Last edited:

Condobloke

Well-Known Member
Perhaps the people HERE may be able to help you.

Good Luck.
 

JasKinasis

Well-Known Member
Dearest apology for any inconvenience sire. Sorry. I'm not sure what you mean, but I don't get what's so wrong about asking how to build linux on linux, I mean that's what its for, rite?, please correct me if I'm wrong sire I'd be glad, :):):)

You can memorize every single line on that website, you won't make it, that's because its missing specific lines of codes, mine as well be useless,

1) you need runners that can hold .exe file, and iOS file (note since they are two different processors), wine's got lot of problems since it runs on third party software (experience)

2) patchier so you can distribute keys

3) Its missing setup software,

4) packaging program

Based on comments and tremendous-lot of search*
There is nothing wrong with asking about how to build Linux here. That's completely fine. And several of us have already directed you towards the Linux from Scratch project.

In my previous post I was just making you aware that this is not an OS development forum. Very few, if any members of the active community have any OS development experience.

Also from the things you have mentioned in your previous posts - you seemed to be talking about creating a proprietary/non-free operating system and I have tried to help you as best I can with regards to that too - despite any ethical misgivings I might have about doing so.

I am aware that you are not a native English speaker. And although you have a pretty good grasp of the English language - I do wonder if perhaps there is something that is being lost in translation here, that is causing some kind of misunderstanding between us.

Regarding 'missing' code - again - there are plenty of blanks that are left for you to fill in based on the needs of your project.

Regarding your list of 'missing' features:
1) If you want your OS to be able to natively run proprietary executable formats - it will be up to YOU to create runners for them!

.exe is Microsofts proprietary executable format for Windows. So Windows is the only OS that can run Windows executables completely natively.

ReactOS is an open source Windows clone, based around the NT Kernel but AFAIK, their implementation is not complete - older windows programs will run natively on ReactOS, but they still use the Wine user-space libraries alongside a kernel based on NT and their own implementation of the Windows API.
Other than that, there is Wine.

So if you want your OS to be able to run windows executables, you will either have to:
A: Borrow some code from ReactOS (as long as their license permits it)
B: Use wine in your OS
C: Write your own runner for .exe
- Which would require you to know everything about the windows executable format and you'd have to create/implement your own version of the Windows Kernel and API, or use some kind of translation layer to translate Windows API calls to equivalent API calls used by your OSes kernel - which is basically what Wine does!
D: Run Windows in a virtualised container?

Likewise - for Mac/iOS applications, there is one project I am aware of called Darling which aims to provide a wine-like emulator to allow iOS apps to be ran in Linux. Again - Apple have their own way of doing things that is unique to them. If you want to be able to run Mac applications - that is something that YOU will have to work out how to do. osdev.net is not going to help you with that. That is something that will be specific to YOUR OS! It has nothing to do with general OS development.

2) Patchier / key distribution?
Unless I am misunderstanding what you are talking about here - dealing with license keys is an implementation detail for you to work out for your OS. I've already dealt with this in previous posts, so I'll say no more about it.

3) Setup software? Again, you aren't going to find information about that on OSDev.net. because that is beyond the scope of their website.

Either write your own setup program, or use an existing one!

All Linux distributions have a setup/installer program - they are all open source - why don't you take a look at some of them and see how they are implemented?

4) Packaging program.
By this I assume that you mean something like apt, or rpm? Again, this goes beyond the scope of osdev.net. This is something for you to decide - based on your requirements for your OS.

There are lots of different package formats and package management systems in existence. So whether you use an existing format, or create your own is entirely up to you.

These things are not discussed in the OSDEV wiki because they are implementation details for you to work out yourself. They are not 'missing' at all. Everybody's needs are different.


OSdev.net will show you how to create a bootloader, and tells you the kinds of things to do after your bootloader has loaded. And that's about it. Everything else is left up to you to decide. Whether you decide to use pre-made software or write your own is up to you. How the components of your OS fits together is up to you. If anything is 'missing' then it is left to you to work it out for yourself.

As already mentioned - If you need to know more about how Linux works - try running through the Linux from Scratch project.
Once you understand how a linux distro is put together and how everything works - then perhaps you'll have a bit more of an idea of how to build YOUR OS.

Also, why not join the osdev.net forums and ask about these kinds of things there? Somebody in their community might have some more relevant experience/advice to share.
 

brian byon

New Member
I'd like to create custom operating system, but tutorials here didn't help.

When I say new, I mean a whole new powerful version like iOS, Windows, and so on.

Can someone help me?
People hate those consents they make you sign whenever you use OS, or smartphones, or even monthly updates for devices. It's like they force you to sign or you can't use it... I mean like, we're just trying to use a computer, what is there to sign..., like one of those at the very beginning when you turn on, its just a program or phones, they make you sign like 40+ consents when you're only using 2 devices ( computer, and phone ), #itsannoying #tellusthetruth? It's not like we're going to court or anything!

It is my wish to create more fair, safe, smart, and powerful OS.

Oh sir, there's 5th item.

I mean, can't thank you enough. Let's just hope this works and we all walk away happy and safe! :)

HF coding:)
 
Status
Not open for further replies.

Members online


Top