Jump to content
Read the Funtoo Newsletter: Summer 2023 ×

Another Stupid Binary Distro Idea


Recommended Posts

OK, before you flame me, I know that Funtoo And Gentoo are "meta" distributions and a binary distro doesn't make sense.   But, I would really like to see a Funtoo based distro that could be installed quickly (binary install, sane defaults, sets up portage, etc).  Once you change anything (USE flags, etc), then access to any binary packages from the distro would be disallowed.  The system should recommend compiling over using binaries for stability.  The main goal is just to get the thing installed so you can get to work.

 

The closest I've seen is Sabayon, but they've embraced systemd and they don't even include gcc by default (even though the installer says it does), and the installer is pretty unfriendly.  I would want to keep OpenRC, and possibly provide for not installing things like Zeitgist unless the user specifically requests it.

 

There are a lot of people upset over systemd, and if there was a binary alternative, I think funtoo would make a good choice.  Just too many people are scared of the long install process.

 

I'd like to do something about pulseaudio, too, but thats another story and another project.

 

Feedback?

 

Link to comment
Share on other sites

It's not a binary distro, but there's work underway to give Funtoo users an alternative to the traditional rolling release that would be more stable.

 

http://forums.funtoo.org/index.php?/topic/105-making-funtoo-more-fun/

 

The problem with a full binary release is that then you have to maintain an installer and a whole array of binary packages.   Maybe a happy medium would be a "Funtoo Live" release that would install a larger core set of packages.  That, combined with what the team is currently cooking up might give many of the benefits of a binary release while remaining Funtoo.

Link to comment
Share on other sites

Yeah, I know what you are saying.  There are millions of packages that could be installed.  I'm thinking more along the lines of a "core set".  The stuff that most people won't tweak much anyway.  You have your system packages (how many people really care which syslog is used?), then Xorg, a desktop (likely binaries for Gnome, KDE, and XFCE), LibreOffice, and Firefox and/or Chromium, maybe Thunderbird and/or Evolution (personally, I don't like Evolution because it seems really slow to open my Inbox).  Basically a set of "default" packages to get people up and running, and let the source handle the rest.

 

So maybe not a full binary release, but a binary installer/Live collection, that once installed, is Funtoo.   But you can get the big stuff installed in an hour rather than a day.

Link to comment
Share on other sites

I'm thinking there are two ways to do this.  A set of common installation types (server, desktop, workstation, etc).  From there I can have customizable package list or not. 

 

Not having a customizable package list means that every package is customized and tested and working, optimized for that type of installation and it doesn't even need an installer ... its just a complete system it slams onto the system at once (not the most flexible, but I expect people to tune things after its installed anyway).  Get it working, tarball it.  Custom packages means I either need a set of USE flags that is common between all installation types or I need to have duplicate packages where there is a difference in types.

 

I'm leaning toward the latter, but the former sounds easier.  Opinions welcome.

Link to comment
Share on other sites

VidaLinux seems to be dead, for about 2 years now.  I'm guessing it used Anaconda as the installer, and I'm thinking that is likely the way to go.  I don't even know if there are other options.

 

Not downloaded the System Rescue CD, but I have the Gentoo LiveCD released back in Aug which I assume is pretty similar.  It seems kinda KDE-heavy and it has some weird bugs that I'm surprised are there.  Hitting the Windows key in Gnome is taking me to another virtual console and I have to switch back with Alt-F7 every time I hit the key.  Of course, this is running in a VM, but Sabayon runs Gnome fine without this bug and runs a bit faster as well.

 

I really like how they've themed the boot-loader.  Its all very pretty.

Link to comment
Share on other sites

Anyone have thoughts on the "bindist" flag.  Apparently, you can't redistribute binary packages with certain features and bindist turns these off - which can remove codecs, branding, and efficiency (in at least one case, it turns off sse optimizations).

 

But, one of the major packages, firefox, is being distributed by Ubuntu with all such name/branding on.  If a big distro like Ubuntu can do it, shouldn't the rest of us?  And how does that work ... whats the difference between compiling it for me, compiling it for my dad, and compiling for you?  This legal crap doesn't make any sense to me.

Link to comment
Share on other sites

Odd - I didn't post that at 8:59.  Its not even that time yet.  I posted that about 3 AM.  Is the site on GMT?

 

I'll end up re-engineering the whole thing from the ground up.  I think it needs to run Funtoo completely just based on the general principle.  Not sure if I'll do a liveCD with installer, or just have it boot to an installer.  Comments on that welcome.

 

As a live CD, if I make all the packages as generic as possible (all the same USE flags for all installs) then I can dynamically create the packages from what's on the liveCD or have an "install everything" option that just copies the whole live system without bothering with packages.  At that point, it may be better to have multiple install CDs for desktop vs server, etc.   But ... thats probably not what people want or expect.  Its more convenient to have a larger CD that can install either, which means the liveCD itself will likely just be based on whatever becomes a minimal "desktop" install.   It definately won't be like the Gentoo one in scope - way too many packages and no one is going to run all that stuff on a DVD.  It will be more like Sabayon's in scope (but without systemd).   In fact, what I really want is Sabayon with no systemd, a "server" option, and install GCC by default.

Link to comment
Share on other sites

Odd - I didn't post that at 8:59.  Its not even that time yet.  I posted that about 3 AM.  Is the site on GMT?

 

I'll end up re-engineering the whole thing from the ground up.  I think it needs to run Funtoo completely just based on the general principle.  Not sure if I'll do a liveCD with installer, or just have it boot to an installer.  Comments on that welcome.

 

As a live CD, if I make all the packages as generic as possible (all the same USE flags for all installs) then I can dynamically create the packages from what's on the liveCD or have an "install everything" option that just copies the whole live system without bothering with packages.  At that point, it may be better to have multiple install CDs for desktop vs server, etc.   But ... thats probably not what people want or expect.  Its more convenient to have a larger CD that can install either, which means the liveCD itself will likely just be based on whatever becomes a minimal "desktop" install.   It definately won't be like the Gentoo one in scope - way too many packages and no one is going to run all that stuff on a DVD.  It will be more like Sabayon's in scope (but without systemd).   In fact, what I really want is Sabayon with no systemd, a "server" option, and install GCC by default.

Why don't you take a look at how sabayon is put together, and maybe even use entropy to manage your binary packages, It has the advantage of being an already known and tested suite, You might be able to use a lot of their stuff for building your project.

PD: I have never used sabayon, I know some people who have, and were pleased with it, so maybe their tools are good.

Link to comment
Share on other sites

The only problem I see here, is that I honestly don't like binary distributions.  Perhaps this thread is mis-named since I'm not really talking about a binary distro, but more of a graphical installer for funtoo.  Then again, its not quite that either, since that would imply giving you all the options funtoo does and letting you select and customize every little thing.  So, I'm shooting for somewhere between the traditional "maintain it all" distro and funtoo's "meta-distro".  It will install things the way I see fit, with plenty of feedback from users as to how to best set things up to meet the needs of the greatest number of people (but no systemd, I'm adamant on that, and no zeitgist without a HUGE warning asking if the user really wants to install such a beast), and then get out of the way and let you use funtoo.  Once it installs, change whatever. Maybe it's a User-Friendly Funtoo, and SysAdmin Friendly Funtoo ... because I have better things to do than tweak USE flags and watch things compile. 

 

Don't get me wrong, Sabayon runs really well, but its clearly a desktop distro.  I wouldn't even call it a "workstation".  Great for replacing my dad's win8 on his notebook (I didn't ask him first so I dual-booted it and he wasn't really using the hard drive for anything - he mainly uses it for web-based email and to view pdfs of car manuals which he keeps on an SD - hasn't booted to Windows since).  The installer is very quirky and they lie about including a C compiler - you have to install it through the GUI package manager.  And anything that installs XBMC and Steam by default (no option not to) can't be considered for servers.  What they do well, I'll copy.    My brother laughs cause I use a USB speaker to install it (it has mp3 features and takes an SD card and functions as a USB storage device in addition to an audio device, so I can blow an image to a microSD and boot the machine off the speaker).

 

Right now, I'm trying to figure out if it should have a liveISO with stuff to do while it installs, or just go for a smaller download and only have an installer, basic tools, and gparted.  Of course, if I dynamically make the packages from whats on the ISO, then you get to use them while they install and you know that what you are running is what will be installed.  I really like the idea, but I want to do separate install targets (desktop, server, etc - different USE flags, different kernels, different default packages), and that wouldn't work well with an "install from live" setup. I'm thinking Anaconda installer with kickstart support and all that  ..Hmm ... I'm envisioning kickstart files that take a list of global USE flags and USE flags per app with an option to sync and rebuild on finish ... all wish list right now.

 

I'm considering pre-installing Gnome Software center or something if it has an emerge back-end that works.  Otherwise, I guess 'ol porthole would work (maybe I'll hack it to support screenshots or something).

Link to comment
Share on other sites

Well, I was actually thinking of modifying Anaconda to call emerge instead of rpm, or maybe Anaconda uses PackageKit and then most of the work will have been done?  (crossing fingers - I haven't looked at the source).  But Anaconda supports both text and graphical installs, although I heard they've stopped supported all but a kickstart install through the text interface.  That leaves me in an annoying position dealing with RedHat's decision, but its either that or try to write a lot of code myself.

 

That script looks interesting, but the author has made some weird choices.  Says pulseaudio was replaced by alsa, but that makes no sense.  Pulseaudio calls alsa, so pulseaudio was simply removed.I'd love to see pulseaudio forked and integrated with jack, but it won't happen any time soon.  I have been able to get them to play nice and I hot plug audio stuff all the time.  And its pretty decent at remembering what applications should use which audio devices.  But, the author of the script then goes and embraces systemd.  Might as well put pulseaudio back in if you do that!

 

cfdisk isn't really an install tool, just a partition tool.  I think for those that need easy, partitioning should be scripted and automatic.  For the server admin guys, they should have a choice of interfaces, but I want to base them on the same underlying tool to keep debugging down.  That leaves me with gparted.  It has a gnome front-end, a kde front-end (KDE Partition Manager), a text/curses front end like cfdisk (nparted), and a python one, all using the same library.  It supports GPT partitions (required for the many EFI-only machines being sold now) and can resize existing partitions (like your old Windows ones).  I resize partitions with it all the time - reboot, select Gnu Parted (debian based distro that just runs that tool) from my grub menu, and resize away.  When I reboot back to my usual linux, everything still works :)  The only thing I need MBR partitions for is if I partition an SD card - my CyanogenMod/Android doesn't seem to like it, which is kinda surprising and I expect that may change if they start using a newer kernel.

 

nparted is basically just like cfdisk, but based on the same code base as gparted.  Do you know if cfdisk supported GPT partition tables?  Or is it just MBR like fdisk?  Fdisk can screw up a GPT partitioned disk and vice versa.  fdisk detects the GPT partition table and tells you to use gparted/gdisk, but then gives you the normal menu and lets you go about your business.  The idiots that don't read the screen and think "it says I'm supposed to type this" will F*&^ up their drive.

 

The link mentioned genkernel-next, which I'd not heard of.   Is it worth dumping genkernel for genkernel-next?  Its a sabayon thing and my gut is telling me that if it ain't broke don't fix it, especially since Sabayon isn't targeting users that would genkernel very often.

Link to comment
Share on other sites

Well, cfdisk doesn't support GPT and nparted is long gone.  This explains why Redhat doesn't support text based installs through Anaconda unless you have a kickstart file automating it.  There is no current partitioning tool that doesn't need a GUI.  I will likely do the same with a command line partitioning option (no gui)  unless someone wants to throw up a quick "dialog" based wrapper around parted (which does support resizing partitions and the like from the command line).

 

Edit: PyParted is just python bindings for libparted, which is what anaconda uses to do its partitioning.

Link to comment
Share on other sites

Ah - cgdisk does indeed work, but you can't resize a partition.  Thats fine for people that are installing funtoo as their only OS, but you won't be able to dual-boot.  I kind of wish it had some sort of "Expert" button in the interface to drop to the gdisk shell.

 

That leaves a split that kinda makes sense, but might be tough to support.  Mainly, text most would use the cfdisk/cgdisk tools and wouldn't support resizing or moving partitions (pretty much required to dual-boot with Windows).  People dual-booting with WIndows would likely prefer a graphical installer anyway, and then you get the parted tools.  Of course, with pyparted adding a button to chop up the Windows partition and resize it before cgdisk runs wouldn't be too hard, but then you still have the cfdisk/cgdisk tools and the parted tools both in control of the system.  I suppose a menu of options would be the best bet with the GUI version simply detecting the Windows partition and asking how much you want to chop off for Linux (with a recommended default).  I suppose both the text and graphical installer could do that if the amount of free space is below a certain threshold.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...