NSLU2-Linux
view · edit · print · history

This article pertains to:

  • Unslung 6.8-beta and Unslung 6.10-beta only

Language Support in Unslung 6.x

The NSLU2 permits the user to select the character set most appropriate for the user's language. This is normally set on the "Administration -> System" web page in the Linksys GUI.

Due to kernel size constraints and limited space in the NSLU2 flash, the base Unslung 6.8-beta firmware only has support for "USA (437)" Language Support. Unslung 6.10-beta supports both "USA (437)" and "Western Europe/Latin 1(850)".

Additional languages can be added if desired, however. One of the symptoms of selecting a language that is not supported by the your configuration of Unslung is that it will be unable to automatically mount FAT or NTFS volumes.

First, if it's not broken, don't fix it. If you can use the "USA (437)" setting, do so - it's simpler, and will work if the NSLU2 is booted from the disk or from internal flash.

Adding Support for Additional Languages to Unslung 6.x

Note: code page 850 (Western Europe/Latin 1) is included by default with Unslung 6.10-beta and dos not need to be installed manually.

To add support for other languages, all that is required is to add the necessary kernel module, according to the necessary code page, and arrange for the module to be loaded at boot time. The list of modules currently available for Unslung 6.x is:

  • kernel-module-nls-big5 - for Big5 (Traditional Chinese)
  • kernel-module-nls-cp737 - for code page 737 (Greek)
  • kernel-module-nls-cp850 - for code page 850 (Latin 1, Western Europe)
  • kernel-module-nls-cp852 - for code page 852 (Latin 2, Slavic)
  • kernel-module-nls-cp861 - for code page 861 (Icelandic)
  • kernel-module-nls-cp866 - for code page 866 (Cyrillic)
  • kernel-module-nls-cp932 - for code page 932 (Japanese)
  • kernel-module-nls-cp936 - for code page 936 (Simplified Chinese)
  • kernel-module-nls-cp949 - for code page 949 (Korean)
  • kernel-module-nls-cp950 - for code page 950 (Traditional Chinese)
  • kernel-module-nls-euc-jp - for code page (Japanese)
  • kernel-module-nls-euc-kr - for code page (Korean)
  • kernel-module-nls-gb2312 - for GB 2312 (Simplified Chinese)
  • kernel-module-nls-sjis - for Shift JIS (Japanese)

First, install the desired kernel module using ipkg (let's use code page 852 for this example):

ipkg install kernel-module-852

Test by manually loading the module: insmod nls_cp852 (note the underscore in the module name), then plug in the FAT or NTFS drive on port 1 - it should automatically mount as expected.

Finally, arrange for the language support module to be automatically loaded at boot via a diversion script. See DiversionScripts for information on diversion scripts. Create a file called /unslung/rc.modules, and give it the following content:

 #!/bin/sh
 insmod nls_cp852
 return 1

Now leave the FAT/NTFS drive attached, reboot the NSLU2, and you should see the drive automatically mount.

NOTE: Be aware that this change, by design, will only take effect if the NSLU2 is booted in "unslung" mode -- external root disk or flash disk attached. If it is booted without external root device, it will boot from internal flash, and will lack support for the added code page(s). This will have the side effect that your NSLU2 will not be able to mount FAT or NTFS volumes when booted up from the internal flash.

view · edit · print · history · Last edited by fcarolo.
Based on work by fcarolo, sarah palin, Dimitri, pembo, Dighenis, kralikba, girls, mwester, Natalia Pujol, mg660a yahoodotcom, and Pijama Master.
Originally by mwester.
Page last modified on September 09, 2008, at 12:39 PM