Making a Xillybus LiveDVD ISO image

This post was written by eli on June 7, 2012
Posted Under: Linux

Introduction

In the past, a LiveDVD was offered along with the evaluation kit for Xillybus, to make the setup quicker. As it turned out, there was no demand for this prepackaged kit, so it’s no longer available. But the steps for creating the image are documented here anyhow.

This procedure was made on Fedora 14, it should work on other (Red Hat based) distros as well.

Creating the ISO image

This page shows the specifics of creating the Xillybus LiveDVD image. It’s based upon a more general guide on the same subject, which is better read first.

As a matter of precaution, the ISO image is generated under the same distribution for which the it’s made. This may not be necessary, but helps working under the install directory as chroot. I suppose working under the same processor arch should be good enough (and even that isn’t really necessary).

The ISO image generated from scratch, since something got stuck when trying to make a based-upon image with

# livecd-creator --config=fedora-livecd-desktop.ks --fslabel=cleancd --cache=/var/cache/live
# livecd-creator -f xillydvd -c fedora-livecd-desktop-xillybus.ks -b cleancd.iso

So instead, I did the whole thing on one go:

# livecd-creator --config=fedora-livecd-desktop-xillybus.ks --fslabel=xillydvd-1.1 --cache=/var/cache/live

Note: Do not label the ISO “xillybus”. This will create false entries in the diagnostic tool (since it looks for the string “xillybus”)

After all packages were installed, I got the waited-for shell prompt for some final hacks. Procedure goes:

  • Remove “quiet” and “rgbh” kernel parameters from the boot menus, so that information is displayed during bootup. Note that there are two files, isolinux/isolinux.cfg and EFI/boot/isolinux.cfg which are the same inode (hard linked, so changing one also changes the other).
  • Extract the tarball at the install root directory
  • If changed or absent in tarball, copy the kickstart files to /usr/share/xillybus/misc/kickstarts (make the directory as well)
  • Copy the tarball of extra files into /usr/share/xillybus/misc. This tarball was generated with make-bundle.sh in the same directory.
  • Add the following line to /usr/share/hwdata/pci.ids, somewhere under Vendor ID 10ee (Xilinx):
             ebeb  Xillybus Generic FPGA core
  • Change root to install directory
  • Compile the kernel (not included in the tarball because of the depmod involved)
  • Clean the compilation directory
  • Exit chroot and leave the install directory (so it can umount)

In commands, carried out from a non-chroot shell (but as root):

# cd /var/tmp/imgcreate-vrhjSz/iso-h1Amel
# vi isolinux/isolinux.cfg # Remove all "quiet" and "rhgb"
# cd /var/tmp/imgcreate-vrhjSz/install_root/
# tar --preserve-permissions -xvzf /path/to/xillypack.tar.gz
# mkdir usr/share/xillybus/misc/kickstart
# cp /path/to/livecd/*.ks usr/share/xillybus/misc/kickstart
# cp /path/to/xillypack.tar.gz usr/share/xillybus/misc/
# vi usr/share/hwdata/pci.ids # Add an entry
# chroot .
# cd /usr/share/xillybus/module/
# make install TARGET=`ls /lib/modules`
# make clean
# exit
# cd

The last exit quits the chroot shell, and it’s important to leave the directory or the installation will fail to unmount. Then I went to the orignal shell prompt and quitted it as well, so that the installation finished.

Note that there is no leading slash in the destination paths before the chroot, or the files fall outside the install root!

The shell received by the installation itself isn’t used, because of the possibility of exiting it accidentally.

Notes:

The xilly-diagnostic executable solves a setuid issue. It must be recompiled when moving architectures (32/64 bit in particular). The source can be found in /usr/share/xillybus/misc/. The binary is at /usr/local/bin/

gcc -O3 -Wall -o xilly-diagnostic xilly-diagnostic.c

 

Add a Comment

required, use real name
required, will not be published
optional, your blog address