[Discuss] ubuntu quirks, UUID and all that!
John Blomfield
jabfield at shaw.ca
Mon Mar 24 16:40:52 PDT 2008
Sorry to bore everyone with all my problems (below) but a simple
solution is now at hand. Dear old SuSe pointed the way! Most distros
generate their menu.lst file items for other distros on the system like:
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-14-generic
root=UUID=19a47c32-55d2-4905-9ebf-ed3ea21f306e ro quiet splash
initrd /boot/initrd.img-2.6.22-14-generic
quiet
but SuSe does like this:
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,2)
configfile /boot/grub/menu.lst
which enters the menu options set on each distro!!!!!!!!! (I've not come
across the grub command configfile before but its right there in the man
page) All that remains to be done (just once) is to eliminate all the
items on these sub-menus other than the default and perhaps fail safe
items, set the time out to 1 second and it flips straight into the
distro you want. Kernel upgrades and UUID changes then can occur in
each distro independently with out screwing up the main menu. :) :) :)
Another thing that was confusing me is that Ubuntu tends to mount every
ext3 partition on your system by default in you fstab file using UUID's
and for some reason it could not "resolve" the UUID for the SuSe
partition but commenting it out as Patrick did solved that problem as
there was nothing wrong with that partition's file system according to SuSe.
John
John Blomfield wrote:
> Thanks, Mike and Patrick, your's was the sort of thoughtful insight I
> was looking for. Your points have lead me to the following:
>
> There are many ways to obtain a partition's UUID (Universal Unique
> Identifier) e.g.
>
> vol_id -u /dev/sdxx
> blkid
> udevinfo -g env -n /dev/sdxx
> ls -l /dev/disk/by-uuid
>
> and you can search for a UUID and LABEL with findfs (option), where
> option is LABEL=xxxxx or UUID=xxxxxxxx
>
> to manually set a UUID or LABEL you can use tune2fs (options)
>
> I am getting to the bottom of my problem with multi-boot systems. If
> you have Ubuntu by itself or just with Windows and you dual boot from
> the Ubuntu partition /boot/grub/menu.1st there is no problem. You
> don't even know the UUID is there in the menu.1st and fstab files or
> need to know how it got there. However, if you add another distro to
> a different partition you have two choices, one is to not allow the
> new distro to replace the MBR, then manually add a item in the
> Menu.1st file in the Ubuntu partition. The other option is to let the
> new distro replace the MBR. This also causes the new disto to scan
> all the partitions for OS's and build a menu.1st file for its
> /boot/grub directory. This second method falls down with some distros
> because they don't "do" UUID's and therefore the menu item for Ubuntu
> will be minus its UUID. Probably because Ubuntu is a derivative of
> Debian it does it correctly even though Debian does not use UUID's
> itself? So the first method of modifying the Ubuntu menu.1st would
> appear to be best but tedious. With the second method you can of
> course manual edit the new distro's menu.1st file and add the UUID for
> Ubuntu if its not there.
>
> The menu.1st file is not generated by grub, its just used by grub to
> boot the system. The menu.1st file is generated by the distro system
> and I believe some of my experiences have been because Ubuntu changes
> the UUID ( on the partition, the fstab and menu.1st of course to be
> consistent within itself). In my efforts to recover from a boot
> failure which was not understood at the time I lost all the evidence
> and ended up re-installing Ubuntu. Reading the forums and blogs on
> the subject it may be Ubuntu changes UUID when it updates the kernel
> version or possibly based upon time or number of boots. This all
> sounds pretty mystical and improbable so now I have a clean Ubuntu
> installation I can monitor the UUID for changes and know what I'm
> looking for. None of this of course matters a jot as long as you just
> boot from Ubuntu's menu.1st file.
>
> However, this opens up another wider problem with multi-boot systems
> that I had not foreseen! All distro's when they update the kernel
> tend to change the vmlinuz file name and the initrd image file name.
> Some distro's replace these files and some just add the new kernel
> files. They also change the menu.1st file to add or replace the new
> boot items. Hence, if you have a computer with more than one Linux
> distro or even more than one version of the same distro, and you
> update the kernel of the distro whose boot menu.1st is NOT the one
> that actually boots the system then you will get boot failure until
> you also update manually the appropriate menu.1st file.
>
> My conclusion then is that I need to write a program or script that
> after each successful boot, perhaps just before shutdown or after an
> update, will scan the the /boot directory and check for changes in the
> vmlinuz and initrd files. If they change then mount the partition
> with the controlling menu.1st file and update the boot items in it.
> This would also catch changes in the UUID. Stay tuned!
>
> John
>
>
>
>
>
>
> Patrick wrote:
>> On Sun, 23 Mar 2008 20:58:38 -0700
>> John Blomfield wrote:
>>
>>
>>> Ok, all you Ubuntu experts,
>>>
>>
>> Not me, but here goes...
>>
>>
>>> what's all the root=UUID=someverylongnumbersequence in the grub
>>> menu.1st file and the fstab mount file. I realize its some number
>>> to do with identifying the partition but it really screws up
>>> mult-boot systems. What's it for and why is that Ubuntu is the only
>>> distro that seems to use it, including Debian. The UUID seems to
>>> change with changing kernel and prevents booting, can you just
>>> change to root=/dev/hdxx in both the fstab and menu.1st files or
>>> does it crop up elsewhere?? I've googled for hours and can't find a
>>> straight answer just lots of bug complaints!!
>>>
>>
>> That's what I did, but that doesn't necessarily mean it's a good
>> idea. ;-P
>>
>> Their reasons for favouring UUID have something to do with
>> the /dev/hdxx and /dev/sdxx naming conventions changing sometime
>> down the road, to accommodate SATA or something like that. It's
>> supposed to make some future upgrade go smoother.
>>
>> In the meantime it's a nuisance, and it kept my swap partition
>> from working properly, and with only 160 MB of physical RAM, I
>> really need swap.
>>
>> Anyway, on Xubuntu 6.10 the /dev/hdxx references were present, but
>> commented out. So I just copied the comments, and commented the
>> UUID=someverylongnumbersequences, and everything seems to work.
>> Kind of. I think.
>>
>> # /etc/fstab: static file system information.
>> #
>> # <file system> <mount point> <type> <options> <dump> <pass>
>> proc /proc proc defaults 0 0
>>
>> # UUID=6bbb5d3f-c1e8-4e5b-aca1-acfc24ef6258
>> /dev/hda1 / ext2 defaults,errors=remount-ro 0 1
>>
>> # UUID=10e21e49-8947-4d54-9965-1edb418db04c
>> /dev/hda2 /boot ext2 defaults 0 2
>>
>> # UUID=da90d90f-51a2-4cfa-a214-01b0f85f7f9e
>> /dev/hda5 /home ext2 defaults 0 2
>>
>> # UUID=1c21930b-f8f7-4e1f-bcf3-4f45ac1095ce
>> /dev/hda6 /media/mp6 ext2 defaults 0 2
>>
>> [and so on...]
>>
>>
>>> John Blomfield
>>>
>>
>> Patrick.
>>
>>
>
> _______________________________________________
> Discuss mailing list
> Discuss at vlug.org
> http://ladybug.vlug.org/cgi-bin/mailman/listinfo/discuss
>
More information about the Discuss
mailing list