This document describes the steps to create a an Intel vPro Activator LiveCD and how to modify an existing LiveCD image.
If you just want to know what is a vPro Activator LiveCD or would just want to download it. Follow the link below:
http://communities.intel.com/docs/DOC-2517
The LiveCD is essentially a trimmed down Ubutnu 8.10 LiveCD image with a few modifications we performed to tailor it for the porpuse of vPro Bare-Metal configuration process. Follow the steps in the Ubuntu LiveCDCustomization Howto to modify the content of the Activator LiveCD.
Follow the steps in the Ubuntu LiveCD Customization From Scratch Howto to create the base Linux image. Since we are using the intrepid version (Ubuntu 8.10) use the following debootstrap command:
sudo debootstrap --arch i386 intrepid chroot
Here are some tips
1. image size reduction:
apt-get --yes --no-install-recommends install <package name>/usr/share/doc
/var/cache/apt/*.*
/var/lib/apt/lists/*.*
2. Avoid loading the wlan driver to reduce boot time::
edit the file: /etc/modprobe.d/blacklist
add the line:
blacklist iwlagn iwlcore
Note: You can probably reduce boot time further by blacklisting additional unenecessary drivers such as pcmcia and bluetooth.
3. Enable boot on Microsoft Virtual PC: known issues are described in this Howto, in short you need to edit the file /etc/modprobe.d/blacklist-framebuffer
comment out (add "#") the following lines:
#blacklist vesafb
#blacklist vga16b
Add the following line:
blacklist s3fb
perform the following operations once you've chroot to the image file system
1. Install additional packages:
apt-get –yes –-no-install-recomends install network-manager
apt-get –yes –-no-install-recomends install bc
2. Install the HECI driver
Download latest HECI driver source from openamt.org (use latest SVN release from sourceforge), and build with the same kernel that is on the bootable image.. Alternativly copy the binary file from the original activator LiveCD, if you are using kernel 2.6.27-9
Override the ubuntu distro heci driver:
cp heci.ko to /lib/modules/2.6.27-9-generic/kernel/ubuntu/heci
depmod
3. build the ZTCLocalAgent app from openamt.org and copy the binaries to image file system
mkdir /usr/local/share/ZTCLocalAgent
cp ZTCLocalAgent ZTCLocalAgent.dat StatusStrings.dat /usr/local/share/ZTCLocalAgent
chmod a+x /usr/local/share/ZTCLocalAgent/ZTCLocalAgent
chmod a+r /usr/local/share/ZTCLocalAgent/*.*
4. copy the init script and hello binary (look for the file /etc/S99IntelAMT /usr/local/share/helloMessage/hello fro the activator LiveCD)
cp S99IntelAMT /etc/
mv /etc/rc.local /etc/rc.local.org
ln –s /etc/S99intelAMT /etc/rc.local
mkdir /usr/local/share/helloMessage
cp hello /usr/local/share/helloMessage
chmod a+x /etc/S99IntelAMT /usr/local/share/helloMessage/hello
Note: you can override the default provisioning server address information by modifying the S99IntelAMT script
5. Copy thw customized dmidecode util:
We use dmidecode to extract the system UUID which we then send in "hello" packets. However we've modified dmidecode so that UUID is parsed consistent with the way vPro and Windows parse UUID. For more info on the issue see the following mail-thread
cd /usr/local/share
mkdir dmidecode-2.10
cp dmidecode dmidecode.2.10.tgz dmidecode-2.10/
chmod a+x dmidecode-2.10/dmidecode
6. Modifying the behavior of the Linux DHCP client:
The goal is to make a DHCP server offer identical ip address to both the Linux system and AMT, to this end we'll configure the DHCP client to send a client-identifier DHCP option specifying the HW MAC address of the LAN nic.
use the /etc/init/d/set-cl-id.sh script from the Activator LiveCD
cp set-cl-id/sh /etc/init.d/
cd /etc/rc2.d
ln -s ../init.d/set-cl-id.sh ./S29ste-cl-id/.sh
Modify the dhcp client config file /etc/dhcp3/dhclient.conf
add the following line:
send dhcp-client-identifier <hwaddr>;
Note: it's possible to use dhclient.conf to modify other dhcp options sent by the LiveCD, refer to the dhclient man pages for more info.
7. Stop the LiveCD from fetching the time from ntp.ubuntu.org (and possibly modifying the system RTC)
comment out the following line in: /etc/default/ntpdate
#NTPSERVERS="ntp.ubuntu.com"
8. Once done with the root file system modifications, create the squashed file system using mksquashfs command as described in the Ubuntu Howto
1. Boot options:
the boot options are specified in the image/isolinux/isolinux.cfg, here's how it looks like:
DEFAULT live-diag
LABEL live
menu label ^Start Intel(r) Bare-Metal Activator
kernel /casper/vmlinuz
append boot=casper initrd=/casper/initrd.gz quiet nosmp acpi=off noprompt splash --
LABEL live-diag
menu label ^Start Intel(r) Bare-Metal Activator with boot diagnostics
kernel /casper/vmlinuz
append boot=casper initrd=/casper/initrd.gz nosmp acpi=off noprompt splash --
DISPLAY isolinux.txt
TIMEOUT 5
PROMPT 1
Kernel parameters:
To reliably boot on wide variety of systems we use the “acpi=off” and the “nosmp” kernel variables.
The “noprompt” parameter is used by the /etc/init.d/casper shutdown script to determine whether to eject the CD-ROM and wait for user to hit “Enter” before shuting down the system. Since our primary media is USB this behavior doesn’t make sense. if you wish to boot from CD-ROM just remove this option
“quiet” indicates whether or not kernel boot messages are spewed to the console.
2. customizing boot text and graphics:
The text presented to the user during boot is defined in image/isolinux/isolinux.txt
THe bit-map is set in the image/isolinux/splash.rle
Refer to the Ubuntu Howto for information how to customize this files.
LiveCD doesn't send Hello Packets if the DHCP server is not configured to return "Router" option (DHCP option 3).
see more info in the bug report:
bugzilla.gnome.org/show_bug.cgi?id=572912
possible workarounds:
A. Set the Router option on the DHCP server
There are no comments on this document