To install and run the Ubuntu 8.04 LTS or Ubuntu 7.10, 64-bit SMP guest operating system successfully, add the clocksource=acpi_pm kernel option:
-
Boot the operating system from the CD-ROM.
-
Select Install To The Hard Disk option.
-
Press F6for Other Options.
The following line appears:
Boot options file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz quiet --
-
Add the clocksource=acpi_pm kernel option as follows:
Boot options file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz quiet clocksource=acpi_pm --
-
Press Enter to start the installation.
-
After the installation is completed and the guest reboots, the GRUB countdown appears, which is set to three seconds by default.
To reboot the Ubuntu 8.04 LTS or Ubuntu 7.10, 64-bit SMP guest operating system successfully, add the clocksource=acpi_pm kernel option:
-
Press Esc to intercept the GRUB countdown and enter the GRUB menu.
-
Select the option Ubuntu 8.0.4 LTS (7.10) kernel 2.6.22-14-server and press E to start editing.
-
Scroll to the kernel /boot/vmlinuz-2.6.22-14-server root=UUID=...... ro quiet splash line.
The parameters at the end of this line are kernel command-line options.
-
Press E again to edit this line, and add the clocksource=acpi_pm parameter to the end of the line.
kernel /boot/vmlinuz-2.6.22-14-server root=UUID=...... ro quiet splash clocksource=acpi_pm
-
Press Enter to accept the changes.
-
Press B to boot with the Ubuntu 8.04 LTS (7.10), kernel 2.6.22-14-server and clocksource=acpi_pm parameter.
After the guest starts, edit the /boot/grub/menu.lst file to make these changes permanent, which will ensure that each time you reboot or run the guest it does not stall:
-
Log in as root at the command line.
-
Use the vi editor to edit the /boot/grub/menu.lst file.
You will see following section in the file:
title Ubuntu 8.04 LTS(7.10), kernel 2.6.22-14-server
root (hd0,0)
kernel /boot/vmlinuz-2.6.22-14-server root=UUID=...... ro quiet splash
initrd /boot/initrd.img-2.6.22-14-server
quiet
-
Add the clocksource=acpi_pm kernel option to the end of the following line:
kernel /boot/vmlinuz-2.6.22-14 -server root=UUID=...... ro quiet splash
-
Save the changes.
Additional Information:
Starting with Linux Kernel 2.6.18, the CPU's Time Stamp Counter (TSC) is used to keep time, and when booting sometimes the kernel mis-detects the frequency of this counter. This may result in severe clock drift, which is impossible for ntpd to correct. On some systems it may work well enough to run ntpd, but ntpd gets a slightly different calibration each time you reboot. This may cause a start-up transient when you reboot because the drift file (Purpose of the file is to track clock's error rate and automatically adjust ntp overtime) will be off. The transient may vary from few milliseconds to hours at times; however, this is still far too inaccurate for NTP to correct.
The correct solution is to use the old acpi_pm clock, which is used in earlier kernels. For more information, see Kernel 2.6 Mis-Detecting CPU TSC Frequency.
Concerning other available clocksource parameters in the Linux kernel, you can read about them at the linux.org's website in the Kernel Parameters Document. Look for the keyword clocksource.