Category Archives: Linux

Thinkpad W530, Red Hat Enterprise Linux 6, Fedora and Windows 8 Multiboot

Now that we’ve successfully done a clean Windows 8 install on the W530 and got it dual booting with Fedora 17, it’s now time to add another distribution onto the laptop – Red Hat Enterprise Linux 6.

My first attempts to install RHEL 6.3 onto the W530 resulted in the graphics failing to load by the installer. This resulted in the screen displaying a strobing set of psychedelic colours. A few Red Hat Knowledge-base articles which might be relevant:

RHEL6 does not boot on Lenovo W520 Laptop with Discrete option selected to choose nVidia GPU

Blank screen during installation when using certain NVIDIA Quadro Graphics Adapters under Red Hat Enterprise Linux 6

Why won’t the Nvidia driver compile/install/load under Red Hat Enterprise Linux 6

I don’t recall exactly what settings I initially tried in the BIOS for display type which offers the following options:

  • “Integrated” – uses built-in Intel Integrated Graphics Controller”
  • “Discrete” – uses nVidia Graphics
  • “nVidia Optimus” – uses the built-in Intel Integrated Graphics Controller but allows the OS to use nVidia when needed (supported only with Windows 7 and Window 8)

Anyhow, I attempted to install with the following options on the kernel command line:

xdriver=vesa nomodeset

From what I can tell, that should have allowed the installer’s X Server to start successfully, but it did not. However, the installer helpfully told me that I could use a VNC client to perform the Red Hat install.

I told the installer to select /boot/efi as the EFI install partition, the one shared with Windows 8 and Fedora.

After the install, I was given the option to start Windows 8 or Red Hat Linux. The Fedora choice was no longer listed. Fortunately, there was a backup /boot/efi/EFI/redhat/grub.conf.rpmsave which contained the Fedora/Windows 8 option. It’s now just a case of merging the Red Hat and Fedora 8 grub files.

Here’s the result:

boot=/dev/sda2
device (hd0,5) HD(2,96800,32000,ad8e8d71-db62-4c7a-8603-5bc6ce875d52)
default=0
timeout=7
splashimage=(hd0,5)/grub/splash.xpm.gz
hiddenmenu
 title Fedora (3.6.11-1.fc17.x86_64)
  root (hd0,5)
  kernel /vmlinuz-3.6.11-1.fc17.x86_64 rd.md=0 rd.lvm=0 rd.dm=0 KEYTABLE=us SYSFONT=True rd.luks=0 root=UUID=a6f32b89-45ac-410f-8a1e-562b441304e3 ro LANG=en_US.UTF-8 rhgb quiet
  initrd /initramfs-3.6.11-1.fc17.x86_64.img
 title Windows 8
  set root=(hd0,gpt1)
  chainloader /EFI/Microsoft/Boot/bootmgfw.efi
 title Red Hat Enterprise Linux (2.6.32-279.el6.x86_64)
  root (hd0,8)
  kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=fe96af7b-07bd-451e-b4de-4eec673f4cca nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb quiet xdriver=vesa
  initrd /initramfs-2.6.32-279.el6.x86_64.img
 title Windows 8
  rootnoverify (hd0,3)
  chainloader +1
title Fedora
  rootnoverify (hd0,6)
  chainloader +1

Thinkpad W530 Windows 8 And Fedora Dual Boot

So after our Windows 8 clean install on Thinkpad W530 we had our W530 booted up and running Windows 8 in Secure Boot mode. I’ll do an in-depth write up about setting up a boot server to serve out Fedora, Red Hat Enterprise Linux and Centos in both UEFI and BIOS, 32-bit and 64-bit flavours later. But for now, let’s assume we have Fedora 17 64-bit, UEFI install server.

I normally hit F12 on the W530 to bring up the boot menu and select the network card as the bootable device. If you try to boot from the Fedora install media with Secure Boot enabled, you’ll get the error shown below: “Secure Boot: Image failed to verify with *ACCESS DENIED*.  Press any key to continue”.

Windows Secure Boot Access Denied Screenshot

So, first thing to do is to disable Secure Boot via the BIOS.

The disabling of Secure Boot shouldn’t be necessary once Fedora 18 is released, since it will contain a first-stage bootloader, shim, which holds a Fedora-specific public key. Shim will then validate against the Fedora-defined key which has been signed by Microsoft. More details here.

So, for now we move onwards with dual booting Windows 8 and Fedora 17 without Secure Boot. Firstly, it’s worth pointing out that for the Fedora install you don’t need change any BIOS settings relating to graphics options. I used “Nvidia Optimus” (runs with integrated graphics but with discrete graphics on demand” with “O/S Detection Enabled”. Follow the usual install process with the following notes: in my install I chose to create a 400MB filesystem for /boot (on ext3), 8GB for swap and 20GB for the / filesystem (ext4). I selected the second partition (/dev/sda2) as /boot/efi and was sure not to check “format”. I then chose to install GRUB into /boot/efi.

My partition table looks similar to this:
Number Start (sector) End (sector) Size Code Name
1      2048    616447 300.0 MiB 2700 Basic data partition
2    616448    821247 100.0 MiB EF00 EFI System Partition
3    821248   1083391 128.0 MiB 0C01 Microsoft reserved part
4   1083392 116426751  55.0 GiB 0700 Basic data partition
5 116426752 200312831  40.0 GiB 0700 Microsoft basic data
6 200312832 201132031 400.0 MiB 0700 Linux filesystem
7 201132032 243075071  20.0 GiB 0700 Linux filesystem
8 243075072 259852287   8.0 GiB 8200 Linux swap

Once the install has completed, the machine will boot and present you with a grub menu from which you can chose Windows 8 or Fedora.
The grub configuration can be seen Number in /efi/EFI/redhat /grub.conf and will probably look like this:

boot=/dev/sda2
device (hd0,5) HD(2,96800,32000,ad8e8xxxx-db62-4c7a-8603-5xxxxxxx)
default=1
timeout=7
splashimage=(hd0,5)/grub/splash.xpm.gz
hiddenmenu
 title Fedora (3.6.8-2.fc17.x86_64)
  root (hd0,5)
  kernel /vmlinuz-3.6.8-2.fc17.x86_64 rd.md=0 rd.lvm=0 rd.dm=0 KEYTABLE=us SYSFONT=True rd.luks=0 root=UUID=a6f32b89-45ac-410f-8a1e-562b441304e3 ro LANG=en_US.UTF-8 rhgb quiet
  initrd /initramfs-3.6.8-2.fc17.x86_64.img
 title Windows 8
  set root=(hd0,gpt1)
  chainloader /EFI/Microsoft/Boot/bootmgfw.efi

It’s worth pointing out that I tried the Fedora 18 beta install on the W530. Unfortunately, the installer is still a little bit unstable and crashed out on me when attempting to partition the drive. Fedora 17 is very usable and right now I don’t need any of the new Fedora 18 features, so no big loss.

One final thing I like to do is mount up the FAT32 Windows D drive under /Windows/D – this enables me to transfer files between Windows and Linux as needed.

The following line in /etc/fstab will do the job, after creating /Windows/D under Fedora:

/dev/sda5       /Windows/D      vfat    defaults 0 0

Now that the Fedora install is complete and we can easily switch between Windows 8 and Fedora 17, we can customise our Fedora install.  However, before we do that we’re going to install Red Hat Linux Enterprise and add that as a third boot option.

Fedora 11 And ReiserFS

Last week I attempted to upgrade my Thinkpad T60P from Fedora 10 to Fedora 11. Initially I decided to use the excellent LIVE USB image to perform a brand new install, as I had done in previous releases. As usual, I appended selinux=0 reiserfs on the grub command line and expected all to go well. To my dismay, it refused to give me an option of installing ReiserFS on any of my partitions. I really didn’t want to use ext4 as it it still isn’t provided by GRUB (at least without a patch) and I really don’t want an extra /boot partition.So, for my next trick I tried the PreUpgrade method. First time I had tried this and it’s pretty nice. You can keep working in your current F10 environment, whilst the F11 packages are all downloaded into a separate spool location. Then when you are ready, reboot and select upgrade from Grub. I thought this would be the way to go, but NO! After booting it took me to the familiar anaconda installer but this time would not recognize my old Fedora 10 partition! At this point I came across bug 504401 – Anaconda doesn’t recognize reiserfs partitions. Back to the drawing board.

Getting a little bit frustrated by this, I found a 3rd option: Upgrading Fedora using yum. Followed these steps, and whilst potentially not as clean as a brand new installation (it can leave some old Fedora 10 packages around) it works a treat. Just follow the steps and don’t forget to select the kernel-PAE when you are finished.

So, a Fedora 11 system with ReiserFS system is possible, but it requires an upgrade from a ReiserFS Fedora 10 installation: there doesn’t seem to be a direct way to do so on a fresh install. Hope this helps someone! In the meantime, keep an eye on bug 504401.

Red Hat Tech Forum Round-Up – 10 July 2008

Last Thursday I attended the Red Hat Tech Forum in London – the first event of it’s kind. Here’s some of the notes from event which was introduced by Dave Russell (Senior Consultant – Red Hat Global Professional Services):

The agenda was as follows:

Red Hat Enterprise Linux – Real Time(Demo)
Red Hat Cluster Suite (Demo)
Cutting Edge Virtualisation (Demo)

  • Red Hat Enterprise Linux – Real Time
  • Was released to GA 2 weeks ago. Based upon RHEL 5 – it installs a new kernel and a new set of tools. Since the preemptable kernel is much more mature in recent 2.6 kernel, MRG installs a customized 2.6.24.7 kernel. This is great as it means applications compiled for RHEL5 will run without any changes on RedHat Realtime. A set of configuration utilizes allow realtime tuning. Some of these set bootime kernel parameters, others set entries under the /proc filesystem. A set of performance monitoring tools (“tuna”) enable you to monitor the effects of tuning parameters and adjust accordingly. Unfortunately, the system doesn’t ship with a pre-defined set of tunables that will work for a specific environment (eg a typical financial services server that process requests arriving over the network, computations being run, and results being returned). Instead, you must go through an iterative testing process, tweaking tunables, rebooting, analysing results and tweaking further.

    A full set of MRG features is listed here: Low latency interrupt handling, Enhanced priority handling, Priority inversion avoidance , Timer precision, Latency tracer and Tuna.

    For full details of sample performance benefits in the new version see the Technical Whitepaper As an example, a financial service application was typically having a response time of 600 micro seconds on the standard RHEL kernel. What was also happening though, was the latency to ping responses would spike every now and then. After tuning the with MRG, the latency was reduced down to 320 microseconds, but more importantly the latency spikes were reduced.

    Want to get started with Red Hat Enterprise Linux – Real Time? Then get going with the Install Guide

    Some other useful links:
    Will there be a new CENTOS 5 variant for the new RHEL MRG kernel?
    Centos RT Kernel

  • Red Hat Cluster Suite
  • Next up was demo by Nick Strugnell on the Red Hat Cluster suite. We already using this so there wasn’t too much new info in the demo. You setup your cluster, setup your nodes, and then setup the services. The demo was done using an Apache webserver and GFS You can try the demo for yourself following the steps outlined in the Cluster Administration Guide.

    One things I’d never used was a quorum disk in the cluster. More info on that is available in the Cluster Administration Guide – Quorum Disk Considerations.

    Want to try Red Hat Clustering? All you need is RHEL 4 or 5 and away you go: Latest guide for Red Hat Cluster. Or you could use the corresponding Centos packages.

    An interesting question someone asked was whether you could use RH Cluster across different data centers to provide high HA. The problem here is with fencing: if nodes at one site cannot reach the nodes at the other, and they decide to kick the remote nodes out of the configuration, they most likely cannot contact the second site to fence it! Perhaps a way around this is by using a third “middle” node that can do this.

    Some other interesting things that had changed between v4 and v5 of the cluster suite was that there are now a number of pre-defined templates for services you might want to cluster. These include apache, GFS, NFS, Sybase and Oracle. In fact, you can use GFS with Oracle RAC as the Whitepaper: Oracle RAC on GFS describes. And here is the Guide to setting up Oracle RAC on GFS.

    Someone also mentioned service dependencies, but looks like this is already possible according to this thread.

  • Cutting Edge Visualization
  • The final presentation was given by Richard Jones on Visualization. Rather than go through the standard demo of setting up Virtualized servers, he focused on two tools which Red Hat are pushing out through this year. What was missing from the forum was any mention of the decision by Red Hat to switch from XEN to KVM in future releases. More on that available here:

    Red Hat adopts KVM: what happens to Xen now?
    Didn’t Red Hat Used To Love Xen?

    Anyhow, new tools that are due out later this year were introduced:

    Ovirt
    Libvirt

    oVirt comprises two components: oVirt Managed Node, which is an embedded hypervisor based on a Linux kernel and KVM; and oVirt Server Suite, an administrative console that includes a Web interface and has functionality for tasks related to virtual machine management, such as status monitoring, performance monitoring and visualization and authentication.

    libvirt is a toolkit which enables you manage your virtual server estate effectively. It supports Xen, QEMU, KVM, LXC and OpenVZ. And coming later this year it should support VMware. A demo was given showing some of the new tools that are being developed such as:

    virsh
    virt-df
    virt-top
    virt-mem
    virt-ctl
    virt-dmesg
    virt-manager

    A really nice tool is virt-p2v. This is a physical LIVE Boot CD (or pxeboot image) that after booting will convert a physical host into a virtualised one. You can catch some screenshots and documentation about this useful tool at the official p2v website.

    Finally, there’s some interesting integration work between Nagios and libvrt which enabled collectd to collect stats directly from the Virtual Hosts, and another tool which will generate nagios configuration files for your virtual environment. More about that available on Nagios-Virt.

    For more upcoming Red Hat goodies, it worth checking out Red Hat Emerging Technology Group. It’s hoped these European Technical Forums will happen once per quarter. It was certainly worth going to – check the Red Hat website for more details!

    Thinkpad T60P And PXE-E05: The LAN adapter’s configuration is corrupted errors

    I meant to post this yonks ago but never got around to it! Here’s some info which might help anyone else with a Thinkpad T60P (or possible other models too!) that’s having problems with it’s Intel Ethernet Network Card.

    Way back in September of last year I applied the latest set of patches through the Thinkpad Software Installer/System Update. Although all seemed to go well during the install process, upon rebooting I immediately got the following:

    Initializing Intel(R) Boot Agent GE v1.2.31

    PXE-E05: The LAN adapter’s configuration is corrupted or has not been initialized. The Boot Agent cannot continue.

    Then, after a few seconds:

    ERROR
    Expansion ROM not initialized – PCI on Motherboard
    Bus:00, Device:00, Function:00

    Press ESC to continueNow, at around the time of applying these updates, I was also configuring my router’s Ethernet port, so I can’t say for sure if the software update or something else caused a problem. Either way, it was a pretty drastic error message!

    Needless to say, pressing Escape allowed me to boot normally. It was kind of annoying, so to disable the warning, I went into the BIOS and disabled:

    “Read Network ROM on Startup” under Config/Networking.

    However, this was only masking the real problem of some kind of corruption in the network card.

    When booting into Linux (Fedora 7 or Gentoo) with a standard kernel, the network card was recognized but would not initialize.

    Looking in messages, we see:

    Mar 11 09:00:14 firestar e1000: 0000:02:00.0: e1000_probe: The EEPROM Checksum Is Not Valid

    To temporarily workaround this problem (we know the network card is good, since Windows works just fine), we can recompile the kernel amending the e1000 module to simply ignore any checksum messages:

    Unpack the kernel source and edit the following file: ”/usr/src/linux/drivers/net/e1000/e1000_main.c”. Search for the “e1000_validate_eeprom_checksum” code. You can simply uncomment out that part that would stop the module from being loaded as follows:

    /* make sure the EEPROM is good */

    if (e1000_validate_eeprom_checksum(&adapter->hw) < 0) { DPRINTK(PROBE, ERR, "The EEPROM Checksum Is Not Valid\n"); /* goto err_eeprom; */ } Now compile your kernel as normal. Again, all very well and good and gets you up and running, but this is bad if you want to just try a new Linux distro from time to time, since a stock kernel will think the Adapter Card is broken. A couple of weeks ago I finally found a fix for this problem which is based upon Mat’s Blog Intel NIC: PXE-E05 error. I actually tried to download CDProBOOT-0.2.iso from this website, but I got a Free-DOS error about drive letters.

    Here’s the fix I used:

    Go to Intel Download Center and download the Intel Boot Agent – PROBOOT.exe version: 12.1. (You don’t the desktop or server adapter, the Boot Agent is what you need).

    Extract the file to your C: drive, somewhere like C:\Temp\ProBoot

    Download FreeDOS from FreeDOS.

    Choose the full distro file:fdfullcd.iso

    Burn the image to CDROM and boot from it.

    Choose a LIVE Image during the boot menu and get to the FreeDOS command prompt:
    cd c:\Temp\ProBoot\Intel12.1 (or wherever the files got unpacked)
    IBAUtil.exe -DEFCFG

    This will reset the Ethernet Adapter back to it’s default settings – including the checksum! All should be good, and now you can reboot! At this point, you can now safely re-enable the BIOS setting “Read Network ROM on Startup” under Config/Networking. Now the BIOS is happy, stock Linux kernels will boot normally and all is well.

    Another source for more information about this problem can be found at the ever helpful Thinkpad Forums.

    Hope this helps someone!

    Time Saving Techie Tips

    Two awesome techie tips:

    Advanced Dynamic Kickstart Scripts. If you have a large number of Linux servers to install, then you are probably already using Kickstart. This article gives some advanced configuration options (such as dynamically generated ks.cfg files and custom pakage installations) that’ll install large numbers of boxes in no time.

    Patch up your Windows XP Setup Disks. Now that XP SP2 is out and established, you can patch your Windows XP Setup Disk with SP2. Rather than installing XP then waiting another 30-40 minutes to apply SP2, simply follow the instructions in this article, and you’ll end up with an XP installation CD that includes SP2.

    Good Linux Stuff!

    Good news for all you techie Linux fans out there! Redhat released Fedora Core 2 today which features the new 2.6 kernel and GNOME 2.6! Java beans! Watch out for this bug though which can lead to Windoze XP being unbootable if you decide to dual boot using GRUB. It’s probably safer to use the Windoze Boot loader like this.

    And SuSE 9.1 was also out last week which features similar stuff as Fedora, but you also get 3rd party add-ons included like RealPlayer, Flash, Xine. If you don’t want to buy it, you can do the FTP download of it from 4th June from here.

    And Solaris 10 is previewing on Sparc, Intel and AMD here – just in case you’re bored!

    No need for Windoze or Mac’s anymore! 🙂

    Linux World Expo New York

    So this week, Richii went to The Linux World Expo in NYC to see what was happening in the world of his fellow techies and to get some fresh ideas for some new projects! Although it was the first time I’d ever been to a conference like this, I was really impressed! Anyway, here’s some links to some of the cooler stuff I saw:

    MySQL Administrator was formally announced and I saw a saw demo of this app, which will run on Windows, Linux and (in the future) Mac OS X. Looks good! (Richii.com uses a MySQL database, so this will be great feature to have!).

    Sybase announced the release of Sybase 12.5 on Linux – good news for those in the Enterprise environment.

    KDE were showing their latest desktop – good news is that 3.2 of KDE will be out soon – offering a much improved startup time and new features! (Richii is using KDE as he writes this!)

    SuSE Linux had a big display showing off their server and desktop offerings. This is my personal fave Linux distro, so they didn’t have to sell me on this. I also got myself a SuSE Geeko (he rocks!). Things are looking good for SuSE now that they’ve been bought by Novell.

    Sun Microsystems were showing their Linux-based Java Virtual Desktop as replacement for the Windows desktop. They had some great server and desktop hardware on display, as well as development tools and Star Office.Tadpole were also displaying some very nice SPARC-based Laptops which could run Solaris or Linux – very impressive!

    Red Hat Linux were showing off their new desktop and server offerings and giving out free copies of Fedora. They are also launching a new techie magazine called Wide Open.

    Ximian were touting their Red Carpet Enterprise and Ximian Desktop products – good products to help the Sys Admin manage Linux on the desktop!

    The Linux Professional Insitute were offering advice on Linux Certification. A certication through them shows you can manage multiple distributions of Linux, rahter then just Red Hat or SuSE. As to whether certification is worth the money….. ?

    Gentoo Linux were showing their distro. I didn’t know too much about it, but basically it’s a version of Linux that’s optimized for speed. Will have to try that out later…

    Mandrake, Debian and Morphix are other distros which I’ve not tried, but will give them a role when I get some time!

    Didn’t make it to Linux Expo? Don’t worry – Linux World UK takes place at Olympia on 6-7 October! See you there 😉