I have a HP Laptop, i did following on that.
- Install openSUSE 11.3 with kernel 2.6.34-12-desktop installed on it.
- Then i did a bit of customisation to kernel, recompiled it.
- saved new kernel with new name and generated initrd for this kernel.
till this stage everything was fine. Now due to the reason that i have to clone this machine (using clonezilla) and grub specifies disk by id so as fstab and device.map, i did following manual steps
- updated /boot/grub/device.map ( to change the disk by id to “/dev/sda” for hd0)
- updated fstab file to mount disk not by id rather then by sda1/sda2 or sda3
- updated /boot/grub/menu.lst ( to add new entry for kernel to load using sda2 and sda1 i.e. by labels not by ids)
- while updating grub i updated existing entries to reflect the disk by label i.e. sda1 etc etc rather then by id)
Now when i boot up from the grub entry for original kernel, it does not boot.
while loading it display few things which i have noticed.
- unable to modprobe proccessor.ko and various others…
- it also complains while mounting root /dev/sda2
where modprobe fails while inserting ext4 module and displays
mount: unknown filesystem type “ext4”
and later
sh: no job control in this shell.
i understand that because it has error modprobe-ing processor.ko (to start with) it is going to raise errors for everything else lined up to be loaded as module.
Few Questions so that i can understand this situation little better.
Question: When i re-compile the kernel, what happens ? following are the commands i use.
make gconfig —> <my chages to the kernel> —> save n exit
make clean
make bzImage
make modules
make modules_install
then i copy /usr/src/linux/arch/<processor_type>/boot/bzIamge as a new kernel to /boot
also copy the /usr/src/linux/System.map to /boot
and cd to /boot —> and issue the following command to generate initrd
mkinitrd -k <new_kernel_name> -i <new_initrd_for_new_kernel>
add new entry to grub for this new_kernel using new_initrd_for_new_kernel
and at this stage i refer to root=/dev/sda2 (i.e. change disk by ids to labels)
Question: what happens to the original kernel ? does that gets updated (with modification i made with gconfig) or not ?
Another Question: Do i really need to update devices by ids to labels to make the clone work ?
If so, what kind of changes i need to make other than i listed above to get everything working i.e. new kernel, original kernel, disk and clone.
Thanks for reading this, any help will be good. thanks