Cheap VPS & Xen Server


Residential Proxy Network - Hourly & Monthly Packages

Installing Ubuntu or Kubuntu, 6.06.1 LTS “Dapper Drake”, on a Single/Multi -Boot RAID System


Purpose

This guide describes how to install Ubuntu (Ubuntu+GNOME) or Kubuntu (Ubuntu+KDE) 6.06.1 LTS (“Dapper Drake”) on a single or a multi -boot RAID system. It is meant as a variation of Ubuntu Wiki FakeRAID HowTo document, but digested and with minimum commentary. Its goal is to allow new Ubuntu users to complete an entire installation inside of 30 minutes, almost entirely by copy and paste (before they run away in panic to openSUSE and Ubuntu loses future Ubiquity Revolution developers).

Copyright/Disclaimer

Public domain. No warranty expressed or implied.

Test Cases

This guide has been prepared and tested with:

  • i686 CPU
  • Intel D975XBX2 “Bad Axe 2” motherboard
  • Intel Storage Matrix controller
  • RAID0 (stripe)
  • Ubuntu and Kubuntu, 6.06.1 LTS “Dapper Drake”
  • dual-boot with Windows XP (same disk)

If you are successful implementing this guide under a different software or hardware configuration, please add a comment with your specs.

Methodology

I.

I use the export shell command throughout this guide to define on-demand environment variables:

export VARIABLE_NAME=frankie-bronx

To recall contents of an environment variable, you prefix it with a dollar sign:

echo “The variable value is: [$VARIABLE_NAME].”

Result:

The variable value is: [frankie-bronx].

II.

Most of this guide requires copy and paste only, but pay attention to (1.) fdisk partitioning and (2.) export definitions. Situations that specifically require your attention have been highlighted.

Preparation

  1. Download Ubuntu or Kubuntu 6.06.01 Live-DVD ISO image. If unsure, and all other considerations being equal, go for Kubuntu, as KDE is more analogous to Windows than GNOME, and includes more eye-candy.
  2. While downloading, familiarize yourself with Linux fdisk, through Internet tutorials, and a sample partitioning log, below.
  3. Burn the ISO image onto a DVD disc, using your favorite burning software.
  4. Unless you intend to follow this guide with an empty, single-boot system, backup your current operating system and all your data.
  5. Boot your system from the Ubuntu or Kubuntu Live-DVD disc.
  6. Select the Start Ubuntu/Kubuntu in Safe Graphics mode boot menu item and allow the Live-DVD system to boot.
  7. Select the Applications >> Accessories >> Terminal or K >> System >> Konsole command to open a new command-line window.

Launching RAID

Change your command line shell to bash, and acquire root (administrative) privileges:

/bin/bash
sudo -s

Mount the DVD disc and request that system software package manager, apt, refreshes its list of available packages::

apt-cdrom add
apt-get update

Since Dapper Drake RAID support package (dmraid) 1.0.0.rc9 is somewhat shaky, download and install back-ported Feisty Fawn version, 1.0.0.rc13:

wget http://tormod.freeshell.org/linux/dmraid/dmraid_1.0.0.rc13-2ubuntu2tormod~dapper_i386.deb
dpkg -i ./dmraid_1.0.0.rc13-2ubuntu2tormod~dapper_i386.deb

The following ATARAID types are supported:

Highpoint HPT37X/HPT45X
Intel Software RAID
LSI Logic MegaRAID
NVidia NForce RAID (nvraid)
Promise FastTrack
Silicon Image(tm) Medley(tm)
VIA Software RAID

However, if you prefer to use the older Dapper Drake version, you will need to enable the Universe apt package repository (using sed), and use apt to install it:

sed -i -e ‘s/^#.*deb/deb/g’ /etc/apt/sources.list
apt-get update
apt-get install dmraid

Once dmraid is installed and activated, a number of device nodes is created in the /dev/mapper directory. Each one of those files is a symbolic representation of a hardware device. VIA chipsets will generate /dev/mapper/viahfciifae* files, NVIDIA chipsets will generate /dev/mapper/nvidia_gahhaaab* files, Intel chipsets will generate /dev/mapper/isw_eaaicdchgi* files.

ls -l /dev/mapper/

brw-rw—- 1 root disk 253, 0 2007-01-21 19:54 isw_eaaicdchgi_Volume0
brw-rw—- 1 root disk 253, 1 2007-01-21 19:54 isw_eaaicdchgi_Volume01
brw-rw—- 1 root disk 253, 2 2007-01-21 19:54 isw_eaaicdchgi_Volume02
brw-rw—- 1 root disk 253, 3 2007-01-21 19:54 isw_eaaicdchgi_Volume03

The very first (and the shortest) device file, isw_eaaicdchgi_Volume0, represents the entire hard disk. Save its fully-qualified name to an environment variable:

export SETUP_DEV_HDD=/dev/mapper/isw_eaaicdchgi_Volume0

Do not make a mistake when defining the environment variable above. If you do, quite likely your system is history.

Every other device file in the list above, such as isw_eaaicdchgi_Volume03, represents a single partition on a hard disk. Just as we can use the ls -l shell command to have a look at a regular file, we can use the fdisk -l shell command to have a look at a device file:

fdisk -lu $SETUP_DEV_HDD

/dev/mapper/isw_eaaicdchgi_Volume0p1 * 63 83891429 41945683+ 7 HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume0p2 83891430 167782859 41945715 7 HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume0p3 167782860 209728574 20972857+ 7 HPFS/NTFS

My Windows hard disk installation already includes three NTFS partitions, ~40GB, ~40GB and ~20GB.

Partitioning Your Hard Disk

You need to create the following:

  1. A Linux “boot partition”, used to hold system boot files, ~75MB.
  2. A Linux “swap partition”, used for virtual memory, equal in size to your amount of RAM, or ~2GB, whichever is greater.
  3. A Linux “root partition”, used to hold all other files, ~10GB.

Remember that you cannot have more than four primary partitions on a single hard disk, so if you already have Windows installed, you will first need to create an extended partition across the entire free hard disk space, followed by at least three logical disks inside the extended partition.

Use fdisk to partition your system:

fdisk $SETUP_DEV_HDD

Sample fdisk run (an extended partition, a 75MB boot logical drive, 2GB swap logical drive, 3GB root logical drive), with printouts of the partition table, as it is expanded:

Command (m for help): p
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/mapper/isw_eaaicdchgi_Volume01               1         123      987966    7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume02             124         246      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume03             247         369      987997+   7  HPFS/NTFS
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Selected partition 4
First cylinder (370-1044, default 370):
Using default value 370
Last cylinder or +size or +sizeM or +sizeK (370-1044, default 1044):
Using default value 1044
Command (m for help): p
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/mapper/isw_eaaicdchgi_Volume01               1         123      987966    7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume02             124         246      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume03             247         369      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume04             370        1044     5421937+   5  Extended
Command (m for help): n
First cylinder (370-1044, default 370):
Using default value 370
Last cylinder or +size or +sizeM or +sizeK (370-1044, default 1044): +75M
Command (m for help): p
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/mapper/isw_eaaicdchgi_Volume01               1         123      987966    7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume02             124         246      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume03             247         369      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume04             370        1044     5421937+   5  Extended
/dev/mapper/isw_eaaicdchgi_Volume05             370         379       80293+  83  Linux
Command (m for help): n
First cylinder (380-1044, default 380):
Using default value 380
Last cylinder or +size or +sizeM or +sizeK (380-1044, default 1044): +2G
Command (m for help): p
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/mapper/isw_eaaicdchgi_Volume01               1         123      987966    7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume02             124         246      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume03             247         369      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume04             370        1044     5421937+   5  Extended
/dev/mapper/isw_eaaicdchgi_Volume05             370         379       80293+  83  Linux
/dev/mapper/isw_eaaicdchgi_Volume06             380         623     1959898+  83  Linux
Command (m for help): n
First cylinder (624-1044, default 624):
Using default value 624
Last cylinder or +size or +sizeM or +sizeK (624-1044, default 1044): +3G
Command (m for help): p
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/mapper/isw_eaaicdchgi_Volume01               1         123      987966    7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume02             124         246      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume03             247         369      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume04             370        1044     5421937+   5  Extended
/dev/mapper/isw_eaaicdchgi_Volume05             370         379       80293+  83  Linux
/dev/mapper/isw_eaaicdchgi_Volume06             380         623     1959898+  83  Linux
/dev/mapper/isw_eaaicdchgi_Volume07             624         989     2939863+  83  Linux
Command (m for help): t
Partition number (1-7): 6
Hex code (type L to list codes): 82
Changed system type of partition 6 to 82 (Linux swap / Solaris)
Command (m for help): p
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/mapper/isw_eaaicdchgi_Volume01               1         123      987966    7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume02             124         246      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume03             247         369      987997+   7  HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume04             370        1044     5421937+   5  Extended
/dev/mapper/isw_eaaicdchgi_Volume05             370         379       80293+  83  Linux
/dev/mapper/isw_eaaicdchgi_Volume06             380         623     1959898+  82  Linux swap / Solaris
/dev/mapper/isw_eaaicdchgi_Volume07             624         989     2939863+  83  Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

Do not forget to assign appropriate partition types, 0x83 for boot and root, 0x82 for swap. Once your partitioning run is complete, instruct the RAID subsystem to refresh its partition information:

dmraid -ay

However, to be on the safe side, you might want to reboot, instead:

shutdown -r now

Examine your hard disk again:

fdisk -lu $SETUP_DEV_HDD

/dev/mapper/isw_eaaicdchgi_Volume0p1 * 63 83891429 41945683+ 7 HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume0p2 83891430 167782859 41945715 7 HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume0p3 167782860 209728574 20972857+ 7 HPFS/NTFS
/dev/mapper/isw_eaaicdchgi_Volume0p4 209728575 290439134 40355280 f W95 Ext’d (LBA)
/dev/mapper/isw_eaaicdchgi_Volume0p5 209728638 209873159 72261 83 Linux
/dev/mapper/isw_eaaicdchgi_Volume0p6 209873223 214082189 2104483+ 82 Linux swap / Solaris
/dev/mapper/isw_eaaicdchgi_Volume0p7 214082253 235063079 10490413+ 83 Linux

This is the most important step in the entire installation: match up your device file names with environment variables representing boot, swap, and root partitions:

export SETUP_DEV_BOOT=/dev/mapper/isw_eaaicdchgi_Volume05
export SETUP_DEV_SWAP=/dev/mapper/isw_eaaicdchgi_Volume06
export SETUP_DEV_ROOT=/dev/mapper/isw_eaaicdchgi_Volume07

Do not make a mistake when defining the three environment variables above. If you do, quite likely your system is history.

We ignore the /dev/mapper/isw_eaaicdchgi_Volume04 partition, since it is an extended partition, serving only as a container for logical disks.

If you plan to dual-boot with Windows, also define an environment variable for the partition which has been marked by Windows with an asterisk (“*”, Boot, above).

export SETUP_DEV_WIN=/dev/mapper/isw_eaaicdchgi_Volume01

Configuring the Installation

Choose the Ubuntu version to install:

export SETUP_UBUNTU_VER=dapper

Choose a default locale:

export SETUP_LOCALE=en_US.UTF-8

Choose a CPU architecture for an operating system kernel and GRUB, a boot loader. Use 386 when unsure, 686 for PPro/Celeron/PII/PIII/PIV, or 686-smp for dual-core and quad-core systems. For other options, consult Ubuntu Package List.

export SETUP_CPU_UBUNTU=686-smp
export SETUP_CPU_GRUB=i386-pc

Choose a name for a new user of the system:

export SETUP_USER=frankie-bronx

Assembling a New System Inside of a Live-DVD System

Initialize (format) your new filesystems (do not try reiserfs on a boot partition):

mkfs.ext3 $SETUP_DEV_BOOT
mkswap $SETUP_DEV_SWAP
swapon $SETUP_DEV_SWAP
mkfs.reiserfs $SETUP_DEV_ROOT

Create a temporary file structure to hold the new installation while we construct it:

mkdir /install
mount -t reiserfs $SETUP_DEV_ROOT /install
mkdir /install/boot
mount -t ext3 $SETUP_DEV_BOOT /install/boot
mkdir /install/dev
mount –bind /dev /install/dev

Install a base system:

apt-get install debootstrap
debootstrap $SETUP_UBUNTU_VER /install

Copy a few critical system configuration files from your Live-DVD system to the new installation system:

cp /etc/resolv.conf /install/etc/
cp /etc/hosts /install/etc/
cp /etc/hostname /install/etc/
cp /etc/apt/sources.list /install/etc/apt/
cp /etc/network/interfaces /install/etc/network/

Share the DVD disc:

mkdir /install/cdrom
mount –bind /cdrom /install/cdrom

Activating the New System

“Activate” the new, virtual installation:

chroot /install
mount -t proc proc /proc
mount -t sysfs sysfs /sys

Create a replacement apt software package source file to install everything from a DVD disc, but to avoid downloading updates:

cp /etc/apt/sources.list /etc/apt/sources.list.full
echo “# `date`” > /etc/apt/sources.list
echo “deb file:/cdrom $SETUP_UBUNTU_VER main restricted” >> /etc/apt/sources.list
echo “deb http://archive.ubuntu.com/ubuntu $SETUP_UBUNTU_VER main restricted” >> /etc/apt/sources.list

The file:/cdrom entry instead of apt-cdrom add is used in sources.list to avoid re-mounting problems.

Sample:

# Sun Jan 28 11:21:48 UTC 2007
deb file:/cdrom dapper main restricted
deb http://archive.ubuntu.com/ubuntu dapper main restricted

Request that system software package manager, apt, refreshes its list of available packages:

apt-get update

Setup a default locale and a local time zone:

locale-gen $SETUP_LOCALE
tzconfig

We will need the Feisty Fawn RAID subsystem in our new installation as well, so re-install dmraid from a locally downloaded deb archive, using dpkg:

apt-get install wget
wget http://tormod.freeshell.org/linux/dmraid/dmraid_1.0.0.rc13-2ubuntu2tormod~dapper_i386.deb
dpkg -i ./dmraid_1.0.0.rc13-2ubuntu2tormod~dapper_i386.deb
rm ./dmraid_1.0.0.rc13-2ubuntu2tormod~dapper_i386.deb

Setup fstab, a file describing our filesystems, used by the operating system itself, apt, and other user applications:

echo “# `date`” > /etc/fstab
echo “proc /proc proc defaults 0 0” >> /etc/fstab
echo “sys /sys sysfs defaults 0 0” >> /etc/fstab
echo “$SETUP_DEV_SWAP none swap sw 0 0” >> /etc/fstab
echo “$SETUP_DEV_ROOT / reiserfs defaults 0 1” >> /etc/fstab
echo “$SETUP_DEV_BOOT /boot ext3 defaults 0 2” >> /etc/fstab
echo “/dev/cdrw /cdrom iso9660,udf noauto,owner,ro 0 0” >> /etc/fstab

Sample:

# Sun Jan 28 06:23:56 EST 2007
proc /proc proc defaults 0 0
sys /sys sysfs defaults 0 0
/dev/mapper/isw_eaaicdchgi_Volume06 none swap sw 0 0
/dev/mapper/isw_eaaicdchgi_Volume07 / reiserfs defaults 0 1
/dev/mapper/isw_eaaicdchgi_Volume05 /boot ext3 defaults 0 2
/dev/cdrw /cdrom iso9660,udf noauto,owner,ro 0 0

Instruct the kernel installer how to create image files and image links. Using relative symlinks will ensure that your system will boot without problems across kernel upgrades:

echo “# `date`” > /etc/kernel-img.conf
echo “image_in_boot = 1” >> /etc/kernel-img.conf
echo “do_symlinks = 1” >> /etc/kernel-img.conf
echo “relative_links = 1” >> /etc/kernel-img.conf
echo “warn_initrd = 0” >> /etc/kernel-img.conf

Install a kernel and an Ubuntu base distribution:

apt-get install ubuntu-base
apt-get install linux-$SETUP_CPU_UBUNTU

Synchronize the system clock with an NTP (Network Time Protocol) server over the Internet:

apt-get install ntp ntpdate

Create a new system user and allow it to execute commands as root:

useradd -m -s /bin/bash $SETUP_USER
passwd $SETUP_USER
echo “$SETUP_USER ALL=(ALL) ALL” >> /etc/sudoers

Disable root login altogether for security reasons:

passwd -l root

Install GRUB, a boot loader, and setup its basic file structure:

apt-get install grub
mkdir /boot/grub
cp /lib/grub/$SETUP_CPU_GRUB/* /boot/grub/

Assemble a GRUB batch file and instruct GRUB to install itself on your hard disk. We use perl to extract a boot partition number and subtract 1 from it, in order to change it into a boot partition index that GRUB expects:

export SETUP_GRUB_ROOT=`perl -e “print substr(\”$SETUP_DEV_BOOT\”,length(\”$SETUP_DEV_HDD\”), length(\”$SETUP_DEV_BOOT\”)-length(\”$SETUP_DEV_HDD\”)) – 1″`
echo “device (hd0) $SETUP_DEV_HDD” > /boot/grub/grub.batch
echo “root (hd0,$SETUP_GRUB_ROOT)” >> /boot/grub/grub.batch
echo “setup (hd0)” >> /boot/grub/grub.batch

Sample:

device (hd0) /dev/mapper/isw_eaaicdchgi_Volume0
root (hd0,4)
setup (hd0)

cat /boot/grub/grub.batch | grub –batch

Assemble a GRUB boot menu control file:

echo “# `date`” > /boot/grub/menu.lst
echo “default 0” >> /boot/grub/menu.lst
echo “timeout 8” >> /boot/grub/menu.lst
echo “### BEGIN AUTOMAGIC KERNELS LIST” >> /boot/grub/menu.lst
echo “title Ubuntu Linux” >> /boot/grub/menu.lst
echo “root (hd0,$SETUP_GRUB_ROOT)” >> /boot/grub/menu.lst
echo “kernel /vmlinuz root=$SETUP_DEV_ROOT ro quiet splash” >> /boot/grub/menu.lst
echo “initrd /initrd.img” >> /boot/grub/menu.lst
echo “### END DEBIAN AUTOMAGIC KERNELS LIST” >> /boot/grub/menu.lst

If you use Windows, add it as a boot option as well (recall the SETUP_GRUB_WIN environment variable you have created earlier?):

export SETUP_GRUB_ROOT=`perl -e “print substr(\”$SETUP_DEV_WIN\”,length(\”$SETUP_DEV_HDD\”), length(\”$SETUP_DEV_WIN\”)-length(\”$SETUP_DEV_HDD\”)) – 1″`
echo “title Windows” >> /boot/grub/menu.lst
echo “rootnoverify (hd0,$SETUP_GRUB_WIN)” >> /boot/grub/menu.lst
echo “chainloader +1” >> /boot/grub/menu.lst

Sample:

# Sun Jan 28 06:28:23 EST 2007
default 0
timeout 8
### BEGIN AUTOMAGIC KERNELS LIST
title Ubuntu Linux
root (hd0,4)
kernel /vmlinuz root=/dev/mapper/isw_eaaicdchgi_Volume07 ro quiet splash
initrd /initrd.img
### END DEBIAN AUTOMAGIC KERNELS LIST
title Windows
rootnoverify (hd0,0)
chainloader +1

Users of the latest ATI and NVIDIA graphics cards (such as GeForce 8800, …) might want at this point to install envy, an automated vendor driver installer:

wget http://albertomilone.com/ubuntu/nvidia/scripts/envy_0.8.1-0ubuntu3_all.deb
dpkg -i ./envy_0.8.1-0ubuntu3_all.deb
rm ./envy_0.8.1-0ubuntu3_all.deb

The Moment of Truth: Booting

Reboot into the new installation:

shutdown -r now

Once booted, login as the user created previously, re-acquire root privileges, and re-mount the DVD disc:

sudo -s
apt-cdrom add

If you run into mount errors, replace /dev/cdrw (a burner drive) with /dev/cdrom (a read-only drive) in your fstab file, using sed, and retry:

sed -i -e ‘s/^\/dev\/cdrw/\/dev\/cdrom/g’ /etc/fstab
apt-cdrom add

Request that system software package manager, apt, refreshes its list of available packages:

apt-get update

Choose a graphical desktop environment, ubuntu for GNOME, kubuntu for KDE:

export SETUP_DESKTOP_ENV=kubuntu

Install your desktop environment, make sure to select a preferred or a native LCD resolution when asked to Select the video modes… by the installer.

apt-get install fontconfig
apt-get install $SETUP_DESKTOP_ENV-desktop

Restore the full apt package source list, request that system software package manager, apt, refreshes its list of available packages, and upgrade the entire system:

mv /etc/apt/sources.list.full /etc/apt/sources.list
apt-get update
apt-get dist-upgrade

Users of the latest ATI and NVIDIA graphics cards (such as GeForce 8800) might want at this point to launch envy, an automated vendor driver installer:

envy

Start the desktop:

startx

Optional: a Graphical Boot Loader

Replace the not-so-hot textual GRUB with a graphical boot menu screen.

Start a web browser and visit this thread in Ubuntu Forums. Choose a theme file, download it, and save it to your home directory. I chose the red message.new theme.

Unpack the theme file and move it to your boot partition:

cd
tar xvf message.new.tar.gz
mv message.new /boot/
rm ./message.new.tar.gz

Download GRUB-GfxBoot using a web browser and save it to your home directory. Uninstall the textual GRUB and install the graphical version:

cd
apt-get remove grub
dpkg -i ./grub-gfxboot_0.97-5_i386.deb
rm ./grub-gfxboot_0.97-5_i386.deb

Re-setup your environment variables:

export SETUP_DEV_HDD=/dev/mapper/isw_eaaicdchgi_Volume0
export SETUP_DEV_BOOT=/dev/mapper/isw_eaaicdchgi_Volume05
export SETUP_GRUB_ROOT=`perl -e “print substr(\”$SETUP_DEV_BOOT\”,length(\”$SETUP_DEV_HDD\”), length(\”$SETUP_DEV_BOOT\”)-length(\”$SETUP_DEV_HDD\”)) – 1″`
export SETUP_CPU_GRUB=i386-pc

Re-copy GRUB library files to your GRUB staging directory on the boot partition:

cp /lib/grub/$SETUP_CPU_GRUB/* /boot/grub/

Re-initiate GRUB:

cat /boot/grub/grub.batch | grub –batch

Insert a gfxmenu keyword on top of GRUB’s menu control file:

sed -i -e “1igfxmenu (hd0,$SETUP_GRUB_ROOT)/message.new” /boot/grub/menu.lst

Enjoy

Enjoy your new Ubuntu installation!

Comments

comments