Welcome to the Linux Foundation Forum!

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

  • Akdom
    Akdom Posts: 5
    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 :)

  • 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!
  • 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.html
  • @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.
  • saqman2060
    saqman2060 Posts: 777
    edited November 2014
    @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.
  • Zethnos
    Zethnos Posts: 10
    edited November 2014
    @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.

    desktop3_zps97a506f7.jpg
  • 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/KWin
  • 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
  • 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

  • What is a good version to use for the VM and the editing?
  • Use the latest VM version 4.3.20 for windows.

    https://www.virtualbox.org/wiki/Downloads
  • No I mean Linux version lol I have the latest virtualbox
  • saqman2060
    saqman2060 Posts: 777
    edited November 2014
    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.
  • 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.
  • 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.
  • 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.
  • Thanks for the help. and by PM I mean Messaging directly to other people.

Categories

Upcoming Training