How I Booted a Frugal Install of Puppy Linux Via Grub2

How I Booted A Frugal Install of Puppy Linux Via Grub2

A Free Puppy Linux E-Booklet by L. Lucas

[The below link should allow you to download this e-booklet as .pdf]

Download this e-booklet as pdf:

https://lectriclucas.files.wordpress.com/2014/09/how-i-booted-a-frugal-install-of-puppy-linux-via-grub2-26sept14.pdf

[This article of mine has been re-located to this page, from its original location on my Homepage.

If you are just interested in the frugal boot of Puppy for right now, and are already familiar with the basics of booting Puppy, I guess it’d be safe to skip-down to about “Entry-14-B”, below.  But as with any instructions, it’s better if you can make yourself read it all, to get a fuller understanding.

This article was never intended as a “4-color glossy”.  When time permits, I will edit-in a “condensation” section, with screenshots.

Most recent edit is Sept. 2014, with some updates. –L.L. ]

It is my wish to post what I did, in order to boot a frugal install of Puppy Linux, using my Ubuntu 10.04′s Grub 2 as Masterbootloader, in the spirit of helping others.

This article is conditional, in that its scope is limited (mostly) to only what I did on my best laptop to make this happen. [I have also made it work on 2 other of my computers.] The scenario is: A) I have already installed Ubuntu or Linux Mint to my computer, and am using its GNU Grub 2 as my Masterbootloader [“MBR bootloader”], so I can boot into either Windows OR Ubuntu [the classic “dual boot” arrangement]. And B), I intend to create another partition on my harddrive, just to use to boot Puppy as a frugal install. [In the realm of the Puppies-Linux, this form of frugal-booting is often called “booting Puppy from a * dedicated * partition”.] Using a dedicated partition is the method I chose, and I find it easy and simple [at least for * me *]. There are other boot scenarios people use for a frugal install of Puppy Linux. My article here covers the dedicated partition method.

I have created a FAT 32 partition as the dedicated Puppy partition every time I’ve done this, and it has been fine. FAT 16 may actually be easier to boot from; frankly, if one volume format doesn’t yield usable results, one could try the other.

When Googling for info on this, one may consider that the Knoppix folks use the term “P.M.I. Install” for this type of booting. [“P.M.I. install = “Poor Man’s Install”.] Why “frugal” and “poor”? Because one is stopping at copying the .iso image to the target location on the harddrive—NOT booting DVD or thumb-key a’ la Ubuntu or Fedora, and then using the onboard installer to de-compress the .iso and then copy it as * un-compressed * to a partition on the harddrive.  This latter–a partition on the harddrive–Ubuntu’s Ubiquity installer will create that * for * us, when we choose the dual-boot option. When we want to add a frugal install of Puppy Linux or some other distro to this hard-disk arrangement, we will need to use G-Parted or similar Disk-Manager to carve-out another partition.  [Actually, there is an alternative to needing an additional partition for this to work:  but it is beyond the scope of this document for now.]  This partition can be relatively small [I counsel about 6 Gb., but you could use as little as 300Mb. if you don’t also intend on using this same partition as a persistence-location (see below).]  So it’s “poor” and “frugal” because the still compressed .iso file takes up * way ** less * space than a “real install” would. When one installs Ubuntu, its installer program [Ubiquity] will normally create a * full * type of install, and this will require about 2.5 Giga-bytes [Gb.] of harddrive space, minimum.  A “frugal” install, on the other hand, requires only about 800 Mega-bytes [Mb.] or so for Ubuntu, and much less for most versions of puppy Linux [as Puppy Linux is smaller to begin-with].

For example, a “normal” install of Ubuntu or Fedora needs a minimum harddrive space [“disk space”] of about 2.5 Gb., and Linux Mint may require more than that.  Realistically, these mainline Linux-based desktop operating systems require considerably more than 2.5 Gb., if you’re really going to use one as a daily desktop.  If you did this [a frugal install] with Ubuntu, it’d be like running Ubuntu from a live cd or USB thumb. [Some people * do *–by the way–install and boot Ubuntu as a frugal install.  But again, that subject is beyond the scope of this article.]  Puppy Linux, on the other hand, is NOT like Ubuntu, Fedora, Slackware, et al: Puppy Linux was intended to run exclusively as a still-compressed os. In this regard, Puppy keeps company with only a few other Linux distros; the one that leaps most prominently to my mind is KNOPPIX, which has always been intended to operate as a compressed-image live-filesystem. [a.k.a. “live system image”]. The reason for this in Knoppix was so that troubleshooters/repair-personnel could use Knoppix to repair a downed Windows XP/2000/98/etc. without needing to create a bootable partition on the machine’s harddrive just to install the Linux distro as a recovery tool.  So KNOPPIX, traditionally, has been run from external media–such as a cd/DVD.  Which means running as a compressed software-stack.

Where it comes to Puppy Linux, Puppy is made this way for a different reason(s): It’s so that Puppy can be small enough to operate wholly from the computer’s RAM; this means that Puppy Linux does NOT need to rely on the harddrive, and so 1) causes performance to be even faster than “normal Linux” [a’ la Ubuntu or Fedora], and 2) will often eliminate “dual-boot headache”, which is a phenomenon some computers have when they have both Linux and Windows installed on the harddrive. In our case, we only will be using the computer’s harddrive as a “boot medium”. So once Puppy’s boot-time is finished, it will probably be as though this Linux is not present on the harddrive at all.

It * is * possible to install Puppy as a “FULL” install, using Puppy’s onboard installer [the PUI (Puppy Universal Installer)]; but I’d have to think this’d be for some * special * circumstances/use-scenario.

For our work here, we will be using the PUI [Puppy Universal Installer], which is a GUI, point-and-click onboard installer, and it is pretty “newbie-friendly”. We won’t have to do very much scary command-line stuff.

IMPORTANT CAVEAT:  The BIOS of some machines (mostly older ones) MAY NOT have the ability to boot from DVD—some older machines will boot from cd only.  And sometimes this is because of the cd-tray itself—or BOTH the cd-tray AND the BIOS don’t support booting from DVD, but can boot from a cd.  Also, the BIOS of some machines (especially older ones) does not have the option to boot from their USB hardware port/software interfacing.  This can be overcome by learning to make a special type of “boot-helper cd”.  You could look at the file “l boot from usb when bios is not able” [when I get it posted], or research Plop Boot Manager online.  Google the issue if it crops-up for you.  Sometimes this lack of USB-connection bootability can be remedied by just updating the BIOS’ firmware (the miniature operating system that drives BIOS).  This is sometimes referred-to as “re-flashing the BIOS”.  Better let a professional tackle this one, unless you’re already WELL on your way to being a hardware tech professional.  If a BIOS re-flash procedure doesn’t come off right, the machine will probably not be able to boot anything again, until-and-unless it is straightened-out.

The terms “noob” and “newbie” are not disparaging or condescending: * I * am a newbie—a “newbie” is just a person who is “new to the experience in question”. What is in question here is a frugal install of the Puppy distribution of Linux-based desktop operating system, copied onto a FAT 32 partition that one has made just for this dedicated purpose, and to be booted with GNU Grub 2 (Grub 1.98).

I created my FAT 32 “frugal target partition” with G-Parted, which is a pretty easy-to-use point-and-click disk partitioner app, and which is installable to most any Linux environment if  not already present. NOTE that when one installs Ubuntu to a computer, G-Parted does not install with the rest of the normal apps—even though G-Parted is always available when we boot Ubuntu as a live cd or live USB key.  So you might want to open the Software Center in your Ubuntu install, and install G-parted.  BUT REALLY, this would be of limited use anyhow, as no Disk-manager in Linux can re-size or work on its own partition.  For that, you need to run G-parted from another disk–like a cd or DVD.  So the simplest way to create our frugal install partition is just to boot up our live cd of Ubuntu, that we used back when we installed Ubuntu to our harddrive.  Most any Linux live cd, DVD, or live USB thumb-key will contain a copy of G-Parted, and will work for our purposes here.  Ubuntu, Linux Mint, KNOPPIX, Fedora, etc. THE EXCEPTION is Puppy Linux itself:  No disrepect to Mr. Kauler–indeed, Barry Kauler is arguably desktop Linux’s hardest working programmer–BUT I have to say I was unable to get G-Parted to do its thing form the Puppy live cd.

As no one method may be effective for all, I wanted to post this article in the interest of those whose systems seem unable to realize a frugal boot of Puppy by other means.

I am making this particular document available for public consumption, under the Creative Commons Attribution-ShareAlike 3.0 Unported License. You are free to re-distribute, possess, add-to, and otherwise propagate this document, under the terms of the Creative Commons Attribution-ShareAlike 3.0 Unported License. Other documents/pages featured on L. Lucas blog, materials, or other outlets, may be subject to other licensing-schemes.

The steps here are accomplished without the use of one of those “nasty” NON-GUI text editors, like nano (though that one’s actually pretty easy), or heaven forbid the noob-devouring vi Terminal-based text-editor. I only had to use g-edit (very similar to Windows’ * Notepad *). Remember that g-edit is * tabbed *–just like when you use tabbed browsing in Firefox. So you can have two or more txt documents open at the same time—they’ll just be in different tabs along the top. Closing one should NOT also close the other ones, and you can switch back-and-forth. And when you launch a new text document, it usually just launches in a new tab if g-edit was already open [unless you’re using Linux Mint or some distro that’s set to open a new instance of g-edit].  However g-edit is set to behave in your particular environment, it’s probably perfectly safe to use on your files.

Sorry if I’m too long; I guess I wrote this for my fellow noobs—those of us who’re NOT computer-nerds by vocation, and so are having trouble with this. Read it over a couple cups of coffee, on a rainy afternoon. Even if it does not work for you as intended, you may yet be surprised at what one can learn from the text below.

I have tried to be as explicit as possible.

IF YOU’D LIKE TO JUST CUT-TO-THE-CHASE, AND JUST HAVE YOUR QUESTIONS AS TO HOW TO BOOT A FRUGAL/P.M.I. INSTALL OF PUPPY LINUX * FROM * GRUB * 2 * ANSWERED, I guess you could scroll-down to entry-16, at about page 13 or so.

BUT IT COULD BE WISE TO READ THIS ENTIRE ARTICLE, JUST TO MAKE SURE YOU AND I ARE “ON THE SAME PAGE”, so to speak.

SOME LINKS:

Perhaps better than the Grub 2 manual—if this article fails you, is

https://help.ubuntu.com/community/Grub2

SPECIFICALLY LOOK AT THE SECTION OF THIS WEBPAGE ABOUT “CUSTOM MENU ENTRIES”, if you visit it.

http://maketecheasier.com/mastering-grub-2-the-easy-way/2009/11/19 is also a good “mini-manual”, and tells how to do a lot of this with point-and-click.

A good forum thread is at:

http://www.murga-linux.com/puppy/viewtopic.php?t=54210

The venerable “Grub From The Ground-Up” web article seems to refer to Grub legacy: however, it can be worth reading, as the two versions of Grub are arguably more similar than they are different (from the point-of-view of us ordinary end-users), and it therefore contains a great deal of info as to how Grub works generally, and is surprisingly brief, and written for the layman. http://www.troubleshooters.com/linux/grub/grub.htm

I will add right here that there is a script available from SourceForge.net that one can run (if he is knowledgeable enough to do it safely) that will report back all the boot information it can find—even on a multi-boot/multi-os system containing a copy/copies of Windows as well as various Linux.

The Link is:

http://sourceforge.net/projects/bootinfoscript/

also

http://bootinfoscript.sourceforge.net/

Which I found at the [unfinished] thread

http://www.linuxquestions.org/questions/suse-novell-60/grub-boot-loader-file-not-found-error-15-a-837660/

however, this forum thread does show an example of the output, and I don’t think you’d need to be a computer science major to gleen useful information from it.

A COUPLE OF NEW LINKS:

If a person is really having trouble with Grub-2 [Grub 1.98 or 1.99], there’s a good Grub-2 explanation page at:

http://www.dedoimedo.com/computers/grub-2.html

There is also a [comparatively] new web-page from the Ubuntu folks devoted to booting iso via Grub-2.  Though this link is not aimed at Puppy Linux–which boots a bit differently from Ubuntu and Fedora–it could still help:

https://help.ubuntu.com/community/Grub2/ISOBoot

*****************************************************

I shall try to be as brief as I can, but I do not wish to sacrifice clarity to brevity. Clarity is of great import, as computers and their operating systems are so complex.

If I had my ‘druthers, I’d’ruther Grub 2 had been no more than an improved version of Grub legacy—and without the added complexity of using script-files to customize its boot behavior. Having said that, I’ll say I find Grub 2 little different from Grub legacy—in the narrow context of the subject of this article, at least. Grub 2 still seems like the best choice—for now. Yes, one can install Grub 1 (“legacy”) or Grub4dos to the MBR of a device (harddrive, other drive—such as maybe a USB thunb), and use one of these twain as Masterbootloader instead. Especially where one is partitioning and setting-up the computer to boot Linux for the first time. There are a lot of other bootloaders out there, too, some of which you’ve perhaps never heard—like for instance GAG, BootUS, or PloP. But these are often tailored to specific roles, and may or may not be suited to use as a Masterbooter. Still, I find that I’m able to get along with Grub 2 as Masterbootloader.  And Grub legacy (“Grub 1”) does not recognize the .ext4 volume-format by default–though I’m told there are now extensions available to allow Grub 1 to do so (?).

A lot of online instructions for Grub 2 [at the time I originally wrote this] seem to be erroneous—in blogs, third-party sites. They tell us to edit the grub.cfg file in Grub 2. At least based on my experience so far. It really seems like all you have to do (properly) is edit the 40_custom file, if you wanna boot something (like non-Windows os-es) from Grub 2, that you can’t get to chainload by just running “sudo update-grub” in a Terminal.  Editing the 40_custom is what the makers of Grub 2 officially instruct as the proper way in their documentation.  And we are to follow this with running “sudo update-grub” from Terminal.  Online instructions that tell us to edit Grub 2’s grub.config file might work, but this way of working on Grub 2 (as though it were Grub 1/legacy) is * not * recommended * by Grub’s programmers.  Further, I have found that doing it the “right way”–according to the official Documentation–is just as easy, is probably safer, and yields good results.

If you’re gonna go this route [making a multiboot disk with some frugal install(s) on it], I think I’d pick Syslinux or maaaaybeee Grub4dos as Masterbootloader, and install it to its own dedicated (very small) partition. Trouble is, a lot of us out here already have Grub 2 installed as (Master)bootloader from the time we created our dual-boot arrangement with Windows and Ubuntu or Linux Mint, and we’re used to Grub2.

Remember that any Grub (or Lilo or whatever booter) that gets installed first to a Windows computer will also have to install a small part of its code (in Grub it’s called “Grub stage_1”) to the Master Boot Record (MBR) of the computer, and it will thus act as a Masterchainloader from then on (unless you install another Linux to another partition you could create on the disk, and don’t use the advanced-button near the end of the install process, to point that distro’s own copy of Grub (or Lilo, etc.) away from installing its first stage to MBR, and instead directing it to install all stages of itself to PBR (Partition Boot Record) instead.

Yeah, that’s a mouthful.  Read it again.  It’s a synopsis of how most bootloaders work, in one [run-on] sentence.

And of course the BIG parts of any bootloader–i.e. the “meat-and-potatoes” part(s) will install to a partition [to a “volume” on the harddrive, or even on another type disk if you were doing all this to a USB thumb-drive]. So most any bootloader [Grub, Lilo, etc.] has TWO main parts:  the little snippet of code that over-writes the MBR, and this bit is often called “Stage_1”.  Then there’s the “meat and potatoes” part of a bootloader, that sticks somewhere on the normal files-area of some partition.  This “BIG” part of a bootloader is often called “Stage_2”.

Stage_1 just receives the boot-process from your BIOS, then hands it off to its partner Stage_2–wherever Stage_2 may have its home.

Let me try to make this clear:  there’s MBR–Master Boot Record:  and then there’s PBR:  Partition boot Record.  The * Master * Boot Record is something engineers contrived for the * whole * ** device **.  A * device * has a MBR.  A device that can be used by computers as a * data-disk * can itself be divided into “partitions”, a.k.a. “volumes”:  this is an artificial way of making one device act like it is two or more devices.  When we install Ubuntu normally–to a “dual-boot” a.k.a. “side-by-side” arrangement with Windows, Ubuntu’s installer [the Ubiquity program] has “partitioned” the device [our harddrive, a.k.a. “disk”], so that now our harddrive can act like * two * or more data devices. This is the “traditional” way of creating a condition that will allow one device to boot more than one operating-system. But the MBR controls “the beginning” of the boot process on that device, PERIOD.  This is also true of other types of data-device besides harddrives:  USB thumb-drives also each have an MBR. It is this way because computer engineers decided to do it like this a long time ago.

Now, then, there’s PBR:  PBR is sometime referred-to as PBS—Partition Boot Sector, and also VBR or VBS—“Volume Boot Record/Sector. Hope that doesn’t confuse you, but it’s a fact. PBR is just what it sounds like:  PBR is a miniature version of MBR, but PBR’s powers are confined * to * that * partition *. PBR receives the developing boot process from MBR [who got it from BIOS], and then PBR passes the baton to some bootloader–a bootloader is a small program on the same partition.  Grub 2, Lilo, and Syslinux are bootloaders. People sometimes confuse Syslinux with the isolinux bootloader, but in truth isolinux and some of the other booters were built by the makers of Syslinux over the years, and then these programmers decided to put them all together into one “bootloader suite”, and they named it Syslinux. So every modern copy of Syslinux contains the isolinux bootloder, plus some of their other boot-products.  This is why Syslinux can make a good Masterbootloader for a harddrive or other data-device.

Masterbootloader and secondary bootloaders:

On any data-device that can be booted normally [from a BIOS], there has got to be some bootloader’s “Stage_1” installed to the MBR. When we buy a brand-new Windows XP or 7 computer, Windows own bootloader has had its “Stage_1” installed to the harddisk’s MBR at the factory.  When you press the power-switch, the computer’s BIOS looks for the first harddrive with bootable code in its MBR.  Finding this, it hands the boot-process to MBR.  Then MBR activates, and it executes the “Stage_1” code in there:  this finds its own “Stage_2” “partner”, which will be in the normal files-sectors of one of the partitions on the disk.  So on a new computer, BIOS will find MBR, and the “Stage_1” snippet of code in the MBR will find its “Stage_2”, which in this context is just Windows’ bootloader.  The Windows bootloader for Windows XP is called “ntldr” by Microsoft engineers.  So “ntldr” = “Windows NT LoaDeR”.  Windows Vista/7 uses the Windows BCD bootloader, but this is really just a more elaborate version of ‘ol ntldr.  BCD functions essentially the same way as ntldr, but lives in its own folder, and is [arguably] easier to edit-and-customize.

So what happened to the “PBR”?

I guess maybe a normal Windows install doesn’t need to consult this during a normal boot (?)  Windows always assumes it is the * only * personal operating system on the computer.  And the only personal operating system in * existence *, for that matter.  [Hey, Microsoft didn’t get to having approximately 89% of the personal desktop operating system market by being * humble *.  Nobody would have.]

So a normal Windows XP or 7 install may not bother with PBR when booting.  But PBR [Partition Boot Record] certainly comes into play where there is * more * than * one * type of operating system available on the disk.

When we install Ubuntu to a computer, its copy of Grub over-writes the hard-disk’s MBR during the install process.  This installs Grub’s “Stage_1” to the MBR.  MBR is only able to hold * one * bootloader’s “Stage_1”, so the old Windows “Stage_1” is over-written.  So now when we boot-up next time, the MBR will execute * Grub’s * “Stage_1”, and that will find Grub’s “Stage_2” in the new partition Ubiquity installer created for Ubuntu to sit in, alongside Windows. And so * Grub * is now Masterbootloader; ntldr [or BCD] no longer is.  And it is the Grub screen [“splash-screen”] you’ll be shown at boot-time.  This Grub-screen will let you pick what operating-system you want to boot-up:  Ubuntu or Windows.  Put simply, Grub’s booting of Ubuntu is straightforward:  if you select Ubuntu, Grub just finds the ” /Boot” folder in Ubuntu’s files.  This is a folder that contains the Linux Kernel, and the “.init” file. And so ” /Boot” takes things from there, and Ubuntu will load and run for you.

But now when you want to run another operating-system that is also installed to the same harddrive [like Windows], there will be an extra step that gets executed.  Windows’ ntldr or BCD is no longer Masterbootloader [MBR bootloader].  Grub is.  So, when we select Windows form the Grub screen, Grub now looks for Windows own bootloader [BCD or ntldr], and hands-off the boot process to * that *.  Grub probably uses the PBR–Partition Boot Record–to do this.  so I guess the PBR is even more like a mere “sign post” on the “boot-highway”, than is MBR.

Now, * if * you had say, * TWO * installs of Ubuntu, plus your normal Windows install, how would Grub know which Ubuntu contained its “Stage_2” part?  Or would this matter?  YES, it matters.  And the MBR can hold only * one * “Stage_1”, as I have said.  So if you installed, say, Ubuntu 10.04 to a usual dual-boot arrangement alongside Windows, and then later you installed, say, Ubuntu 11.04 to the same computer, then the 11.04’s Grub would have overwritten the MBR–making 11.04 now the Masterbootloader.  * Unless * you used the Advanced features in Ubiquity installer, and pointed the “location for bootloader installation” to the * same * partition * 11.04 was being installed to.  Going with Ubiquity’s default would install Grub “normally”–and so its “Stage_1” would end-up in the hard-disk’s MBR.  Pointing the “location for bootloader installation” to the * same * partition you’re installing Ubuntu to will skip the MBR over-write, and install only “Stage_2”, which of course can only find a home in a * partition *–* not * in an MBR.

So, either way, either Ubuntu 10.04, or Ubuntu 11.04 [or 11.10, or whichever], is going to be Masterbootloader.  PERIOD.  There can only be * one * Masterbootloader.  And where * this * instance of Grub gets activated, it may boot its own version of Ubuntu that it came with, automatically.  But in order to boot * another * operating-system that is held on the disk, the Masterbootloader will find that with the PBR:  it will point at the PBR of the desired “other” operating-system, and then hand-over the boot-process to * that * Ubuntu or Windows’ own boot-files:  ntldr in the case of XP, Ubuntu 10.04’s Grub in the case of having two Ubuntus, where you let the later [11.04] install make itself Masterbootloader [default].

This is the simplest way I can find to explain “multibooting”, which is the term for “having more than two operating systems available on a disk”.  BUT [so far] THIS APPLIES ONLY TO “FULL’ INSTALLS.  Neither Grub legacy nor even Grub 2 can auto-recognize a “frugal” type of operating-system install.  So since Grub can’t do this automatically–can’t “see” a frugal install when we run “sudo update-grub”–we’ll need to edit one of Grub 2’s text-files.  But this will not be terribly hard.

A person can also boot his/her computer from some kind of rescue disk (like Windows 7′s own “Repair Disk”, which you can burn yourself, or else use UBCD, Hiren’s, etc).  This can be done in order to restore the computer’s boot process back to “Windows-normal” condition.  Or even to boot some operating system that’s already installed to the machine’s harddrive–indeed, this works fine. I have an old laptop and it’s harddrive is okay, except I can’t get its MBR to restore or to accept * any * boot-code at all.  So after  I installed Linux mint to a partition on its harddrive, I found I could boot this with a “rescue disk” that I had made on a USB thumb-stick, having put Ubuntu 10.04 and also Vinux Linux and Linux Mint on that USB drive to make it a “rescue disk”.  I made it with each of these Linux distros as a * full * install *a–not the “iso-image” type install.  This suited my purposes for the work I was doing at the time.

Using a Windows rescue disk [DVD] to restore a MBR to Windows-normal condition involves only a simple command. For Windows Vista/7, it should be: “bootrec /fixmbr”.  Without the quotation marks, of course.  Carefully typed.  Then hit Enter.  You hit the space-bar to put a space after “bootrec”, but NOT after you type the “/” symbol.  So the command for this is “bootrec /fixmbr”, NOT “bootrec / fixmbr”.

Utilizing Grub 2 for Masterbooter is the means by which I create a multiboot disk on my internal harddrives, and I’ve also used this method to do the same with an EXTERNAL USB-powered add-on harddrive [a Western Digital Passport].

Primary partitions, the “Extended”-type partition, and “logicals” [“logical partitions”]:

Yes, there are “Primary” partitions (“data volumes”) on a data-device [e.g. a harddrive, a USB thumb-key, et al], and there are “logical drive partitions” (logical volumes).  Where do they get these names?  Anyhow, logical drive partitions (“logicals”) are the partitions you can make * inside * of an “Extended” partition–which is just a big “container” in the device-mapping, which has to be made when you run-out of Primary partitions.  Why do you run-out of Primaries?  Because the low-level “IBM/Microsoft/MBR-disk-FAT” device mapping that was thought-up a long time ago only allows a MAXIMUM OF FOUR (4) PRIMARIES. You can have only up to four Primaries.  How the hell can something that’s called a “Primary” partition have three or 4 iterations on a device ??  ‘Cause that’s just the terminology they chose.  They could’ve called them “Basic-partitions” instead of “Primaries”. Deal with it.

Most computers [nowadays] come from the factory with the harddrive having 3 or 4 Primary partitions–one for Windows’ .CAB files [can be used for recovery], another for the Windows operating system itself, and another for the “Windows recovery image”, and perhaps a forth Primary for manufacturer’s advertising programs-and-bloatware.

Some OLD computers may have just one big NTFS or FAT partition.  Look at your harddrive from Linux’s G-parted; boot-up your Ubuntu live-cd.

When we install Ubuntu or Linux Mint, etc. to a “traditional” side-by-side install [“dual-boot”] on such a computer [MODERN not old], the Ubiquity installer will * create * an additional partition to turn into an “Extended” ** if ** there are not already 4 Primaries:  If there are already 4 primaries, then Ubiquity will try to help you determine which is the manufacturer bloatware one, and * destroy * that, which will be the only way the low-level “IBM/Microsoft/MBR-disk-FAT” mapping will allow the creation of an Extended.  Sounds grave and dangerous, but it is not, especially.  The only way you can create an “Extended” partition is to * destroy * a Primary.  Sounds stupid but it’s true.  Then once the Ubiquity installer has successfully created this “Extended volume”, it is free to create up to as many as 10 or 11 “logicals”–BUT it will only make 2 or 3:  one logical in the Extended for Ubuntu itself, another in there for Linux’s “swap” [same concept as Microsoft’s “virtual memory”, except this seems to prefer its own “partition/volume”], and perhaps [if you tell it to] a third logical for a separate /home directory.  By doing this, none of Windows’ important Primary partitions are harmed, and you’ll still be able to boot-up your Windows if you want.  [* If * you wanted * more * logical partitions, you * could * just create them with G-Parted.  You ought to read-up a bit more on disk-partitioning, if you’re gonna do that, as there are some things to know.  For instance, * if * you created more logicals, and then later decided to un-do some of them, you * should * at least understand that they recommend we delete the partition with the highest number, and then work backwards from that:  in other words, the partition created last gets deleted first, &tc.  People have still made it work without following this order, but doing so is a lot * riskier *.  You might end-up with a harddrive that boots fine for awhile, and then refuses to boot for you, requiring you to delete all partitions and start over from “bare-metal”.  So let’s try not to do * unnecessary * complexity.  Unless you’re a CS student experimenting on a junker laptop you don’t care much about.]

This business of letting the primary-type partitions on the harddisk be for Windows and its “Recovery” partition(s) [even if they’re not all grouped together toward the left of the drive, as depicted in G-Parted, or maybe there’s just one big NTFS partition for Windows, and none other], and then creating one of those “Extended”-type partitions you’ve heard about for ALL your other stuff—Linux distros, video storage, data storage, FreeDos + GEM, Haiku, &tc.—well, this seems to work fine for me, and I’ve even un-installed a distro or two from a partition, and replaced it with a different one. JUST MAKE SURE YOU DO NOT UN-INSTALL THE DISTRO WHOSE GRUB IS THE MASTERBOOTLOADER, OR YOU MIGHT BE IN A BIT OF A PICKLE—at least until and unless you perhaps wipe that partition, and install another Linux distro to that partition—and allow its Grub to install stage_1 to the MBR, which in Ubiquity installer is the default, as I’ve indicated.  This latter, of course, can be done just as I described for restoring the Windows’ boot process to “native” (in our context here, OEM condition):  you do it “from orbit”:  you boot up a live media (cd or DVD, bootable USB thumb), and execute some command(s).  One can boot a live-cd of a newer release of Ubuntu, invoke its G-Parted to “wipe” the partition (it’s on YOU to target the right one:  do your homework); just re-format that partition to some format–say, .ext2–that “wipes it.  And then install the newer Ubuntu.

“DISCLAIMER JUNK” :

NOTE that you should experiment with any os you intend to install in a live-cd session first, and enough so that you know its capabilities, as to how it’s probably going to do on your hardware once installed, in terms of recognizing things like peripherals (printers, add-on USB web-cams, etc.), AND MORE-TO-THE-POINT your networking—LAN and Wireless cards, NAS (if you have one), &tc.

Remember that nothing is perfect. Hardware and Linux’s performance upon it varies, and just because all this worked jolly-well for me doesn’t necessarily mean it’ll go-off-without-a-hitch for you.

BACK-UP ANY DATA/FILES/PERSONAL FILES YOU’RE AFRAID TO LOSE.  This is an old rule under any circumstance, no matter what computer system(s) you’re involved with.  How many Windows users do you know, who’ve said at some time “my computer crashed, and I lost my <blah blah> pictures!”?

Remember (if you already know) that a live-cd burned on one computer’s cd tray will not necessarily boot on another, because the cd-drive people * still * do not completely have all their hardware standards stuff worked-out—even at this late date. Just because you’ve been burning music to cds on * your * laptop and then successfully playing them on a friend’s computer, DOES NOT mean you’ll be able to do the same with .iso files, which is the way most desktop Linux distros come to us.  Often, creating the bootable cd or DVD on your computer, and then booting it on the computer you want to use it on will work.  But sometimes it won’t, so keep this in mind, if you’re wanting to burn a Linux distro onto cd with one computer, and try to boot it on another.

This is an impediment to the truly “Portable (Puppy) Linux Operating System” * on * a * cd *, which its advocates don’t seem to much mention. Usually, your Puppy Linux live-cd that you made on your system at home will boot okay on your friend’s laptop.  But if you try it on enough machines, you’ll find some that won’t–and of those, one or two will have the problem because of cd-tray standards incompatibility–and not Administrator settings, etc.  A good way around this is often to make a bootable USB thumb key (flash-drive, “jump-drive”) of the distro, and then use that in place of a cd. People even use these “bootable thumbs” to do a frugal install to a harddrive (though some have complained this produces “weird” results).

The BIOS’ of many old computers often lack the ability to boot from the USB socket at all [and also some of these cannot boot from DVD–but can boot fine from a * cd *–this is mostly confined to * old * computers]:   some folks seem to be able to get-around this “it won’t boot from USB-stick” with PLoP boot-manager (free).  Another (obvious) route would be to just use the target computer to download the .iso, then download and install one of the many free programs that can verify the md5 checksum of the downloaded file, and then one of those “iso-busters”–a special program (for XP, 7) that can burn a Linux or BSD .iso to a cd or DVD–because Nero and Windows DVD creator usually can’t.  If the target computer is using Windows XP or Vista or 7, it’s not an issue:  there are versions of these free programs for XP and Vista/7, which facilitate the process of getting desktop Linux.  Desktop Linux distros can be downloaded using Internet Explorer 6/7/8/9, and should appear in your Downloads folder.  Myself, I prefer Firefox and the nice add-on “Video Download Helper by Mig”.  The addition of one of the many free Downloads Managers to your web-browser (such as the one I just mentioned) can help a lot, if you’re having difficulty downloading.  Some prefer to get desktop Linux with Bittorrent, but I like to find it as .iso. If you’re trying to download a Linux distro with Windows’ Internet Explorer, try looking for a good third-party Downloads-manager if you’re having trouble getting things to work. The best advice I can give you is “try using Firefox”, if at all possible.  I have found Firefox to be better for downloading of any type files, generally.  And there are good Downloads-managers available for Firefox [and they’re FREE].

Having burned a Linux cd with the * same * cd tray you intend to use to boot the distro is the surest way to rule-out that it might be cd-tray standards incompatibility (across manufacturers of cd-trays), if it is preventing you from getting a clean boot (if indeed * that’s * the source of the problem).  And check that md5 or SHA checksum:  that’s the reason the makers of every Linux distro provide the correct value for this on their web-sites.  If the checked value of the downloaded Linux distro doesn’t match the sum on the maker’s site, delete the .iso file before you even burn it to cd, and try to download again.  Perhaps try downloading the distro from a different mirror-site.  A Linux .iso image that got corrupted during the download process may go ahead and boot, but it’ll be Problems later, should you go ahead and install it to the harddrive.  Better to CHECKSUM the .iso file first (see below), and play with the distro in the live trial-session mode–at least enough to be reasonably confident that all is normal with it: *  then * and only then start the install process.  Puppy Linux builds are * small * isos, and therefore they download quickly–often 15 minutes or so, depending of course on the speed of your computer and its internet connection. And it’s so much better to just discard a corrupted .iso and start a new download.

So to re-iterate, if you expect positive results, you should MD5 or SHA check the download for integrity, and be mindful of possible issues with booting Linux on the hardware in question.  READ THE RELEASE NOTES!  They’re usually only a page or two!  And the makers of a Linux distro put these online in order to HELP us.

There is also a way depicted on the web to install a distro * DIRECTLY * from its downloaded iso in your Downloads folder—but I don’t know much about it, at the time of this writing. [I’d be sure to check the hash-checksum for integrity first, though, if I was gonna try it that way. YOU SHOULD ALWAYS CHECK THE HASH-CHECKSUM (Md5, SHA, etc.) OF ANY DISTRO’S DOWNLOADED FILE BEFORE YOU USE IT FOR ANYTHING. If it’s not a clean download, DON’T USE IT. Delete it instead, because it won’t be good to use.  Okay, I won’t harp on that anymore.  🙂   ]

So the surest way to boot Linux is still to burn and then boot from the ** same ** tray ** (cd-drive), IF YOU ARE INTENT UPON USING CD/DVD, AS OPPOSED TO USB-Thumb-key. This of course means downloading the distros in which you are interested ON THE SAME HOST (same computer) ON WHICH YOU INTEND TO TRY THEM BY USING A cd or DVD.  That’s the surest way for optical disc booting.  Puppy, as I’ve said, is a very quick download because of Puppy’s small size.  Myself, I prefer cd-R and/or DVD-R, instead of cd-RW or DVD-RW.  But that’s up to you.

I’m old-fashioned: I like having the cd or DVD. It can come in handy as a backup, and to-day these blank discs cost very little. Name-brand ones can be purchased at local discount stores. (But always research that brand’s * recent * reputation first, * before * you buy the blank cds or DVDs. Don’t just assume that because XYZ-brand of cd-r/DVD-R had good quality-control last Autumn, that it will still be the case this Spring. These companies come-and-go, and even the major brands can change ownership, or just have moved production to a cheaper market.) And it does not take so long to burn one of these discs—even a big one like Mint—even on the slowest speed the burner will set-to.

Always try to burn on the slowest speed the burner will set-to. This will make a good burn more likely.  Of course,don’t get fingerprints, hand-lotion, or lipstick on the read-surface of the cd.  Clean it with a little de-natured alcohol before or after the burn, using a tissue of better yet a brand-new jeweler’s cloth (they’re inexpensive–can be had from discount stores).

If using a netbook, I have found that all my Linux cds and DVDs seem to work fine from my add-on USB-powered DVD player/creator. These are relatively cheap—I got mine from a discount chain for about $50 USD.  The kind that’s both a * creator * as well as a player is most useful for a netbook or tablet, as these devices don’t have their own cd-trays.  And the cost isn’t much higher.  Plus you have the advantage of being able to burn your Puppy live cd from the same tray you intend to boot it from.

If deciding to make a bootable USB thumb for this, I think I’d use Puppy’s own USB creator (of course that means you still gotta use the cd method first).  One could also install any one of several live-USB for Linux Creators to one’s XP or 7, and use that, to create a bootable Puppy Linux USB thumb.  Unetbootin and Universal-live-USB-creator-from-pendrivelinux are two with which I have had positive experience–though this has been for creating Ubuntu and Ubuntu variants live USB thumbs.

Ubuntu itself comes with StartUp-Disk-Creator, which should be in the menus somewhere. So where one has a working Ubuntu install [or just a live-cd] at his or her disposal, one can use this excellent program to create a live USB bootable thumb-key of Ubuntu. StartUp-Disk-Creator may be able to do a better job of creating a bootable thumb of Ubuntu, as it is already specifically adjusted to understand the Ubuntu filesystem [or at least one would think so]. In Linux Mint, their version of this is called ImageWriter, and it is good to use to create a bootable thumb of either Ubuntu or Mint, as it is already “tweaked” for specifically understanding the Ubuntu and Mint filesystems.

BACKUP ANY DATA YOU MIGHT NOT WANT TO LOSE BEFORE YOU DO ANYTHING.  Because it’s a * computer *.  Nothing will * probably * go that badly askew.  But yeah, it’s still * possible *.

Backup to cds, to DVDs, and to Thumbs or whatever else. Put these backups in a secure place.  None of us want to lose our irreplaceable wedding pictures, the video of our son’s first steps, &tc.  That is why all the major computer manufacturers recommend the use of proper data back-up procedures.  Backup to more than one set of removable media, and put one set in storage off-site somewhere (like maybe your safe-deposit box at your bank, or that locked drawer at the office).  This way, if your home has a fire, your son’s baby steps will still be available to you.  And many cloud services offer from 2 Gb to as much as 7 or 8 Gb. ** for free **. It is worth noting, though, that cloud-storage services can be “here today and gone tomorrow”. Yes, most that were reputable to begin-with will notify you at least a week or two ahead of time if they are about to go out of business, so you can have a chance to move your data somehow.  But I’d still use more than one cloud’s free account.  Is proper backup a “PITA” (Pain In The ~ some word that begins with “A”) ?  Yes, it is.  Which is why people lose their wedding pictures, personal documents, etc., etc.

Linux does not come to us without any risks.  I have not had any data loss, or harddrive disaster, because of Linux.  But this is NOT outside the realm of possibility.  So, bottom-line:  I’d do a proper backup of all files that I’d be afraid to lose, BEFORE messing with Linux.  Quite frankly though, those who continue to use only Windows are at considerable risk of losing much-or-all personal data to viruses, malware, worms, et al, and the long-term storage instability that * still * plagues the Windows filesystem [NTFS]–even Windows 7/8.

########################

Since the release of Grub 2, many have said “Oh, this is just too hard to customize!” “It’s too hard to add ‘custom’ boot entries. Whereas in Grub legacy, all you had to know was the correct partition, and you could boot what you wanted.” But this is not true. Just learn to edit the 40_custom file in Grub 2, and to then run the command “sudo update-grub”, and you have as good a chance of booting what you want as you would have in Grub legacy. A lot of the advice that has been dispensed on the web—in blogs and forums—just seems erroneous. Some tell us to edit the Grub.cfg file at some point. This idea would be a very last resort. The way Grub 2 is set up is to auto-generate this file for us, after we edit the 40_custom (& there are a couple other files that can be changed for other purposes), and then running “sudo update-grub” in the Terminal. Go to the link and read the section on “Custom Menu Entries” if you don’t believe me:

https://help.ubuntu.com/community/Grub2

I’ll try to just re-create my moves for you and then maybe we’ll take it further, in terms of elaborating on my arrangements.

As I said, I’ve done this to 3 drives up to now—an old T-20 Thinkpad from 1999 I use as a “Guinea-pig” / “sacrificial-lamb”; a Western Digital usb EXTERNAL add-on harddrive which I just bought, brand-new; and my good laptop [a Toshiba Satellite made ca. 2008 with 3 Gb. RAM and a modern CPU (at least in terms of 2008)].

I guess it’ll be easiest for us if I describe how I managed it on my good lappy [the Toshiba Satellite].

  1. Entry-1: Soon after I bought this Toshiba Satellite laptop ca. early 2009, my friend Ern got me interested in Linux, and I ended up installing Ubuntu to a traditional dual-boot arrangement on the machine, and from then I would sometimes boot into Windows 7 (which is the os it came-with), and sometimes into Ubuntu 9.10 i386 desktop. I soon upgraded Ubuntu to the 10.04 (LTS) release. As I researched the upgrading process before doing it, I decided to use the Alternate Install cd (downloadable fron Ubuntu’s same site) to do the upgrade, as many ppl on forums don’t seem to trust Ubuntu’s “Upgrade” button (in the top of Updates Manager), and say it’s not yet perfected. Ubuntu still did a partial network-install over my broadband Eth0 conn., after Alternate Install cd had done its thing, to complete the install. [I unplugged my Eth0 while running the Alt install cd.] Still, I felt more comfortable doing it this way, because I was therefore allowed the opportunity to md5-check the most-part of the upgrade code, and be assured that at least that portion of the distro that installed from the “Alternate” cd was probly a clean download—whereas the remaining 25% or so that came “over the wire” installed in real-time, and therefore I did not know how to verify it. If you use the “Upgrade” button, then * THE * WHOLE * DISTRO * downloads and installs in real time. http://www.liberiangeek.net/2010/05/how-to-upgrade-ubuntu-from-a-cddvd-rom-to-lucid-lynx/
  2. Entry-2: SO I HAD THIS DUAL-BOOTING LAPTOP—I COULD USE EITHER WINDOWS 7 –OR— I COULD USE UBUNTU 10.04 “LUCID LYNX”. This meant (and pretty much always means) that Ubuntu’s Grub becomes Masterbootloader / chainloader. (Ubuntu releases from 9.10 onward come with Grub v. 2.) When I did the first Linux install from the i386 desktop live cd, then Grub 2 installed stage_1 of itself to my machine’s Master Boot Record [“MBR”], overwriting the little bit of Windows code in there, and then installing its stage_2 pieces to the logical-drive partition it created (where Ubuntu itself also rests). A “logical-drive” is just a kind of partition * inside * an Extended-type partition. A person’s Windows system and Windows’ recovery stuff remains on the computer’s “Primary”-type partitions, and of course these will almost always be the first two or three partitions on the harddrive. Some older computers left the factory with the harddrive as just one big FAT 32 or NTFS partition, occupied by Windows XP.Yeah, there is also a piece of Grub known as stage_1_5 or “1.5”, but this is a take-it-or-leave-it option, and does not come with every iteration of Grub (though I think it is present in mine; if so, it’d be in the MBR with stage_1, though my logic wants to think it’d be in the Grub folder(s) in Ubuntu. But my logic would be wrong in that case.So for our purposes, I’ll try and limit this discussion to Grub’s stage_1 and stage_2, for simplicity and clarity. If you end-up needing to know about stage1_5 later, I think there will be sufficient information on the web, that you can figure it out (well, probably). I don’t know anything at all about stage 1_5, and I was able to make all this work for me. Not because I’m a computer whiz—but because I spent days and days reading posts and online instructions, and then did the rest by trial-and-error. But as I’ve said, you undertake all of this * at * your * own * risk *.
  3. Entry-3: I elected to keep Ubuntu 10.04′s Grub 2 as Masterbootloader (the MBR bootloader). Again, this was a decision arrived-at after some amount of time spent researching the issue. I guess you could just use G-Parted from, say, a live-cd, to create yet another logical-drive in your harddisk, and then use most other distro’s live-cd to install that distro’s version of Grub to the machine, and it’d default to letting * that * distro’s Grub’s stage_1 be installed to the MBR, making * that * Grub the Masterbootloader. Then when you shutdown and cold-booted, you might just arrive at the new distro’s desktop, straight-away, and not be able to boot anything else. Well, if the new Grub is Grub 2, you can probly just open a Terminal window in the new Linux desktop, and run “update-grub” (if in a Root account), or run “sudo update-grub” if in a user account—assuming you are provided the sudo utility in the new distro, by default, like in Ubuntu (and probly most of Ubuntu’s variants—like PinguyOS or Mint). Running this (sudo update-grub) should give you an option to boot the other Linux from then on, at boot time [as well as any other os that Grub2 can detect on the system’s drive(s). This will include Windows].Thing is, Grub CANNOT AUTO-DETECT ** FRUGAL ** INSTALLS of Linux. Or of Haiku, or whatever else. At least not enough to be able to boot them “automagically”. This is as true for Grub legacy [Grub 0.95 and 0.97] as it is for Grub 2 [a.k.a. Grub 1.98 and 1.99].If the sudo utility is not pre-installed in your os, then you’d have to either download and configure it for your distro, or else find how to login as Root in order to run the command to update Grub. Most modern desktop Linux probly enable either one or the other, by default—either “sudo”, or being able to log-in as actual Root (Fedora, MEPIS, et al). So this is not an impediment to our work here.
    JUST ONE MORE THING: My best luck with using G-Parted has been with some Ubuntu LTS live cd, or an instance of Ubuntu LTS installed to another partition; or by using Parted Magic live cd. I’m sorry to have to report it here, but I have to be candid: I tried to work on the partitions of one of my harddrives with G-Parted from my Puppy 5.2.0 “lupu” cd, but it just wouldn’t partition.  Another time, I was trying to change some of the partitioning on my netbook’s harddrive with G-Parted by running it from an instance of Linux Mint 12 that was on a different partition:  it wouldn’t work.  But when I booted into Ubuntu 10.04 LTS from still another partition where I had installed it quite some time before, G-Parted did exactly what I needed.  One other time I was trying to partition an Seagate FreeAgent 500 Gb. External USB powered harddrive by using G-Parted from my install of Ubuntu 10.04 LTS, BUT I could only get things to work after I booted into Linux Mint 13 XFCE Ed., and tried from there. Ubuntu 10.04’s G-Parted had said it “couldn’t find the mount-point”. And everything in G-Parted’s “Partition” menu was greyed-out.So the conclusion I draw is this: use either Ubuntu LTS to launch G-Parted, or else the Parted Magic live distro.  Or maybe KNOPPIX’s “QT-Parted”. Some trial-and-error is sometimes needed in order to get G-Parted to work all the way. Yet I find G-Parted so much better for us amateurs than other disk-partitioning programs. A possible exception to this might be Easus Partition Manager, which is to be run from from XP or 7, and is free.
  1. Entry-4: As I said, I elected to stay with Ubuntu 10.04′s Grub (this would be GNU Grub 1.98) as Masterbootloader. If you find fault with Ubuntu 10.04, like I said, you can use another distro and let its Grub install the stage_1 file to the MBR of the machine. But I find Ubuntu 10.04 is A) gonna be supported for about another year +, at the time I write this—though this is neither-much here-nor-there: if you’re gonna maybe just shrink-down 10.04′s space to a minimum (say, as little as 5 Gb, if you remove all personal stuff you may have added—off-load that stuff to discs/other backup media, put it back on your hdd in a FAT32 or NTFS “sharing partition” you create later—and you are gonna just use 10.04 for a Masterbootloader from then on—booting another distro as your main desktop—then it does not matter much if 10.04 is kept updated after its “End Of Life”. As long as it runs well on your system, just so you can run the command “sudo update-grub” if/when you install another instance of Linux. Or BSD, DragonflyOS, Solaris, or pretty much any full install of some Unix-based system. I take a conservative approach:  now that the first full-release of Grub 2 (meaning Grub 1,98) is descently documented (finally!), I’m not ready to rush into replacing it as my harddrive’s Masterbootloader by, say, installing the next release of Ubuntu or Linux Mint to yet another partition, and allowing the installer to default to overwriting the MBR with code for its Grub 1.99.  Grub 1.99 isn’t so different, apparently, from 1.98; but there are at least a few difference-areas.  Let 1.99 get more documented and established, and * then * I’ll see about it.
  2. Entry-5: (I run 10.04 with acpi=off parameter, edited into the Grub files, because this laptop has trouble with Ubuntu 10.04 and power-management [you know, the acpi-thing that often affects Linux on laptops]. Using this file-edit is rather like using a sledge-hammer to kill a fly: but as I mostly just have 10.04 in a partition I’ve since shrunk, and just use its Grub for chainloading my workhorse distros (Puppy Wary 5.2.2 and Linux Mint 13 XFCE Ed.), this heavy-handed boot parameter can just stay. I’ll say right here that when I installed Linux Mint 13 XFCE Ed. to my Satellite this past January, I found that it did not have Ubuntu 10.04’s issues with my hardware at all, and everything just works fine—including interfacing with the battery managers. Indeed, I’m using this very configuration to update this very article, as I type it.B), Ubuntu 10.04 will continue to function in this role even after Cannonical no longer sends-out updates for it (in April 2013).

    So C), Ubuntu 10.04 makes a good Masterbootloader (or rather it’s a convenient way to get a pretty well-reputed build of Grub 2 to Masterboot with). And I * already * had * this dual-boot setup, as this is the first Linux I tried as an actual * install * (Ubuntu 10.04, installed “side-by-side” with my machine’s OEM Win 7). Ubuntu’s installer program (Ubiquity) shrank Win 7 to an appropriate size for me [it turned out to be about 174 Gb., and my hdd is a total 300 Gb.], and Ubuntu’s Ubiquity installer created a Linux Swap partition to the right end of the disk [as viewd later from G-Parted], and installed Ubuntu 10.04, and set-up GNU Grub 1.98 (“Grub 2″) as the machine’s MBR bootloader (Masterbootloader). This was convenient at the time, as I did not yet know how to prepare a harddrive with G-parted, and then use the Ubuntu installer and target a pre-made partition.

    Yeah, I’m sacrificing about 5 Gb of my harddrive space. Really, Grub 2 probly is not much different from one modern Linux desktop to another, but I got the best feedback for Ubuntu 10.04′s Grub, so I’ve stuck with it. And so far it’s done what I want in the role of Masterbootloader.

  3. Entry-6: I will add right here that the way you boot into Windows after you have installed the Ubuntu dual-boot arrangement to your computer, is that when you start from cold, your BIOS (which is always the first thing to start—at least simply, for our purposes), well, your BIOS starts and then right away it bumps into Grub’s stage_1, which has over-written the Windows stuff that normally would be in the MBR; that stage_1 then in-turn “comes alive”, and looks for its “better-half”–Grub stage_2—which is in a folder in your Ubuntu logical-drive partition; and then stage_2 activates, and you get that ugly black Grub 2 screen. Which will time-out into Ubuntu in about 10 seconds, unless you start tapping the down arrow key, in which case you of course A) will have stoped the timer; and B) can then take your time in choosing which os to boot—Windows will be in there somewhere, if you keep tapping the down arrow key. You can also navigate back up with the Up arrow key, if you miss something.

    Remember that any time you cannot seem to be confronted with a Grub menu screen during the boot process, you can usually tame the beast by just holding-down the SHIFT key while it’s booting, and this will usually cause Grub’s menu screen to appear for you, so you can select the os you want to boot. I can’t remember just now if it’s the Right shift-key, or the left one. Or if it even matters. When you choose Windows as the os to boot, stage_2 will then hand-off the boot process to Windows’ own boot junk—in XP and before it was usually “ntldr”; and in Vista and 7 it’s a system folder which I think is called “BCD” something-or-other. [The BCD thing is really not much more than an elaboration on XP’s ntldr. At least in Vista and 7. Windows 8 comes with a thing installed called “Microsoft Secure Boot”, and this can be an impediment to a pc owner installing certain desktop Linux distros. There are ways around it, though. And Secure Boot can often be disabled in a computer’s BIOS settings.]

    So in fact, once you have Linux installed, when you boot Windows, Windows is actually chain-loaded off of Grub—just like Ubuntu. At least that’s where most of us seem to land. And so I’ve just continued in this vane.

  4. Entry-7: I’ll interject here, that you don’t * have * to chainload at all, if you don’t want: you don’t * have * to have the Masterbootloader hand-off to another Grub, which got installed with some distro with which you’re wanting to experiment, and whose own stage_2 files are installed to that logical-drive partition’s own boot-sector (usually just a folder in there, something like “/boot”). But rather you can boot the partition directly from the Master Grub by editing one of it’s “controller-files”. (Grub2 “scripting files”–like the 40_custom file.) And then running “sudo update-grub” to apply the newly added code.No, you do not really have to learn to code. Just be particular about the integrity of stuff you paste into the Master’s (Grub 2′s) “40_custom” file, and it’ll have a good shot at working. You can also paste into this file as many times as you want, and then close the text-editor (g-edit—easy to use), and then run Grub 2′s “sudo update-grub” command, and it’ll create yet another entry in the Grub screen for you to try at boot time. This method is what we need to do to boot a frugal / “P.M.I.” type install via Grub 2 anyhow—and the experience wasn’t that different in Grub legacy, either—because Grub legacy (GNU Grub 0.95, 0.97) did not auto-detect most frugal installs of Linux either. Any time you are going to edit a Grub file (such as the 40_custom), it would be preferable to make a backup-copy of it (like say with G-Edit), and put it in Documents, or Downloads, or a folder you created with Nautilus called “Mybackups” or some-such. I have never found need to reach for my backup of this file, but it’s prudent to make it anyhow before going further.

    Any hoo, don’t be afraid to at least try this. If it was that hard to accomplish, I don’t think I could have made it work. (‘Cause like I said, I’m far from bein’ a computer-whiz.)

    DO NOT edit or change the Grub.cfg file itself. Some ppl say to, but this is patently not necessary, and is probably just dangerous. Or would at least NOT be the first thing to resort-to. Grub 2 was designed to auto-generate this file, every time we go to Terminal and run “sudo update-grub”. You are only supposed to edit the scripting text-files, which Grub 2′s utility will use to cook a new .cfg file the next time Grub2 is updated. Just keep trying it the way it has been set up to work by its developers, and you’ll probably get further in the long-run. As far as official documentation/Grub 2 manuals for us to consult—well, I’ve never peeped at the official Grub2 manual, because it has such a stinky reputation [UPDATE: this seems to have been fixed now]. A good alternative would be the documentation at https://help.ubuntu.com/community/Grub2 This is “written for humans”, and is enlightening. A single document, it can be read in an afternoon, and perhaps digested over a long weekend.

  5. Entry-8: So when I was ready to do this multi-boot thing, I booted-up into Ubuntu 10.04′s live cd that I still had from when I first installed Ubuntu to this laptop, and started G-Parted.
  6. Entry-9: I booted up my old Ubuntu 10.04 live cd, that I originally used to install Ubuntu. Now I use G-Parted to re-size Ubuntu 10.04. I shrank it down, pulling its right-end to the left…. ( <<<— ), until I had simulated a 30 Gb hole of “unallocated” space. It will only let you shrink it to the limit of where the beige coloring ends in the partition window of G-Parted’s graphical display—because it doesn’t want to let you accidentally delete any of your files. Leave at least 3 Gb of space for stuff you may find to add in the future, or possible system updates. NEVER shrink a partition ALL THE WAY to where the block of beige coloring is shown in G-Parted. Do Not bring the new size of the partition very close to this—let there still be at least 512 Mb. Or so of white space. Preferably at least 3 Gb. If you shrink-down a bootable partition to too small a size, it either A) won’t boot again for you, or B) will have trouble running right if it does.Then I clicked on “edit” in the G-Parted toolbar, and followed the prompts to apply changes. That’s how G-Parted works (and most partition editors); you have to confirm 2 or 3 times what orders you want it to carry-out. It just simulates the changes first, and you can usually just close it and try again, if you don’t like how the simulation is lookin’. But once you’ve got it started applyin’ changes, you’re pretty much committed—aborting at this juncture could create a series of “bad blocks” on your harddrive. It’s better to let it finish, and then go back and change it later. (Windows 7 Disk Manager will let you re-size Windows itself even while it is running/in use/”busy”, but that’s another kettle of fish).

    Where Linux is concerned, we just boot the live cd of Ubuntu, and use G-Parted from there, and work on the harddrive with it “from orbit”, while the harddrive is “cold”. One can also boot a live USB thumb-key of Ubuntu, and use G-Parted or your favorite Linux partitioning tool. Remember: G-Parted is present in live cds of Ubuntu 10.04; but after you install the distro to harddrive, it isn’t there, and you have to go to Software Center to include it. Must be some reason.

    NOTE: WHERE IT COMES TO BOOTFLAGS, modern Linux usu. no longer needs this: you should not need to set a flag—that’s more a Windows/DOS thing now. Where you notice a Linux “Swap” partition on your disk, you should probly just leave this alone. Ubuntu’s Ubiquity installer usually puts this onto your harddrive at install time: it’s a good thing, as it allows Ubuntu to have the equivalent of Windows’ “Virtual Memory”. You * can *, however, delete this “Swap”, and re-create it as a smaller size–but the minimum size is said to be the same as whatever the size of your machine’s current RAM is. The first time I installed Ubuntu 10.04 to a computer, Ubiquity installer put the Swap all the way to the right of the harddrive, as seen in G-Parted’s graphical display. And it made the Swap about the same size as the machine’s RAM.

  7. Entry-10: CAUTION, DADDIO! If you come too near the beige part in the Ubuntu re-sizing (if you make Ubuntu too small), you could permanently stop its ability to boot, and have to wipe it and do a fresh install. Optimally, you are doing all this from a fresh-start anyway, and so can install the distro that’s going to handle the Masterbootloader to a very small (say 4 to 5 Gb) partition you’ve already made, and then go from there (unless you want to also use that distro as a workable desktop). But if (like me and probly most desktop Linux users) you started out with a dual-boot of Windows and Ubuntu, then don’t squeeze the Ubuntu install too tightly—give it enough room to breathe. And perhaps off-load some of those movies you d/l-ed from the web, and haven’t watched in months. Working * theory * says that you can put them in the * same * FAT 32 partition we’re gonna use to boot our frugal install of Puppy with at a later time, if you are able to make this partition big enough/have enough disk-space to play-with: indeed, I’ve done this with a frugal install of one of Ubuntu’s variants (another copy of Linux Mint 12), and it worked fine. But I guess it might not with Puppy (??). Puppy itself will only require a vFAT partition of about 300 or 400 Mb for frugal booting/”frugal install”. This is leaving a little extra room, as one may want to add some thing(s) later. Puppy itself really probly only needs a few Mb. Beyond the size of the Puppy .iso, where we’re intending to boot Puppy as a “frugal” install from a dedicated vFAT partition. BUT REMEMBER THAT YOU MIGHT WANT TO ADD A PERSISTENCE LOCATION [PUP-SAVE FILE] LATER, SO ACCOUNT FOR THIS. Some versions of Puppy now allow a pup-save of up to 4 Gb. in size. So I would make the FAT 32 partition that I wanted to frugally boot Puppy from about 5 Gb., or just a wee bit less. The FAT 16 format will also work and in some cases be easier to boot from: BUT it limits to only 2 Gb.WHERE MS WINDOWS IS CONCERNED, I don’t like to change its partition from what it has been since Ubuntu was installed [where installed with the standard “side-by-side” method using Ubuntu’s installer (Ubiquity)]. Windows needs a little more “breathing room” on a harddrive than Linux or most Unix-based systems such as, say, an install of Ubuntu. Some room needs to be left for future system updates, and other softwares that one might want to install. Puppy by contrast is different from a “conventional” Linux distro [such as Ubuntu or Fedora], in that Puppy doesn’t need to “update”—but rather one is expected to install a newer release of Puppy when one deems that it is time to do so. Even then, one need not re-format the disk space from which Puppy is being frugally booted; one can just upgrade two files, and one therefore should not need to re-install apps that one may have added.

    I do not like to change where an os “begins” on the disk, as depicted in G-Parted (the left-end). Generally, I think it’s best to shrink stuff FROM RIGHT TO LEFT, the way that Jewish people and other Semitic peoples (Arabs) write. I think that’s the safest. You can shrink Windows the same way, from the right end, by pulling it to the left in G-parted, and leave a hole (of perhaps many Gb). But turning that into useful space later-on might be more difficult. So I’m inclined against that. Ubuntu’s Ubiquity installer perhaps leaves Windows at such a big size for a reason.  (Windows requires more space to install its system updates, for example.) If I had to guess, I’d say that Windows 7 can safely be shrunk down to about 95 Gb.

    BUT REMEMBER: on a machine where Ubuntu’s installer has set things up as “side-by-side” [dual-boot], you’d have to destroy both Ubuntu and then the “Extended” partition [the “container” partition that holds the “logical drive” partitions we use to boot Linux, FreeDOS, etc]. [Desktop Linux systems can also boot fine from a “Primary” type partition.] And then remake these while still running the Ubuntu live cd. Besides this it’s safer to re-size Windows from Windows itself, using Windows Disk Manager [IMHO]. And * then * go back and re-do the Extended partition and Ubuntu install from the live cd. WHICH IS A LOT DEEPER WATER THAN YOU OR * I * SHOULD PROBLY GET INTO, especially given the scope of this article. So let’s try to stick to the scenario that this article is about. Namely, having a side-by-side Windows and Ubuntu [or Linux Mint, other Ubuntu variant] computer that will boot either one; then, using G-Parted to shrink Ubuntu from the Right-end, shrinking from right to left, to create just enough “unallocated” space to allow us to then make a small FAT 32 partition, perhaps name it “puptryer”, and then boot up a Puppy live cd or thumb-key, and use Puppy’s onboard installer [PUI] to “install” Puppy to that small FAT 32 partition. And then make a minor change to our boot configuration file [not very hard], so we can then boot-up the Puppy.

    FURTHER, I KNOW FOR A PRETTY SOLID FACT THAT WINDOWS (unlike most Linux) IS IN THE HABIT OF KEEPING TRACK OF THE SIZE OF ITS OWN PARTITION SPACE; so if you change the size at all, you’ve gotta remember to boot Windows again * before * you would change its OWN partition’s size * again *. Change the size of your Windows partition * twice * without a boot of Windows in between, and Windows won’t boot for you again, without a bare-metal re-format! When Windows boots it re-records its new size. IF YOU DISOBEY THIS RULE FOR ANY REASON, WINDOWS WILL PROBLY NEVER BOOT FROM THAT MACHINE AGAIN, WITHOUT A FULL RECOVERY.

    So just remember that you can’t re-size Windows * TWICE * without a boot of it in-between.

    When creating this empty space (to the right of our Ubuntu, and which we will shortly carve into a few logical-drive partitions from which to chainload distro’s we’re interested in—like Puppy), DO NOT diddle with stuff you see that are already labeled “vFAT”, “RECOVERY NTFS”, or PQ-service. Unless you are confident you know what they are, and what they’re there for. You can delete Linux swap and use that space to re-combobulate your harddisk, if you have to, and re-create it later (or try running without it–but this may make Linux unacceptably slow on that disk, in certain use-situations).

    G-Parted or other partition tools will sometimes require you to delete something in order to create something else—it depends on the situation. But you should probly create a new Linux-swap during the session—IF you had to destroy the extant one. If there was no discernible Linux-swap present, I’d advise you to create one, while you’re in G-Parted. Create a new logical-drive partition, and select “Linux swap” from the context menu [where you are allowed to choose the “volume format” or “disk format” from the drop-down menu in G-Parted]. Make it probly all the way over toward the right. Make it the same size as the machine’s RAM, or a little larger. Only one Swapper per disk. Do Not mess with that Windows Recovery stuff I mentioned: don’t disturb it, unless you’re a REAL power-user, and you’re sure what it contains.

  8. Entry-11: Now I use G-Parted to create some logicals for the distros I’m interested in using. The minimum generic size is probly about 10 Gb. for a full install [like a normal install of Ubuntu or Fedora], if you intend to stash all your large files (movies) in yet another logical reserved just for that purpose (of perhaps 70 or more Gb in size; depends on how big your disk is). Otherwise, a full install Linux distro’s partition had probly be about 50 Gb.–about the same as for Windows XP or even 7–for a usable instance of Ubuntu or Mint as desktop. Because you’ll want to update it each time you install a new software.  And because you’ll probably find new uses for Ubuntu or Mint as you use it, and you might want to experiment with VirtualBox sometime, and perhaps hold a lot of personal data. Consult each distro’s hardware requirements, on the web.A frugal / P.M.I. install (a.k.a. a compressed filesystem), as I’ve said, requires a whole lot less space. (And of course this would be the type we’re talking about for an instance of a distro like Puppy on a harddisk:  a “frugal” install.)  As little as 250-400Mb space is needed for most builds of Puppy Linux—though I’ll tell you that the new Wary Puppy 5.2.2 allows you to have as much as 4 Gb of * persistence * configured—so take account for that.

    Most other/earlier builds of Puppy seem to limit the size of the persistence folder to 1.25 Gb. Further, it seems that in distros other than Puppy (and maybe Puppy, too—I haven’t experimented enough yet), the more stuff you add to the persistent folder, the slower the system gets. This factor would seem a good argument for remastering a distro from a full hdd install, before going ahead and making a frugal. Like Fedora, Puppy comes with its own re-mastering tool [and my experience with it is as good as with the other of Puppy’s features for which I have mentioned a positive experience—but I don’t know how good it’d be on a machine with, say, only 512 Mb RAM. maybe just slower to do the re-master process (?)] That way one can roll one’s favorite added apps into the distro’s system files, and not have to rely on the persistent folder to unite them through aufs at boot time, perhaps resulting in a SLOW Linux desktop thereafter. Puppy may be an exception in this regard, as it runs wholly from the ramdisk once boot has finished. And therefore one need NOT do a full install of Puppy in order to remaster it; any Puppy that’s running will be running in your RAM, ** except ** if you did a full install of it with Puppy Universal Installer. So Puppy can be easily remastered just inside the computer’s memory [“RAM”]—unlike Ubuntu, no install to a harddrive needed.

    You can also put the persistence [pup-save] in another logical-drive partition later (I did not set the persistence for mine until the first shutdown * after * the first successful boot-up as frugal). People who know how to do it can sometimes even get several Puppies * and * another distro or two to * share * a persistence partition.

    Perhaps it’s worth reminding right here that Puppy or * ANY * Linux distro has to have a “boot argument” or “cheat code” typed into the prompt that appears momentarily when it’s booting, where you’re trying to get it to recognize a persistence file / partition / other location [which you’ve already created with G-Parted, and correctly labeled with the e2label command (pretty easy to do: consult online instructions)].

    I am currently using my frugal of Puppy from a FAT 32 logical, as do many Puppy users. This usually boots fine from Grub 1.98—though once in a while I have to try again. But again, Puppy may be showing himself as having (some) exceptional characteristics. Most frugal installs of MicroKNOPPIX (the cd build of KNOPPIX) it seems, default to FAT 16—which is supposed to be easier to boot from. This is also the format recommended for a full install of FreeDOS + GEM (which takes up even less space than MicroKNOPPIX’s c. 700 Mb—way less). And on the same reasoning. (I think FAT16 limits you to a 2 Gb partition size, though, so it’s only possible to use for operating systems/distros with a small file system size, and which can be booted from vFAT—whether as “frugal’ or as un-compressed).

    Another good option would appear to be ext4: there seem to be ways to frugally boot from this disk-format. And that’s a native Linux format. So guess which format I’m gonna use for my next experiment with a frugal of Puppy? (Hint: ext4). [UPDATE: after I was doing some more research (aimed at some different stuff), I seem to have stumbled-upon indications that most scenarios still stick to the old FAT 32 (and sometimes FAT 16) for compressed installs—both for thumb-keys (not so surprising) and also for harddisks too. Must be some reason (?)]

    So far Wary Puppy 5.2.2 seems to be workin’ just fine as a desktop from its frugal install on my Toshiba L515 laptop, booting from its own, dedicated FAT 32 partition of 5 Gb. Originally this partition was 13.55 Gb. as I was using it previously for something else, but I’ve redone it since I first wrote this paper. And I use my Puppy frugal (Wary Puppy 5.2.2) from the Fido limited user account, and this works fine. The PUI says this (Fido) is still experimental, and discouraged. But I notice Puppy’s maker (Mr. Kauler) puts this disclaimer in many features of the distro—even those that have been around and in use for years.

    I have had fine experience with Fido user account. Fido user account is set after the first successful boot and shutdown (if you want to). Before that, you’re running as Root, as in most other versions of Puppy. Running as Fidouser, when you want to install a software, you’ll be asked for your password for Root (you have opportunity to set that when you set-up Fido), just like you are prompted for the first user password to install something in Ubuntu. This can also help prevent unauthorized bits of software from installing through your internet connection—at least according to the proponents of user account functionality in Puppy. Several Fidos can be created, each with a save-folder with a unique name, for each user on the system.

    I’ll insert here that Puppy’s Firewall Wizard has had some very good things said about it, so check that out: supposedly, just running the Firewall Wizard in Puppy lets you be on the web thereafter in “Stealth Mode”. Fido does not display a login-manager on booting-up: you go directly to your desktop by default, unless you can change this later.

    If this latter is not satisfying from a (paranoid?) security standpoint, you could activate the password feature in both Grub 2 and also your BIOS. This would prevent unauthorized changes—but still not unauthorized booting (assuming some unauthorized person that got hold of your pc understood enough about the Grub2 boot screen to navigate to Puppy—by using the down-and-up arrow keys). Even so, anyone who really knows how to use a live Linux disc is capable of opening pretty-much any pc, anywhere in the world (having physical, hands-on access), because the Linux community and its associated booters still do not offer a fool-proof way of password-protecting changes to a harddrive made by a knowledgeable person from a live rescue disc—such as Knoppix, Helix (now Ubuntu-based), NST, Trinity Rescue Kit, others. I guess many modern BIOS may be able to be set so that nobody can boot from removable media (and I’d hope also network boot) without entering a BIOS password.

    I’d hope so. Even if this is so, somebody * could * just remove the harddrive from your computer and plug it into a similar chassis (or sometimes even a very different one), and use * that * machine’s BIOS to boot your harddrive, and then do what they want with your files. The only answer to this one would seem to be encryption. Even so, an expert (or sometimes even a talented amateur) can crack the encryption. So really, it’s no different than in the 1940s, when British S.O.E. agents parachuted into Hitler’s Germany, and carried information that was limited enough to fit on a matchbook-size pad: these were often made of sugar-paper, so it could be placed in the mouth to quickly dissolve if they saw the Gestopo was about to arrest them. The electronic equivalent of this in the present I guess would be just a live Puppy DVD, remastered with the programs you might want to add, so that what little persistence you find necessary is small, and then you have it set to record as tracks * on * the * same * DVD *–which it seems is a feature only available in Puppy. You can always just whip that live DVD out of the tray, if you find the Men In Black are coming up the stairs. Squeeze it in your hand(s) until it breaks in-two: the way most DVDs and cds are made it won’t break clean, but much will fragment in small pieces of plastic and the gossamer foil internal substrate, making it difficult for even the government to recover what was there—including personal videos and documents. You can test this principle by sacrificing a blank cd or DVD of the type that you intend to use. Wear gloves and safety glasses, and maybe put it in a vice, so you don’t cut yourself.

    Puppy run from a live disc will let us manage this persistence in other ways, too. A useful example in this context might just be that Puppy will allow us to * boot * it off a frugal instance on our harddrive, ut still only have the persistence file [pup-save] on a cd or DVD! And having * NO * persistence will always be more secure than even a * small * persistence folder—so some ppl run that way. It’s worth noting that Puppy is usually so easy to re-master, that it’s almost as easy to just make a new image of Puppy, as it would be to let some new app or setting get stored in a persistence-location. (I guess I ought to mention here, though, that A) I have yet to get Dropbox working in puppy; and B), that I don’t see how one * could * use DB in Puppy without * Persistence * configured.) [UPDATE: I’ve found what looks like some good “Dropbox on Puppy” instructions at:

    http://www.murga-linux.com/puppy/viewtopic.php?t=37850 ]

    When any Puppy runs from a live-disc this way (I mean a cd/DVD), it seems it always operates as Root; Fido or Spot user are unavailable, when you boot from optical disc. With or without the option of persistence set to record as tracks on that same cd or DVD. But this is probly still safe (especially if one does hourly or even more frequent re-boots), because it is physically impossible to alter the system’s image on the DVD or cd used to boot. Only the virtualized system running in the computer’s RAM once boot finishes could theoretically be hacked. On any shutdown, the virtualized operating system just dissolves, and will be ephemerally re-created from the fixed image in the disk on next boot. Persistence—especially if small—can also just be periodically re-created, by just inserting a blank DVD and burning only the operating system and boot stuff, and starting-over. Or by just formatting-over a dedicated persistent-save partition, if that’s the way you have persistence set-up. Then you could just recreate it. Doing so at [appropriate] regular intervals would make it much harder for any malware that * did * manager to get into the persistence area to last. You could also set-up the persistence-location in a USB thumb-key.  Puppy gives us many options.

    In whatever case, there doesn’t seem to * be * any active malware in the Linux * desktop * ecosystem. What is more to be concerned-with in Linux and other Unix-based systems is when the os is set up to be a * server *, and is running something like * Apache *.

    You usually don’t even need a computer with a second cd tray, or even an add-on usb-powered DVD creator: because most builds of Puppy load fully to the RAM once boot finishes, you can remove the live-DVD during the session and Puppy will keep running fine in the RAM. So Puppy doesn’t need either the cd-tray * or * the harddrive once it has booted. I can’t think of another operating system that lets you do this. So we can re-master just from the RAM (by inserting a blank cd or DVD while Puppy is up in the RAM, and letting him burn his “new self” to that media). I’ve done this, and it seems to have worked. You can add some new apps before you start the burn.

    A Puppy DVD with persistence rolled into the disc will also let you mark individual session-saves as “to be ignored in future boots” if you want, so you can later cut one (or several) if you later decided it may be malwared. As I’ve said, there isn’t any active Linux malware out there anyway, at the time of this writing. Not unless you’re going to also use your distro as a server as well as a desktop—and then you’d have to activate the server-stuff—if there’s even any in the system to begin with. If there are any server programs in your image, you can use the special Puppy program deleter tool to probably delete unwanted programs without messing-up your dependencies libraries. (Seems Mr. Kauler has thought of just about everything!) Anyway, you can always just whip that live DVD out of the cd-tray, if you find the Men In Black are coming to get you. Squeeze it in your hand(s) until it breaks in-two. Just remember to wear gloves and safety glasses, and maybe put it in a vice, so you don’t cut yourself.

  9. Entry-12: Now that you’ve carved-up your harddrive the way you have planned, the next thing is to install the various distros, or just create our frugal install of Puppy.
  10. Entry-13: I will cover two Linux here, though it can be more than two distros added to a disk (harddrive) that already boots Windows and Ubuntu, placed in logical drive partitions that you’ve prepared.  If you are just interested in the frugal boot of Puppy for right now, I guess it’d be safe to skip-down to “Entry-14-B”, below.  [IMPORTANT CAVEAT:  The BIOS of some machines (mostly older ones) Does Not have the ability to boot from DVD—some older machines will boot from cd only.  And sometimes this is because of the cd-tray itself—or BOTH the cd-tray AND the BIOS don’t support booting from DVD, but can boot from a cd.  Also, the BIOS of some machines (especially older ones) does not have the option to boot from their USB hardware port/software interfacing.  This can be overcome by learning to make a special type of “boot-helper cd”.  You could look at the file “l boot from usb when bios is not able” [when I get it posted], or research Plop Boot Manager online.  Google the issue if it crops-up for you.  Sometimes this lack of USB-connection bootability can be remedied by just updating the BIOS’ firmware (BIOS firmware is the miniature operating system that drives BIOS).  This is sometimes referred-to as “re-flashing the BIOS”.  Better let a professional tackle this one, unless you’re already WELL on your way to being a hardware tech professional.  If a BIOS re-flash procedure doesn’t come off right, the machine will probly not be able to boot anything again, until-and-unless it is straightened-out.
  11. Entry-14: The first I am installing is Linux Mint 13 XFCE Ed. Boot up to it from its live cd desktop, and play-around with it, just to confirm you have a good burn. If it runs normally, then go ahead and double-click that installer icon. Follow the prompts, and install it to a logical I have previously created with G-Parted. WHEN YOU GET TO LATER-ON IN THE INSTALL PROCESS (Ubiquity Installer—ABOUT THE 7TH OR 8TH STEP), YOU NEED TO CLICK THAT “ADVANCED” BUTTON, AND USE THE POP-UP TO POINT THE DISTRO’S GRUB (the bootloader installation) WHOLLY AT THE PARTITION YOU’RE INSTALLING TO—OR YOU’LL HAVE A DIFFERENT INSTANCE OF GRUB FOR A MASTERBOOTLOADER WHEN YOU’RE DONE.  This latter can be okay: but I prefer to try to keep Ubuntu 10.04′s Grub2 (GNU Grub 1.98) as my Masterbootloader (“MBR bootloader”).

    Sometimes this Advanced button appears along the bottom of the window, as a wide narrow band. In any case, it’s too late to back-out anyway, once the filesystem-transfer has begun. And that may have begun before you get as far as the Advanced—Ubiquity installer is set-up a little differently from one Ubuntu-based variant to another. But it’s graphical, and doesn’t ask many questions that a person with a basic grasp of harddrive partitioning can’t readily answer—at least when run as described here. Just watch yourself. [Ubiquity installer is used in Ubuntu, probly most of its variants (PinguyOS, Mint, PeppermintOS, &tc.), and many other Debian-based Linux. RPM-based Linux distros like Fedora use Anaconda installer.

    Even so, I’d think the principle would be the same (for the context with which we’re dealing here): Don’t let that sucker install Grub stage_1 to the MBR—* Unless * you want to start using * the new * distro’s Grub as your Masterbootloader. Make sure it just is told to point Grub at the dang logical drive partition to which you’re already installing the second Ubuntu-based distro, and you won’t have over-written your MBR again, or changed one instance of Grub for another as Masterbootloader. You’ll have to boot the os whose Grub * is * the Masterbootloader after installing a new instance of Ubuntu or what-have-you to go with your existing one, in order to run “sudo update-grub”. This way, your option to boot the new os will be “automagically” added to the boot menu you see when you boot up from cold.

    Entry-14-B:

    Where it comes to Puppy Linux’s case, there is more than one installer option in most builds; however, I just use Puppy Universal Installer (“PUI”). It’s graphical, and gives pop-ups to help us understand what’s going on, and what we’re about to execute before it becomes too late to back out. In this respect it’s arguably even better than Ubuntu’s Ubiquity installer. PUI/Puppy Universal Installer will have several install-type selections to choose from in one of its first menu screens. Puppy Universal Installer is in the Puppy desktop menus, I think under “system” in most. I’ve used PUI to create both a full-install, and also frugal installs. The reason I wanted to do frugals is that I wanted to learn to boot this type of install (a compressed filesystem) from a Masterbootloader on a truly multi-boot disk.

    When you do a frugal of Pup (or probly DSL/Knoppix, pretty much any distro designed with this type of install in-mind), the installer is gonna put Syslinux bootloader onto its logical drive partition along with Puppy/DSL/etc itself. But it’s okay: no booter I can think of takes up much space at all (not even Grub 1.99—the newest iteration of Grub 2). Remember also: we are NOT going to be installing Syslinux’s first stage to our MBR; that is outside the context of this article. We will set things up so we are able to boot * everything * from Ubuntu 10.04’s Grub 2.

    Most bootloaders seem to be on the order of 20 Mb. in size, give or take a dozen Mb. And the copy of Syslinux that comes with Puppy can just sit in there. It won’t be used, under our booting scenario—but it laying in the Puppy file won’t hurt a thing. Where one is going to be using Grub 2 to boot the installs, Grub will only access the parts of the boot-code that it needs, in a given logical-drive partition.  The Puppy (or DSL, etc) frugal install will be booted directly by the Masterbootloader. We will just have to edit one file, and we’re gonna do that in a way that’s about as idiot-proof as possible. At least as long as the op in question DOES NOT STRAY MUCH OUTSIDE THE PARAMETERS OF THE INSTRUCTIONS I HAVE LAID-OUT, AND WHICH I’VE TRIED TO MAKE CLEAR. (Sorry if I failed at clarity. I try, though.)

  12. Entry-15: Once I’ve installed Linux Mint 13 XFCE Ed. to a 30 Gb. logical partition I created earlier, and made sure its target for bootloader installation is the same as the logical partition I’m installing it to—in my case, sda7— * instead * of just plain “sda” with no partition number typed after it. [Which is Ubiquity’s default—so don’t let it default to just “sda”, or “hda”: that’s the difference between a * device * (harddrive or thumb), and a * partition *, Buckcko. In code, a * partition * ** always ** has a number attached—a’ la “/dev/sda5”, or “/dev/hda7”. Or what-have-you. Just plain /dev/sda [or /dev/hda] tells any program to consider the device as a whole, which in the context of this article will point the installation of any bootloader’s first stage to the Master Boot Record of the device—NOT to the PBR (Partition Boot Record)].I click “continue to try Mint”, and then shutdown from the menus. I’ve found this seems to work better than using the “reboot now” option.  Remember that to affect the target for bootloader installation while using the Ubiquity installer (Ubuntu’s installer also used by Mint & most variants), the way is to use the “Advanced” button, in about step 7 or 8 (which step exactly varies by which variant-distro you’re installing). Ubiquity is a very clear GUI, so you’ll probably be okay as long as you just * pay * attention *).

    Boot the first entry for Mint [the other(s) will be for stuff like recovery, and mem-test]. This should bring you to the Mint desktop. But we booted Mint with Ubuntu 10.04′s Grub 2 [GNU Grub 1.98], which is still our MBR bootloader (“Masterbootloader”). Ubuntu’s Grub was handed-off-to by the computer’s BIOS, because we did not allow Mint’s Grub stage_1 code to install to “sda”, but used the Advanced button in Ubiquity to cause the target for bootloader installation to be “sda7” [in the case of * my * harddrive partitions layout]—the same as our soon-to-be installed instance of Linux Mint itself. So instead of Mint’s Grub, Ubuntu 10.04′s Grub started as it always has when I booted back up, and then I selected “Linux Mint” from there. Or sometimes it will still say “Ubuntu blah blah” in the Grub menu, until sudo update-grub has been run once or twice more, like run it sometime when we’re in our extant Ubuntu 10.04 desktop: then it’ll finally change the Grub menu entry for that new partition to “Mint”. Why this doesn’t always happen with the first re-boot I don’t know. But it always tells reliably the * partition ** numbers ** in the Grub boot menu screen we select from at boot time, so it’s easy enough to keep track that way.

    After the machine is cold, I boot back up, and I should see the Grub menu. Mint ain’t in there, so I boot into Ubuntu. Once I’m sure the boot process is good and finished, I open a Terminal, and I type “sudo update-grub”. Then I hit Enter. I answer the prompt for my password. When it finally says “done” at the bottom of the Terminal, I close it. Now shutdown. Booting back up, I use the down arrow key to tap my way to the bottom of the Grub menu. (Or one could hit “end”, on one’s keyboard.) Now I see the option to boot into my new install of Mint. ##### <<<<<

  13. Entry-16: Install Puppy Linux using Puppy’s Universal Installer to do a frugal install. Remember that we create some logical drive partitions inside our Extended-type partition ahead of time, using G-Parted or another tool. (I have covered all this above, in the best way I thought possible for this article.)  So, when booted into Puppy, just click “install”, and it’ll let you select which logical drive partition, and [eventually] let you choose between frugal and “full”. PUI [Puppy Universal Installer] can also be used to create a new partition, but I’ve got used to doing it ahead of time, with G-Parted (as covered above). And I’ve had better luck doing so. Make sure you install the bootloader (Puppy Universal Installer uses Syslinux) to the same logical drive partition we’re putting Puppy onto. The PUI will put that sucker in the “correct” place in the Logical Drive partition. I used a Logical Drive I created as a FAT 32 partition for Puppy, for experimental reasons I won’t get into here. It is 13.55 Gb in size (I’ve since re-sized this downward), but I guess I could have made it as little as 4.75 Gb—500 Mb or so for Puppy and its rel. frugal folders, and 4 Gb for the maximum persistence that can be configured for Puppy Wary 5.2.2, after first successful boot and shutdown.  And 200 Mb. or so of extra “breathing space”, just because I’m sort of “cautious” about doing things to my harddrive, and want things to “just work” when I get them done.

    That comes-out to about 4.5 to 4.75 Gb. But if you then choose to set up the persistence feature (when shutting Puppy down after a session), the options are an ext2 or ext3 partition, which Puppy can then create. If you’re gonna do any encrypting of this “persistence location”, you have to choose ext2. Be sure to take notes of the password you might set, which partition, &tc. Making such notes on paper is a good help in avoiding confusion later-on.  Make notes that are * clear *–don’t jot-down this pertinent information half-heatedly.  MOST IMPORTANT, when it finishes, PUI should hand you the boot information, by opening it in a GUI text-editor window. This is a small, brief stanza of code, and each of the lines is short. Therefore it’s easy to handle. IT WILL BE VERY IMPORTANT TO SAVE THIS SNIPPET OF COMPUTER CODE. Read on. [I save it by e-mailing it to myself. This is easy and reliable, and allows me to use it later with no trouble.]

    The way I did was to copy this to clipboard, and then e-mail it to myself before I shutdown Puppy. It’s important, because it’ll already be customized regarding the ‘hostname’ and location of the frugal install. BUT UNFORTUNATELY FOR US, IT WILL PROBLY BE IN GRUB-1 FORMAT. [At least until Barry Kauler gets around to updating the PUI installer.] Under my scenario for this article, we have Grub 2 as Masterbootloader—not Grub legacy. Mr. Kauler will, I’m sure, get ’round to rectifying this situation when his time permits. Until that day, we must manually convert our snippet of boot code; but it is not that hard.

  14. Entry-17: While still up, use Puppy one more time to confirm that you’ve successfully e-mailed the info to yourself. If not successful, try again. If nothing else, you might be able to save it to a filesystem somewhere on your harddrive, or copy it with a pencil. If copying with a pencil, be very careful and accurate.
  15. Entry-18: Now shutdown Puppy, and boot back up into your harddrive’s Ubuntu. Running “sudo update-grub” won’t help, because Grubs don’t recognize a frugal install automagically. This is true of Grub 2, and it is true of Grub legacy as well. So we gotta edit a file. But we want to first convert the snippet of boot code PUI handed us into Grub 2 syntax. This won’t be too tough.
  16. Entry-19: As I said, we boot back up, into our Ubuntu install, and we’re gonna make an edit to one of our Grub 2′s files, which will let us be able to boot our frugal of Puppy in future.  Sometimes the first attempt at this does not yield working results:  but don’t worry:  the way I’m describing won’t hurt the existing boot stuff in Grub–we’re just gonna add some stuff (and a small amount, at that).  It would not be very hard at all to make a backup copy of our Grub’s 40_custom file, while we’re in it in g-edit.  No, * I * did not.  But I’d say it would be prudent.  Put it in a directory somewhere, like Downloads, or Documents.

    The “obvious” way to accomplish our edit to the appropriate Grub 2 file is to just open the stoopid file in a graphical text-editor (like gedit), having invoked it with a root-privilege. [Another way is to login to Ubuntu as Root, do the rest of the required procedures, being careful not to affect anything else, then get out of root or shutdown.  But most people will probably rather do this from their existing user account in Ubuntu.] So, from user:  We’ll open a Terminal, and carefully type: “sudo gedit /etc/grub.d/40_custom”. Without the quotes, of course. Then, we’ll carefully scroll-down toward the end (“tail”) of the document, then place the mouse-cursor at the end of the last line, then hit Enter once, to jump the cursor-bar down to the next line; then we’ll use ctrl + v, to paste our needed info into the “tail” of the file. But first, let’s get the info we want to edit into the file, and get that info onto our computer’s clipboard [so we can put it in the proper form].

  17. Entry-20: We’re still in Ubuntu.  Open Firefox (or install another browser, if you like, from Software Center), and go online and retrieve that boot info you e-mailed yourself. Copy it to a text file [use g-edit to create a text file, in which we can fool-around with this information a bit. Just open g-edit (in Ubuntu 10.04, Applications > accessories > g-edit), then type a title in the top line, then highlight that with the mouse, then copy that to clipboard with ctrl + c; then do ctrl + s, and tap Backspace to clear the title-save window, and then ctrl + v to put your title in there.] Paste-in the modest stanza of code from your e-mail the same way, using ctrl + c, and ctrl + v. Now skip down 2 or 3 lines, and paste it on the text file a second time. The first instance of the stanza is gonna be for reference, as the pristine information coughed-up by Puppy’s installer. The second and any subsequent ones will be for editing—an informed trial and error process we need to use to convert the boot info from Grub 1 format to Grub 2 format—at least until Barry gets time to update the Puppy Universal Installer.
  18. Entry-21: The next thing is to make the needed changes to that second copy of the stanza. [Keep reading—almost there….I’m gonna show you how to actually open the actual 40_custom in a bit, and paste-in our few needed changes. Then Puppy frugal will probably boot.]
  19. Entry-22: Now with the 40_custom trial “template” we’ve created opened in gedit, we make our trial changes for our first attempt. When we think we’re done, we can then copy the stanza we’ve edited to the computer’s clipboard, and then close g-edit. We’ll then use a Terminal command to open the REAL 40_custom file * inside * g-edit, put the cursor-bar in the right place with the mouse, and then use ctrl + v to paste-in our first (and perhaps only needed) changed frugal boot template. Here’s my example; I got this to work on my third try—only because on close inspection after the first two failures, I noticed that I had been noob enough to run together the words “set” and “root=”, to render the beginning of the line as “setroot=”. Which is wrong: it should have been “set root=” , without the quotes. (Note as well that, when typing in the file-path to open the 40_custom file so we can edit it, there is actually a SPACE between “gedit”, and “/etc/grub.d/40_custom”. So here is my third try, which was right and which worked:

title Puppy Linux 5.2.2 frugal in sda8 dir puppy522/orngfrogz
rootnoverify (hd0,7)
kernel /puppy522/orngfrogz/vmlinuz pmedia=atahd psubdir=puppy522/orngfrogz
initrd /puppy522/orngfrogz/initrd.gz

changed to:

menuentry “Puppy Linux 522 wary frugal” {

set root=(hd0,8)

linux /puppy522/orngfrogz/vmlinuz pmedia=atahd psubdir=puppy522/orngfrogz

initrd /puppy522/orngfrogz/initrd.gz

}

This was effective for me, in booting my frugal install of Wary Puppy 5.2.2 by means of Grub 2 as the system’s Masterbootloader.

“puppy522” denotes the name of the folder PUI helped me create in the logical drive, for Puppy to sit in.

orngfrogz denotes a folder one level below that. This would be where Puppy’s file-system stores user stuff, I guess. I dunno—I can’t remember it all from install time. Anyway, I knew I had chosen “orangefrog” as the “hostname”, so orngfrogz (for “orangefrog’s”) is what I came up with when it asked me if I wanted to create a separate folder for the bootable compressed (a.k.a. “virtualized”) Puppy file system, one more level deep, on the logical drive. At least I think that’s what the installer was askin’ at that step. Anyhow, my install works. And I seem to be able to re-create this arrangement on other machines, following the steps I’ve outlined here. So it’s “good enough for * me *”, for right now. I’ll learn more as to how it all actually works as I * use * it.

The changes:

Notice that you take the partition number up a notch, from (hd0,7) to (hd0,8).

Just to confuse us, when they introduced Grub 2, they set it to count the * partitions * and * logicals * from one (1), NOT from zero anymore. So Grub 2 now uses the same counting as G-Parted—not a digit lower. * Devices *, however, are unchanged: they’re still counted from zero. So the first (and probly * only *) harddrive on the system is still hd0, not hd1. Try and remember all this. (Have your girlfriend massage your scalp.)

The familiar line from the Grub 1 era that said “title” replaces title with * menuentry *. What a portmanteau. And whatever you type inside the quotation marks that are to be in that line, is exactly what you’ll see in the Grub menu at boot time. If you were to type “crap!_crap!_crap!” in that line, a’ la

menuentry “crap!_crap!_crap!” {

then I guess what you’d see at boot time would be crap!_crap!_crap! among the last entries in the boot menu. So I guess you can make up your own title to help you keep everything straight. A good example is if the first spate doesn’t work, you can call the second something a little different. Or you can just delete the failed spate of code from the file we’re gonna edit, and paste in the new one.

Or you can just give up, and take up a less frustrating activity.

These kinda programs are real touchy about where an empty space is supposed to be. Use your cursor to check that you have not accidentally left an empty space at the end of any of the lines, “invisibly”–do so just as you would in your word-processor/documents-creator.

A single right-facing brace { has to be appended to the end of the first line, after a single space.

So

menuentry “Puppy Linux 522 wary frugal” {

NOT

menuentry “Puppy Linux 522 wary frugal”{

Notice the difference at the end of the line? There is a space between frugal” and { in the first example, which is how it’s supposed to be. The second example is wrong. So we have to look very carefully, and also take a break when we need it.

You gotta change the Grub-legacy line that used to start with “root” or “rootnoverify”, to

set root=

(or at least that’s what worked for my Puppy)

and it better not be templated as setroot=

because if you run together the words set and root, you’ll get an error when trying to boot (or so it appears). This is another change to the boot code syntax from GNU Grub 1 [Grub 0.95 and 0.97] to “Grub 2” [Grub 1.98 or 1.99].

And it probly won’t be a very useful, informative message if you get an error message. This is often true in computers, but not always.

The very fact that I was human enough to have gotten my first two edits wrong, and only because I ran-together these two words, is all that caused my first two attempts to fail. Had I but been vigilant enough to have seen that it required “set root=”, and not “setroot=”, it would have worked the * first * time. I had apparently gotten everything else right.

Remember to take the partition number up a notch, example: (hd0,7) is now (hd0,8).

The line for this which in grub 1 started with “kernel” now begins with “linux”.

So what * was * known as the “kernel line” is now often called the “linux line”. Using this terminology on forums might help you, if you post a question involving this part of the frugal-Pup’s Grub booting template. Or maybe it won’t help as much; the Linux community seems to use a few of these terms with a rather unfortunate abandon. Would be nice if we could somehow make the vocabulary in this area a little more “codified”, a little less ambiguous. Anyway, at the time I originally wrote this, I still found most of the template examples online for booting a frugal of Puppy to be for Grub legacy, not Grub 2. Maybe I didn’t Google it right.

Anyhow, just change that one word (change “kernel” to “linux”). The rest of the line should be able to stay as it is. Mind that there is only one empty space after “linux”, just as there was after “kernel”.

The old “initrd” line stays the same, apparently.

And then the very next line must consist of a lone, single } with no space mistakenly typed after it.

Sometimes we see something like “EOF” as a line after the closing }. I don’t know what that’s about (“End Of File”?), so if your first attempt doesn’t fly, I think I’d try just omitting “EOF” in the next template (and also give your code another scrutinizing).

Using these changes (made with care) may well allow you to boot frugal Puppy directly from Grub 2 on your first try.

NOTE that if the first attempt fails, you can always just try again, by pasting another template you’ve tweaked into 40_custom: just skip a line from the end (the “tail”) of the last line of your previous template, and then ctrl + v to paste-in a new one. Close the window and click “save” when it asks, then in terminal again run “update-grub”. Note you do not need to prepend this command with “sudo” if you’re logged-in to Ubuntu as Root.

Now now close the files, being sure to click the “save changes” button that appears, and take a coffee break.

[If you want more tips as to editing 40_custom, see the “caveats” at the end of this article. ]

Now that you’re back, The thing to do is apply the changes, and see if they worked.

How do we do that?

Again, still logged into Ubuntu, the first thing is to copy that SECOND stanza to the computer’s clipboard—the stanza we edited.

Go into you files manager (Nautilus or whatever), and navigate to that stored text file—the one where you saved the edited boot info. Open it with g-edit.

Carefully highlight the desired stanza with the mouse—don’t worry that the shaded highlighting extends beyond the code, to its right. Just worry about vertically—don’t add an invisible line above or below the stanza (sometimes it’ll still work anyway, if you did that; but I’d try to avoid it).

Use ctrl + c to put it on the computer’s clipboard.

Minimize the g-edit or close it.

If logged-in to Ubuntu as Root, go back to terminal window, and carefully type “gedit /etc/grub.d/40_custom” without the quotes (or have it ready in a text-file, and paste it into Terminal from g-edit). NOTE that Linux recognizes g-edit as * gedit *:  using it as “g-edit” is only my home-spun way of spelling it, in my own writing.

If running your Ubuntu from a user account (the normal way), we can do it this way: use Alt + F2: you should get the Linux “Run a Program” dialog box. Carefully type: “gksu gedit /etc/grub.d/40_custom”. Without the quotations marks, of course. When you hit the Enter key, it’s gonna launch the Grub 2 file in gedit right in front of you—though sometimes there is as much as a 1 second delay. (Or maybe a little more: depend on how much processing power your machine has.) AN IMPORTANT NOTE: Note that Alt + F2 no longer works in Ubuntu 11.10; however, it continues to work in most other releases of Ubuntu and variants. It is also true that one can open a Terminal window, and just type or paste “gksu gedit /etc/grub.d/40_custom” into there, and hit Enter. If you do it that way, then don’t close that Terminal until you’re done with what we’re doing, or it’ll abort g-edit. Continue reading.

If the first edit you try isn’t successful it’s okay: Within the confines of what I describe here, a failed edit to the tail of 40_custom won’t harm anything, and you can try again any number of times.

Do not delete nothing from this 40-custom file. Leave the weird lookin’ gobbldy-gook that’s in it.

Put the cursor on the next available line after the last bit of gobbldy-gook—which will be the “tail” of the file’s “text-body”.

Now use ctrl + v to just paste in our template.

Now push the mouse-pointer to the upper corner of g-edit and click the close button.

Where it says “save changes”, or “save”, click that.

Now in the terminal type “sudo update-grub” (without quotes, of course). Note that you do not need to prepend it with “sudo” IF you are already in Ubuntu as Root. Otherwise, you’ll need to type “sudo update-grub”. Hit Enter and the machine should auto-generate a new Grub menu. When it finishes, close the Terminal and any remaining apps, and shutdown. Then boot back up.

When Grub screen appears, you can hit “end”, or just continue tapping that down arrow key until you reach the * first * of the new entries. Boot it, and cross your fingers. If it failed, you can hit any letter of the alphabet to restart the Grub menu sequence, and boot something that will boot [Ubuntu or Windows]. Then you can get online if needed. And take another look at out template, try & figure out where we made our mistake.

I will include a list of Grub 2 file-editing caveats here, just in the interest of further usefulness, to try to help others.

GRUB 2 40_custom file CAVEATS:

[much of the below advice is from the thread at:

http://www.murga-linux.com/puppy/viewtopic.php?t=22355 ]

[THESE ARE GRUB CAVEATS WRITTEN MOSTLY FOR GRUB 1 (LEGACY)–BUT THEY HAVE BEEN EDITED TO APPLY PROPERLY TO GRUB 2, AND SOME THAT ONLY APPLY TO GRUB 2 HAVE BEEN ADDED. [Author note-to-self: To view the originals, consult my file “l grub legacy editing menu lst”.]

ACHTUNG! Just to confuse us, * Grub 2 * now counts partitions from 1, instead of the traditional Unix way (starting from zero). So (hd0,6) is now (hd0,7). Devices (harddrives) are still counted from zero. So the first (and probly only) harddrive in your machine is still (hd0, But the damn partitions now start from 1, not zero. So it now counts * partitions * the same as G-Parted—BUT NOT the harddisks—they still start from 0.

Don’t use space after root=

Also the vga=normal seems fine, if it existed in the Grub legacy version of the boot code to begin with.

vga=normalboot doesn’t exist at all [at least not for Grub 2], so don’t enter that: don’t use it.

I also tend to think the PMEDIA= is for use with frugal installs of Puppy Linux; this must be an argument to tell the booting Puppy where to look for persistence file / persistence partition [??]

Leave space after initrd, if you mess with the initrd line [but you shouldn’t need to, in keeping with the scope of what this article is about].

“Kernel arguments” (boot parameters / “boot options” / boot time “cheat codes”) can apparently be appended to the “linux” line in Grub 2’s 40_custom file. For example:

linux /sysrcd/rescuecd subdir=sysrcd setkmap=us

This is from an instance of booting the System Rescue cd Linux distro, and we can glean that the user has set it to boot with the United States keyboard-mapping. [“setkmap=us”] Just as well, there’s a sub-directory (“child directory”) involved somehow: “/sysrcd/rescuecd subdir=sysrcd”.

Another type of example of this “integrated boot arguments in Grub 2 boot code”:

linux /sysrcd/rescuecd subdir=sysrcd setkmap=us acpi=off

So perhaps keep in mind that you could research and then add appropriate boot options in the edits you could add to the 40_custom file, to perhaps solve a boot issue. This gives you yet another avenue to try to solve a boot problem.

IF YOU TYPE EXTRA SPACES AT THE ENDS OF LINES WHILE IN YOUR GUI TEXT EDITOR, THESE MAY BE RETAINED AFTER CHANGES ARE SAVED, AND CAUSE IT ALL NOT TO WORK—SO DON’T DO THAT.

The FIRST LINE in each 40_custom stanza has gotta end with a {

The last line in a boot entry stanza (that’s what we’re gonna use to get Grub 2 to add an os—a boot entry stanza we’ve pasted or typed into 40_custom), well, this last line in the stanza has gotta consist of just a }

Just a plain } all by it’s lonesome. Otherwise it won’t work. See?

Only what you put in quotes in the first line of each os stanza in this 40_custom is what Grub will try to use for the boot entry title in the Grub screen we can see at boot time. So if the first line in the stanza is:

menuentry “Puppy Linux 5.2.2 frugal” in sda8 dir puppy522/orngfrogz {

then Grub 2 should list this os as * Puppy Linux 5.2.2 frugal * in the menu from which we can select at boot-time.

Remember that Grub 2 will FIRST try to boot stuff the first line of which starts with a number, and then stuff whose first stanza line starts with the letters of a word. So a trick people use is to put a number ( such as “01”) in front of an os they want Grub 2 to try first. This trick will keep it as the first os that Grub 2 will always try to boot without intervention from you, the op.

NOTE that full hdd type installs of Puppy (or probly also Knoppix) don’t carry the “initrd” line—probly because no initrd is needed in the case of a full install of one of these two distros, as opposed to a frugal. Knoppix and her children [such as DSL—“Damn Small Linux”—and Feather Linux] are structured a little differently from most other Debian-based Linux distros where the boot process is concerned (and a few other things as well). Puppy Linux and its “Puplets” [variants] are * very * different, in th way the os works. Puppy is “very much his own animal” in the Linux ecosystem. So there are just some things you just have to find out and learn, in order to get the full good use out of Puppy. Unlike Ubuntu and Fedora, Puppy’s own ecosystem is much more genuinely democratic: it is truly “of the People”; but this has made for a more “chaotic” online documentation metaverse.

As I’ve said, JUST AS IN Terminal commands, where you type spaces with the spacebar is critical to allowing your code to actually work and execute—so BE ANAL. I’m not trying to annoy by repeating myself; it’s just that THIS IS AN IMPORTANT TIP.

Here’s an excerpt from a forum:

“I left the space after initrd as suggested. Bingo! Isn’t it amazing how a simple space can cause so much grief when omitted? lol I still have a couple of problems to resolve, just waiting for the time. One of them, which is a bit puzzling, is that I could use XORG (and a high resolution) when booting Puppy from a USB stick, (216 & 217 CE) but can only get VESA (and a very low resolution) now I’m booting 3.00 from hard-drive. Don’t know if there’s been a change in that department between versions; serves me right for not reading the information before downloading! Anyway, my thanks to Bruce B for the advice.”

Good Luck and Good Peace. –Lectric Lucas

Advertisements

10 thoughts on “How I Booted a Frugal Install of Puppy Linux Via Grub2

  1. Heya i am for the first time here. I found this board and I find It truly useful & it helped me out a lot.

    I hope to give something back and aid others like you helped me.

    • Thank you for the nice compliment emploi, I’m sorry, but life is busy for me right now, and I don’t think I could fit Twitter in. But I’m glad someone has enjoyed my modest contribution to desktop Linux. I have more articles in the works, but it may be some time before I think I’ve honed them enough to post them online. Cheers

  2. You’re so awesome! I don’t believe I have read through anything like
    this before. So nice to find someone with some unique thoughts on
    this subject. Seriously.. thank you for starting this up.

    This web site is something that’s needed on the web, someone with a bit of originality!

  3. Greetings from California! I’m bored at work so I decided to browse your site on my iphone during lunch break. I really like the info you present here and can’t wait to take
    a look when I get home. I’m shocked at how fast your blog loaded on my phone .. I’m not
    even using WIFI, just 3G .. Anyhow, good blog!

    • Very nice of you to say so, Lesley. I appreciate your comments. Please do not take this the wrong way, my dear: at the link you have supplied (artmentors – cum – tokyofuns…..), your name and address is publicly viewable (or at least I and visitors to my blog can see this). Not your real info? Not a problem from where I sit: my mom did not name me “lectric Lucas”. But if it * is * your real information, I’d suggest taking it down, doctoring it (at least munging it), or setting the website so that viewers require a pre-shared key to view stuff like your real name, street address, &tc.

      But THANK YOU, for the kind words. -L.L.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s