Changing the OS to make a new one?
Hey guys. For some time now I have had (what I think are) a few great ideas for my own OS. I asked some of my friends that do computer programing if they could help me, but they all said that it is too much work that I should just look at linux. I took their advice and did some googling and found out I can take linux and make my own OS from it.
I have a problem though. I am not a computer programer by any means. I am a graphic designer. My coding knowledge is limited to HTML and CSS coding for websites and such. I mean I can probably sit down and try to learn programing code in my free time, but that would take a long long time, and I am not looking to going back to school for it because I am scared I would just end up failing the classes. (I am 19 years old by the way.)
Do any of you know where I might be able to find someone willing to help me as just a side project? or is there maybe some software that can do code editing and I just tell the program what I want the OS to do? Most of my ideas are User Interface based. I can do all of the graphics and everything for the OS I just need help with coding it to do things.
I was also thinking I might want to do a tablet or phone OS to start with if it would be easier to make. I don't really know anything about linux or where to start, I was just told it would be best to start here instead of making one from scratch. Can you guys recommend any youtube videos that can teach me all about the OS itself and what all it can/can't do? I heard that it has a lot of short comings compaired to other operating systems. or is it just as good as windows and apple?
Sorry about the long post and all the questions, I am just really interested in having my own OS and using linux to help. One last thing, is there a way to code it so I can run Windows programs without using WINE or Crossover?
Thank you for reading and for any advice you can give me!
Comments
-
Hi Zethnos,
Like me (and many others), you are a creative person. We have a good imagionation and a lot of refreshing ideas. Some of them are time consuming and finding the right people get be hard. My answer is not magical, nor it provide a magic unicorn to help you in your quest.
You didn't really describe your ideas, but you might want to just fork an already existing distro and modify it to your taste.
For a reference, you can get a look at Linux from Scratch (duckduck-it for useful links) to begin with. There's a lot of amazing and useful informations on those books.
You may want to PM me to explain your project more in details if you wish to.
Concerning WINE, (please someone, correct me if I'm wrong) I personnaly think it's the best way to emulate windows apps and still get awesome security from Windows malwares, since it emulate the app and not running it directly on the host OS. Sure it's not perfect, but this kind of project is huge and require a lot of efforts.
Hope you find a way to make your dream come to life
0 -
I will send you a message for sure. I will get on Photoshop/illustrator sometime today or tomorrow and make a few pictures of what I want to do. I really wasn't interested in WINE because it can't run my graphic design programs or some of the games I play. My friend says he knows a few programs I can use like crossover that might be able to do that. I'll be more specific in my PM after I make that Photoshop/illustrator picture of my idea. Thank you for your post!0
-
Zethnos wrote:Hey guys. For some time now I have had (what I think are) a few great ideas for my own OS. I asked some of my friends that do computer programing if they could help me, but they all said that it is too much work that I should just look at linux. I took their advice and did some googling and found out I can take linux and make my own OS from it.
I have a problem though. I am not a computer programer by any means. I am a graphic designer. My coding knowledge is limited to HTML and CSS coding for websites and such. I mean I can probably sit down and try to learn programing code in my free time, but that would take a long long time, and I am not looking to going back to school for it because I am scared I would just end up failing the classes. (I am 19 years old by the way.)
Do any of you know where I might be able to find someone willing to help me as just a side project? or is there maybe some software that can do code editing and I just tell the program what I want the OS to do? Most of my ideas are User Interface based. I can do all of the graphics and everything for the OS I just need help with coding it to do things.
I was also thinking I might want to do a tablet or phone OS to start with if it would be easier to make. I don't really know anything about linux or where to start, I was just told it would be best to start here instead of making one from scratch. Can you guys recommend any youtube videos that can teach me all about the OS itself and what all it can/can't do? I heard that it has a lot of short comings compaired to other operating systems. or is it just as good as windows and apple?
Sorry about the long post and all the questions, I am just really interested in having my own OS and using linux to help. One last thing, is there a way to code it so I can run Windows programs without using WINE or Crossover?
Thank you for reading and for any advice you can give me!
Before you pursue creating your own OS, there are some things to consider
1) Do you see a problem that this new OS will fix?
2) Can you allocate the required time needed to learn its programming structure?
3) Is there another Linux distro that functions towards your liking?
4) Can you build and manage your own packages and can you get help when needed?
5) what package format will you be using and what package management program will be in place (very important)
6) Would it be better to contribute to a current GNU/Linux project and negotiate your changes there?
Definitely research question 1. You don't want to recreate an already ongoing project and start a project that does not have a market. Share your ideas first with other linux users and developers. Their feedback will tell you if you have something.
Because you are not familiar with linux, first step will be to learn it. Put it on a desktop,or server, and hack it. Learn as much as you can. Linux is good for development but may not be good for you. First learn to drive the car before learning how to fix it.
You must also be willing to learn a lot of programming. Creating a new OS is no easy task. If you are not sure about your abilities, then you will stop before you get started.
Here is a good site that gives an overview about forking a Linux OS.
http://www.fotiskoutoulakis.com/distro-forking-101/
This will give you an idea of is required to perform this process.
Then browse this site to start learning linux.
http://www.linux.com/learn/new-user-guides
You can also have a look at this site to get you started.
http://www.tldp.org/LDP/sag/html/index.html0 -
@Istimsak Abdulbasir
Thank you for the helpful links. As I mentioned in my post I am not too interested in doing this all by myself. I understand I need to learn about Linux and everything, that is why I came here.
From what I have seen on youtube I really like Linux for things like customization and basic computer things like web browsing. I just am not sure about using it for gaming and graphic design as I do a lot of both. The major thing I was wanting to add was something to make it more windows program friendly.
Quite honestly, if all my games and design programs were made for Linux I wouldn't even use windows because of how cool it looks and how fun it looks to use. I was looking into using crossover as a way of using my windows programs.
When I am done editing how I was wanting to do some UI customization I will post it here to see if you guys know if one already exists like that.0 -
@Zethnos
Linux is cool to use. What makes it cool to me is how modular it is. There is little restrictions on what you can add and remove. It goes beyond changing only the background wallpaper and color theme. You are molding a system to your own. Power really is in the user's hand.
The real power of linux is in development. When you are free to do with your system as you please, you begin thinking what new products the world has yet to see. Machines don't drive computing, software does. If you learn to develop software, the possibilities of what linux can do are almost endless. However, as with all things, everything has its place. If you are trying to make Linux friendly for windows applications, you would be better to stick with windows. Windows, MacOSX and any other closed-sourced systems must release the source-code to their software for FOSS(free open source software). Otherwise you will have to build from scratch a whole new program. Look into developing APIs. This, my friend, is the bridge to all.
Linux is a growing interest in gaming and game development. Personally, an OS gaining desktop value through gaming is a weak argument. The objective of a desktop is productivity. That is how you rate it. Want EXTREME gaming? Buy a game console.
However, the PC gaming industry has now listed Linux as a platform for game compatibility. A PC is a personal computer. Since "PC" is a broad term, it has to include PC based OSes. The market for game developmnet on linux is wide open. They will need more people like you.
I can't wait to see what you have up your sleeves.0 -
@Istimsak Abdulbasir
Well I do depend on my programs like the adobe products for my graphic design work. I could dual screen a VM of linux on my other monitor for other things. If you think that would be a good idea.
OS Ideas
I was wanting to do something similar to the picture below. I was thinking about having the ability to use 4 toolbars on the desktop. Each one can have a tab at the edge to click to expand and close it. With the toolbar thing I want the option to turn on and off as many toolbars in the settings so I can use only the top and bottom or just the bottom and so on without seeing the tabs. I was also wanting to be able to move the "start" button (or whatever it may be for linux) around any toolbar as well as the clock and so on.
I wanted to do something cool with the desktop shortcuts as well. I wanted to be able to group them in a little pod and when you click the pod it expand into a box where it shows a selection of shortcuts. It would also be cool to name the pods as you see in the picture how I named one of them Games. I use many shortcuts sometimes so I would love to be able to organize and group them. It would be cool to also be able to group them like that on the toolbars as well. What do you guys think?
Sorry if the image is too big.
0 -
This is easy to do.
First you want to use a window manager that allows you to customize panels, and add a remove launchers. The three that I know, are XFCE which uses the XFwm, KDE which uses Kwin, GNOME 2.3 that uses metacity, and LXDE that uses openbox.
If you were to use XFCE, you can create panels on all edges of the desktop. Similar to what you have above. You can move launchers(agents that execute program shortcuts) to any location on the panel. You can configure the panels like a dock so you can easily drop programs or other functions on the panel. You can resize them, or, configure them to autohide. When you place the cursor at the edge where the panel sites, it will appear and disappear when you take the cursor off.
You will enjoy a program called cairo-dock. I 3D dock that looks like the dock on a MacOSX system. If you have a powerful GPU, and your linux system supports composing, you can apply a huge list of visually appealing effects. You can also create a short that once clicked, it expands showing other shortcuts placed inside.
http://glx-dock.org/
It is impossible to explain all the possibilities with XFCE.
Now, if you want to really test your metal, have a go with KDE's Kwin. Try not to go too far and beyond.
https://userbase.kde.org/KWin0 -
You can always install Linux on a VM. You can test how the system will function as if it was installed on real hardware. If you have hypervisor extensions support on your CPU, hopefully it is dual-core, you can test all your ideas on that system. It is what we call a virtual sandbox. There is where most prototyping it done.
From me to you, power users like systems that expects the users to decide how it functions. There is no "one-system-fits-all". I have done what you were thinking about on debian based systems. To find what works, you will be testing multiple system before you get to one that speaks your language.
A few places to start.
http://www.linux.com/directory/Distributions/desktop
0 -
I have an old tutorial that shows how I did this same thing on Xubuntu 12.04.
https://www.youtube.com/watch?v=qrSaQChJ70w&index=1&list=PLjKzGLAepus8ob9XGuUKLpsJJqexiymIU
0 -
What is a good version to use for the VM and the editing?0
-
0
-
No I mean Linux version lol I have the latest virtualbox0
-
Haha, sorry.
As a new user to linux, a recommend using something that mimics windows a bit. Start with Linuxmint the Xfce edition. It is light weight, allows you to install and remove programs easily using GUI tools, has codecs that allows you to play music, videos and interact with media on the web. It is backed by a great community who's mission is to create a true desktop linux OS. It is based on ubuntu and uses the same repositories, archive of programs that ubuntu downloads its packages from. It can use the latest open source and closed source programs. It has a beautiful visual expression. You will feel right at home with it. You don't need to do any heavy programming, configuration, or hacking. Linuxmint is Linux done for you. All you have to do, is boot and enjoy.
http://www.linuxmint.com/release.php?id=22
Then when it is time to move on to something more advanced, try debian 7.7.
https://www.debian.org/distrib/
Of course I am suggesting what I use. You don't have to pick them. There are hundreds of Linux distros. They all have a target audience. I cannot and will not learn all 230 Linux distros. I have picked what works for me and that is what I will stick with. If you take my route, I will be with you every step of the way.0 -
Cool thanks. I will check them out in a bit and see what they are like. I'll post back here when I decide. I can't seem to get my PMs to work on here.0
-
Zethnos wrote:Cool thanks. I will check them out in a bit and see what they are like. I'll post back here when I decide. I can't seem to get my PMs to work on here.
What do you mean "PMs". I want to be clear so I am not making the wrong assumptions.0 -
Another thing I want you to look at it Arch Linux:
http://www.linux.com/directory/Distributions/desktop/arch-linux
This system was deigned for linux users who want to learn how a linux system is built and works from the ground up. It shows you everything. Step by step, you are shown how linux is installed on a computer, what happens in the background during installation; booting from bios to mbr, to bootloader to boot partition; packages included with the system and what additional packages that can be added if using internet services; how to configure your system using the command line and text files; how to install packages once the system has been install either through a package manager or using source code.
This will be a great place to learn forking.
Combine the lessons learned from arch to debian and linuxmint, you will become a formidable master of your systems.0 -
Thanks for the help. and by PM I mean Messaging directly to other people.0
Categories
- All Categories
- 218 LFX Mentorship
- 218 LFX Mentorship: Linux Kernel
- 791 Linux Foundation IT Professional Programs
- 353 Cloud Engineer IT Professional Program
- 178 Advanced Cloud Engineer IT Professional Program
- 82 DevOps Engineer IT Professional Program
- 147 Cloud Native Developer IT Professional Program
- 137 Express Training Courses
- 137 Express Courses - Discussion Forum
- 6.2K Training Courses
- 47 LFC110 Class Forum - Discontinued
- 71 LFC131 Class Forum
- 42 LFD102 Class Forum
- 226 LFD103 Class Forum
- 18 LFD110 Class Forum
- 38 LFD121 Class Forum
- 18 LFD133 Class Forum
- 7 LFD134 Class Forum
- 18 LFD137 Class Forum
- 71 LFD201 Class Forum
- 4 LFD210 Class Forum
- 5 LFD210-CN Class Forum
- 2 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum - Discontinued
- 2 LFD233 Class Forum
- 4 LFD237 Class Forum
- 24 LFD254 Class Forum
- 697 LFD259 Class Forum
- 111 LFD272 Class Forum
- 4 LFD272-JP クラス フォーラム
- 12 LFD273 Class Forum
- 148 LFS101 Class Forum
- 1 LFS111 Class Forum
- 3 LFS112 Class Forum
- 2 LFS116 Class Forum
- 4 LFS118 Class Forum
- LFS120 Class Forum
- 7 LFS142 Class Forum
- 5 LFS144 Class Forum
- 4 LFS145 Class Forum
- 2 LFS146 Class Forum
- 3 LFS147 Class Forum
- 1 LFS148 Class Forum
- 15 LFS151 Class Forum
- 2 LFS157 Class Forum
- 29 LFS158 Class Forum
- 7 LFS162 Class Forum
- 2 LFS166 Class Forum
- 4 LFS167 Class Forum
- 3 LFS170 Class Forum
- 2 LFS171 Class Forum
- 3 LFS178 Class Forum
- 3 LFS180 Class Forum
- 2 LFS182 Class Forum
- 5 LFS183 Class Forum
- 31 LFS200 Class Forum
- 737 LFS201 Class Forum - Discontinued
- 3 LFS201-JP クラス フォーラム
- 18 LFS203 Class Forum
- 134 LFS207 Class Forum
- 2 LFS207-DE-Klassenforum
- 1 LFS207-JP クラス フォーラム
- 302 LFS211 Class Forum
- 56 LFS216 Class Forum
- 52 LFS241 Class Forum
- 48 LFS242 Class Forum
- 38 LFS243 Class Forum
- 15 LFS244 Class Forum
- 2 LFS245 Class Forum
- LFS246 Class Forum
- 49 LFS250 Class Forum
- 2 LFS250-JP クラス フォーラム
- 1 LFS251 Class Forum
- 153 LFS253 Class Forum
- 1 LFS254 Class Forum
- 1 LFS255 Class Forum
- 7 LFS256 Class Forum
- 1 LFS257 Class Forum
- 1.3K LFS258 Class Forum
- 10 LFS258-JP クラス フォーラム
- 118 LFS260 Class Forum
- 159 LFS261 Class Forum
- 42 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 24 LFS267 Class Forum
- 22 LFS268 Class Forum
- 30 LFS269 Class Forum
- LFS270 Class Forum
- 202 LFS272 Class Forum
- 2 LFS272-JP クラス フォーラム
- 1 LFS274 Class Forum
- 4 LFS281 Class Forum
- 9 LFW111 Class Forum
- 259 LFW211 Class Forum
- 181 LFW212 Class Forum
- 13 SKF100 Class Forum
- 1 SKF200 Class Forum
- 1 SKF201 Class Forum
- 796 Hardware
- 199 Drivers
- 68 I/O Devices
- 37 Monitors
- 103 Multimedia
- 174 Networking
- 91 Printers & Scanners
- 85 Storage
- 758 Linux Distributions
- 82 Debian
- 67 Fedora
- 17 Linux Mint
- 13 Mageia
- 23 openSUSE
- 148 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 353 Ubuntu
- 468 Linux System Administration
- 39 Cloud Computing
- 71 Command Line/Scripting
- Github systems admin projects
- 93 Linux Security
- 78 Network Management
- 102 System Management
- 47 Web Management
- 63 Mobile Computing
- 18 Android
- 33 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 371 Off Topic
- 114 Introductions
- 174 Small Talk
- 22 Study Material
- 805 Programming and Development
- 303 Kernel Development
- 484 Software Development
- 1.8K Software
- 261 Applications
- 183 Command Line
- 3 Compiling/Installing
- 987 Games
- 317 Installation
- 97 All In Program
- 97 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)