Pages

Pretensions of objectivity must be left at the door, clothing is optional...

My Poems - My Music - My Paintings - My Serialized Novels

The Wholy Order of The MEEK
An Atheist Pagan Hymn
My first book of Atheist Spirituality
What Canada REALLY NEEDS !!
SG Atlantis and their Unethical BS
Ring of Corruption

"All that is valuable in human society depends upon the opportunity for development accorded the individual."-A. Einstein

"Ain't it funny how the factory doors close, around the time that the school doors close,
around the time that a hundred thousand jail cells open up to greet you, like a Reaper...." -Zack de la Rocha

They say "Sing while you slave!", but I just get bored... -Dylan

"It's NOT a 'War on Drugs'. It's a war on Personal Freedom.Keep that in mind at ALL times" - Bill Hicks

"Opinions are like assholes, everybody has one" - Anon

"I'd get pretty bunged up without my asshole" - C. Taylor

"If you're going to tell people the truth, make them laugh, otherwise they'll kill you" - O. Wilde

"It is likely to excite dissatisfaction against government and incite people to non co-operation..."

Friday, January 30, 2015

Casper Meets a Minty Dhewm with the Yumi GNU Linux OpenGL Ogrekit Blend.....

My personal Linux mission (for another article) is to compile the Linux port of Doom 3 for 64 bit architectures, probably using the Dhem3 fork as it has lower system reqs, which is part of the project's goals. I am going to bring idtech 4 to a stripped down completely moddable port on linux with a complete set of base assets that doesn't require any of the commercial game files but will play them. I am using codeblocks and g++, if you have a better IDE suggestion.

So I embarked on a journey to test the capabilities of Linux as a desktop OS capable of playing open gl games and doing basic stuff.

Like playing mp3's and .mkv's and flacs and evil micro$hit .wmv's

Its been sucky for years, but I test the scene out every 2 years to see if I can work with it yet.

I am fine, as a long time network administrator, with using linux in its bare server state.
I mostly in the past used web consoles for visual expedience, webmin and the like.

About 10 years ago, maybe much more, before DVD's even
=P
came Knoppix Live CD.

It saved many network admins and computer geeks.
Literally.
I could go to a client's place and attend to the hurting unit, and I was almost assured of being able to boot up anything and get the windows stuff off.
Its still a worthy tool that boots up almost any machine.
And will resize a windows partition without damaging it or copy it to another partition intact and you can install a bootloader to fix it.
InsertBootutils is smaller even and just as good.
I believe both are based on a small linux debian kernel.
Knoppix has impressive effects for a 780 meg bootdisk in its current version.
Insert is an ugly tractor at 50 megs.

Then came Ubuntu.
It was 780 megs back in the early days, a few years after Knoppix.
And it had a better handle on multimedia and internet.

Now Ubuntu Live Linux is a big loaf of 1.8 G.
And it doesn't play most media files out of the box
and
it runs like a slow pig.
Its not cool anymore.

Enter Linux Mint.

Yay.
I feel refreshed.
It plays mp3s, has libre office, plays mp4's and wmv's and mkv's
shows jpg's/png's
the Gimp Image editor loads DDS files with a plugin
(you say what?)
I neeeeeeeed DDS.

So I'm happy with mint.
It plays anything pretty much, surfs ok, especially if you use Midori instead of Ffox.
Blender installs which has Idtech4/Doom3/UDK/Valve import/export.

I suggest the following few programs to your minty linux experience.
Always add Gparted if your distro doesn't include it.
Midori is a lighweight browser that doesn't choke on those facebook ads
Xfe File Browser is faster than the default one and more versatile

If xfe doesn't work use Double Commander gtk or qt version

MyPaint + The Gimp + Inkscape is a complicated but complete set of art and design tools.
Blue Griffon and SeaMonkey need to be extracted and run from your user folder by hand but I found them preferable to Bluefish. Off course, if you install Apache/Mysql/PHP and maybe python/perl as well, you have a LAMP server.
Type localhost un your browser to test it, use phpmyadmin in the settings to check your php and mysql install. Type perl at a terminal and you should need to crtl-z out of the perl prompt.

Screenshot from 2015-01-28 03_54_53
Filezilla has a queu. PureFTP is easy to use with pureadmin.
Together they let any linux boxes transfer files to each other.

Celestia has a gnome version that works in Mint.
Blender + Gamekit, Meshlab, mm3d, makehuman are stable and completely useable. Python is autoinstalled with MH and Blender.

3

Doom 3 runs. But that's a long story in another article.

I have personally tried the commercial products Mudbox, Maya, Mari, and Modo in both the xfce and cinammon versons of Mint 17.1 and they where highly polished and responsive. No glitches.

Xnview kicks every single linux image browser's butt and
OMG
They just made a .deb with a 64 bit version as well.
Sweet.
Hand install it and browse your pictures comfortably for a change.

For music there is Banshee or you can add Rhythmbox and GTKpod.
One if them will get your ipod running.

If you make music,
LMMS+Rosegarden+Muse+Audacity+Composite+Hydrogen+Fluid+Jack2 = happy.
Add some basic downloaded soundfonts or samples and you'll cream yourself.
Becasue its FREE.
And it actually works.
Screenshot from 2015-01-29 06_35_29

------

So back to the base Live Linux OS...

Perhaps you do not get the idea of Live Linux.
Let me explain.
I do it well.

Linux Mint/Knoppix/Ubuntu are Live Linux disks
that allow you to install linux on a hard drive,
but also will run Linux from the DVD/CD/USB Flash drive/SD card

or other bootable device that your or your friends computer bios can read.

Most machines can read the above and have been able to for more than 10 years.

In the old days, waaaaay back der yung 'un's
yup
way back then that was it.
It was the $hit.
It was useful.

A machine with a wratched os but the drive was working would boot up to the cd and instead of a text recovery console there was a desktop, file browser, unzipper, internet browser, etc. Running from the ram of the machine.

More than a decade later the geeks and miniaturization of memory devices has made portable linux with a desktop a science.

Now we have Casper-RW,
the friendly file based read-write filesystem overlay.
Say that fast.

Casper is a bunch of space used on your key that you can't see from the windows machines. It holds the desktop icons, your home folder, and any applications and settings you've added to the filesystem of the live linux that the casper is linked to.

Before, ubuntu and knoppix were not writeable.

The desktop was always the generic one and adding applications didn't work.

Because we didn't have keys then, we had optical media.
Now we can overlay one filesystem onto another

Casper is a big file. Lets say 1-4 G on your flash drive.
When you install a live linux onto a flash drive it will, nowadys, if it is a debian based system (which ubuntu and mint are) it will ask you to specify the size of casper.
It can't be over 4G on a fat32 partition. If I install a full loadout of every programming, art, music application and my pictures and docs I end up with about 1.8 G used of Casper and about 2 G free.
I also have 3 different caspers I can swap out with 3 different configurations of the same live linux on the key. Just rename them! Or zip them up.

Its a versatile system.

It says “what size of PERSISTENT file would you like” during live install or you use the slider in Yumi to set casper's size.


It doesn't matter if you screw up Casper's size at install,

you can delete it if it gets screwed

and build a blank one with PDL-Casper-RW-Creator.

Your original linux installation on the usb drive is never damaged

by anything you do inside of the running os,

only the casper-rw persistent files contents are changed

and those changes are overlaid onto the original filesystem at boot.

An excellent way to check out Live Linux Distros (as they are called) is to make a MULTIBOOT usblinux key. There are a number of tools for the experienced user. Unetbootin, Rufus, Universal Usb Creator, etc. I like Yumi from pendrivelinux, where they are into this stuff.

Currently Yumi uses syslinux and chainloads Grub.
As a GEEK, I eagerly await the next version of this nifty tool, since Grub2 now loads disk iso's directly instead of using the syslinux->grub chain. Its better. Take my word for it.

So you get Yumi. You download 2-3 differentlinux distros. A good plan is to have a 32 bit and a 64 bit if you are travelling and want to use any machine you encounter. Otherwise choose the distro that matches your computer, ie: multicore 64 bit or older pentium4 32 bit.

For example I will say:
linuxmint-17.1-cinnamon-64bit.iso
KNOPPIX_V7.2.0CD-2013-06-16-EN.iso
linuxmint-17.1-xfce-64bit.iso

are the 3 we will load in order into Yumi.

So we take our key, let's say it's an 8G key.
We format it with the right click-> format in windows
We run Yumi. Point it to the key.
Choose the first distribution as linux mint and browse to the iso that you downloaded
Yumi builds a boot loader on the drive and formats the MBR (master boot record)to make the key bootable then it copies the linux mint iso to a folder on the drive, as is (you can even burn a disk from it its a straight copy)and pulls a copy of the linux bootloader and kernel from the iso and puts them beside it. It then makes a boot menu entry in syslinux.cfg on the root of the usb key which it has conveniently formatted as fat32 so you can peruse it on a windows machine.

Continue and add the other two distros but knoppix you have a second option which is to not choose knoppix from the drop down but choose “unidentified grub install” and it will copy the iso like the cinammon and xfce mint distros, otherwise it will extract it all and make a filesystem because of Knoppix's bootloader, which isn't a bad thing, but I like the iso, it is a reuseable file.

Give each of the mint distros at least 1G of the space.

Now you can boot a computer to any of the 3 distros without using the hard drive in the computer.
Like if you don't have the password, or the drive is virused or something.

When you boot to a different device than the hard drive you usually will have to go into the BIOS.
When the computer starts you usually hit del or f2 to get the BIOS setup or on some machines you press f12 to change the “boot order”. You want the boot menu, boot to the key, it may appear as a hard drive, a key, or as hdd-zip or hdd-cd depending on your bios.

You should get a menu with 2 linux mints one xfce, one cinammon rebecca, then an otion to boot to the windows partition or mac partition, and then a “other grub” blah blah for the knoppix.
Playing around with syslinux.cfg and the yumi.png can get you the results of a custom menu if you are so inclined.

I have personally booted a computer into live linux that I installed onto the drive partition side of an ipod nano. I booted the computer up from the nano. Getting that partition off the nano was another story, but I did it.
I was, BTW, also able to surf the net, load rythmnbox, get the nano songs into rythmnbox, add songs to the nano and update the song information and album art for the 6 gigs of music on the nano which didn't have covers. And the nano recharged while I did all this to it from a machine booted into linux from the nano itself. It was "fun". From a geek perspective.

Now.
For advanced users,
if you don't add anything xfce specific to the live usb software, you can install most applications in one of the mints, delete the other mints casper rw file, and edit syslinux.cfg so that the path of both the cinammon and xfce mint and even an ubuntu can all share the same single casper rw. If you just use the base install for music, internet and documents and don't even add any progs the 3 live linux's can be used back and forth and have the same files accesible. Most of the casper file is the home directory.
I did this. It was good for trying them out.

If you use one distro more you can delete the casper-rw from the other distro folder and even the iso as well to save space later. Or back it up and swap it in later.
You can MOVE casper.

Just change the path = setting in the syslinux.cfg and /menu/linux.cfg under the MULTIBOOT folder on a yumi disk.

In the end I choose one and still leave yumi on, in fact, you can leave everything in the distro folder that yumi creates and just delete the casper and iso files specifically.
Leave yumi and pdl casper creator in the root of the key, Then if you want to try that distro again or you don't need the free space you can plunk the iso back anytime and just make a new blank casper for it and it runs again.

Mp3's work best in the root of the key in a folder so all the distros can access them by mounting that folder.

have fun with casper and mint
and remember
if it gets crummy
blow casper away and make a new one
after backing up your files of course...

-------
PART 2 – Synaptic's lameness is our doom.

I can't stand Apt.
I really can't.
In network administration, the idea of 200-2000+ user machines all downloading updates from micro$hit or a linux repo is completely ridiculous. It can be 2 G+ per machine. That's too much redundant data burning up bandwidth and productivity.

Most organizations lock and block user updates and have set times where the Disk Partition of the os is actually reimaged. User files are mounted on servers. They may have a central update server set that has the updates that have gone through a Change Management assessment.

Otherwise a whole organization can be crippled for 2-3 days by a single update that seems like a good idea to the package or update maintainers, but for some reason or another it breaks a crucial component of the company's workflow.

Another reason prevalent in Games/Film/TV/media is Asset Management and IP protection.
Machines that are in production working on secret projects are not usually online.
They might have an http gateway if they are lucky, and be able to do basic surfing, but email and other ports are centralized for Intellectual Property security.

So it is good practice to learn how to build your linux box with no network.
Unfortunately, until you roll your own linux, it will always come with some crap you don't ever use or need, and then you will add crap, learn that you don't need it, and then eventually come to a set of programs that you consistently use and that are stable for production.

Once you have decided and set out your software, you don't want to have to redownload all of it to make a second machine go with the same applications. That's what Micro$hit does, unless you use ctupdate and build an offline tech iso.

On linux, you might have to reboot once to install 500+ packages. Comparably I installed and updated my cousin's vista machine and it rebooted no less than 15 times and locked up 3 times. That took 3 DAYS. Installing Mint from live usb and updating with the following procedure took 1.5 hours.

Of course, that was after 15 days of trial and error.
So learn, young Paduwan...

On Mint, I can install from the usb. Copy my package set to /var/apt/cache. Point my Synaptic package manager to the folder on the usb, and install ALL of my main programs (500+ pkgs) and utilities, while still doing other stuff on another workspace. The reboot is only necessary to jiggle a couple x11 updates and the initrd update.

/var/cache/apt/archives is the spot to place the packages, and you have to be Root to copy them.

This is the technique for offline package set installation on a debian machine (ubuntu/mint/debian/etc.) running synaptic package manager:

if you want to download programs onto a key for offline machines with linux to install them on
save a download script from the offline machines synaptic package manager after selecting the things you want to install.

You can begin from the usb live boot up, or from a linux freshy installed on the hard drive. They should be “nearly” identical. Not totally but nearly, I don't know why.

boot into the live linux or the HD install and open Synaptic Package Manager.

Select the programs you need or want, start with the basics.
You can make more than one download set.
for mint xfce:
type xfce in the filter
choose all the xfce extras, extra xfe icons and utilities, and specialized xfce programs.
Add ristretto

Other distributions you would not select the xfce, but you might choose all the other extras, like ubuntu and gnome extras for gnome.

Next
if you are a web designer
choose Apache 2, then php5, then Mysql Server and Client then phpmyadmin
optionally choose python and perl main starred packages.

At this point I actually save a dl script from file-> save download script
I put that file on my key where I am going to download the packages to on the computer that has internet.

Continue. Add all the following if you can. They are all cool.

Blender, Meshlab, mm3d, makehuman,
OpenShot Video Editor and the Frei0r plugin set, VLC
celestia (gnome) (mint can run gnome apps)
inkscape, mypaint, pencil, sozi, gimp-gap
midori
Gparted

Xfe File Browser, Double Commander gtk or qt version

Filezilla, PureFTP/pureadmin.
Rhythmbox, GTKpod
LMMS+Rosegarden+Muse+Audacity+Composite+Hydrogen+Fluid+Jack2 (include fluid soundfonts)
I add the xscreensaver and all the OpenGL screensaver hacks. I don't add the xscreensaver extras because they are boring. I actually deselect all non OGL screensavers as soon as I have it installed. I like the engine and the chemical molecular visualization one.

Keep going.
Fill your boots.

Now, you've selected everything.
Don't hit apply, you are doing this from the offline machine.

At this point I should explain,
perhaps I should have explained earlier, but only someone with the tenacity to read this far is worthy anywayz.

Ahem.

So linux has these things called Kernels which your lovely OS pops out of at the start.
The kernel is the engine, and the dual/multi core 64 bit machines need a different kernel than the older pentium 4's do. Same for the video card and network devices and extra storage devices on the machine or any other specialized hardware.

Some distributions have both kernels and a second set of appz designed for the 64 bit architecture, like the file management and 3d apps which need the extra math.
Most programs will run 32 bit inside 64 bit, but file operations and advanced math for visualizations are much faster with the extra bits.

That's why you HAVE to run Synaptic on the machine you are going to build on later or one just like it.
Once you have the packages most of them will work on similiar machines, they don't have to be identical, but the processor type must be the same. Or you will get the wrong packages.

so.
Everything is selected.
It says you want to install 400+packages and you are getting worried.
Just don't hit apply.
Go Edit->Fix Broken packages and then select custom filters->broken on the left

if there are any red ones keep unmarking them
click fix broken packages until it says “successfully fixed dependency problems”
Maybe you can't install those things. There shouldn't be many.

Now go to File -> save download script and save it to the key.

Make a folder for the packages on the key.

The machine you go to download the files from has to be a LINUX machine or it has to allow you to boot it into your Live Linux installation so you can use a terminal and the wget commands in the script to retrieve the files from the various repositories where they are stored. Synaptic has marked it for you, but a windows machine wil not allow you to run wget from a terminal.

So now you are at the machine that you are going to download. It is linux or you have booted from your key made with yumi.

The machine you are on the net with could have a completely different architecture than the one you are downloading the packages for. So you cannot use Synaptic to get them or Apt-get. Which you normally would do and which Big Brother loves. Watching everybody get what they get and all.

But you have your tiny little download script or 2 or 3, and you have a folder with almost 2G of space.

Open up the key in the file explorer of your choice. Right click the download scripts and choose “open in Text Editor”. If there is just one go to the next step, if you have a couple, copy them all to one text file, with only one #!/bin/sh/ line at the top, so just select the second line until the end on the additional scripts.

You will have this
#!/bin/sh

wget -c http://archive.ubuntu.com/ubuntu/pool/universe/libx/libxfce4util/libxfce4util-common_4.10.1-1ubuntu1_all.deb

wget -c http://archive.ubuntu.com/ubuntu/pool/universe/libx/libxfce4util/libxfce4util6_4.10.1-1ubuntu1_amd64.deb

wget -c http://archive.ubuntu.com/ubuntu/pool/universe/libx/libxfce4ui/libxfce4ui-common_4.11.1-2ubuntu1_all.deb

wget -c http://archive.ubuntu.com/ubuntu/pool/universe/x/xmorph/libmorph_20090926_amd64.deb
---
---
-- and on and on....
It doesn't matter if there are duplicates, but do a search for the word “cdrom://” and delete those lines.
There shouldn't be any but there might be. You will have to find those two files on the cdrom if there are but there shouldn't be those lines for 90% of people using this procedure.

Now.

Right click on the folder that you are going to download the files into, or right click into the white area inside of that folder to do the same and “open in terminal” or get to the folder by bashing the terminal yourself with cd and ls and pwd.

So you have a terminal with the folder name before the prompt,

showing you what is the working directory for the next operations you are going to perform in the terminal.

Copy all of the text from the final download script crtl-a then crtl-c
Go back to the terminal and paste the script in. Right-click paste or crtl-v
or middle click

Wget should start pulling the files from the repositories and putting them in your folder, which should start filling up with files.

You can select half of the files or the lower third in the text files and paste them into another terminal opened from the same folder and get 2-3 wget streams going.

Any files already downloaded get skipped. You might have to press enter once at the end of the list to send the last file unless you put a enter at the end of the text before copying.

Afterwards I repaste the whole script into the terminal again and it will whip past anything already downloaded and catch one or two stray files that were incomplete or the server timed out.

Unfortunately for you, you will probably have to go back to the download machine at least once, because synaptic doesn't mark everything and you will not be able to get your final small download list of dependencies until after you apply the main set.

Still, you probably have 600+ packages in that folder and it will mostly install in a flash.

Go to the offline computer with your folder of .deb pkgs on your key.

Open /var/apt/cache/ as Root.
Copy the contents of your download session into the cache.

Open Synaptic and choose File->Add downloaded packages
Choose the folder on the key not the apt folder

We have to do this because even though you downloaded the packages,

Synaptic will ignore a lot of them and try to go to the internet!

Disconnect your network connection in the lower right of the panel by the clock so it will cease trying faster.
Because you have all the files in the pkg folder in the cache folder, Synaptic pulls ones it is stuck on from the Apt cache.

FYI the apt cache is in /var because it VARIES in size like other temporary stuff.
/var/www is your apache root for the web designer in you.

If there are any broken dependencies unmark them, but there shouldn't be many.

Apply to install. It should take 20 minutes. When it is done, close Synaptic, open it, and repeat this process. You might have to do it 3 times, and if you installed things like screensavers and login themes Apply the downloaded folder again after one reboot to get any strays.

Everything should be working at this point.
If it is unable to download a few last things,
SAVE a download script on the key. These are the last bits.
unmark and even uninstall anything that fix broken dependencies won't fix.

Your machine should be running smoothly with updates/programs/additional stuff and less than 2 hours has elapsed.

Go back to the other machine and repeat the wget process with the last few dependencies INTO THE SAME PKG folder. IT won't redownload anything, but one of the files might be a partial and it will fix it.

Go back to the offline computer.
You should at this point have your final complete set of packages with all dependencies.
Overwrite the files in var/apt/cache/ in case one was incomplete.

Again, the pkg folder on the key and the apt cache are the same, apply from the downloaded folder and the last few programs that were missing a dependency should be installed.

Now you can delete the 2G of .deb packages from /var/apt/cache leaving the file called "LOCK" alone. You can archive your packages folder off the key. Or leave them for the next install on a similiar machine.

Whew.
It works.
If you ever botch the machine, with the base install and this one folder you took the time to create, you can install and fully upgrade/customize your debian distro in less than 2 hours, with everything running perfectly.

In another article I will explain how to bake a final installation into a custom live usb disk, by merging casper with the iso filesystem. That's going to be a long one.
=P

Unfortunately, if you have a 64 bit machine and you are a programmer, you are in for more fun, since the Ubuntu based distro's have a broken g++ chain and you have to install your c++ compiler and dev headers by hand.

Obviously,

if you did not understand that

it will be...
OK.

Enjoy your Mint.