clay
New Member
Posts: 4
|
Post by clay on Jun 4, 2009 19:42:35 GMT -5
I just stumbled across the multidistro site today, and it looks like a good solution to what I have been looking for. Basically, I have been attempting to create a multi-partition multi-boot USB stick with a data only FAT partition, then EXT partitions for various Linux distro "Live CDs" and utility disks (like SystemRescueCD, Ultimate Boot CD, Clonezilla, etc.) and maybe even full installations of a couple of small Linux distros (like Puppy, DSL, ttylinux, etc.)
I wanted to put everything in separate partitions, then use GRUB chainloader to boot into any of the selected environments. Trouble is, I can't seem to get GRUB to chainload to distros that are sitting in Logical Partitions. I have changed the ISOLINUX booter that comes on the LIVE CDs to EXTLINUX and have no problem using the chainloader to start Puppy (in partition #2) or SystemRescueCD (in partition #3), but after that, trying to use the chainloader on Logical Partitions (#5 and beyond) just results in a "Boot error" with no error code nor other helpful info.
On some partitions (like Ubuntu Live CD), I can use the full GRUB title/root/kernel/initrd menu entry to boot them in the logical partitions, but on some Live CDs (like Ultimate Boot CD), it is not obvious to me how to construct a full GRUB stanza to replace the original ISOLINUX booter.
So, if you already have multiple utility disks all packaged up so that I can load them into one Primary partition, and then a bunch of Linux Live CDs bundled so I can load them into another Primary partition, I could chainload them from a GRUB menu. I could then use the Logical partitions for the full installs of Puppy/DSL/ttylinux distros and boot them from normal GRUB title/root/kernel/initrd menu entries.
I am using an 8GB USB memory stick. I am trying to create the first partition of 2GB for use as a shared data FAT partition. The rest of the partitions would be ext2, so that Windows can't touch them.
Am I on the right track here? Will your multidistro images work on a USB stick using this approach? This would basically be a multi-multidistro super-stick!
Please give me your thoughts.
>>>> Clay >>>>
|
|
paul
New Member
Posts: 3
|
Post by paul on Jun 5, 2009 23:50:41 GMT -5
The lifespan of your flash media is measured in (something like) 5,000,000 read/write cycles, of which only the writes actually count for anything.
You will have to be sure the linux partitions are set up to write temporary files to a ramdisk wherever possible (many on-line howtos should explain this better than I), and turn logging (esp kernel) off or at least reducing the log-level, you probably don't really need it.
In addition, ext2 partitions are preferable to ext3 (the journaling makes an awful lot of writes).
It is too bad Lilo is not more forgiving, but might be workable if you were to use an initrd to boot, then mount the partition of your choice. I know Maurice at MinimaLinux.org is working on this at the moment and is in the process of working out the details.
Ttylinux (at <8Mb) might be a good choice for the primary boot in any case, you should (don't shoot me if I am wrong) then be able to "chroot" into the disto of your choice. They could all then reside on the same partition, each in its own directory.
|
|
clay
New Member
Posts: 4
|
Post by clay on Jun 8, 2009 20:18:27 GMT -5
Well my first test was successful. I took a spare 2GB SD card and divided it into two ext2 partitions. I downloaded the UltimateLinuxToolkitUSB, extracted the files to the second partition of the SD card, installed EXTLINUX and set the boot flag. I popped that into my EEE PC and it booted up just fine. My next test is to install GRUB into the first partition, and then point it to the second partition and use the chainloader command to start it. I am still learning my way around both GRUB and the SYSLINUX family of bootloaders. Apparently there is a problem getting EXTLINUX to work on logical partitions, but it is working fine for me on primary partitions. So, for my USB key project, instead of using one partition for each item that I want to load, requiring the use of logical partitions, I am thinking of dividing up my 8GB USB stick into just four primary partitions as follows: - Partition 1: FAT partition for shared data and Portable Applications for Windows. GRUB would also boot from here to boot into one of the next three partitions using chainloader.
- Partition 2: ext2 partition loaded with Linux utilities installed under EXTLINUX with multi-level menuing .config files.
- Partition 3: ext2 partition where I can load various Live CDs for different Linux distros. Since the Live CDs all use ISOLINUX, I can easily convert them to use EXTLINUX to work in the ext2 partition of the USB stick.
- Partition 4: ext2 partition where I do full installs of various small Linux distributions like Puppy, ttylinux, tinycore, DSL, etc., also installed with EXTLINUX.
That should give me one device that will boot up and repair an unbootable system, can install a variety of current Linux distros to a sytem, or can run a package of favorite Portable Applications on a Windows system. Pretty much an all-in-one USB computer key!
|
|
|
Post by bryan on Jun 9, 2009 7:37:46 GMT -5
No doubt Big Dog; thanks for joining the Forum, as you can see I don't get much feedback so I appreciate it. Most times i have no idea whether my snit works or not 'cause nobody tells me?! Right now I'm banging Slayer "Expendable Youth" on aol radio via Microcore-2.0 on ext2 usb with Grubster! Hell yeah! Grab a spleef, burn it down and cut some Linux distro's too! Anyway, check it out-useful advice I've learned- Use ext2 on usb vs ext3; ext3 will wear out usb sooner 'cause of journaling. You can have both syslinux and grub on usb! Dig that- Simply install syslinux to the fat partition after installing grub to mbr of stick. Are you using grub4dos to boot fat partition or just grub? the fat32 parttion is the bootable one? I am using grub to boot my usb-it just has tinycore-1.4.3 and 2.0 on it now with a single ext2 partition. Tinycore may be the best Rescue system never invented! Also, check out my new grub-boot cd's too, they use grub instead of isolinux. Also, download and check out the grub splashimages-their cool too ( multidistro.com/downloads/tc_flavors/tc_flavors.html ) ( multidistro.com/tinycore-shots/tc-scrnshots.html ) I even got a menu.lst there too-just edit out tinycore and put whatever there- to change text colors/splashimages edit menu.lst; colors are html colorcodes ( www.immigration-usa.com/html_colors.html ) I have been playing with tinycore for like 2 weeks so I have been ignoring my other stuff. Be aware that my older downloads aren't as good as the newer; as I learn new stuff comes out; upgrading older stuff is really timeconsuming! I apologize too for my bad how-to's etc, as I don't write notes-It's all in my head! My html webpage building skills suck! I can't even do "hello world" in Retard-Basic! Basically, Linux is mostly about editing configuration files(syslinux.cfg/menu.lst,etc) so no sweat! You like the syslinux sub-menus and stuff? Yeah! 420!
|
|
clay
New Member
Posts: 4
|
Post by clay on Jun 9, 2009 11:18:25 GMT -5
I performed part two of my test last night. The first part was where I loaded the UltimateLinuxToolkit into the second partition of my SD card, installed EXTLINUX, set the boot flag, and then booted up my EEE PC from the SD card. In the second test I installed GRUB into the first partition of the SD card (both partitions on the SD card are ext2), and gave GRUB one menu entry selection that points to the second partition (root (hd0,1)) and then uses the chainloader command (chainloader +1) to boot up whatever happens to be in that partition. Everything ran smoothly and started right up.
Note that on the SD test card, both partitions are ext2, which I did choose in order to reduce the R/W wear on the FLASH memory device. I only have GRUB installed in the first partition; no other bootable environments. This best emulates how I want it to work on my final USB stick.
I am designing the USB stick to be a powerful all-purpose computer tool. The first partition is a FAT partition that has the Portable Applications for use on Windows systems, lots of empty space for use as shared data storage area, and GRUB for booting into the other partitions that follow. There is no other bootable environment in the first partition. Just GRUB and I want to keep its menu.lst very simple, just using chainloader commands to boot into the following partitions.
In my original concept, I planned to have separate partitions for each bootable environment on the card. For example, I would have one partition just for the Ubuntu Live CD, one just for the System Rescue CD, one for the Ultimate Boot CD, one for Puppy Linux install, one for DSL install, etc. Since the Live/bootable CDs all use ISOLINUX in the CD format, it looked like a pretty easy conversion to copy them into their own partition and convert the isolinux.cfg file to extlinux.conf and then install EXTLINUX. Sadly, I ran into a barrier with this plan when I found that the EXTLINUX would not boot up properly when in a Logical partition. Since you can only have up to four Primary partitions on a drive, I quickly ran out of partitions.
Plan B: Since you are throwing multiple items into a partition and using a nested menu hierarchy to keep them all playing nicely together, that looked like it might be a good solution to my problem. No now I am going to try and just stick with the four Primary partitions.
My first partition will still be as outlined above: Windows Portable Apps, Shared data space, and GRUB. The next partition will be for every utility/tool disk that I can pile in. The third partition will be for every Linux distro Live CD that I can fit in, and that still leaves me the fourth partition to use for full installations of small Linux distros. I'm using an 8GB USB stick, so I should be able to pile in quite a few things.
I have used Puppy Linux quite a bit over the last few months and really like the tools it has and the ease of use. I have not yet TinyCore yet. I will have to read up on that soon.
When I get everything up and running, maybe I can upload an image file back to you, if you like. I will have to learn how to do that. The Clonezilla CD probably has the tools to do that.
Thanks for the fun!
|
|
clay
New Member
Posts: 4
|
Post by clay on Jun 9, 2009 18:55:31 GMT -5
I am using grub to boot my usb-it just has tinycore-1.4.3 and 2.0 on it now with a single ext2 partition. Tinycore may be the best Rescue system never invented! Also, check out my new grub-boot cd's too, they use grub instead of isolinux. [snip] Be aware that my older downloads aren't as good as the newer; as I learn new stuff comes out; upgrading older stuff is really timeconsuming! I'm new here, so it is difficult for me to tell the old stuff from the new stuff. Where does the new stuff get added? I've had trouble trying to run Live CDs from a GRUB boot menu because they often use nested menus, making it difficult for me to figure out what to put into a GRUB menu. So if I can keep their SYSLINUX/ISOLINUX architecture (converting to EXTLINUX for use in my ext2 partitions on the USB stick), then I can simply use the chainloader in my GRUB menu to point to the partition and boot into the EXTLINUX hierarchy. Where is a good source to learn more about the SYSLINUX config file structure? I want to learn to build my own. For example, say I want to load the Ubuntu and Fedora Live CDs into a partition. They each have their ISOLINUX boot already setup for their separate Live CDs. I know how to change from ISOLINUX to EXTLINUX. What I envision is to rename the isolinux.cfg files for each distro to say, ubuntu.cfg and fedora.cfg. Then write a new isolinux.cfg (or in my case, extlinux.conf) that has two entries; one pointing to tue ubuntu.cfg file and the other pointing to the fedora.cfg file. So one menu/config file just hands off to the next. Am I on the right track here?
|
|