VersaLogic.com » Support » Software » Search » QSP-LNX-MNLW-R2.00 » ReadMe

ReadMe: QSP-LNX-MNLW-R2.00

Debian Linux Quick Start Package (QSP) for the Intel Atom Z5xx (Menlow XL) Platform

Boards Supported Tiger (VL-EPM-24)
Ocelot (VL-EPMs-21)
Expansion Modules Supported EPM-NET-100
EPM-VID-3
PCM-225-1-V2.0
PCM-3640
VL-EPHs-S1
VL-EPM-E2
VL-EPMs-E1
VL-EPMs-U1
VL-EPMs-M1
Kernel Version 2.6.37-1 (Debian Sid sources)
Debian Linux Version 6.0.0 (Squeeze/Stable)
VL Debian Installer 7.0
Quick Login Instructions
Login root
Password password

TABLE OF CONTENTS

  1. Legal Disclaimer
  2. Purpose
  3. Hardware Requirements
  4. Installation Instructions
  5. Installing on USB Devices
  6. Features of the Install Types
  7. What To Do Once the Installation is Finished
  8. Adding New Programs to a Debian Installation
  9. Watchdog
  10. Advanced User Package (AUP)
  11. Expansion Modules
  12. Intel Poulsbo Xorg and DRM Drivers
  13. ACPI S3 (Suspend-to-RAM)
  14. Important Notes (highly recommended)
  15. Known Issues (highly recommended)
  16. References

1.0 LEGAL DISCLAIMER

VersaLogic is making no claims of usability, efficacy or warranty. Information in this document is provided in connection with VersaLogic products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. VersaLogic assumes no liability whatsoever, and VersaLogic disclaims any express or implied warranty relating to the sale and/or use of VersaLogic products, including liability or warranties relating to fitness for a particular purpose, merchantability or infringement of any patent, copyright or other intellectual property right. VersaLogic products are not intended for use in life-saving or life-sustaining applications.

VersaLogic disclaims all warranties and liabilities for the use of this document and the information contained herein, and assumes no responsibility for any errors which may appear in this document, nor does VersaLogic make a commitment to update the information contained herein. VersaLogic reserves the right to make changes to this document at any time without notice.

2.0 PURPOSE

Installing Debian Linux can be a difficult and time consuming effort, even when using the latest installer guide added with the release of Squeeze. The goal of VersaLogic Quick Start Packages (QSPs) is to make Debian OS installation as painless as possible, provide multiple installation images that balance footprint versus functionality, and to pre-configure any product specific support such as video, cardbus, etc. This also constitutes the difference between VersaLogic's QSP installation and the Debian Squeeze CD/DVD installation.

3.0 HARDWARE REQUIREMENTS

  1. (a) USB Mouse & Keyboard
  2. (a) IDE or USB CD/DVD-ROM
  3. (a) IDE Device (hard drive)
    -- or --
    (b) USB Hard Drive
    -- or --
    (c) USB Flash Drive
    on which the system will be installed
  4. Minimum 256 MB RAM
  5. LCD/CRT Monitor or LVDS (requires appropriate cables)

4.0 INSTALLATION INSTRUCTIONS

  1. The LiveCD will boot automatically into the LXDE graphical environment and a ReadMe file will launch automatically. Upon exiting the ReadMe file, VersaLogic's Debian Installer will launch and you can follow the installation instructions step-by-step.

    Alternatively, the Debian Installer is placed on the Desktop (left side) and is labeled VersaLogic Debian Installer. Just double-click the icon and the installation wizard will start.

    Furthermore, you can launch the installer by clicking on the LXDE menu button on the bottom right corner and then going to:
    Accessories→VersaLogic Debian Installer
  2. You will be given the choice of a PATA or USB device on which you would like to install.

    All PATA devices will have ata- as a prefix to their names. For example:

    /dev/sda ata-ST380815AS

    All USB devices have usb- as a prefix to their names. For example:

    /dev/sdb usb-Generic_USB_Flash_Disk

    NoteIf you are planning to install on a USB device, make sure that the following settings are ENABLED in CMOS settings [11]:

    1. LEGACY USB
    2. USB BOOT
    3. EHCI/USB 2.0

    NoteSee the section Installing on USB Devices for more details regarding installation on USB devices.

  3. The installer will take you step-by-step through the installation process. You can select one of three types of installation (Minimal, Medium, or Full):
    1. Minimal (Min): This is essentially a console-based installation with minimum functionality. It does not have any graphical features.
    2. Medium (Med): This includes everything in the Minimal install plus Xorg, which is a Graphical Server (called X Server). This will provide limited graphical features through the lightweight desktop environment LXDE. It will launch automatically once you log into the system.
    3. Full: This includes everything in the Medium install (except the LXDE environment) plus GNOME, a graphical user environment. This is the expandable, full distribution environment.

    NoteSee the section Features of the Install Types below for more details on these three images.

  4. During the installation, if any unexpected error occurs, you will be notified. You can see the error in the /tmp/errorLog.txt file by running the following command:
    root@debian# less /tmp/errorLog.txt
    After installation, the above file should be empty (an empty file indicates a successful installation).
  5. You will have to run the installer as root.

NoteInstallation script source code inquiries should be directed to Support@VersaLogic.com.

5.0 Installing on USB devices

For your convenience, we have included support for installing Debian Linux images directly on USB devices - hard drives and flash drives. Following are some important points regarding USB installation:

  1. Although the installer supports detecting multiple USB storage devices, connecting only the target USB installation device is highly recommended. To avoid confusion later on, do not plug in any other USB storage device(s).
  2. When you choose to install on the USB device, the installer creates an Ext2 filesystem instead of the default Ext3 filesystem used on a PATA device. Because the Ext2 filesystem does not have journaling capabilities, writes to the disk are minimized (flash drives have limited read/write capacity and tend to wear out after a certain number of writes).
  3. The option noatime is used to mount the Ext2 filesystem on USB devices. This saves unnecessary writes caused by the default atime option. The /etc/fstab should look something like this once you finish installing on your USB device:
    /dev/sda1 / ext2 noatime,errors=remount-ro 0 1
    Refer to the following links for further details:
    1. http://lkml.org/lkml/2007/8/4/73
    2. http://lkml.org/lkml/2007/8/10/200
  4. The kernel boot parameter rootwait is added for USB devices. This is because USB devices are detected asynchronously by the Linux kernel and hence the Linux kernel must be told to wait until the root filesystem appears.
  5. USB devices are not named on a fixed basis (i.e. the name /dev/sda of your USB device can change upon subsequent reboots after adding/removing other USB devices). Therefore, if the name of your USB device changes, you will have to try:

    root=/dev/sdb1

    -- or --

    root=/dev/sdc1

  6. and so on . . . during the GRUB menu screen by pressing the E key and editing the root= entry as shown above. This is a common scenario for Linux distros which use SCSI device emulation to enumerate USB devices. Once you figure out the correct device name, you will need to replace all instances of sda with sdb (for example) in your /boot/grub/menu.lst file to make the change permanent.

6.0 FEATURES OF THE INSTALL TYPES

  1. Minimal (Min):
    1. Accessing USB devices
    2. Internet (LAN and WLAN) DHCP client, FTP, TELNET
    3. SSH, SFTP remote connection
    4. System administration, PCIUTILS
    5. LCD/CRT and LVDS support
  2. Medium (Med) - All of the above (a–e) plus the following:
    1. Xorg (X server installed) + LXDE
    2. Graphical-based login (xdm)
    3. Sound (requires ALSA Utilities package)
    4. Graphical web browser
    5. Limited graphic capability
  3. Full - All of the above (a–i) plus the following:
    1. GNOME GUI
    2. Can perform some administrative tasks using GUI

7.0 WHAT TO DO ONCE THE INSTALLATION IS FINISHED

  1. Reboot your system once the installation process succeeds.
  2. Press the Delete key to go to CMOS Settings, then go to the Boot section.
  3. Under the BOOT DEVICE PRIORITIZATION section, assign the device on which you installed the image as the first device to boot from - 0.

    EXAMPLE

    Suppose during the installation process you selected sdb (Step 2 in the section Installation Instructions) as the PATA device to install the Debian system; the corresponding BOOT DEVICE PRIORITIZATION [https://www.versalogic.com/kb/KB.asp?KBID=1648#Boot] settings will be:

    0 [IDE 1/Primary Slave, <model-name-of-device>]
  4. Save the CMOS settings and reboot.
  5. You will see the GRUB bootloader screen and it will automatically boot into your new system in a few seconds.
  6. Once the system boots and presents the login screen, you will have to login to the system.
    1. To login as the root user:
      Loginroot
      Passwordpassword
      The root user will be able to perform all administrative tasks.
    2. To login as a regular user:
      Loginuser
      Passwordpassword
  7. You can find the corresponding kernel header files for the installed kernel in the directory /root/AUP folder on the LiveCD. See the section Advanced User Package (AUP) for details.

8.0 ADDING NEW PROGRAMS TO YOUR DEBIAN INSTALL

Even though VersaLogic QSPs provide a good base of installed programs, it would not be practical to provide everything that is available to everyone. This section provides a basic tutorial on how to add new software to an installed Debian Linux base system.

Adding Additional Software

Once you have your basic installation completed, the next thing you will probably want to do is add additional software. The APT suite of programs is, by far, the easiest way to accomplish this task. APT is an acronym for Advanced Package Tool and is essentially an automated dependency resolver and front-end for the dpkg program. It will figure out what the dependencies are for a given software package and then manage the calls to dpkg, which actually does the work of installing them. Together, APT and dpkg make installing new packages very straightforward.

EXAMPLE - Adding GNU C Development Libraries and Header Files

One of the most common packages that application developers want is libc6-dev [http://packages.debian.org/stable/libc6-dev], which contains development libraries and files that are required to make C/C++ programs work. Let's see an example on how to install it:

  1. Make sure you are connected to the Internet – all three Debian installations contained on the VersaLogic Debian install CD are configured to use DHCP, by default. In most cases, you just need to connect an Ethernet cable to your network to use it.
  2. At the console prompt, type apt-get update and Enter. This will refresh the local package database. It's a good practice to do this step fairly often (before you are about to install new software) to make sure that the latest package information is available to APT.
  3. Once that process is finished, type:
    debian:~# apt-get install libc6-dev
    and hit Enter. In this example, libc6-dev is in the name of the package to install, so APT will go find any packages that have that name, and often automatically decides which one is best for your system. It also determines what other packages need to be installed to make libc6-dev work, and it will go ahead and install those as well.

NoteThere might be some software that could be in Debian's Contrib and Non-free sections. To install software from these sections, modify the following line in the /etc/apt/sources.list file:

deb http://mirrors.kernel.org/debian Squeeze main

-- to --

deb http://mirrors.kernel.org/debian Squeeze main contrib non-free

Installing Packages from Testing Repositories (i.e. Other Than Stable)

By default, APT will look in /etc/apt/sources.list to determine where to download the packages from. We have set up the system to look in a Stable online repository by default, but if it doesn't exist there, APT can also look in a Testing repository (Testing means that the package is being tested and has been stable for at least 14 days, but has not yet been added to the formal Debian stable release). This scheme strikes the best balance between system stability and package availability since, unlike other Linux distributions, Debian's developers can take years to move testing packages to stable (which happens only for major releases). To enable APT to download packages from the Testing repository, you will have to uncomment (by removing the leading # symbol) the following lines of the /etc/apt/sources.list file:

#deb http://mirrors.kernel.org/debian testing main contrib
#deb-src http://mirrors.kernel.org/debian testing main contrib

Additional Information/Links for APT Package Management System

Debian essentially maintains three types of distributions:

  1. Stable
  2. Testing
  3. Unstable

For more information, refer to the following website:

  1. http://www.nl.debian.org/doc/manuals/reference/ch-system.en.html

All three VersaLogic images stand as follows with respect to the above three distributions:

  1. Minimal - Stable
  2. Medium - Stable
  3. Full - Stable

For more information, refer to the following websites:

  1. http://www.debian.org/doc/manuals/apt-howto
  2. http://jaqque.sbih.org/kplug/apt-pinning.html
  3. http://www.argon.org/~roderick/apt-pinning.html
  4. http://wiki.debian.org/AptPinning

APT Configuration Files

Refer to the following files to customize the apt-get system:

  1. /etc/apt/apt.conf
  2. /etc/apt/sources.list
  3. /etc/apt/preferences

Also, run the command:

#apt-get update

every time you decide to install any package. This is very important, as it will keep the local repository synchronized with the Debian repository.

9.0 WATCHDOG

Watchdog (CONFIG_SMSC_SCH311X_WDT=m) support

  1. Loading the Driver

    The watchdog driver (sch311x_wdt) is included in all the three images. To load the watchdog driver, simply give the command:

    debian:~# modprobe sch311x_wdt

    -- or --

    You can un-comment the line:

    #sch311x_wdt

    like this:

    sch311x_wdt

    in the /etc/modules file so that the driver will load automatically upon boot.

  2. Verify Driver Loading

    To verify that the driver is loaded properly, check the /dev/ directory for the existence of the device file watchdog:

    debian:~# ls -l /dev/watchdog

    You can also do a dmesg and check for the following similar lines:

    [   17.670076] sch311x_wdt: Found an SMSC SCH3114 chip at 0x0c00
    [ 17.676217] sch311x_wdt sch311x_wdt.3072: SMSC SCH311x WDT initialized. timeout=60 sec (nowayout=0)

    by giving the following command:

    debian:~# dmesg | grep sch311x_wdt
  3. Using the Watchdog Driver

    To use the watchdog driver, the watchdog daemon package is included. You can configure the watchdog by editing the following file:

    /etc/watchdog.conf

10.0 Advanced User Package (AUP)

If you don't want to install the VersaLogic Debian images and would like to have your own custom install (Debian or a non-Debian), then this section is for you. No matter which Linux distro you choose, you will need a kernel with all of the updated hardware support. You can access the AUP package, QSP-LNX-MNLW-R2.00.zip, from /root/AUP directory on the LiveCD which has the following contents:

  1. Kernel sources
  2. Kernel image - Installable .deb file (for Debian-based distros)
  3. Kernel config file (.config)
  4. Kernel header files
  5. Kernel patch to fix reboot problems
  6. Poulsbo kernel DRM sources and XOrg pre-compiled .deb files

You can also download the AUP package from VersaLogic's software support website.

11.0 EXPANSION MODULES

  1. VL-EPMs-U1


    The VL-EPMs-U1 expansion board provides an embedded system with six additional serial ports. Following is an example of how to get ten serial ports working on the Ocelot (VL-EPMs-21) (four on-board serial ports) with the VL-EPMs-U1 (six additional serial ports) attached.

    Note: The following is just an example of suggested settings; there may be other ways to configure all ten serial ports.

    BIOS/CMOS Configuration

    Set the CMOS settings as follows:

    +--------------------------------------------------------+
    | EPMs-U1 Devices (SMSC SCH3116) |
    | -------------------------- --------------------------- |
    | IRQ Sharing [No Sharing] |
    | |
    | Serial Port 1 [Enabled] |
    | Address [200h] |
    | IRQ [IRQ 5] |
    | Serial Port 2 [Enabled] |
    | Address [208h] |
    | IRQ [IRQ 7] |
    | Serial Port 3 [Disabled] |
    | Address [210h] |
    | IRQ [IRQ 5] |
    | Mode [RS-232 (4-wire)] |
    | Serial Port 4 [Disabled] |
    | Address [218h] |
    | IRQ [IRQ 7] |
    | Mode [RS-232 (4-wire)] |
    | Serial Port 5 [Disabled] |
    | Address [220h] |
    | IRQ [IRQ 5] |
    | Mode [RS-232 (4-wire)] |
    | Serial Port 6 [Disabled] |
    | Address [228h] |
    | IRQ [IRQ 7] |
    | Mode [RS-232 (4-wire)] |
    +--------------------------------------------------------+

    For more information on configuring the VL-EPMs-U1, refer to the manual [https://www.versalogic.com/Products/Manuals/MEPMSU1.pdf].

    OS Configuration

    Uncomment the following lines in the file:

    /var/lib/setserial/autoserial.conf
    # For EPMs-U1
    # Supply the kernel parameter 8250.nr_uarts=10
    /dev/ttyS4 uart 16550A port 0x0200 irq 5 baud_base 115200 spd_normal skip_test
    /dev/ttyS5 uart 16550A port 0x0208 irq 7 baud_base 115200 spd_normal skip_test
    /dev/ttyS6 uart 16550A port 0x0210 irq 5 baud_base 115200 spd_normal skip_test
    /dev/ttyS7 uart 16550A port 0x0218 irq 7 baud_base 115200 spd_normal skip_test
    /dev/ttyS8 uart 16550A port 0x0220 irq 5 baud_base 115200 spd_normal skip_test
    /dev/ttyS9 uart 16550A port 0x0228 irq 7 baud_base 115200 spd_normal skip_test

    and then reboot your system with the following kernel parameter:

    8250.nr_uarts=10

    which basically tells the kernel to initialize ten UARTs at run-time. To further configure the serial port settings, use the program setserial.

    The remaining standard four serial ports (COM1 to COM4) should have the following resource assignments in the BIOS and OS:

    PORTBASE ADDR.IRQLINUX
    COM10x3F84/dev/ttyS0
    COM20x2F83/dev/ttyS1
    COM30x3E84/dev/ttyS2
    COM40x2E83/dev/ttyS3
  2. VL-EPM-E2


    All three images and LiveCD support the Ethernet functionality with the VL-EPM-E2 expansion module. The supplied kernel has the Ethernet driver compiled as a module:

    CONFIG_KSZ884X_PCI=m

    and it will get loaded automatically when the card is plugged into the stack.

  3. VL-EPMs-E1


    All three images and LiveCD support Ethernet functionality with the VL-EPMs-E1 expansion module. The supplied kernel has the Ethernet driver compiled into the kernel:

    CONFIG_E1000E=y

    and it should get loaded automatically when the card is plugged into the stack.

  4. EPM-NET-100


    All three images and LiveCD support Ethernet functionality with the EPM-NET-100 expansion module. The supplied kernel has the Ethernet driver compiled as a module:

    CONFIG_E100=m

    and it will get loaded automatically when the card is plugged into the stack.

  5. EPM-VID-3


    All three images and LiveCD support the EPM-VID-3 video expansion module. To load the framebuffer kernel driver for this card, make sure that you remove the kernel parameter vga=791 from GRUB and give the following command from a console once the system boots:

    # modprobe atyfb

    You can check the log of the driver loading using the following command:

    # dmesg | grep atyfb
    [   67.841441] atyfb 0000:00:04.0: can't find IRQ for PCI INT A; please try using pci=biosirq
    [ 67.841500] atyfb: using auxiliary register aperture
    [ 67.843668] atyfb: 3D RAGE Mobility P/M (Mach64 LR, PCI) [0x4c52 rev 0x64]
    [ 67.843697] atyfb: Mach64 BIOS is located at c0000, mapped at c00c0000.
    [ 67.843718] atyfb: BIOS frequency table:
    [ 67.843740] atyfb: PCLK_min_freq 984, PCLK_max_freq 23600, ref_freq 2950, ref_divider 64
    [ 67.843769] atyfb: MCLK_pwd 4200, MCLK_max_freq 8300, XCLK_max_freq 12500, SCLK_freq 5000
    [ 67.843794] atyfb: BIOS contains driver information table.
    [ 67.843821] atyfb: colour active matrix monitor detected: Sanyo TM121SV-02L04A
    [ 67.843848] atyfb: id=1, 800x600 pixels, 262144 colours (LT mode)
    [ 67.843874] atyfb: supports refresh rates [60], default 60 Hz
    [ 67.843897] atyfb: LCD monitor CRTC parameters not found!!!
    [ 67.843963] atyfb: 8M SDRAM (1:1), 29.498928 MHz XTAL, 236 MHz PLL, 83 Mhz MCLK, 125 MHz XCLK
    [ 67.863783] atyfb: fb0: ATY Mach64 frame buffer device on PCI

    To further tweak the framebuffer settings, use the fbset utility [http://linux.die.net/man/8/fbset].

    How to load the framebuffer module early on in the boot process

    The supplied default kernel has the framebuffer driver atyfb compiled as module (=m):

    CONFIG_FB_ATY=m

    To make sure that the framebuffer driver gets loaded as soon as the kernel boots, you need to compile the driver into the kernel (=y):

    CONFIG_FB_ATY=y

    You will probably be required to tweak the /etc/X11/xorg.conf file to make it work with the X window system. Also, at this time, 3D acceleration will not work in the images provided. If you would like to get 3D acceleration working, please refer to [http://ubuntuforums.org/showthread.php?t=7200] and [http://www.google.com/search?hl=en&q=ATI+Rage+mobility+3d+Acceleration+Linux].

  6. PCM-3640


    The PCM-3640 expansion board provides an embedded system with four additional ISA-based serial ports. Following is an example of how to get eight serial ports working on the Tiger (VL-EPM-24) (four on-board serial ports) with the PCM-3640 (four additional serial ports) attached.

    NoteThe following is just an example of suggested settings; there may be other ways to configure all eight serial ports.

    Board Configuration

    In order to enable and use all four serial ports on PCM-3640, make sure you set the IRQ jumpers so that the serial ports have the following IRQ assignments:

    CHANNELIRQ
    15
    27
    35
    47

    You also need to configure the port address in such a way that the first serial port on PCM-3640 gets base address 0x210, the second serial port gets 0x218, and so on . . . In order to do that, you need to configure the DIP switches as follows:

    A3DIP Switch 1ON
    A4DIP Switch 2OFF
    A5DIP Switch 3ON
    A6DIP Switch 4ON
    A7DIP Switch 5ON
    A8DIP Switch 6ON
    ModeDip Switch 7OFF

    NoteON means the switch is towards the board; OFF means the switch is away from the board.

    For more information on configuring the PCM-3640, refer to the manual [https://www.versalogic.com/products/manuals/pcm-3640.pdf].

    OS Configuration

    Uncomment the following lines in the file:

    /var/lib/setserial/autoserial.conf
    # For PCM-3640 (Dip Switch 2 (A4) and 7 (Mode) should be turned off)
    # Supply the kernel parameter 8250.nr_uarts=8
    /dev/ttyS4 uart 16550A port 0x0210 irq 5 baud_base 115200 spd_normal skip_test
    /dev/ttyS5 uart 16550A port 0x0218 irq 7 baud_base 115200 spd_normal skip_test
    /dev/ttyS6 uart 16550A port 0x0220 irq 5 baud_base 115200 spd_normal skip_test
    /dev/ttyS7 uart 16550A port 0x0228 irq 7 baud_base 115200 spd_normal skip_test

    and reboot your system with the following kernel parameter:

    8250.nr_uarts=8

    which basically tells the kernel to initialize eight UARTs at run-time. To further configure the serial port settings, use the program setserial.

    The above steps will configure the PCM-3640 as follows:

    PORTBASE ADDR.IRQLINUX
    CH#10x2105/dev/ttyS4
    CH#20x2187/dev/ttyS5
    CH#10x2205/dev/ttyS6
    CH#10x2287/dev/ttyS7

    NoteThe base address 0x208 is not accessible for a serial port on this board so we start with base addresses 0x210.

    The remaining standard four serial ports (COM1 to COM4) should have the following resource assignments in the BIOS and OS:

    PORTBASE ADDR.IRQLINUX
    COM10x3F84/dev/ttyS0
    COM20x2F83/dev/ttyS1
    COM30x3E84/dev/ttyS2
    COM40x2E83/dev/ttyS3

    CMOS Configuration

    If you are using a Tiger (VL-EPM-24) board, then you need to forward the above I/O ranges to ISA [https://www.versalogic.com/kb/KB.asp?KBID=1666#ISAIRQ]

12.0 INTEL POULSBO XORG AND DRM DRIVER

The XOrg driver (psb_drv.so) requires the kernel Poulsbo (a.k.a PSB) framebuffer module (psb.ko) to be loaded in order to work. Also, the psb.ko module requires an updated kernel drm module (drm-psb.ko) and not the one that comes with a standard Linux kernel (drm.ko). At the time of this writing, there are still no official upstream sources for the Poulsbo driver for Linux - although recently a patch has been posted [10] on LKML to include the kernel component of the Poulsbo driver (without 3D support) in the staging tree. However, we are shipping the images with DRM (psb.ko) and XOrg (psb_drv.ko) drivers (with 3D acceleration working) built from unofficial sources.

Everything should be loaded and working upon booting the images. You should not be required to do any extra work.

Steps to compile the modules for a different kernel

Suppose you decide to use a different kernel than what is supplied by VersaLogic. In that case, you will have to compile the DRM drivers (psb.ko and drm-psb.ko) for the kernel that you want to actually run. Here are the steps that should help you with that process:

apt-get install initramfs-tools
dpkg -i psb-kernel-source_4.42.0-0squeeze2_all.deb
dpkg -i linux-image-2.6.38-mycompany1 linux-headers-2.6.28-mycompany1

Basically, it is a standard out-of-tree kernel modulation process (via DKMS) that you would do for any module out there.

Steps to use XOrg driver (vesa_drv.so)

To use a generic vesa framebuffer driver remove the Poulsbo driver (XOrg component):

apt-get purge xpsb-glx libdrm-poulsbo1 apt-get autoremove rm /etc/X11/xorg.conf

and then reboot.

Steps to use generic vesa framebuffer (vesafb)

Simply comment out the following line in the /etc/modules file:

##### Poulsbo Modules #####
# To load Poulsbo framebuffer kernel module
# psb

Next, make sure that you have the "vga=791" kernel boot parameter in your /boot/grub/menu.lst file. Finally, reboot.

Note: If you plan to use the vesa framebuffer module (vesafb), you will also need to use a vesa XOrg driver (vesa_drv.so), because the PSB XOrg driver (psb_drv.so) requires (is dependent) on the PSB kernel DRM driver (psb.ko) to function.

For more information on compiling the Poulsbo driver refer to this HOW-TO [5].

13.0 ACPI S3/Suspend-to-RAM

To use ACPI features, specifically suspend-to-RAM, make sure the ACPI support is enabled in the BIOS. ACPI should already be enabled by default.

Invoking S3 State

There are different ways by which you can put (suspend) your computer to S3 state:

Minimum Image

Give the following command:

# ./root/s3scripts/suspendToRam.sh

Medium Image

LXDE MenuLogoutSuspend

-- OR --

Give the following command from a terminal window:

# pm-suspend

Full Image

GNOME MenuSystemShut DownSuspend

-- OR --

Give the following command from a terminal window:

# pm-suspend

Note: The Windows XP/Vista/7 equivalent of the ACPI S3 state is Standby.

Resuming from S3 State

You can resume your board from an S3 state by hitting the power button labeled S1 Power on the paddle board.

14.0 IMPORTANT NOTES

  1. For best viewing results with X Windows system on a CRT monitor or FPD or LVDS, use 1024x768 resolution.
  2. USB Mass Storage support is compiled into the kernel. However, if you have a USB device which is not very common, or a next-generation type of USB device, chances are driver support for it is NOT in the kernel. In such cases, the USB device won't get detected by the installer or installation will fail.
  3. All three images have a custom compiled kernel specifically for the Ocelot (VL-EPMs-21) and Tiger (VL-EPM-23) single board computers. If you try to use this CD on any other board, it may fail.
  4. For convenience, the Web browser included in the full install is configured to start automatically at boot up. If you wish to disable this feature, follow these steps:
    1. Click on the "System" menu located on the upper GNOME panel
    2. Choose the "Preferences" sub-menu
    3. Choose "Startup Applications"
    4. Click on "Internet Browser"
    5. Click "Remove" button or un-check the box
    6. Click "Close"
  5. The Poulsbo (PSB) driver is still not a part of the mainline code and hence the driver may have serious/fatal bugs in it. Please use it at your OWN RISK. You have been WARNED! You can also try building your own driver from Intel's EMGD tool [6].
  6. We have modified the /etc/init.d/checkroot.sh and /lib/init/var.sh of the system boot files to not activate swap since VersaLogic images do not use swap. If you wish to use swap, you need to revert the following changes:
    ******************************************************************************************
    diff --git a/checkroot.sh b/checkroot.sh
    index df84d22..99f4699 100755 (executable)
    --- a/checkroot.sh
    +++ b/checkroot.sh
    @@ -112,7 +112,7 @@ do_start () {
    then
    [ "$VERBOSE" = no ] || log_warning_msg "Not activating swap on swapfile."
    else
    - ENABLE_SWAP=yes
    + ENABLE_SWAP=no
    fi
    fi
    ;;

    diff --git a/vars.sh b/vars.sh
    index 1b4769b..b5236c1 100644 (file)
    --- a/vars.sh
    +++ b/vars.sh
    @@ -8,6 +8,7 @@ if [ -f /etc/default/rcS ]; then
    fi

    # Parse kernel command line
    +NOSWAP=yes
    if [ -r /proc/cmdline ]; then
    for ARG in $(cat /proc/cmdline); do
    case $ARG in
    ******************************************************************************************
  7. By default, Debian Squeeze uses GRUB2 as it's bootloader and hence refers to drive partitions in /etc/fstab by their UUID numbers instead of the traditional names such as sda1, hdb5, etc. VersaLogic Debian images still uses the legacy version of GRUB to maintain compatibility with the VersaLogic Debian Installer and image preparation scripts. In the future, this may be upgraded to GRUB2.
  8. By default, Debian Squeeze ships with 2.6.32 kernel whereas VersaLogic Debian images come with 2.6.37 kernel to provide updated driver support. The rest of the userspace is exactly the same with the exception of GRUB as noted above.

15.0 KNOWN ISSUES

  1. On all Linux distros, the Menlow-based boards hang during a reboot/restart. A kernel patch has been sent upstream [7] to fix this issue which should be included in the 2.6.38 kernel version[8]. The VersaLogic kernel (2.6.37) supplied with the images has already been patched. You can find the patch "0001-x86-Fix-reboot-problem-on-VersaLogic-Menlow-boards.patch" in the QSP-LNX-MNLW-R2.00-AUP.zip file.
  2. Upon attaching an IDE CD-ROM, you might see the following messages in the dmesg:
    [ 7.842243] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
    [ 7.842342] ata1.00: BMDMA stat 0x64
    [ 7.842427] ata1.00: failed command: READ DMA
    [ 7.842522] ata1.00: cmd c8/00:20:a0:db:3e/00:00:00:00:00/e1 tag 0 dma 16384 in
    [ 7.842525] res 51/84:00:bf:db:3e/00:00:00:00:00/e1 Emask 0x10 (ATA bus error)
    [ 7.842744] ata1.00: status: { DRDY ERR }
    [ 7.842828] ata1.00: error: { ICRC ABRT }
    [ 7.842934] ata1: soft resetting link
    [ 8.218201] ata1.00: configured for UDMA/100
    [ 8.248406] ata1.01: configured for UDMA/33
    [ 8.249232] ata1: EH complete
    [ 8.259382] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
    [ 8.259475] ata1.00: BMDMA stat 0x64
    [ 8.259560] ata1.00: failed command: READ DMA
    [ 8.259654] ata1.00: cmd c8/00:20:a0:db:3e/00:00:00:00:00/e1 tag 0 dma 16384 in
    [ 8.259657] res 51/84:00:bf:db:3e/00:00:00:00:00/e1 Emask 0x10 (ATA bus error)
    [ 8.259876] ata1.00: status: { DRDY ERR }
    [ 8.259960] ata1.00: error: { ICRC ABRT }
    [ 8.260088] ata1: soft resetting link
    [ 8.638624] ata1.00: configured for UDMA/100
    [ 8.669424] ata1.01: configured for UDMA/33
    [ 8.670249] ata1: EH complete
    For more details, see the Debian bug report [9]. To fix these messages, pass the following kernel boot parameter:
    libata.force=40c
  3. Do not try to enable MSI interrupts (snd-hda-intel.enable_msi=1) on the Intel HDA audio controller since enabling these is known to cause hangs at boot with certain types of memory modules (8-chip Virtium 1 GB and 8-chip Virtium 2 GB). The VersaLogic BIOS turns off the MSI functionality by default on the audio controller and you don't need to do any extra work.
  4. Sometimes when trying to edit the GRUB menu screen by hitting the estrong> key, you might notice that after a few seconds all three keyboard LEDs (Num Lock, Caps Lock and Scroll Lock) start blinking and you can no longer edit because the screen freezes and you are forced to reboot. This only happens when using GRUB splash images. VersaLogic's Debian images use a GRUB splash image by default. In order to work around this issue, comment (by putting '#' in front of) the following line in your /boot/grub/menu.lststrong> file:
    # splashimage=(hd0,0)/boot/grub/Linux-Grub.xpm.gz
  5. If the audio input is not working in its default state on the Tiger (VL-EPM-24), you need to do the following:
    From a full image, launch alsamixer and go to the Capture tab (Press F4 to access it). Make sure that Line control is set to 100 (full) and Digital control is set to a db gain of 0 (half way) and all other controls are set to 0. Next, set the Input Source to Line.
    Similarly, for the Ocelot (VL-EPMs-21), you need to do the following:
    From a full image, launch alsamixer and go to the Capture tab (Press F4 to access it). Make sure that the Digital control is set to 100 (full) and all other controls are set to 0. Next, set the Input Source to Rear Mic.
    You can save these settings so that they stick across reboots by giving the following command:
    # alsactl store
    and your audio configuration settings will be saved in the following file:
    /var/lib/alsa/asound.state
  6. We have found UDMA-related problems while installing Linux on Western Digital 320 GB (WD3200AAJB) hard drives. At this time, these hard drives are not supported by VersaLogic's Debian images.

16.0 REFERENCES

Following is a list of books and web sites that we recommend to anyone who wants to learn more about Debian or GNU/Linux in general:

  1. Debian System, Concepts and Techniques, by Martin F. Krafft, Open Source Press, 2005.
  2. GNU/Linux Application Programming, by M. Tim Jones, Charles River Media, 2005.
  3. Debian's official home on the Internet:
    http://www.debian.org
  4. The X.Org Foundation provides an open source implementation of the X Window System:
    http://www.x.org
  5. http://linux.koolsolutions.com/2009/11/05/howto-compiling-intel-atom-poulsbo-gma-500-graphics-driver-on-debian/
  6. http://edc.intel.com/Software/Downloads/EMGD/
  7. http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=commit;h=e19e074b1525d11a66c8e3386fec7db248ad3005
  8. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e19e074b1525d11a66c8e3386fec7db248ad3005
  9. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=533565
  10. https://lkml.org/lkml/2011/2/22/183
  11. EPM-16 (Tomcat) CMOS Setup Reference#USBConfig

Copyright © 2011 VersaLogic Corp. All rights reserved.