setup cannot find swap space - pushing GPT to extremes
While installing slackware64-current, setup cannot find swap space. This is an extreme case pushing limits with a huge GPT partition table. So there is probably some limit on the number of partitions, or partition number, the swap search looks for. Of 41 partitions I made scattered around the number range from 1 to 128, the swap space exists as partition 90. Maybe the problem is it can only check partitions 1-15 because 16 and beyond have to use a different device major number? When I do proceed with the install, /dev/sda90 is listed as a choice.
FYI, so many partitions is planning ahead for a multi-boot system. The rest of the install went OK. |
Here's the layout after the install completed. I have not added the swap space to /etc/fstab, yet, but it does work OK when I manually do "swapon /dev/sda90".
Code:
bash-4.1# parted /dev/sda u s p |
Did your format the swap partition before running the installer?
http://www.linuxquestions.org/questi...7/#post4260866 |
Quote:
|
Tested here, and setup found swap space on /dev/sda19 GPT, which uses the higher 259 major number. I think /dev/sda90 should also work if the partition is formatted with mkswap first, but didn't have the patience to make that many partitions. :)
|
I tried repeating the install. Sometimes it detects the swap and sometimes it does not. I hate intermittent problems (more often it is hardware).
|
You can "jump" partitions and make just the numbers you want, at least for GPT and primary MBR partitions. I only have 41 partitions, with some numbered 90, 100, and 128. At least that is the case with the "gdisk" program I used (did not use "parted" except to list partitions).
But I definitely don't see sda90 having any more issues than sda19. It must be hardware on this cheap machine from Walmart I'm using for tests. |
For Gods sake, why someone will need 90 partitions in one disk? :D
I think that it's terrible inefficient this setup. Just think about one thing: for every ext4 partition, kernel start a little daemon, to update the partition journal every 5 seconds (in a typical configuration). Now imagine 90 daemons yelling every 5 seconds that they want access to disk, of course, in different sections ... ;) |
Quote:
|
Skaperen has 41 partitions, the numbers are not linear in his setup. Read the OP more carefully.
The question I'd have is: what kind of disks do you have, because 41 still seems a bit high to me and my not be supported in certain configurations. You may have to check the definitions and their limits. (e.g. IDE drives these maxima: either 4 primary partitions or 3 primary, 1 extended with 4 secondary = 7 effective partitions) other protocols may be different. |
Quote:
http://en.wikipedia.org/wiki/GUID_Partition_Table |
Quote:
GPT just makes things simple and easy. You get 128 slots and can use them pretty much as you please, in any order you please. Look at my partition table previously posted and you can see that the number order and allocation order are not the same. GPT handles this just fine (as did MBR, though doing so for logical partitions numbered 5 and up would be tricky and limited, and no tools I've seen can accomplish it for other than the 4 primary partitions). BTW, it is said that MBR works only for drives up to 2TB. Reality is, it can work on any size drive, but limits the size of any partition to just under 2TB, and limits the starting sector of any partition to the sector just before the 2TB line. You could allocate nearly 4TB based on the structure of the MBR partition table format. However, I have found that partition tools end up doing calculations in error, probably as a result of 32 bit integer overflows, when pushing beyond the 2TB line. I haven't yet tested to see if the kernel itself would have an issue with MBR partitions running past the 2TB line. The classic Linux device node numbering provided only 15 partitions for SCSI (SATA is classified as SCSI), but 63 for IDE. Several years ago I took advantage of that and set up a 27 partition box (a mix of Linux and BSD). How? I put BSD (label) partitions inside each of 4 MBR partitions. Linux saw them all (it does understand BSD labels from at least the popular BSD systems). Quote:
This is a 1TB SATA drive. I've installed the first 2 systems, Slackware64-current (on 1-8,9,90) and Slackware-current (on 11-18,9,90), and they are working fine, able to access every partition. The 3rd system will a multi-lib -current, and the 4th will be Slackware-current with a 64-bit kernel. Initially, I'm going to put old versions of Slackware in the 10 single-partition slots (on 50-59) just to shake things out. The original post was because I encountered the problem with the swap space. I could work around it, but I was sure I had it set up right so it would be found. Turns out sometimes it works and sometimes not. I don't know the cause of that. When I run into something I'm not sure is, or is not, an issue, I post here to get information on other people's experiences with it, before I report it as a bug. Since it does work at least sometimes, I know the mechanism to detect it is there. As long as udev sets up the device nodes and the scanner looks at all devices listed in /proc/partitions, it should find it. And that seems to be in place (at first I was concerned it might not be). I don't know the cause of the failures I've seen now a couple times. Eventually, I'll have some time to dig into the installer so I can see where something might be failing. I do have a 2nd machine just like this one which is currently occupied with another project. That should be done soon, and I'm going to do the same setup on that one just to see if there are any hardware glitches (e.g. maybe the scan for swap trips up on hardware errors). edit... Oh, and the MBR partition table can keep going beyond 7 (whether IDE, SCSI, SATA, or whatever). I've done 12 before on IDE. In theory it can go on indefinitely. The way it works is that it starts with one of the 4 primary partitions being an extended type. Within that partition is another partition table which is designated to have 2 entries. One of these 2 entries defines how much of that extended partition is another nested extended partition, and the other is how much of that extended partition is a data partition. Now inside that nested extended parition just repeat the same thing with yet another partition table. Once you reach a level that lacks a deeper extended partition, you're done. The nested extended partition entries do not show up with numbers, and the data ones are numbered in order as you deeper, starting at 5. |
FWIW, I created a new swap partition on my disk, and gave it number 90.
The Slackware installer detects mine every time. Code:
# gdisk -l /dev/sda |
It's detecting mine most of the time. It's the 1st and 4th tries that it failed to. But because I had not yet seen a success after just the 1st try, I had a wide range of possible causes. I probably should have done more tries before posting here. When the other machine just like it gets done with its Ubuntu project, I'll redo all this on that machine and see what happens (these 2 machines are identical cheap $300 machines from Walmart). I have had one case of the system just not coming up at all from a power up, too (hung loading kernel). Re-seating cables might be in order.
|
All times are GMT -5. The time now is 04:46 AM. |