wiki:WikiStart

linux-loongson/community (社区版龙芯Linux)

  1. linux-loongson/community (社区版龙芯Linux)
    1. Introduction (项目简介)
    2. Mailing list (邮件列表)
    3. Defect Report (问题报告)
    4. Patchwork (补丁管理)
    5. Maintaining (项目维护)
      1. Current maintainers
      2. Main tasks
      3. How to maintain
      4. Become a maintainer
    6. Source (内核源代码)
      1. Git repository (Git仓库)
      2. Download (下载)
    7. Supported Machines (支持的机器型号)
    8. Compile (内核编译)
      1. Config (配置)
      2. Local-Compile (本地编译)
      3. Cross-Compile (交叉编译)
      4. Boot (引导)
    9. BIOS & Bootloader (BIOS和引导器)
      1. PMON
      2. Grub
      3. U-boot
      4. Linux + Kexec
      5. U-EFI
    10. GNU/Linux distribution (龙芯Linux发行版)
      1. Rescue & Recovery system (急救与还原系统)
      2. Gnewsense (Recommend)
      3. Loonux
      4. Debian 6.0 (Recommend)
      5. Gentoo n32
      6. Fedora n32
      7. NixOS n32
      8. ArchLinux (In development)
      9. XianGe Linux n32
      10. Parabola GNU/Linux-libre
    11. The Other Operating System
      1. OpenBSD
      2. RT-Thread
    12. Daily Softwares (常用软件)
    13. Virtual Machines (虚拟机)
      1. Gxemul
      2. Qemu
    14. Doc (开发文档)
      1. Loongson Developers Manual (龙芯开发者手册)
      2. Git Documentation (Git使用文档)
      3. Loongson User Manual (龙芯处理器用户手册)
      4. CS5536 Datasheet (南桥cs5536规格书)
      5. SM712 Specification (显卡SM712规格书)
      6. SM502 Specification (显卡SM502规格书)
    15. TODO (待做工作)
      1. Linux-Mainline
      2. Linux-MIPS
      3. Linux-Loongson
    16. FAQ (常见问题)
      1. Translation (文档翻译)
      2. X window
      3. Network (网络支持)
      4. Camera (摄像头支持)
      5. Audio (音频支持)
      6. Video (视频支持)
      7. Power Management (功耗管理)
      8. Hotkey (热键支持)
      9. Sensors (传感器支持)
      10. Serial Port (串口)
      11. Develop (开发)

contact project's owners by <wuzhangjin [AT] gmail [DOT] com> Or <r0bertz [AT] gentoo [DOT] org> Or Alexandre Oliva <lxoliva [AT] fsfla [DOT] org>

If you have any issues, login and create a newticket

Introduction (项目简介)

This project is launched to maintain the latest linux[1] for Loongson, the objective is making the loongson machines be friendly supported.

linux-loongson/community here means it is a community project and welcome everybody's contribution. Any questions, suggestions, bug reports and patches are welcome TO the related mailing list and CC to the maintainers, Or simply record them here.

  • The relationship between this project and the mainline linux kernel(maintained by Linus)
    • this project mainly focus on MIPS(exactly, Loongson), but the mainline linux focus on lots of architectures(X86, PowerPC, MIPS, ARM, Sh, Sparc...).
    • most of the stable patchset in this project will be pushed into linux-MIPS(linux for MIPS, maintained by Ralf) firstly and at last go into the mainline linux.
    • So, if you need the newest or the full loongson specific support, please come here.
  • The relationship between this project and the one maintained by Lemote
    • This project is developed & maintained by the people from community (completely for free, no pay) and therefore can get/apply more support from the community, such as bug report, bug fixes and so forth.
    • This project try to update with the mainline linux as soon as possible and try to upstream the stable patchsets in this project to the mainline, then people can get the most stable support from mainline.
    • Most of the basic BSP in this project is originally contributed by Lemote and some latest patchsets from the Lemote will also be applied into this project.

So, this project will function as a bridge between the Loongson companies and the community.

---
[1] kernel version >= 2.6.31 are maintained in this project.
for kernel version (>= 2.6.29 & <= 2.6.30) and the real time extension for Loongson, please access http://dev.lemote.com/code/rt4ls
for kernel version = 2.6.27 (from Lemote), please access http://dev.lemote.com/code/linux_loongson

Mailing list (邮件列表)

loongson-dev [AT] googlegroups [DOT] com

  • Subscribe
    • Send an empty email to loongson-dev+subscribe [at] googlegroups [dot] com
  • Unsubscribe
    • Send an empty email to loongson-dev+unsubscribe [at] googlegroups [dot] com

Defect Report (问题报告)

Welcome to report defects here

Patchwork (补丁管理)

All patches sent to loongson-dev mailing list will be stored in the patchwork

Maintaining (项目维护)

Current maintainers

  • Alexandre Oliva <lxoliva [AT] fsfla [DOT] org>
    Maintainer of Gnewsense for Loongson
  • Zhang Le <r0bertz [AT] gentoo [DOT] org>
    Maintainer of Gentoo for Loongson
  • Wu Zhangjin <wuzhangjin [AT] gmail [DOT] com>
    Founder of this project and the rt4ls project

Main tasks

The detailed tasks should be recorded for better management via the this link.

How to maintain

Become a maintainer

Source (内核源代码)

Git repository (Git仓库)

  • Git repo of this project
    • git://dev.lemote.com/linux-loongson-community.git (git protocol, anonymous)
    • http://dev.lemote.com/http_git/linux-loongson-community.git (http protocol, if the git protocol is blocked by firewall)
    • git@dev.lemote.com:linux-loongson-community.git (ssh protocol, if you are this project's owner)
  • Related git repo
    • git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git (linus' git tree, mainline linux)
    • git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.xx.y.git (greg's git tree series, stable linux)
    • git://www.linux-mips.org/pub/scm/linux.git (Ralf's git tree, linux-mips)

Download (下载)

To get the source code, there are two methods:

  • Clone, pull or fetch one branch of the git repository (use master branch as an example)
$ git clone git://dev.lemote.com/linux-loongson-community.git  // Clone the whole git repository
$ git pull git://dev.lemote.com/linux-loongson-community.git master // Fetch one branch and merge it into your current branch
$ git fetch git://dev.lemote.com/linux-loongson-community.git master // Fetch one branch, not merge it, you can handle the result via the FETCH_HEAD

To get more information about git, please goto the Git part of the Doc Section

Supported Machines (支持的机器型号)

Compile (内核编译)

Config (配置)

  • default config files
    • FuLoong-2E Box: arch/mips/configs/fuloong2e_defconfig
    • Lemote 2F family of machines: arch/mips/configs/lemote2f_*defconfig
    • Dexxon Gdium netbook: arch/mips/configs/gdium_*defconfig
  • Config Options
    • CONFIG_LEMOTE_YEELOONG2F: YeeLoong platform specific drivers (backlight, suspend, battery, sensors, hotkey/input...)
    • CONFIG_LEMOTE_LYNLOONG2F: LynLoong platform specific drivers (backlight, suspend drivers)
    • CONFIG_LOONGSON2_CPUFREQ: Loongson-2F cpu frequency scaling driver(The conservative governor is Preferred)
    • CONFIG_CS5536_MFGPT: external CS5536 MFGPT Timer (used in Lemote 2F family of machines, before 2.6.37)
    • CONFIG_R4K_TIMER_FOR_CPUFREQ: R4K Timer enhancement for CPUFreq (From 2.6.37)
    • CONFIG_FB_SM7XX: SM712 Video Card Driver used in YeeLoong netbook
    • CONFIG_RTL8187B: RTL8187B Wifi Driver used in YeeLoong netbook
    • CONFIG_LOONGSON_SUSPEND, CONFIG_SUSPEND: Suspend support of Lemote-2F machines
    • CONFIG_HIBERNATION, CONFIG_PM_STD_PARTITION="/dev/hda3", Hibernation support, /dev/hda3 is the swap partition of your machine, you can pass "resume=/dev/hdaX" or "resume=/dev/sdaX" to override it.

Local-Compile (本地编译)

  • Local-Compiler

For a distribution which did not explicitly say they have compiled the toolchains with the patch (This patch have been merged into cvs repository of binutils), Please download the fix-nop.c from Heihaier, and fix your toolchains as following:

$ make fix-nop
$ ./fix-nop $(which ld)
$ ./fix-nop $(which as)
  • Compile
$ make menuconfig
$ make -j2
$ make modules_install
$ make install

Cross-Compile (交叉编译)

  • Exisiting cross-compiler

Gcc 4.4.1 + Binutils 2.20 on X86

(!Note: you need to config the PATH and LIBRARY_PATH environment in /etc/profile or .bashrc for the cross-compiler)

  • Build Cross-Compiler for Loongson from scratch

English Version 32bit 64bit, Chinese Version

(!Note: A patch for binutils 2.20 is needed, but for the version in cvs repository, the patch is already in.)

  • Compile
$ make ARCH=mips lemote2f_defconfig // Generate .config from lemote2f_defconfig
$ make menuconfig ARCH=mips
$ make CROSS_COMPILE=<prefix>- ARCH=mips -j<N>
$ make modules_install INSTALL_MOD_PATH=/path/to/modules_install_directory
$ make install INSTALL_PATH=/path/to/kernel_image_install_directory

Boot (引导)

  • For Dexxon Gdium Netbook, you must set the al and karg variables of PMON to boot the kernel, al is used to indicate the path to the kernel image, karg is used to pass the kernel command line parameters.

After power on the netbook, enter into the PMON command line via pressing 'c' or <DEL>, then, you can get help via the "h *" command, please get details from http://olph.gdium.com/wiki/doku.php/system:pmon or the PMON user manual.

  • For the other machines, except the above method, you can also edit the config file(/boot/boot.cfg) of PMON, here is an example:
# /boot/boot.cfg
default 0
showmenu 1

title Fedora MIPS/N32
        kernel (wd0,1)/boot/vmlinuz-2.6.31-0.167.rc5.fc11.mips64el
        args console=tty root=/dev/sda2

The above configuration means:

"default 0" means if there are lots of config entries in the boot.cfg, the default entry is the first one.
"showmenu 1" menas the menu will be shown.
"title" indicates the Title of the entry shown in the menu, here is "Fedora MIPS/N32".
"kernel" indicates the path to the kernel image file, (wd0, 1) here indicates the /dev/sda2, so, it means vmlinuz-2.6.31-0.167.rc5.fc11.mips64el is stored in the /dev/sda2 partition and put into the /boot directory. If you have stored the kernel image in /dev/sda4, please use (wd0,3) instead.
"args" indicates the kernel command line arguments. root=/dev/sda2 means the partition stored the root file system is /dev/sda2.

Please get more information from the PMON document(Chinese).

BIOS & Bootloader (BIOS和引导器)

PMON

PMON is the current BIOS & Bootloader pre-installed on the loongson family of machines. its homepage: http://dev.lemote.com/code/pmon. The PMON for gdium has a different repository tree. http://dev.lemote.com/code/pmon-gdium

Grub

Grub itself is only a bootloader, which have been ported to YeeLoong for the Gnewsense project. but perhaps you can make it work in the other distributions.

Grub 1.98 is available for YeeLoong, but currently, it can only be loaded from PMON.

U-boot

A primary version for YeeLoong is available here: http://dev.lemote.com/code/U-boot

Linux + Kexec

Kexec support(Only 32bit currently) is added for Loongson in the tiny36 branch of this project, with the kernel support and the user-space kexec-tools, we can load another kernel image, then, Linux itself work as a bootloader.

To use it, please read the "[LLC, Kexec] Linux for Loongson is ready as bootloader" thread in the linux-dev google group, of course, you can access it here: kexec-loongson Kexec for Loongson?

U-EFI

Not usable yet, homepage: http://dev.lemote.com/code/EFI-MIPS

GNU/Linux distribution (龙芯Linux发行版)

Rescue & Recovery system (急救与还原系统)

Rescue system is always needed when you have broken the whole system, you can load it via tftp protocol or from a u-disk to get a basic system ;)

Recovery system(support all of Loongson-2F machines made by Lemote) will help to _format_ your broken system and re-install a basic system there(be careful!).

Gnewsense (Recommend)

Gnewsense is a 100% free/libre GNU/Linux distribution developed by FSF. Installation guide is available here:

http://wiki.gnewsense.org/Projects/GNewSenseToMIPS

Loonux

Loonux is based on the GNU/Debian developed by Lemote, and it is a distribution pre-installed in the loongson machines, but the software repository of this distribution is _too_ old!

Installtation guide: English Version Chinese Version

Debian 6.0 (Recommend)

This Debian 6.0 is not that one from the official debian, but improved from it, which is developed by Liu Shiwei. Why this one? it is newer and better than the one from Lemote and also from the official debian, which provides feature-rich kernel, accelerated video driver...

please get it here: http://www.anheng.com.cn/loongson/install/
Install: download the latest compressed system, decompress it to one of the partitions and config /boot/boot.cfg then boot it.

To install debian on your Gdium, please refer to http://vm-kernel.org/blog/2009/03/20/how-to-install-debian-lenny-on-gdium/

Change the default language to your preferable one:

$ dpkg-reconfigure locales

Gentoo n32

Gentoo now provides experimental stage3 on its official mirrors. It is located under experimental/mips/stages/loongson/ of each mirror, like http://mirrors.xmu.edu.cn/gentoo/experimental/mips/stages/loongson. This is maintained by Zhang Le. It will be updated regularly. You should use Gentoo Loongson Overlay which is also maintained by Zhang Le.

An older stage4 could be get here: http://www.bjlx.org.cn/loongson/gentoo/, the root user's password is loongson. This one is provided by zenglanmu, based on Zhang Le's previous work http://tinyurl/loongson-gentoo. Thanks to Liu Shiwei for hosting it.

Fedora n32

This should be like the Gentoo n32, but softwares are packaged in RPM format, the root user's password is redhat, this is maintained by lazyfai.
please get it here: http://lazyfai.dyndns.org/loongson/fedora-n32-rootfs-20091017.tar.gz

A new project of porting Fedora to the MIPS architecture was launched at https://fedoraproject.org/wiki/Architectures/MIPS

NixOS n32

Another n32 distribution for Loongson machines is coming, it is NixOS, to install and boot it on Loongson machines, please refer to this link .

ArchLinux (In development)

ArchLinux has been ported to Loongson platforms, it is hosted on archloong.info and maintained by heihaier.

XianGe Linux n32

XianGeLinux has supported Loongson platforms, the related documentation is here.

Parabola GNU/Linux-libre

Parabola is a fully free (as in freedom) derivative of Arch Linux. Installation instructions for the Loongson port can be found here.

The Other Operating System

OpenBSD

OpenBSD has been ported to Loongson platforms, homepage: http://openbsd.org/loongson.html

RT-Thread

RT-Thread has been ported to Loongson-I platforms, the related documentation and source code are available here.

Daily Softwares (常用软件)

Please see Daily Software For Loongson.

Virtual Machines (虚拟机)

Gxemul

There is an existing gxemul for Loongson-2E, user guide(Chinese)

Qemu

Qemu for loongson-2E is maintained by !chenhuacai [at] gmail [dot] com at: http://dev.lemote.com/code/QEMU-Loongson, the version for Loongson-2F is in the progress of development and maintained in this git repo by Zhou Yajin(Not active).

Note: 'Cause Loongson is a MIPS-III compatible processor, most of the instructions are the same as the other MIPS-III processors, you can use the Qemu/Malta? or the above Qemu/Loongson?-2E to emulate the Loongson family of machines.

Doc (开发文档)

Loongson Developers Manual (龙芯开发者手册)

Git Documentation (Git使用文档)

Loongson User Manual (龙芯处理器用户手册)

CS5536 Datasheet (南桥cs5536规格书)

SM712 Specification (显卡SM712规格书)

SM502 Specification (显卡SM502规格书)

TODO (待做工作)

Linux-Mainline

http://kernelnewbies.org/KernelProjects

Linux-MIPS

http://www.linux-mips.org/wiki/Todo_List

More:

  • Maintain the Hibernation support for MIPS
    arch/mips/power/
  • Maintain the Ftrace support for MIPS
    arch/mips/kernel/{ftrace.c, mcount.S}
    The latest development status: Add SMP support: http://patchwork.linux-mips.org/patch/1552/
  • Maintain the Compressed-kernel support for MIPS
    arch/mips/boot/compressed/
    • Flush cache after decompressing the kernel image into the mermory: http://patchwork.linux-mips.org/patch/1565/
    • Add the checksum support to ensure the compressed kernel is not broken, add the checksum of the vmlinux into the vmlinuz, calculate the checksum after decompressing it and compare it with the recorded checksum.
    • Add more image format support, such as uImage for U-boot
  • Adds MIPS specific dma_mmap_coherent()
    This is necessary for ALSA audio output, without it, the audio output will be broken.
    // ok
    $ mplayer -ao oss file.mp3
    // broken without dma_mmap_coherent()
    $ mplayer -ao alsa file.mp3
    
    please learn more here: http://www.linux-mips.org/archives/linux-mips/2008-08/msg00178.html

Note!: A workaround have been added in sound/core/pcm_native.c, please refer to snd_pcm_default_page_ops().

Linux-Loongson

  • Add the Loongson specific delay implementation
    • Based on the principle of arch/mips/cavium-octeon/csrc-octeon.c, We may be possible to add a more precise delay() implementation.
    • And perhaps we need to define a read_current_timer() and the related macro: ARCH_HAS_READ_CURRENT_TIMER to speed up the calculation of loops_per_jiffy for delay().
  • Add the Loongson-2F specific prefetch macro
    There is no prefetch instruction in Loongson-2F, but we can try to emulate one with the help of "load $0, addr" to pre-fetch the content from memory to cache.
  • Fix the NOP issue of Loongson2F in kernel space
    Heihaier have contributed the primary patch, please get more information from loongson-dev google group: Dynamic fix loongson2f nop in kernel
  • Maintain the latest linux(>=2.6.34) for Loongson
    arch/mips/oprofile/ (loongson2 oprofile support)
    arch/mips/kernel/cpufreq/ (loongson2 cpu freqency scaling support)
    arch/mips/loongson/common/pm.c (loongson2 Suspend support)
    arch/mips/pci/{fixup-fuloong2e.c, fixup-lemote2f.c, ops-loongson2.c} (Loongson2 pci support)
    arch/mips/loongson/{fuloong-2e, lemote-2f}/ (loongson family of machines support)
    arch/mips/include/asm/mach-loongson/ (loongson platform specific header files)
  • Upstream the left YeeLoong platform specific drivers
    drivers/platform/mips/ or http://patchwork.linux-mips.org/project/linux-mips/list/?q=YeeLoong
  • Add Genirq threading support for the platform drivers
    Convert the irq handlers under drivers/platform/mips to irq threads. please refer to:
    genirq: add threaded interrupt handler support
    USB genirq infrastructure for threaded interrupt handlers V2
  • Maintain the Silicon Motion Driver (SM712 video card driver)
    drivers/staging/sm7xx/, please refer to the TODO file
  • Maintain/Upstream? the RTL8187B wifi driver
    drivers/net/wireless/rtl8187b/, to ensure it work with the potential new APIs or make the mainline similar drivers support rtl8187b.
  • Merge all of the loongson machines' support
    Merge the fuloong-2e, lemote-2f and gdium support, then all of the loongson machines can use the same kernel if not enable the 2e, 2f specific instructions.
  • Power Management stuff
    Upstream the new cpufreq driver and the R4K for cpufreq support.
  • Clean up the CS5536 support
    based on arch/mips/loongson/common/cs5536/ and include/linux/cs5535.h, "grep CS553[56] -ur {drivers,sound}/"
    • Use the common drivers instead of the Loongson specific drivers
    • Move the basic CS5536 support under MFD_SUPPORT (Compare the source code of for Loongson & X86 and abstract it)
  • Add new Gdium machine support
    Port the sm502 soc sound driver from http://repo.or.cz/w/linux-2.6/linux-mips/linux-gdium.git
  • Add new LynLoong machine support
  • Add new Loongson-2G, Loongson-3A family of machines support

FAQ (常见问题)

Although this project only care about the linux kernel for loongson machines, but without a good X Window and related driver, people will get a bad experience of the machine, the same to the network support, so, we will give you the latest information of them too.

Translation (文档翻译)

  • How to translate a web page from Chinese to English, and reversely.

'Cause most of the documenations are not written in our familiar language, so, how to get a translation of it, please go to Translate a web page section of the translation support of google, paste the url, select the langauage you want to translate from and to then get what you want.

X window

  • How to use a light weight login manager

There are lots of light weight login managers, but slim may be a good choice, to use it instead of gdm, you just need to install it and replace the gdm with it.

$ sudo apt-get install slim
$ sudo dpkg-reconfigure slim

To login automatically with slim, you just need to edit /etc/slim.conf and add the following lines:

default_user <your login user name>
focus_password yes
auto_login yes
  • How to make the X window work on my YeeLoong netbook?

You need to install a suitable Xorg-server and the related silicon motion driver or the generic fbdev driver. in the default official debian 6.0, that Xrog-server and the fbdev module works on YeeLoong netbook, but don't have a good performance, If you need the fastest X window for your YeeLoong, the debian 6.0 maintained by LiuShiwei? are recommended.

If you want to get the latest source code and patches of the fastest X window on YeeLoong, please refer to:

All about X support for YeeLoong netbook

  • Pixman Loongson SIMD optimization(Contributed by wgge7270 [at] gmail [dot] com)

http://dev.lemote.com/code/Pixman.Loongson

"Pixman is a low level compositing library for X and Cairo. The first release enabled most of the composite functions. The performance gain is not as big as I have expected. Most of the composite sees 20-30% in lowlevel-benchmark, some sees 100% boost or more. Overall performance depends on user scenario."

  • How to make the external vga output of YeeLoong netbook work?

Please get the detailed answer from External VGA output of YeeLoong

Network (网络支持)

To get a better network support, please install the latest NetworkManager? and network-manager-applet into your system.

  • My RTL8187B wifi can not survive from hibernation, how to fix it?

Please use kernel >= 2.6.36.

  • How to enable my RTL8187 Wifi when booting?

You can append the following line into /etc/rc.local:

echo 1 > /sys/class/rfkill/rfkill0/state
  • How to make a 3G card work on my YeeLoong netbook?

Please refer to how to use 3G card on !YeeLoong netbook(Chinese).

  • How to fix the data corruption problem? (Please refer to "Fuloong 6005 linux-community-kernel corrupt data")
$ ethtool -K eth0 rx off
$ ethtool -K eth1 rx off

The root cause may be the hardware offload support of the network card may not be well supported in Linux, so, disable it as a temp solution.

Camera (摄像头支持)

  • How to make camera work?

Please install v4l* and webcam* packages, and then, enable it with Fn+ESC, at last, test it with the following command:

$ mplayer tv://dev/video0

If works, you will see your head ;-)

Audio (音频支持)

  • does YeeLoong? support audio mixing (混音,同时播放多首歌曲)?

Yes, but it only support software audio mixing and need an extra config(attached as cs5535audio.conf) for the ALSA audio output of cs5535audio card.

Install the config:
$ cp /path/to/cs5535audio.conf /usr/share/alsa/cards/
Test:
// on one terminal
$ mplayer -ao alsa file1.mp3
// on another
$ mplayer -ao alsa fil2.mp3
// You may get two different songs
  • does Loongson support ALSA audio output?

Yes, but please install the kernel >= 2.6.33.3, or 2.6.32, 2.6.31

Video (视频支持)

  • Is there Loongson specific optimization for mplayer?

Yes, it is available here: http://dev.lemote.com/code/mplayer

  • ffmpeg optimization Loongson

http://www.bjlx.org.cn/node/769

Power Management (功耗管理)

All of the Lemote machines support Hibernation if with the suitable kernel(>=2.6.36) and the right config, but only Loongson (>=2F) family of machines(Currently, Only YeeLoong) support Suspend.

  • Kernel config
    • CPUFreq (动态变频)
      • CONFIG_LOONGSON2_CPUFREQ: Loongson-2F cpu frequency scaling driver(The conservative governor is Preferred)
      • CONFIG_R4K_TIMER_FOR_CPUFREQ: R4K Timer enhancement for CPUFreq (From 2.6.37)
    • Hibernation (休眠)
      Please enable CONFIG_HIBERNATION and config CONFIG_PM_STD_PARTITION="/dev/hdaX"
      /dev/hdaX is the swap partition of your machine, you can pass "resume=/dev/hdaY" or "resume=/dev/sdaY" to override it.
    • Suspend support (挂起)
      Please enable CONFIG_LOONGSON_SUSPEND, CONFIG_SUSPEND, this is only for Loongson2F.
  • Usage
    • Command line interface
      $ cat /sys/power/state
      mem disk suspend
      $ echo disk > /sys/power/state  # Hibernation will power off your machine, resume it via powering on it
      $ echo suspend > /sys/power/state  # Suspend will suspend most of your machines, resume it via pressing any key(except the Fn) on your keyboard
      
    • GUI tools
      gnome-power-manager or kpowersave are recommended.
  • Bugs & Workarounds
    • Can RTL8187B Wifi Driver survive after resuming from Hibernation?
      Yes, but please use kernel >= 2.6.36.
    • How can we make dynamic CPU Frequency work normally?
      Please use kernel >= 2.6.35.

Hotkey (热键支持)

  • How to make the hotkey(Function key) work on YeeLoong netbook.

You need to ensure the yeeloong platform driver(CONFIG_LEMOTE_YEELOONG2F) is enabled and also the related user-space applications are installed. for the official debian system, if the yeeloong platform driver is enabled, it should work.

  • Which hotkey does YeeLoong netbook support?
    • Fn+ESC Turn on/off camera input
    • Fn+F1 Sleep buttion, report the SLEEP event to user-space, you can configure the action of the sleep button via kpowersave, gnome-power-manager or the other power manager.
    • Fn+F2 Turn on/off LCD output
    • Fn+F3 Swith CRT/LCD output
    • Fn+F4 Turn on/off Mute
    • Fn+F5 Turn on/off Wifi
    • Fn+F6 Turn on/off touchpad (Supported by the EC ROM directly)
    • Fn+Up/Down? Increase/decrease the brightness of the backlight of the LCD
    • Fn+Left/Right? Increse/decrease the volume of sound output
  • Is there a tool to test the hotkey support of kernel?

Yes, there is. I have written a simple python script to check the hotkey support of kernel and attached it as hotkey.py. (This script can be used as a simple hotkey daemon).

Usage:

$ sudo apt-get install python-pyosd
$ python hotkey.py  // You can press Fn+{ESC,F1~F5, ^/V, </>} and take a look at the command line output

Sensors (传感器支持)

  • How to get the information of the fan, battery, cpu of YeeLoong netbook?

You also need to enable the yeeloong platform driver(CONFIG_LEMOTE_YEELOONG2F) and install the lm-sensors(or the other related tools, for example, sensors-applet) in your system, then you can get the information via the following command.

$ sensors
yeeloong-virtual-0
Adapter: Virtual device
Voltage:            +12.46 V
Fan RPM:            4403 RPM
CPU Temperature:     +51.0°C  (high = +60.0°C)                  
Battery Temperature: +23.0°C                                    
Current:             +0.00 A

Note: To get the above readable output, please put the yeeloong-sensors.conf attachment into the /etc/sensors.d/ directory of your root file system, otherwise, you will only be able to get the raw output, such as in1, fan1, temp1, temp2 ...

Serial Port (串口)

  • Is there a serial port on YeeLoong netbook?

Yes, but there is no existing J2 header, you need to solder one yourself, here is the HOWTO.

Develop (开发)

  • Is there a document about kernel debugging on Loongson platform?

There is no full document currently, but I have written a short document in Chinese, I will translate it later and put it here.

  • Which tools are needed to do basic c programming on Loongson machines?

'Cause Loongson machines use the standard GNU/Linux systems, you can use almost all of the tools you can used in the linux system of the other machines, the most important tools include GNU toolchains: gcc, gdb, binutils ...., and the latest gcc >= 4.4 is recommended for the loongson specific support is only available in this version, to enable the loongson specific support, for loongson2f, please use the option -march=loongson2f, for loongson2e, please use -march=loongson2e.

And again, please remember to use the latest binutils (in the cvs repository) for it provides two new options to workaround the hardware bug of loongson2f, to get more information about it, please access this page.

  • Does Loongson have oprofile support?

Yes, please get more information from Oprofile for Loongson.

Last modified 11 months ago Last modified on May 27, 2013 2:40:35 AM

Attachments (4)

Download all attachments as: .zip