EfikaInstall
From LittleFe
Contents |
Debian Installation on the Efika Board
Errors, omissions, comments: Direct to gray -at- cs -dot- uni -dot- edu. Thanks
Getting Started
Welcome to my Efika/Debian installation. Hopefully you're here because you are about to do the same or lurking to see just how such a small form-factor system could be as functional as the Efika board.
This is a first-pass description of the installation of Debian on the Efika board. I've tried to document every step of the installation process, so there is a multitude of screenshots below that walk you through the same journey that I took. The main omission in this draft is an obligatory picture of my board, card, and hard drive together. Until I get a chance to grab my camera, this image:
should whet your appetite.
The approach described below should work just as well for you, too, although there are some local customizations that are included here. Namely,
- I use a local Debian mirror for our repository.
- I am pre-partitioning the disk to be used in the installation (since the Efika Debian installer doesn't fully support partitioning of the disk the way that I want)
- I take a side-tour during the installation to drop the Efika kernel and modules into the /boot and /lib/modules directories, respectively.
- I use AGP video, and not the serial port for the installation.
These images were captured on an IP-based KVM for the sole purpose of documenting the installation here. The IP-based KVM has a pass through where I could manipulate the installation sitting in front of the keyboard and terminal, while taking screen shots from the KVM's web-based front end. So if you're wondering about the frames around the images, the controls that you see are part of the KVM...I just didn't have the time to crop the images for this revision.
Preparation
Preparation for the installation required:
- Finding a video card that worked with the Efika board and riser card.
- Partitioning a small form-factor disk
- Copying the Efika kernel, the Efika kernel modules, and the Efika Debian installer to a USB drive.
- Finding a USB keyboard and mouse.
The video card issue turned out to be more problematic than I expected. I have a pile of PCI and AGP cards at my disposal, and the first two that I grabbed gave me problems. An NVidia TNT card failed to render any display when the board was powered on. Another card that I used booted up the Debian installer, but didn't get any further than "returning from prom_init". The best luck that I've had with the installation shown here, and subsequent installations, has been with ATI-based cards. Your mileage may vary. In the end, if you don't see a display or you don't get the Debian installer to start up, check your video card.
The laptop-factor drive that I used for this installation was pre-partitioned with a swap partition and a root partition, designated as types 82 and 83 respectively. This partitioning was carried out using a simple USB - 2.5in drive adapter, plugged into my (Debian) laptop. The size of these partitions is highly subjective...use your own judgment, keeping in mind that these boards have only 128MB of memory.
The requisite components for the Debian install, the kernel, modules, and Debian installer, were all downloaded from Efika's download area. These files are saved at here, at http://littlefe.net, for convenience and for reproducing this installation verbatim. If you would like to use the exact files that were used for the installation described here, grab this Debian Installer, this Efika kernel, and this Efika Kernel Modules file.
Once downloaded, copy the Debian installer, the Efika's kernel, and the Efika's kernel modules onto a USB drive. (Yes, one can PXE-boot the installation too, but that's another wiki entry for another day.)
With my setup, it seemed that all of the peripherals and the USB drive needed to be plugged in to the USB hub before the unit was powered on. For some, this may be a problem as there are only two USB ports, and you need to plug in a keyboard, mouse, and USB drive. My solution was to grab a keyboard from my pile of Mac keyboards which have USB ports that can host the mouse. If you don't have a Mac keyboard handy, you don't really need a mouse anyway, right?
The Debian Installation
Before powering up, plug in your USB drive with the three Efika components described above and your USB keyboard into the USB jacks. When you power up the device, you should see a nice, bright "b" in a blue circle, like this:
If you don't see a splash screen similar to the above image, chances are you don't have the keyboard plugged in.
At the prompt, make sure that your USB drive is detected, using the command "show-scsi":
Above you can see that I'm using an Hitachi disk for my installation (although it's shown as "SCSI", it's the standard IDE-interface laptop form factor drive). The USB drive that holds my Debian installer and the Efika kernel/modules is also shown.
From the firmware prompt, you can take a look around and navigate through your disks to find what you're looking for. To see what's on the USB drive, I issued "ls hd0:0". But that was a gobbly-gook mess that scrolled off of the screen. So to convince you, the reader, that the Debian installer was indeed present on the disk, I subsequently issued "ls hd0:0 di_efika", showing the 4507 KByte file was where I needed it to be.
Also note the last line in the above image. It shows the command that I'm using to boot the Debian installer from the USB drive, specifically "boot hd0:0 di_efika".
"Why is the second device hd0", you ask? (Go ahead, ask. My e-mail is at the top of the page.)
With that, the installer initialization is under way. I managed to grab a snapshot at one of the key points in the installer's intialization, where some installation attempts hang at "returning from prom_init":
If this is where your installation stagnates, congratulations: You've found a video card that doesn't like the video mode used by this particular Debian installer. You lose 512 Drew Carey points. We have some nice consolation prizes for you. Grab another video card and give it another try (my recommendation is one with an ATI chipset).
Otherwise, the installation should proceed with the selection of your default language:
I chose "English". Other languages are fun, but not always productive. Next is the selection of your country:
Then the selection of your keymap:
Next is the configuration of the network. For my environment, I was installing Debian on the Efika board behind a NAT-enabled firewall on our local network which supported DHCP. Interface eth0 is the integrated network controller on the Efika board:
DHCP is used by default to configure the network interface
and all is well. When prompted for a hostname, I used "little-efika-fe":
and "littlefe.net" as the domain name.
DEVIATION! This next step is where I deviate from the mind-numbed click-through installation. I maintain a local Debian mirror that hosts the PPC tree. So when it comes to specifying a Debian mirror to use during the installation, I bail out at the point where "United States" is the default Debian mirror option:
Instead, I Page-UP all the way to the top, where the little-known "enter information manually" option is hiding:
Here I can specify my local mirror (debian.cns.uni.edu) to be used as the default Debian repository. You can use this as your mirror too; many people do. In general, you should choose a mirror "close" to you as determined by sustainable bandwidth. The local mirror is "debian.cns.uni.edu":
- NOTE** Not all repositories are the same! Some repositories update frequently, others not so often. My local Debian mirror is updated daily, which means that you might break packages and have ***corrupted checksums***. If you are having problems with a mirror, I recommend selecting "Germany" as your country, and using the default first debian mirror on the list. This has worked for me when other repositories seem to have problems. You can also just "manually specify the repository" and use "ftp.de.debian.org" (which should be the first mirror in the German location option.)
with the Debian repository where it should be; under "/debian/" (which is the default):
There is no proxy to deal with for me, but if it pertains to you, enter your proxy information in the next screen:
Installation continues, to the point where the installer checks the mirror to see if the particulars of the kernel that's being used for the installation can be found in the mirror. Guess what? Blammo! They're not found.
This is no big deal. The installer will gleefully continue to fruition without the kernel modules. Besides that, you have the so-called missing modules on your USB drive. So make sure that you select YES and continue on with the installation.
Continuing on, the installer fetches the rest of the installation components:
and hickups a bit when it comes to partitioning of the disk:
STOP HERE IF YOU DON'T UNDERSTAND DISK PARTITIONING!
YOU WENT ONE MORE LINE, PLEASE STOP HERE IF YOU DON'T UNDERSTAND DISK PARTITIONING!
YOU WENT TWO MORE LINES, PLEASE STOP HERE IF YOU DON'T UNDERSTAND DISK PARTITIONING!
Continue with the partitioning step and load the partitioning program:
Since most of the partitioning work was done offline, the manual partitioning approach is most appropriate here:
Recall that the disk was prepared with a swap partition (type 82) and a default root partition (type 83) in anticipation of the next step, which is to assign these partitions to their intended uses.
The swap space is assigned as swap:
And the linux partition is formatted as ext3, and mounted at /:
While partitioning schemes are subjects of long drawn-out debates, this layout simply works for this presentation. End of debate. Commit the changes and say "Goodbye!" to any data that you thought you had on the disk:
After the disk is formatted, installation continues with configuration of the time zone:
...and setting the root password:
When the installer goes on to validate the packages, another hickup occurs:
Here, the installer has just checked the Debian mirror for the kernel package that matches the one being used for the installation process. As you probably guessed already, there isn't one. Not to worry though, it's on your USB drive, so forge ahead, by changing the default response "No" to "Yes".
The next aspect is one of dubious value, namely to participate in the Debian package monitoring and usage tracking, known as "popularity contest". I don't.
And the installation continues on:
This step takes a bit of time to complete. But instead of getting up to grab a cup of coffee, take advantage of the break in the user prompts to migrate over your kernel and modules.
DEVIATION ALERT! MOVING KERNEL AND MODULES OVER WHILE INSTALLATION GOES ON (If you don't grock this next part, that's fine...just do it when your system subsequently boots up)
To move your kernel and modules into place while the installation goes on, hit "alt-F2" and bring up the console tty2. (Note: It's always good to know how to get back into the installation progress screen -- "alt-F1").
Hit "Enter" as it suggests, to activate the console.
My USB drive which holds the kernel and modules is located under the device /dev/scsi/host1/target0/bus0/lun0/part1. This needs to be mounted in order to access the files contained within.
To mount the USB drive, I issued:
mount /dev/scsi/host1/target0/lun0/part1 /mnt
which allows access to the files contained thereon via the /mnt directory:
The root partition of the Debian installation is located under "/target" during the installation process. So pay particular attention to the commands used above to copy over the Efika kernel to the correct location:
cp /mnt/kernel_efika /target/boot/
and the commands used to unpack the kernel modules to the correct location:
cd /target tar xvfz /mnt/modules_efika.tgz
That's it. END OF DEVIATION. THERE ARE NO MORE DEVIATES HERE, MOVE ALONG...
Meanwhile, back at the installation. The Debian installer balks because neither LILO nor GRUB are installed. No big deal here, move along.
Go ahead and reboot when prompted:
When the system comes back up, you will need to manually load the kernel from the firmware prompt. With the configuration that was used for this installation, the command used is
boot hd:1 /boot/kernel_efika root=/dev/sda2
If all goes as expected, you should be greeted with the login prompt:
Congratulations. Enjoy.
