Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
This is from my two disk system, so do not try to copy this. Your UUID's are different. Copy the one for /dev/sda1/ if that is where your /boot directory is. Its the long string of ASCII characters after the time stamp.
new kernel comile, root file system fails to mount
well, thanks for the reply. I checked /dev/disk/by-uuid, you know, ../../dev/sda1 is the only device in this directory.
you know, my guess is that i probably don't select some particular modules required to load the root filesystem. Because I tested the new kernel on 32 bit, 64 bit and even another distribution of linux, and I have the same problem everywhere.
Let's be more accurate. when I choose my customized kernel, first it said :
Code:
Booting a command list
alloc magic is broken at 0x3f503710
Aborted. Press any key to exit.
when i edited the boot with all_generic_ide and root=dev/sda1
it output some other things, I got a shot of the screen which is attached.
I would
thank if you help me fix the problem.
the attached file is mykernel .config customized with make menuconfig
more info:
Code:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 13
model name : Intel(R) Pentium(R) M processor 1.40GHz
stepping : 8
cpu MHz : 600.000
cache size : 2048 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up bts est tm2
bogomips : 1198.00
clflush size : 64
cache_alignment : 64
address sizes : 32 bits physical, 32 bits virtual
power management:
Last edited by saman_artorious; 03-07-2012 at 05:56 AM.
I don't understand! this is the only address inside by-uuid folder in my system. And it is for the root file system. How should I fix the problem?
Please cut and paste the folder contents here. You should have an ASCII strig of characters in the that folder for sda1. If it is not there, you can not boot using UUID.
Please cut and paste the folder contents here. You should have an ASCII strig of characters in the that folder for sda1. If it is not there, you can not boot using UUID.
Well, thanks for your concern. This time I tried the installation on my own laptop, again the same problem. I also check out what the uuid string points to.. and it's correct it points to the right device in my machine, which is /dev/sda6. Have a look here:
well, this one says that my / root file system and as you said the directory where /boot is located is /dev/sda6, now let's jump to /dev/disk/by-uuid/ n c the string:
well, it's right, the bootloader shows the right string which is a43xxxx. Though I wonder why when I load it in recovery mode, it prompts an alert n says:
Code:
ALET! root=uuid=a43xxxxxx does not exists!!
this is what is inside /boot/grub/grub.cfg
Code:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos6)'
search --no-floppy --fs-uuid --set=root a43da646-97b6-4e71-b0fa-bb27d0d52a4b
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos6)'
search --no-floppy --fs-uuid --set=root a43da646-97b6-4e71-b0fa-bb27d0d52a4b
set locale_dir=($root)/boot/grub/locale
set lang=en_US
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
clear
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
if [ ${recordfail} != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.0.22-kernel-0-rt37' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos6)'
search --no-floppy --fs-uuid --set=root a43da646-97b6-4e71-b0fa-bb27d0d52a4b
linux /boot/vmlinuz-3.0.22-kernel-0-rt37 root=UUID=a43da646-97b6-4e71-b0fa-bb27d0d52a4b ro quiet splash vt.handoff=7
initrd /boot/initrd.img-3.0.22-kernel-0-rt37
}
menuentry 'Ubuntu, with Linux 3.0.22-kernel-0-rt37 (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos6)'
search --no-floppy --fs-uuid --set=root a43da646-97b6-4e71-b0fa-bb27d0d52a4b
echo 'Loading Linux 3.0.22-kernel-0-rt37 ...'
linux /boot/vmlinuz-3.0.22-kernel-0-rt37 root=UUID=a43da646-97b6-4e71-b0fa-bb27d0d52a4b ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.0.22-kernel-0-rt37
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos6)'
search --no-floppy --fs-uuid --set=root a43da646-97b6-4e71-b0fa-bb27d0d52a4b
linux /boot/vmlinuz-2.6.38-8-generic root=UUID=a43da646-97b6-4e71-b0fa-bb27d0d52a4b ro quiet splash vt.handoff=7
initrd /boot/initrd.img-2.6.38-8-generic
}
menuentry 'Ubuntu, with Linux 2.6.38-8-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos6)'
search --no-floppy --fs-uuid --set=root a43da646-97b6-4e71-b0fa-bb27d0d52a4b
echo 'Loading Linux 2.6.38-8-generic ...'
linux /boot/vmlinuz-2.6.38-8-generic root=UUID=a43da646-97b6-4e71-b0fa-bb27d0d52a4b ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.38-8-generic
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos6)'
search --no-floppy --fs-uuid --set=root a43da646-97b6-4e71-b0fa-bb27d0d52a4b
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos6)'
search --no-floppy --fs-uuid --set=root a43da646-97b6-4e71-b0fa-bb27d0d52a4b
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root FED00908D008C93B
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
if I install the kernel having the same options selected as ubuntu-generic-pae kernel installed from DVD, it works fine. But when i try to load the customized one i face this problem. My guess is that i forget to select some important options required to load the root file system or ... i don't know. bcoz even if that was the case, the Alert file system does not exist message is relevant to it.
What do you think?
Last edited by saman_artorious; 03-08-2012 at 07:00 AM.
Have you followed the instructions for updating Grub2 in the link I posted ( post6) above?
A direct quote from the section on updating Grub2:
Quote:
Important note: Configuration changes are normally made to /etc/default/grub and to the custom files located in /etc/grub.d. Any changes made directly to the /boot/grub/grub.cfg are overwritten whenever update-grub is executed either by the user or when called automatically by various system functions.
After editing /etc/default/grub or the scripts in the /etc/grub.d folder the user should run sudo update-grub to incorporate the changes into the GRUB 2 menu.
If you do not follow the update instructions, you will get kernel panic, as the boot loader will not be able to find the necessary files to load your custom kernel. This is not a UUID problem now, you have it correct.
I don't think the problem is update-grub. Whenever the kernel is installed via the debian packages, the grub is automatically updated at the end of the process:
You are trying to do a custom kernel, if I understand correctly. You will have to update grub2 manually to get the correct files loaded.
Well, I don't understand your comment. Yes, I am trying to load a customized kernel. I don't think that it does matter whether I update grub or the dpkg does it automatically. The dpkg -i command installs the .deb packages which are compiled using my customized .config file.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.