Re: Problem with booting newly compiled kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 21, 2010 at 6:16 PM, Shreyansh Jain <shrey.linux@xxxxxxxxx> wrote:
> Hi List,
>
> On Tue, Dec 21, 2010 at 7:22 PM, Prasad Joshi <prasadjoshi124@xxxxxxxxx> wrote:
>> On Tue, Dec 21, 2010 at 1:37 AM, Alexandre Courbot <gnurou@xxxxxxxxx> wrote:
>>>>        linux   /vmlinuz-2.6.37-rc6+
>>>> root=UUID=01432597-18e7-4609-9f85-3fad1d762ddc ro iommu=1
>>>
>>> Try replacing root=UUID=01432597-18e7-4609-9f85-3fad1d762ddc by the
>>> simpler root=/dev/sdaX. I had similar problems some time ago - for
>>> some reason, my kernel did not like UUIDs.
>>
>> bravo Alexandre :)
>> It solved the problem. I am really thankful to you.
>>
>
> Sorry to hijack your thread, but I thought this is the most opportune
> time to ask my query.
>
> @Prasad Nice to know that this suggestion solved the issue. I too have
> found this issue very irritating but could never understand by UUID
> were not recognized (where as my distro kernel recognizes them very
> well).

The default kernel with Ubuntu 10.10 too recognized the UUID.

>
> a. Does any have any idea which component causes this issue. As to,
> what am I missing while compiling a new kernel that it doesn't
> recognize the UUID of a dev disk?

The function responsible for mounting the root file system is
prepare_namespace()

void __init prepare_namespace(void)
{

    if (saved_root_name[0]) {
        root_device_name = saved_root_name;
        if (!strncmp(root_device_name, "mtd", 3) ||
            !strncmp(root_device_name, "ubi", 3)) {
            mount_block_root(root_device_name, root_mountflags);
            goto out;
        }
        ROOT_DEV = name_to_dev_t(root_device_name);
        if (strncmp(root_device_name, "/dev/", 5) == 0)
            root_device_name += 5;
    }

...
    mount_root();
}

The function name_to_dev_t is responsible for finding out the correct
major and minor numbers for the root device. The function also works
on UUID. IMHO, the function is responsible for doing it is
devt_from_partuuid, though I did not look into the details.

>
> b. Also, who generates these UUID - is it a disk property (like, ROM
> signature or stuff?), or this is some udev magic?
>

IMHO, this is fixed for every device during manufacturing.

> Thanks to anyone who can provide any hint about this.
>
> -
> Shreyansh
>

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux