Creating custom MineOS distros

Hey, so you may remember a few months back that I said I wanted to try creating custom distros containing the MineOS UI. I know of a few tools (I haven’t tried them yet though) but I think I’m ready…I just need to know how I would go about generating SSL certs at first run/startup, and if there are any programs that I should probably include (like a list of programs pre-installed on the MineOS ISOs for example); currently I’m going to base it upon Ubuntu (or one of its derivatives, such as Lubuntu…speaking of Lubuntu, there’s a problem getting the UI installed and working on it; installation appears to be fine but there is a problem preventing it from running, the service isn’t registered meaning that service mineos start doesn’t work, and possibly more but we’ll leave that for another post).

I’d highly recommend using supervisord, which is used in the instructions from the wiki–that way, regardless of which Ubuntu version you’re working with, you’ll always have a consistent init program.

mineos-node/generate-sslcert.sh at master · hexparrot/mineos-node · GitHub already does that, so you just need to make it happen on the first boot. Turnkey has a “on very first boot ever” mechanism, but other distros likely don’t, which means you might need to adapt a shell script to check for the existence of the SSL cert and then run the script if it is absent. Presumably this would also make the script run on each boot, but this shouldn’t be a big deal, since 99.99999% of the times it will just pass throuh.

That, I knew however I wanted to have it done the same way it’s done on the ISO;

Maybe before building, I could make a simple script that’ll run to generate the certs, then when it’s done it can call another script externally to disable it so that it doesn’t run on every boot, which I suppose is close enough to the “on very first boot ever” mechanism. So I’ll try that then…the distros will be based on Ubuntu 16.04 LTS, which use supervisord.


The only other thing that I’m looking for are a list of useful packages (like Webmin and GUFW/UFW for example) to also have pre-installed. If/when I get the UI to work on Lubuntu, I’ll mainly be working on that. I would do CLI only distros but for most of the new people they’ll probably see no difference whatsoever, and some new people might like to still have a GUI (at least) to operate with, which tends to make it easier for people to configure the settings they want (like screen timeouts, what the power button does, easier firewall configuration, blah blah) and maybe even play on the same system although I’d never recommend anyone to play on the same system as it defeats the purpose in a way.

Alright so I’ve created a few LiveCDs/ISO files and tested them in a new VM, they work as they should except that I haven’t added the script for generating new SSL certs on first boot (yet) but now I’m looking for deeper ways to customize and make it more of a derivative (to try and avoid any copyright/licensing issues just incase; it seems they don’t have a ToS/ToU/license for Lubuntu, so I’ll just use the one for Ubuntu). I think I’ll start over again from a fresh install and make a few more changes to it, trying to make it a bit cleaner than it already is; the ISOs are ~1GB in size and I might be able to shrink them (I know if I compress the ISO in 7z it may become half the size but at the same time I don’t really want to do that, based on experiences in the past with something non-related…some people would download, be unable to open it, say it doesn’t work, etc).

1 Like

Alright, so I’ve started from scratch (fresh Lubuntu install), removed/purged a bunch of unneeded packages, added a few packages (minimum requirements for Minecraft and the web ui, added the ui, webmin, and gufw), and replaced a few Lubuntu-specific packages. Currently it’s a “stable alpha” meaning it’s an early release with some bugs, however the currently known bugs don’t interfere with the purpose of the OS.


Currently known bugs:

  • Once logged in, you’re unable to logout
  • Power options don’t work (no shutdown, restart, etc; the menus don’t even pop up)
  • CPU Control Utility doesn’t function (fails to start)

The ISO file hasn’t yet been tested (not even a little), so if you’d like to try it out for any reason (make suggestions and/or help development), I suggest using a VM (such as VirtualBox)


Links:
List of all Files (ISO, MD5, SHA256)

Direct Download links for Alpha v0.1 (June 12, 2016)
ISO Filename: JM36_CustOS_ver_LinMineOS-Node_Desktop_[ALPHA-v0.1a]x64.iso
ISO MD5 Filename: JM36_CustOS_ver_LinMineOS-Node_Desktop[ALPHA-v0.1a]x64.iso.md5
ISO SHA256 Filename: JM36_CustOS_ver_LinMineOS-Node_Desktop[ALPHA-v0.1a]_x64.iso.sha256


Again it’s an alpha, should probably only be used in a VM, and the ISO hasn’t been tested yet but if there are any problems using it/getting it to work, just tell me about that here; you should also tell me of any other bugs that may exist, as well as give me suggestions on what else to add/remove (if you know of a way to fix the current bugs, there’s also that).

hi JayMontana36,

i’ll try the .iso.

perfect format for my system.

server is under maintenance (dust) but expect some logs soon (no idea how to fix bugs).

thanks!

EDIT: the VM seems to boot and the asks for login and pw. root seems to be the login the pw…dunno?

also not sure why it goes straight to l/pw but ok, i think will need to install vm-tools to get my ip and such anyway.

Well, there goes another bug I kind of suspected would be there…no auto login since I’ve replaced some Lubuntu-specific parts with generic/stock versions, which seems to have also caused the power option and logout bugs. The username is/should be “jm36-default01” and password “password” so I suppose I should look for another approach to this or another distro…this may take me a few months to properly create but I’m up for that challenge.

noted with thanks JayMontana36.

hella challenge you have there, lol.

Cheers!

tNt

Yeah I can’t figure out what causes some of the bugs, but my original plan was to create pre-built virtualbox images, I only recently tried actually creating a distro which has worked fine in the past, but removing/replacing what might be “proprietary” with the “stock” redistributable versions seems to be what broke it all. None of those bugs (except for the CPU util crashing) occur when I leave those packages stock so maybe I’ll just have to leave those packages while modifying minor parts, all while trying to avoid copyright.

No joy, Jay.

So, loaded ISO into a VM, let it boot. At the end, console shows:

Ubuntu 16,04 LTS jm-default tty1
jm36-default login:_

Imput given log/pw, answer incorrect. Same with several permutations tried. All no joy.

For my setup and including MineOS the first thing I have to do is:

apt-get install open-vm-tool
apt-get update
reboot

This allows for IP Adresses to be issued. No IP adress, no log in to server with MineOS WebUI or other wise.

Good Luck!

tNt

There’s actually supposed to be a GUI, not CLI but I guess you can just scrap it for now, I’ll try it again another time, first I’ll have to verify what I can and can’t keep when it comes to making a custom distro based on Lubuntu (although it is Ubuntu, but most of the things that should be removed aren’t in Lubuntu which is what I’m worried about…I replaced similar packages but that’s about it (that also caused some bugs as stated).

Alright, so the past few days I’ve been looking at different DEs and their configuration/resource usage, and by seeing how easy it is to install them, I kinda feel like I shouldn’t even bother with it, but at the same time I’d like to try using the pre-configured ISOs as a base, then eventually after some experimenting and testing, my own from scratch. @hexparrot do I have permission to do so?

Since MineOS is freely open source, you have the license’s permission to make your own distribution and package in the MineOS webui.

For the sake of distinguishing between the official ISOs and community made ISOs, if you’re able to brand it with your own personal name, it would be appreciated, such as: JM36’s MineOS or JM36’s MineOS-on-Lubuntu or something that clearly differentiates between that and the MineOS Turnkey we want new users to identify. :slight_smile:

1 Like

Alright, thanks; and yeah I’ll give the ISOs a custom name for clarification purposes.


PS @hexparrot I don’t think I’ve expressed this enough, but thank you for MineOS in general, if it wasn’t for you I honestly wouldn’t have explored the world of Linux to learn everything I know about it now (I actually have tried different distros before I found MineOS but I never stuck with them for more than a few days; although they were easy to use, I didn’t really enjoy them as much (being that most the programs I used were Windows only, etc). After a few months of using MineOS, doing research on how to achieve specific things, from installing packages to fixing system problems; even trying to recreate others’ problems and then solve it. Because of you, I’ve made my main OS Linux about a year ago and I love it. I found alternatives for the Windows programs I used to use and they work as good or even better, and then there’s Wine for any Windows program with no good/better alternative, although I still don’t use Wine as much. I also don’t really use Windows much anymore either, except for playing games other than Minecraft (currently there’s only one computer owned by me that has Windows installed on it, and that’s because it’s specific for games but I also use it to do VMs and testing) so again, thanks for MineOS!

2 Likes