Novell is now a part of Micro Focus

How to permanently add a keyboard language/layout in ZENworks for Desktops imaging (linux)

Novell Cool Solutions: Tip
By Fred Blaise

Digg This - Slashdot This

Posted: 16 Aug 2005

It is assumed that you are using a Linux machine to carry on these instructions (as root). The servers are NetWare 6.5, and the ZENworks version is 6.5 sp1. Paths are relative if no leading slash (I am not taking you for an idiot, I am just making sure ;))

The keymap we will be installing (Swiss French) in this example, is not present in the default installation. (fr_CH-latin1.kmap.gz). You need to get the keymap from a linux distribution, or from the web.


  1. Locate the lang.tgz on your NetWare server in PUBLIC/zenworks/imaging.
  2. Copy it to your local machine's home directory and uncompress it
    • tar zxvf lang.tgz
  3. Move to the lang/usr/lib/kbd/keymaps/include
  4. Rename two files:
    • mv
    • mv
  5. Move the fr_CH-latin1.kmap.gz to the above folder
  6. Uncompress and edit the fr_CH-lating1.kmap.gz. Since you have renamed the above files, you need to make sure that your master keyboard keymap is using the new include filenames.
    • gzip -d fr_CH-lating1.kmap.gz
    Replace the 'include "lx-with-alt-and-altgr"' directive, with the one below:
    • include "lx-with-alt-and-altgr"
    Note: In this case, we do not have to deal with the Otherwise, you would have done the same modification, respectively to the filename.
  7. Recompress the file
    • gzip fr_CH-lating1.kmap


  1. If you haven't done it yet, get the linux.2 file, and loop-mount it
    • mv linux.2 linux.gz
    • gzip -d linux.gz
    • mkdir /mnt/zenimage && mount -o loop linux /mnt/zenimage
    • cd /mnt/zenimage
  2. Copy the loadkeys of the lang.tgz bin/ directory, and the consolechars. The gunzip can be symlinked to the existing gzip binary
    • cp ~/lang/bin/loadkeys bin/
    • cp ~/lang/bin/consolechars bin/
    • ln -s bin/gzip bin/gunzip
  3. Create a keymaps directory and copy all your include directories in there.
    • mkdir usr/share/keymaps
    • cp ~/lang/usr/lib/kbd/keymaps/include/* usr/share/keymaps
  4. Modify the lang.s file (should be empty) and type the first line below, and make sure to make it executable (second line)
    • /bin/loadkeys /usr/share/keymaps/fr_CH-latin1.kmap.gz
    • chmod +x bin/lang.s
  5. Modify the runme.s file. Open it and scroll to the bottom. Right before the RUNLEVEL selection, type:
    • /bin/lang.s
  6. You're basically done. Get back to your home directory, so that you can unmount the loop device:
    • cd
    • umount /mnt/loop
  7. Recompress your kernel, and rename the file.
    • gzip -9 linux
    • mv linux.gz linux.2

Copy back the linux.2 file to your tftp directory, and test it out!

Fred Blaise

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.

Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions.

© Copyright Micro Focus or one of its affiliates