FoxyRoxyLinux - The Background

An overview of FoxyRoxyLinux

FoxyRoxyLinux - The Background

Postby jbv » Sat Jul 14, 2012 2:08 am

Like most things, FoxyRoxyLinux started from a simple desire.

I wanted to build a simple machine to do some things the way I wanted them done.
I thought I'd just grab a version of Linux, chuck it on a box and I'd be done ... Bzzzztttt WRONG!

After a while trying a few different variants of Linux, I hadn't found one that was close to what I thought I would need. Along the way, I stumbled upon one that looked quite promising. Puppy Linux really caught my eye as it had a lot of the key attributes I was looking for and it just worked. However, I started to find it very confusing as they were using their own names for things, and it wasn't very clear. There are also quite a lot of variations, and different versions or flavors of Puppy Linux. Many of these use their own set of names, and words which just makes it even more confusing when you haven't got your head around the first set of names and words.

Even trying to work out what the first set of names and words was can be somewhat of a daunting task. I felt that while the project had started with great ideals, and the original people were still true to their core, for a newbie, it just seemed as though there were to many tracks. I really didn't know which train to jump on, or where it was going to take me, so I moved on. Unless you really understand it, one of the hardest things with Puppy Linux for a newbie or someone just playing, is trying to add stuff to it, especially at the lower-levels which is what I was looking to do. I think Puppy is a great distribution, and it works well. With what I have learned over the last 12 months, I could now probably slap it around to do what I want to do. It could be ideal for you, so if you haven't already done so, I suggest you have a look at it.

After more time spent not getting anywhere, yet with a little more knowledge, I thought I might have another look at Puppy to see if it made more sense. While looking at the forum, I stumbled upon a thread from a longtime user and active participant in the Puppy Community.
If you're interested, this is the thread Pussy: potentially a Puppy with a perfect package manager

The concept was to take a 100% stock-standard Debian Distribution, and make it "Puppy Like"
If you wanted to install any software you could just "apt-get" it from the Debian repositories.
It sounded like exactly what I was looking for, so I downloaded it and had a play.

Pussy was a bit rough around the edges as the builder had really just thrown it together in an attempt to get the attention of other Puppy Developers. Sadly he didn't get any support from the people he was looking to for help. However he did get the attention of a few people, of which I was one. I started poking and prodding at it, and I really got to like it. The deeper I dug, the more I learned, and the more I liked it.

While doing this; I was reminded of how in my opinion, in many ways the main strength of Linux is also it's greatest weakness. There are so many versions of everything, the documentation is usually sparse, terse, and often both. When you do find documentation, you can spend days studying it and trying things only to discover your time has been wasted because the documentation you found or were following was out of date, or did not apply to the version you had. It can get quite frustrating.

It wasn't long until I started to run into issues with the way that Pussy Linux was thrown together. This was understandable as it was never meant to be a mainline distribution. It was a proof of concept, and in this regard it was brilliant. I continued to poke and prod at it, and tried to work with the mainline builder to get an overall structure and some architecture design done. If we could rebuild Pussy from the inside, we would have had a really neat package. Sadly the main architect of Pussy became quite ill and was not able to do any real work on it for quite some time. One thing led to another and when he did return, he had changed his goals and aspirations for Pussy.

By this time, I had already been thinking it might be time for me to take my newly acquired knowledge and see if I could build something similar from scratch myself.

Well, one thing lead to another and here we are.

As for the name of this build, it is sorta-kinda twisted into the heritage or background. I hope those who know and understand will find it cute and funny at the same time. For those who don't know or care, FoxyRoxy has FireFox built-in and uses the ROX desktop, so it still works :)
Posts: 600
Joined: Sat Jul 14, 2012 2:02 am
Location: Sydney, Australia

What is FoxyRoxyLinux

Postby jbv » Sat Jul 14, 2012 4:11 am

FoxyRoxy has been built from what was at the time, the most recent Debian-Live distribution.
At the moment (mid July 2012) it is still the most recent Debian-Live distribution.

Namely, the hybrid Debian 6.0.4 i386 standard ISO
This is usually located <here - click me>

Debian-Live is a distribution that is intended to be run from USB sticks, CD/DVD-ROMs and the like. It can also be loaded onto hard-drives.

It uses a special type of container file and file-system, in a way that all of the executable files and datafiles are held in a single physical file and everything happens from these container files. The container files themselves are just like a common ZIP or ARCHIVE file. Everything is compressed inside of these and decompressed on the fly. With everything being read from these files, you can not actually write back to them, as the container files themselves are read-only. As Linux needs to make many changes to all sorts of files while it is running, Debian-Live uses a technique known as copy-on-write (cow) to let the system "think" it has written to or modified a file. These "cow" changes are usually tracked in a special area that is usually a RAM-disc so unless the changes are saved, they are lost when you turn the power off or restart the computer. If you run Debian-Live or FoxyRoxy from a hard-drive then the changes (cow) can be placed on a special partition or file on the hard-drive so that the changes are not lost at power-off or restart.

This will all be explained in a little more detail later. For now, it is important for you to be aware that this is not a normal type of computer operating system, nor is it what people would consider a standard Linux distribution. It is more like one of the CD/DVD-ROM evaluation distributions, although you can still make significant changes to things and save them, although it may require an additional step.

FoxyRoxy has not removed anything from the Debian Live distribution. It is a 100% clean install of Debian-Live 6.0.4
It has the 486 and 686 kernels. For those with more than 3Gb of RAM - The 686-BigMem kernel has also been built, and is included.

FoxyRoxy has been (is being) built on a mainboard based on a 1.8Ghz Intel Atom D525 quad-core processor with 4Gb of RAM and no hard drives. All development work (if you can call it that) is done using only a single USB stick and the RAM.

It has been tested on a 600Mhz Celeron IBM Netvista Desktop PC with 128Mb of RAM, and a 500Mb swap-file. It is reported to work very well. This testing included running Office type application software, and playing various audio and video multi-media files. Additional testing has been done on numerous machines including netbooks, notebooks and desktops. To date, the only issues encountered have been with audio that requires additional drivers. FoxyRoxy includes drivers for Realtek Intel-HDA support which resolves the audio issues on all of the machines I have access to.
Posts: 600
Joined: Sat Jul 14, 2012 2:02 am
Location: Sydney, Australia

What is final plan for FoxyRoxy

Postby jbv » Sun Jul 15, 2012 1:36 am

Here is where things get interesting. My personal goal is quite probably very different to yours.

My goal and final plan is to build a huge storage box to hold all of my multi-media and be a safe, secure NAS
While I am looking for redundancy and fault-tolerance in the hard drives, I do not want to use a traditional RAID.
This puts me on the outer with most NAS architectures before I even start.

I also want a box that can and will run unattended and can be managed and maintained anywhere from within my network, yet, I would also like to be able to use graphical tools and have a snappy desktop if and when I feel like it. I want the machine to run in as little memory as possible so that it can use what memory it has to serve files and serve them fast. When I use the desktop, I want it to be snappy and responsive and feel like it is running on a high-horsepower machine, but I want the machines to be very low cost as I intend to have a few of them and they must all interlink to back each other up automatically. I don't want anything to reside on the hard disks except for datafiles and I want to be able to remove any single hard drive and read any and all of the files from it. In a total worst case disaster where a drive fails, I want to pull the drive out, drop it into another box and read out what I can. I don't want the system to ever write back to the USB stick unless I tell it to. I also want to be able to take the USB stick and put in any computer and it should just work.

While my personal goals involve a lot of low-level stuff, they also match with saintless who has also been helpful in this journey. Saintless is looking for a similar setup in that his goal is for a lean-mean USB based Linux that can be used on small Notebooks or lower powered computers and provide a full featured desktop with a rich application suite with powerful multi-media capabilities.

The final plan for FoxyRoxy is to build a lean and mean Linux with a pure Debain core, maintain 100% compatibility with Debian-Live and be able to run on machines with 128Mb of RAM. The intent was to also provide a Linux Desktop that would be familiar to people more comfortable with Microsoft Windows Environment and also those who were from a Puppy Linux Environment. No, we are not trying to create a Windows version of Linux. That has been done many times, and probably much better than we could do it. Nor are we attempting to create a Debian for Puppy or Pussy refugees. We looked at all of the existing desktops and more than a few small distributions. Some of these just blew us away, yet they weren't what we were looking for. We looked at all of the Window-Managers, Panels, Trays, and pretty much everything else, although none of them felt as nice to us as what he had. We've ended up taking what we feel are the bits that feel right to us and work. We think we have put them together in a somewhat unique configuration. It won't suit everyone, and it may be far from optimal, but it works for us. If it works for you, great. If it doesn't, then sorry about that, but thanks for looking and stopping by.

The intent is to have FoxyRoxy fully compliant with the standards found at places like The Free Desktop Organisation so that stuff "just works". Other key goals are to properly document:
1) where things live
2) what tweaks have been made
3) how to tweak stuff to make sure it just works
4) What to do after you've installed something (how to slap it into shape)
5) Keep it simple and keep it clean
- Basically, document the architecture so that others can follow the breadcrumbs

Clarity and understanding is a very high priority for FoxyRoxy.
Things should be kept clean and simple for users and developers at all levels of knowledge and experience.

In the quest to ensure that everything in FoxyRoxy was lean and mean, every package and tool was tested before being included. The resources required (memory used) was given serious consideration as was the look and feel the package or program gave. In almost every instance small and fast won provided there was no real loss in functionality. There was not one package or program that was included just because it was being used elsewhere. If we chose to use something where you prefer to use something else, then sorry but that is just the way it is. You are more than welcome and are encouraged to add your must have package. What help we can provide if you need it will depend on a lot of things, although it is hoped that if you need to use something else, it should just work, or you should be able to get it to work without much grief or assistance.

This means that we will not be supporting numerous versions or variations. If you want do derive your own distribution from FoxyRoxy or feel that your "tweaked/hybrid" system is so perfect that others may prefer to use it, and it really should be a distribution in its own right , great, we are happy for you. But, please take it someplace else.

Personally, I will not be focusing on desktop applications.
Nor will I be focusing on Support and making things work that I can not test, or have no interest in.

For FoxyRoxy to be anything other than something I want to use, it will require community support at all levels.
This means that it will require other people to jump in and participate. It means that I will need help from people who are prepared to either learn something and then share the knowledge, or to share the knowledge they already have. This is a big ask for some and many are just not prepared to do it. If you fit into the later, then this is probably not the place for you.

This project will not eat my life, and neither will this Forum.

I have a real job, and a real family.
These are the highest priorities in my life and world.
They always have been, and they always will be.
Sometimes I can spend a little time playing with FoxyRoxy, sometimes I can't.

As a project, FoxyRoxy still has a way to go.
I have quite a bit of low-level stuff to sort out before I start playing with the hard-disks and the whole NAS thing, although (I hope) this is not far off.

At the moment, I can't say for sure what will happen when I attain my final goal. It is unlikely that I will pull the plug and, or just walk away. As I write this, it is quite probable that I will continue to play with FoxyRoxy and always be poking and prodding, although a large part of that decision will depend on what happens here over the next few months.

FoxyRoxy is fun, and also learning experience for me.
Right now, I am happy to play, learn and share.
With the right attitude of others, this will continue.

I sincerely hope that it continues, although what happens from here ... depends upon you.
Posts: 600
Joined: Sat Jul 14, 2012 2:02 am
Location: Sydney, Australia

The Ground Rules

Postby jbv » Sun Jul 15, 2012 2:01 am

Play Nice, Behave, Be Courteous.
No swearing, No wares, No dodgy stuff, No links to wares, dodgy stuff and the like.

Different words mean different things in different parts of the world.
What you think may be offensive or rude, may not be the case elsewhere and/or in context.
You can not expect others to accept your view, if you are not prepared to accept theirs.
Offense can not be given, it can only be taken. Intent means a lot.

The Moderators are always right.

I can and will pull the plug if this goes pear-shaped.

.End of Rules.
Posts: 600
Joined: Sat Jul 14, 2012 2:02 am
Location: Sydney, Australia

Return to The Basics - Please Look in here First

Who is online

Users browsing this forum: No registered users and 1 guest