Intersting Issue with the Universal Installer

Using applications, configuring, problems
Post Reply
Message
Author
User avatar
Wheres One
Posts: 215
Joined: Fri 21 Nov 2008, 23:30

Intersting Issue with the Universal Installer

#1 Post by Wheres One »

In experimenting with other distributions and creating a good number of partitions on my hard-drive to accommodate them, I have encountered an interesting problem.

Before I go into the specifics, I would like to say that if this is a known issue or has already been addressed, that I did not find it when I looked through the forum and, as such, am willing and ready to be corrected. If this proves, however, to be a legitimate and previously undocumented issue, then I will report it as such.

Having chopped up my hard-drive into multiple partitions to accommodate a good number of distributions, I have encountered an interesting problem with the universal installer. When the number of partitions on the hard-drive is or exceeds ten, the universal installer will fail if you try to install to the first partition. Any number less than ten and everything works perfectly. Running the universal installer from the command-line provides no answers; it simply fails without any error message. Also, the problem does not appear to be tied to a single version of Puppy, as I have experienced it under 4.3.1 and 5.0.1, or any partition type, as you can see from the attached list of scenarios. Neither is the problem one of hardware as I have no other problems with my setup.
Attachments
list.tar.gz
Revision 2
(1.53 KiB) Downloaded 294 times
Last edited by Wheres One on Fri 30 Jul 2010, 20:20, edited 4 times in total.

User avatar
davids45
Posts: 1326
Joined: Sun 26 Nov 2006, 23:33
Location: Chatswood, NSW

#2 Post by davids45 »

G'day,

You didn't mention if your hard drive is a SATA or IDE.

I have two SATA hard-drives each partitioned up to their maximum of 14 partitions (4 primary, one of which is an extended with 11 logical partitions). So I have sda1 to sda15 and sdb1 to sdb15 - the extended drive doesn't count as a single drive, if I have this correct.

The Universal Installer has been OK for me to install full Pups into the highest number partitions.

If you have an IDE hard-drive, I believe you can create over 100 partitions. Must have a very long grub menu.lst!

Could you maybe indicate the precise partition designation where you are coming unstuck, and what the other partitions are being called?

David S.

User avatar
Wheres One
Posts: 215
Joined: Fri 21 Nov 2008, 23:30

#3 Post by Wheres One »

In the attached file, I listed my setup (SATA HD) and scenarios (around 20) for which the installer worked and failed.
Revision: 1

I intend to try to replicate the issue on differing setups and will update the list as I have done so.

Machine(s) Tested: Pentium IIII 3.2GHz, 1GB RAM, 320GB SATA hard-drive
Puppy Version(s) Tested: 4.3.1, 5.0.1 (all live CDs)
The file goes on to list a good number of scenarios. I put everything into one file to be concise and prevent posts from having incorrect information when I updated them.

Using Gparted, the extended partition counts as a partition (although it is not seen with the drive emounting utilities) and the logical partitions begin numbering at sd(drive letter)5 so as not to conflict with the four possible primary partitions.

The problem manifests itself only on the first primary partition when the number of logical partitions is six or more. It doesn't manifest itself on any other partition.

Sylvander
Posts: 4416
Joined: Mon 15 Dec 2008, 11:06
Location: West Lothian, Scotland, UK

#4 Post by Sylvander »

I experienced this problem in the past, but with a twist.

1. I only had 1 full Puppy install [Boxpup413]..
And Windows 2000 Pro...
All the other partitions held various pupsave+sfs filepairs for different Puppies.
I believe there were 3 primary partitions, plus an extended partition holding the various logical partitions.

2. Certain Puppies [Muppy-008.4c] wouldn't work on sda10, whilst others would.
So I swapped Muppy to sda9, and some other to sda10.

3. The problem only showed itself when I created/used sda10.

User avatar
Wheres One
Posts: 215
Joined: Fri 21 Nov 2008, 23:30

#5 Post by Wheres One »

Both of the problems we experienced seem to be centered around there being six or more logical partitions (leading to a two digit partition number) which leads me to believe that some part of the universal installer's code doesn't expect a two digit number. I've found that it's easy to repeat: the installer fails to install to sdb1 if there are six logical partitions; take away the sixth, however, and the installer works again. It's something about two digit partition numbers.

npierce
Posts: 858
Joined: Tue 29 Dec 2009, 01:40

#6 Post by npierce »

Wheres One, you are absolutely right about two-digit numbers being unexpected.

There are three lines in the script that use grep to search for the device name of the partition. If it searches for the string sda1 it will find both sda1 and sda10 (and sda11, sda12, sda13, sda14, sda15, sda16 . . . if you have them). Naturally, this confuses the script.

Since the device names are followed by colons in the list it is searching, I believe the fix is to include a colon in the search string.

Here is the block of code in puppyinstaller that has the problem:

Code: Select all

else
 DESTPART="`echo "$RETTXT" | grep 'EXIT:' | cut -f 2 -d ':'`"
 DESTFS="`echo "$DRVMSG" | grep "$DESTPART" | cut -f 1 -d ',' | tr -s " " | cut -f 2 -d " "`"
 DESTSIZE="`echo "$DRVMSG" | grep "$DESTPART" | tr -s " " | cut -f 4-5 -d " "`"
 DESTSIZM="`echo -n "$DESTSIZE" | cut -f 1 -d " "`"
 if [ ! "`echo "$DESTSIZE" | grep "GiB"`" = "" ];then
  DESTSIZM="`dc $DESTSIZM 1000 \* p`"
 fi
 IDESTSIZM="`echo -n "$DESTSIZM" | cut -f 1 -d '.'`" #truncate to integer.
 DESTVER="`echo "$DRVMSG" | grep "$DESTPART" | tr -s " " | grep "installed" | cut -f 8 -d " "`"
fi
In the version I have on Puppy 4.3.1, the problem lines are 619, 620, and 626.

Here is the corrected block with a colon added to change grep "$DESTPART" to grep "$DESTPART:" on those three lines:

Code: Select all

else
 DESTPART="`echo "$RETTXT" | grep 'EXIT:' | cut -f 2 -d ':'`"
 DESTFS="`echo "$DRVMSG" | grep "$DESTPART:" | cut -f 1 -d ',' | tr -s " " | cut -f 2 -d " "`"
 DESTSIZE="`echo "$DRVMSG" | grep "$DESTPART:" | tr -s " " | cut -f 4-5 -d " "`"
 DESTSIZM="`echo -n "$DESTSIZE" | cut -f 1 -d " "`"
 if [ ! "`echo "$DESTSIZE" | grep "GiB"`" = "" ];then
  DESTSIZM="`dc $DESTSIZM 1000 \* p`"
 fi
 IDESTSIZM="`echo -n "$DESTSIZM" | cut -f 1 -d '.'`" #truncate to integer.
 DESTVER="`echo "$DRVMSG" | grep "$DESTPART:" | tr -s " " | grep "installed" | cut -f 8 -d " "`"
fi
After making these three changes and running the script it continues to the next dialog instead of exiting. I have not run it all the way to the end since I have no desire to install Puppy on /dev/sda1. If you want to backup your original file, add the three colons, and try it out, that would be great. (If you are uncomfortable with risking your drive to this experiment, and would rather not try this, that's okay too.)

Thanks for taking the time to carefully document your testing of this problem. You should certainly, as you indicated in your original post, report this.

User avatar
Wheres One
Posts: 215
Joined: Fri 21 Nov 2008, 23:30

#7 Post by Wheres One »

@ npierce

Thanks very much for figuring out the problem. Lately, I haven't had the time or inclination to pour over scripts. I'll definitely report it.

Thanks,

Wheres One

User avatar
Wheres One
Posts: 215
Joined: Fri 21 Nov 2008, 23:30

#8 Post by Wheres One »

@ npierce

I just tried your fix under my scenarios and machines, and added a few, and all appears to be golden. Progress!

User avatar
Wheres One
Posts: 215
Joined: Fri 21 Nov 2008, 23:30

#9 Post by Wheres One »


npierce
Posts: 858
Joined: Tue 29 Dec 2009, 01:40

#10 Post by npierce »

Wheres One,

Great! Thanks for testing it and filing a bug report.

It is always good when someone spots one of these elusive bugs -- the kind that bite some people and not others. Two people could be running identical Puppies on identical hardware and only one might run into this problem. That makes it a real head-scratcher. Who would guess that just because one person had sda10 and the other did not that there would be a problem with installing on the first partition?

Most probably there have been people who have simply given up when running into this problem, so it is great that you stuck with it and figured out that the key to getting the bug to appear is having sda10 -- and then testing and retesting on different setups to verify that it wasn't just a fluke, and wasn't related to the type of filesystem on sda1 or sda10.

Again, thanks for taking the time to investigate, document, test, and report this.

Post Reply