Category: OS

Hadoop: open-source software for reliable, scalable, distributed computing.

Posted by – December 21, 2010

What Is Hadoop?

The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing. Hadoop includes these subprojects:

  • Hadoop Common: The common utilities that support the other Hadoop subprojects.
  • HDFS: A distributed file system that provides high throughput access to application data.
  • MapReduce: A software framework for distributed processing of large data sets on compute clusters.
  • ZooKeeper: A high-performance coordination service for distributed applications.

龙芯PMON常用命令

Posted by – July 2, 2010

Refers to:
http://zengyi2008.blog.163.com/blog/static/121420642009119115651710/

PMON是一个兼有BIOS和boot loader部分功能的开放源码软件,多用于嵌入式系统。

与BIOS相比功能不足,与常见的bootloader 相比,功能要丰富的多。基于龙芯的系统采用 pmon 作为类 BIOS 兼 bootloader,并做了很多完善工作。

其有如下主要特点:
* 支持ext2 fat32 ram 文件系统
* 支持网络引导(tftp),磁盘引导,flash 引导
* 内建调试功能(强大,调试内核举重若轻)
* USB 2.0 Mass Storage 支持
* 支持MIPS、ARM、PowerPC 平台
* BSD Licensed

以下结合实际,给出开发中常用的命令介绍
1. pmon 日常命令
a. load — 加载文件
load [-options] pathname
-o offset     将文件加载到内存 load_address + offset 处
-f addr       将文件加载到 flash 的地址 addr 处
pathname     要加载的文件路径或URL
其他选项 h load 查看
例子:
加载位于硬盘第一个分区的(pmon 只认第一个分区)内核:
load /dev/fs/ext2@wd0/boot/vmlinux   # 第一个分区是ext2文件系统
load /dev/fs/ext2@wd0b/boot/vmlinux #加载第二个分区上的内核文件,wd0c,wd0d,为第三,四个分区。

从远程tftp服务器上加载内核: (该功能在反复编译调试内核中很方便)

load tftp://192.168.10.100/vmlinux   # 先要配置好网络

其他格式:

load /dev/fs/iso9660@cd0/boot/vmlinux
load /dev/ram@address
load /dev/ram@address,size
load /dev/ram/logger

这些在龙梦电脑上很少用到,不知有没有被支持(未测试)

PS: 以上 wd0, cd0, ram 为pmon 对设备的命名,可以用 devls 命令查看他发现并支持
的所有设备, 龙梦电脑上常见的设备为:

wd0 ——— 磁盘
rtl0 ——— 网卡
usb0 ——— usb 存储设备

cd0 ——— 光盘
ram ——— 内存

b. g —— 执行程序

g [-st] [-b addr] [-e addr] [– args…]

当 load 完一个文件后, 通过 g 命令告诉 pmon 开始执行刚刚载人的文件

例子:

g  # 从 epc 寄存器指定的地址处开始执行

g -e addr # 从内存地址 addr 处开始执行

g -e addr -b add2 # 从内存地址 addr 处开始执行, 在addr2处设置一个临时断点
# 在下一次执行挂起时删除该断点

g console=tty root=/dev/hda1 # 从 epc 寄存器指定的地址处开始执行, 并将参数
# console=tty root=/dev/hda1 传递给程序(内核)

c. devls ——- 显示设备

devls [-a]

例子:

devls -a # 显示所有设备

d. ifaddr —— 配置网卡

ifaddr ifname ipaddr[:ifparameters]

其中 第二个字段可以为 ipaddr:netmask:broadcast:gateway

例子:

ifaddr rtl0 192.168.10.99 # 设置网卡 rtl0 的 IP 地址

ifaddr rtl0 192.168.10.99:255.255.255.0::192.168.10.2 # 设置网卡 IP 地址和网关

e. ping

ping 192.168.10.188 # 测试网络是否配置好

[补充]

A. PMON 更新命令

load -r -f bfc00000 tftp://SERVER_IP/gzrom.bin

load -r -f bfc00000 /dev/fs/ext2@wd0/gzrom.bin

可以从系统更新PMON:

modprobe physmap     [装上mtd驱动以识别eeprom]

mknod /dev/mtd0 c 90 0     [创建mtd设备文件]

cp gzrom.bin /dev/mtd0     [写入]
sync

reboot

B. 从 USB 光驱加载 kernel:

load iso9660/usb0/path/to/kernel

C. 从 U 盘或者移动硬盘加载 kernel:

load /dev/fs/ext2@usb0/path/to/kernel

注意:如果根文件系统位于 U 盘或者移动硬盘的话,传给内核的参数应为:

root=8:1 rootdelay=5


//————————————————————另一篇文章—————————————————-
输出到串口/显示器(永久起效)
set novga 1/0

输出到串口/显示器(临时起效)
setvga 0/1

设定默认启动内核,第一个IDE硬盘第一个分区(其他分区改a为其他字母即可):
set al /dev/fs/ext2@wd0a/boot/vmlinux-2.6.18-godson2e

设定内核启动参数:
set karg “console=tty root=/dev/hda2 init=/sbin/runit-init”

加载内核:
load /dev/fs/ext2@usb0/path/to/netboot.image

启动内核:
g console=tty root=/dev/hda1

基于龙芯的桌面系统的开发环境

Posted by – June 21, 2010

Refers to:
http://www.lemote.com/bbs/viewthread.php?tid=22338&page=1&extra=page%3D1#pid210597

基于龙芯的桌面系统的开发环境

ftp://219.239.158.90/lemote-bbs-download/lenny-yeeloong-8089_B-develop-200904091134.tar.bz2
sha1sum:
6d5a132b5fadc84c56c2cd4f4c3ea6089bdd9c6d

系统里面的源使用的是debian官方的源和龙梦官方的源。

适合8089B的型号。

系统默认用户和密码
yee密码是:123456
root密码是:123456

安装方法
1. 准备个分区,格式化一下:
mkfs.ext3 /dev/hda2

2. 挂载上来:
mount /dev/hda2 /mnt
cd /mnt

3. 下载压缩包后,将其解压到准备好的分区中:
tar xvf lenny-yeeloong-8089_B-develop-200904091134.tar.bz2
mv /mnt/diskimage/* /mnt

4. 将压缩包中的内核,考到hda1中,命名为vmlinux-hda2

5. 再编辑pmon配置文件boot.cfg,我的配置文件在/dev/hda1中,添加如下配置项:
福龙盒子
title linux
kernel /dev/fs/ext2@wd0/boot/vmlinux-hda2
args console=tty root=/dev/hda2 video=sisfb:1280×768-16@60 no_auto_cmd

逸龙本子
title linux
kernel /dev/fs/ext2@wd0/boot/vmlinux-hda2
args console=tty root=/dev/hda2 no_auto_cmd

文件扩展名(File Extensions)

Posted by – June 2, 2010

FilExt:

Refers to:
http://filext.com/

Or:

FileFormat:

http://www.fileformat.info/

Xfce: lightweight desktop environment for unix-like operating systems

Posted by – May 31, 2010

Xfce:

Refers to:
http://mocha.xfce.org/

Xfce is a lightweight desktop environment for unix-like operating systems. It aims to be fast and lightweight, while still being visually appealing and user friendly.

Xfce embodies the traditional UNIX philosophy of modularity and re-usability. It consists of a number of components that provide the full functionality one can expect of a modern desktop environment. They are packaged separately and you can pick among the available packages to create the optimal personal working environment.

Another priority of Xfce is adhereance to standards, specifically those defined at freedesktop.org.

Xfce can be installed on several UNIX platforms. It is known to compile on Linux, NetBSD, FreeBSD, OpenBSD, Solaris, Cygwin and MacOS X, on x86, PPC, Sparc, Alpha…

Others:

http://lxde.org/
The “Lightweight X11 Desktop Environment” is an extremely fast-performing and energy-saving desktop environment. Maintained by an international community of developers, it comes with a beautiful interface, multi-language support, standard keyboard short cuts and additional features like tabbed file browsing. LXDE uses less CPU and less RAM than other environments. It is especially designed for cloud computers with low hardware specifications, such as, netbooks, mobile devices (e.g. MIDs) or older computers. LXDE can be installed with many Linux distributions including Ubuntu, Debian and Fedora. It is the standard for Knoppix and lubuntu. LXDE also runs with OpenSolaris and BSD. LXDE provides a fast desktop experience; connecting easily with applications in the cloud. LXDE supports a wealth of programs that can be installed locally with Linux systems. The source code of LXDE is licensed partly under the terms of the the General Public License and partly under the LGPL.

Input Method Framework(输入方法框架)

Posted by – May 21, 2010

Moblin项目 — 输入方法框架:
Refers to:
http://moblin.org/projects/input-method-framework
http://doc.chinaunix.net/moblin/200909/189160.shtml

简介

本项目旨在向 Clutter 提供一个 Input Method Context Framework ,借助它可以扩展现有的输入方法以支持 moblin2 上的 Clutter 。

范围

本项目的范围将包括:

l  一个 clutter-imcontext 库,用于向Clutter添加 IMContext 框架

l  SCIM桥的一个客户端模块,用于在 Clutter 应用程序中支持SCIM

l  针对 scim-bridge 和 scim- panel的功能增强

l  一个针对IBus的客户端模块,用于在 Clutter 应用程序中启用 IBus

l  一个针对 IBus 的新面板,用于使用虚拟键盘进行输入

源代码

目前, git.moblin.org 上主要有两种相关的源代码git树:

l  ClutterIMContext:  http://git.moblin.org/cgit.cgi/clutter-imcontext

它是来自 GtkIMContext 的一个端口,具有一些功能增强,比如:自动显示/隐藏cb。还将不断向其中加入更多功能。

l  scim-panel-vkb-gtk:  http://git.moblin.org/cgit.cgi/scim-panel-vkb-gtk

此包向scim提供另一个 gtk面板以及一个安装模块,以选择要使用的面板。此包的主要目标是向一个面板提供嵌入带有原始输入方法UI的虚拟键盘的能力。因此,不具备硬件键盘的 MID类设备可以通过VKB轻松地使用输入方法。

l  scim-bridge

为了支持 ClutterIMContext ,还为 scim-bridge 编写了一个客户端模块。目前,用于 scim-bridge 的补丁仍然在 Moblin2 repo 中维护,而在单独的git树中找不到该补丁。

l  ibus-client-clutter:  http://git.moblin.org/cgit.cgi/ibus-client-clutter

这是为 IBus 编写的一个客户端模块。您可以查看我们的文档,从中找到关于在 Moblin2 上使用 IBus 的更多细节。

编译和运行

要获得关于在 Moblin2 上使用输入方法和如何通过输入方法来支持 Clutter 应用程序的更多信息,请查看我们的文档。

趋势

由于 SCIM 现在缺乏维护,本项目的未来开发工作将逐渐把重点转移到 IBus 支持上。

scim 的演示屏幕截图

下面的屏幕截图演示了在嵌入了SCIM和 Matchbox-Keyboard 的情况下,在应用程序中输入文本的情形。

2

原文链接:http://moblin.org/projects/input-method-framework

IBM Mainframe

Posted by – May 6, 2010

Refers to:

http://www-03.ibm.com/systems/z/
http://en.wikipedia.org/wiki/IBM_mainframe
http://www.ibmmainframeforum.com/

用grub命令行启动系统

Posted by – April 27, 2010

Refers to:
http://17610376.blog.51cto.com/366886/116208
前些天fedora的启动菜单grub.conf丢失,无法进入系统。不过,grub启动管理器还好好的,只好通过grub命令行来手动引导启动系统了。
在“从硬盘安装fedora 8 ”中曾经稍微提到过,grub是一个多系统的启动管理器,不但有linux版本的grub,也有windows版本的grub。上次从硬盘安装系统用的就是windows版本的grub。可以说,grub是一个非常强大的多系统启动管理器,具有多重系统引导,交互式操作,可设置grub启动密码,可映射硬盘,可以定制开机画面等等特点。通过命令行启动系统就是交互式操作的一个应用,至于其它应用,这里就不再一一列出。想要深入了解它的话,可以看一下grub的手册: [url]http://www.linuxsir.org/main/doc/grub/grubmanual/index.html[/url] 。说来惭愧,我还没完全看过。。哈哈。。
闲话少说,先把通过命令行启动系统的过程列出来。为了解释方便,特标上行号:
1 root (hd0,2)
2 kernel /vmlinuz-2.6.26.5-28.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
3 initrd /initrd-2.6.26.5-28.fc8.img
4 boot
怎么样?linux的启动命令行是不是很简洁啊?下面就一一解释这几命令。
第1行命令:指定/boot所在的分区。
要是不知道自己的/boot分区在哪里,没关系,先输入root (hd0,然后按Tab键,它会显示可能的分区,然后根据分区类型判断/boot分区。我就是这么做的……所以Tab键是linux里很好用的一 个键。这里指定/boot分区并不是必须的,在这里省略的话要在kernel以及initrd中指定,即:kernel (hd0,2)/vmlinuz-2.6……和initrd (hd0,2)/initrd-2.6……
关 于”hd0,2”,是指第一块硬盘的第三个分区,这是一个主分区。linux里的分区表示方法有两种:一是像”hd0,2″这种纯数字表示法,它是 以”hd0,0″开始,意思是第一块硬盘的第一个分区;第二块硬盘就是hd1。还有一种是hda1这一种,它也表示第一块硬盘的第一个分区;第二块硬盘就 是hdb。两种表示法用在不同的场合,纯数字表示法一般用在grub中指定/boot分区;第二种方法是日常使用的表示法,硬盘挂载等都用这种表示法。关于主分区与扩展分区,这里稍微提一点:扩展分区是从hdx5或hdx,4开始的,其中x代表硬盘号。要更加详细的了解linux的分区表示法,Google一下。

第2行命令:指定内核映像及根分区。
输入kernel /vmlinuz,然后按Tab键补全内核映像全名;补全以后可以看到我的fedora内核映像是vmlinuz-2.6.26.5-28.fc8。如果 有一个以上的内核,它会全部显示出来让你选择(这种情况遇到过,从8升级到9以后,我的启动菜单里就有了两个映像)。还有就是,我的/boot分区不是在 根分区中,而是一个独立的分区;如果/boot分区不是一个独立分区,而是位于根分区中,就要这样写: kernel /boot/vmlinuz-2.6.26.5-28.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet,下面的initrd要写成:initrd /boot/initrd-2.6.26.5-28.fc8.img。映像后面的部分是用来指定根分区的,要手动输入。ro的意思是read only,root=/dev/VolGroup00/LogVol00是根分区位置,rhgb意思是图形化启动过程,quiet意思是不要显示启动信 息。在实际操作中,我发现内核映像以后的部分其实不是必须的;也就是说,即使不输入这部分内容,不指定根分区,不指定图形化启动过程,不省略启动信息,也 可以正确启动。对于不必指定根分区,是否跟我的系统是单内核有关系?
这行命令要多理解一下。首先,vmlinuz中,vm是指vritual memery,linuz的意思是说,这一个经过压缩的内核映像。还有,这一行命令中的root跟第一行命令中的root表达的不是同一意思。第一行命令 中的root指的是系统的启动分区,即/boot分区;第二行命令中的root指的是系统的根分区,即/分区。要详细理解两者的区别,就牵涉到linux 文件系统及目录结构,它是linux中关键性的概念之一,我会找个时间写一些关于它东西,浅谈一下我对它的理解。”root=”后面的”/dev /VolGroup00/LogVol00″就是根分区的位置;看起来是不是怪怪的?因为我的根分区用的不是普通的硬盘分区,而是逻辑卷,术语叫 LVM(logical volume manager)。这个也是linux里一个很重要的东西。LVM要结合linux硬盘分区及目录结构来理解,这里就不谈了,否则会越扯越远,偏离正题。

第3行命令:指定initrd.img
initrd即initial ramdisk,字面上理解是初始化RAM磁盘。它实际上是一个临时的文件系统,而且是与内核绑定在一起的。一般用来加载必须的系统文件、驱动程序和存储 设备等,系统启动以后它立刻被释放。据说,在没有其它存储设备的情况下,它就是永久的系统。我不是太了解,也写不出更多的东西来。总 之,initrd.img是一个与内核绑定在一起的,用来加载必须的系统文件的临时文件系统。

第4行命令:启动系统。输入boot,敲回车键即可启动系统。
系统启动以后,再想一下这个手动启动的过程,如果了解grub的话,手动启动系统并不复杂。而启动菜单呢,很像是根据我们手动输入的内容编写而成的一个脚本。这个“脚本”让你在启动系统时不必每次都手动输入,所以这个“脚本”还是很有用的,我们还是手动编写一个吧。
若了解linux目录结构的话,就会知道启动菜单在根分区的boot文件夹下的grub文件夹中。grub文件夹中还有一个menu.lst,它是grub.conf的链接文件。你可能有点疑问:你的/boot分区不是一个独立的分区,不在根分区中么?其实这就是linux与windows不同的地方之一,它是通过挂载的方式与根分区产生关系的,这牵涉到文件系统和目录结构方面的东西,这里不详谈。找到并打开grub文件夹,创建一个grub.conf,你需要root权限!

grub.conf该怎么写呢?和上面输入的命令基本相似。下面是我虚拟机中fedora的grub.conf的内容:

其中,加#号的都是注释文字,启动时是被忽略的。核心部分如下:
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title Fedora (2.6.26.5-28.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.26.5-28.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.26.5-28.fc8.img
第一行,default项,表示默认启动的系统。0代表按照grub中 的顺序默认启动第一个系统,改为1,则是默认启动第二个系统。以此类推。第二行,timeout项,表示选择菜单等待时间为5秒。这个可以自己设定选择菜 单等待的时间。第三行,splashimage项,表示开机启动时出现的背景画面。若不想让画面显示,可以在前面加#号以忽略。第四 行,hiddenmenu项,表示隐藏选择菜单,加#号表示不隐藏。若装了双系统又不想让它出现选择菜单,可以把前面的#号去掉。第五行,title项, 选择菜单上出现的系统标题。下面的就不用再解释了。。。
仿照这个grub.conf 另外写一个启动菜单,注意我实际电脑中的/boot分区是(hd0,2),其它的完全照搬。然后把它放在/boot/grub中,就可以正常启动 fedora了。但是我的实际的电脑中装的是xp和fedora双系统,按照那个启动菜单虽然可以正常启动fedora,却不能正常启动xp,仍然需要手 动输入。所还需要在刚才的启动菜单尾部加上一部分:
title windows xp
rootnoverify (hd0,0) #我实际电脑中xp系统是放在第一个分区中的
chainloader +1
若想让xp系统默认启动,把default项改为1。xp这一部分的启动菜单用了链式装入器,也不必理会什么意思,照搬就可以了。
现在一份新的启动菜单就弄好了!
这篇日记算是勉强写完了。一方面,我也不是特别了解grub,无法作更深入的挖掘;另一方面,这篇日记牵涉到很多linux文件系统、目录结构、硬盘分区等知识。既要谈一点这方面的知识,否则读起来会很吃力;又不能谈的过多,否则会偏离正题。但是不管怎么说,用命令行启动fedora是没什么问题了……

Kubuntu 指南

Posted by – April 22, 2010

Refers to:
https://help.ubuntu.com/6.10/kubuntu/desktopguide/zh_CN/index.html

Some Unix & its OS links…

Posted by – January 1, 2010

In the world:
http://www.gnu.org/
http://www.unix.org/
http://www.linux.org/
http://www.unix.com

In China:
http://linux.deepin.org/
http://www.xp.com
http://www.redflag-linux.com/
http://wiki.ubuntu.org.cn/