Usually your loongson machine has preinstalled an OS ,the easiest way to install a new one is to download the tarball of another system,then unzip it to a free partition.
The English Debian Linux is now available to download from Lemote homepage , http://www.lemote.com/upfiles/OS/Debian-en/
If your machine does not have preinstalled an OS or your OS does not work,see section 2 directly.
If you need to install the Debian Linux in hda2,install it as following:
mkdir /mnt/hda2
umount /mnt/hda2
mkfs.ext3 /dev/hda2 (optional)
mount /dev/hda2 /mnt/hda2
tar xzf system.tar.gz -C /mnt/hda2
then reboot your machine.
If your machine doesn’t have an OS or your OS could not boot,you can use u-disk to install a new one .We recommend that your u-disk uses ext2/ext3 filesystem.
Before installing ,you should prepare two files in your u-disk:
1.a ramdisk kernel .It can be found here:
For 2f -yeeloong-8089 (netbook)
http://dev.lemote.com/files/binary/system/v1.1.2/rescue
For 2f-fuloong-6003 (mini-pc)
http://dev.lemote.com/files/upload/rescue-2f
2. the tarball of the system.It can be found here :
http://www.lemote.com/upfiles/OS/Debian-en/ (for yeeloong-8089 )
Assume the two files are ‘rescue’ and ‘debian-en.tar.gz’,
run the following steps to install :
1.insert your u-disk, and press the power button,then press the ‘del’ key until the 'PMON>’ appear.
2. input ‘load /dev/fs/ext2@usb0/rescue-2f’
3. input ‘g console=tty’
4. about 10s later,you will go into a ramdisk-system’s command line with ‘#’
5. check your u-disk device’s name with ‘fdisk -l’command.
Typically it’s /dev/sda1.
6. mount your u-disk and extract the tarball of system to a free partition,(hda1,for example ):
mkdir /mnt/hda1
mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1
mkfs.ext3 /dev/hda1
mount /dev/hda1 /mnt/hda1
cd /mnt/sda1
tar zxf system.tar.gz -C /mnt/hda1
It will take you 10~20 minites before you can reboot your machine .
You can use debian-installer to install debian Linux。
The vmlinux and initrd.gz is here
unzip the tarball and
cd debian-installer-images_20080522_mipsel/installer-mipsel/current/images
if your machine is notebook ,cd lemote-yl/netboot and copy initrd.gz and vmlinux-2.6.27-1-ls2f-lemote-yl to usb-disk
if your machine is mini-box ,cd lemote-fl/netboot and copy initrd.gz and vmlinux-2.6.27-1-ls2f-lemote-fl to usb-disk
reboot your system and press ‘del’ until ‘PMON>’ appear
initrd /dev/fs/ext2@usb0/initrd.gz
load /dev/fs/ext2@usb0/vmlinux-2.6.27-1-ls2f-lemote-yl
g console=tty no_auto_cmd
if everything is ok ,a familiar installing interface would appear and the rest work is similar as the x-86 platform. If an error lack of kernel module take place, ignore that and you can add the file manually as the installation completed.
notebook kernel can be found here:
http://dev.lemote.com/files/binary/system/v1.1.2/kernel/vmlinux
you can choose which ftp/http server to instll your system ,and we recommend you use
ftp.funet.fi
ftp.us.debian.org
You have two ways to choose which kernel and system to boot,
At PMON command line,for instance, you want to load the kernel in hda1’s boot directory named vmlinux and the system in hda1,use following commands :
load /dev/fs/ext2@wd0/boot/vmlinux
g console=tty root=/dev/hda1
Edit the file named boot.cfg(like menu.lst in grub) in hda1’s boot directory.If the file does not exist ,create one.
Typically ,the content of the file like the following:
timeout 3
default 0
showmenu 1
title Debian Linux for Loongson
kernel /dev/fs/ext2@wd0a/boot/vmlinux
args console=tty root=/dev/hda1
If you have installed another OS on hda2 and that kernel named vmlinux2,you can edit the boot.cfg to add one entry in bootmenu .Add the following three lines to enable it:
title another Linux for Loongson
kernel /dev/fs/ext2@wd0b/boot/vmlinux2
args console=tty root=/dev/hda2
NOTE: if you don’t see bootmenu when booting ,please make sure your machine has boot.cfg file in hda1’s boot directory and your PMON enable to show the bootmenu.You can goto PMON command line ,and input ‘env’ command to list all environment variables .If there is no variable named ShowBootMenu ,use ‘set ShowBootMenu yes’ to create the variable.
通过阅读本文档,您将了解如何使用debian-installer,在龙梦的产品上,安装一个标准的Debian系统。
在安装前,您需要作下述准备工作:
逸珑8089:kernel-2.6.27-LM8089.tar.gz
2f福珑:initrd_fl_netboot.gz
逸珑8089:initrd_yl_netboot.gz
1. 插入U盘,开机长按del键,直到'pmon>'提示符出现。
2. 加载内核,假设内核名为vmlinux:
load /dev/fs/ext2@usb0/vmlinux
3. 加载initrd.gz(这个过程较慢,要至少5分钟):
initrd /dev/fs/ext2@usb0/initrd_fl_netboot.gz #2F福珑 initrd /dev/fs/ext2@usb0/initrd_yl_netboot.gz #逸珑8089
4. 启动安装器:
g console=tty no_auto_cmd
现在,您已经看到了一个蓝色背景的安装画面。
若您有意注册新项目,点击导航栏“项目开发” -> “New Project”
注册项目需要您的trac帐号。若您还没有trac帐号,请点击导航栏“项目开发” -> 任一项目 -> 点右上角的register注册trac用户。
您填写完上述内容后,点击submit。注册新项目,系统需要进行一些处理,故请耐心等待。之后会跳转到某个页面。
若您是第一次注册使用git进行版本管理的项目,则会显示一个类似下图的页面,请您按照下述提示,拷贝服务器自动生成的SSH-RSA公私钥对:

您可以根据页面提示,进入到您新建的项目。若没有提示您新建的项目需要管理员的核准,则您可通过http://dev.lemote.com/code/{项目缩写名},进入您新建的项目;不然请耐心等待管理员的通知邮件。
若您新建的项目创建失败、或者不慎丢失了您的公要私钥等等,请和管理员联系:developer@lemote.com
mkdir gittutorcn cd gittutorcn git-init-db
git-add *
git-commit -m "Initial commit of gittutor reposistory" -a可以将工程目录下的文件全部提交(当然最好当前的位置处于工程根目录下)。
前面的所有操作都没有涉及到版本管理的一个重要方面──多人协作开发所带来的分支管理。git上有一个默认的分支名master,之前所有的操作都是在master分支上进行,即你是以这个版本库的管理员的身份来操作的。引入分支管理基于如下情况:
创建分支
#创建了一个名叫“b1"的分支。 git-branch b1 #把刚才创建的那个叫"b1"的分支给删除了。 git-branch -D b1
查看分支
git-branch
会把所有的分支名称列出来。前面打“*”号的就是你当前所在的分支。
运行git-checkout后,会将当前所在的分支的最新版本内容导出来(如果你在修改后还没有提交的话,那种这种导出将直接覆盖你的修改)。 而如果运行
git-checkout master
那么,就会从当前分支切换到master分支上去。
git-show-branch 命令可以使我们看到版本库中每个分支的世系发展状态,并且可以看到每次提交的内容是否已进入每个分支。不过格式不敢恭维,眼花缭乱的。
查看当前工作与版本库中的差别 运行 git-diff 将给出当前工作目录中的文件与版本库的头节点(最新提交的)数据的差别,差异将以典型的 patch 方式表示出来:
git-diff master b2
可查看master和b2两个分支的差别。
运行 git-whatchanged 可以显示当前所在分支的发展状况(版本提交状况)。
git-checkout master git-merge "Merge work in robin" HEAD b2
和
git-checkout master git-pull . b2
作用都是将b2这个分支的最新版本内容(提交后的)合并到master分支中去。如果在合并的过程中出现了冲突(具体通俗点说,就是在master, b2这两个分支中的某个文件的某些相同的行中的内容不一样),我们就需要手动解决这些冲突,用编辑器把发生冲突的那个文件的内容编辑一下(会在里面看到 diff的文件格式)。然后再执行
git-commit -i XXXX (XXXX就是发生冲突的那个文件名)
就可以提交此冲突文件,并且将未合并完的过程继续做完。
项目跟踪工具的一个重要任务之一,就是使我们能够随时逆转(Undo)和恢复(Redo)某一阶段的工作。git-reset 命令就是为这样的任务准备的。它可以将当前的工作分支的“头”定位到以前提交的任何版本中。
git-reset 参数 版本标号
其中,参数项可以有以下3个。
--mixed
仅是重置索引的位置,而不改变你的工作树中的任何东西(即,文件中的所有变化都会被保留,也不标记他们为待提交状态),并且会提示什么内容还没有被更新了。这个是默认的选项。
--soft
既不触动索引的位置,也不改变工作树中的任何内容。这个选项使你可以将已经提交的东西重新逆转至“已更新但未提交(Updated but not Check in)”的状态。就像已经执行过 git-add 命令,但是还没有执行git-commit 命令一样。
--hard
将工作树中的内容和头索引都切换至指定的版本位置中,也就是说自“版本标号”项之后的所有的跟踪内容和工作树中的内容都会全部丢失。因此,这个选项要慎用,除非你已经非常确定你的确不想再看到那些东西了。
其中,版本标号通常可以用 HEAD, HEAD^ 之类的标号表示。 通常的情况下,合并其他的人的工作的情况会比合并自己的分支的情况要多,这在 git 中是非常容易的事情,和你运行 git-merge命令没有什么区别。事实上,远程合并的无非就是“抓取(fetch)一个远程的版本库中的工作到本地”,然后再使用 git-merge 命令。
此命令会将项目库中的所有内容(包括版本数据记录和所有的文件)都拷贝到本地。 它支持5种协议:
**本地目录**: git-clone /root/workspace/projects/kernel/kernel-2f/
下载,单向操作
**SSH服务**: git-clone git@172.16.2.56:/root/workspace/projects/kernel/kernel-2f/
上传下载,双向操作
**GIT服务**: git-clone git://172.16.2.56/root/workspace/projects/kernel/kernel-2f/
下载,单向操作
**Rsync**: git-clone rsync://172.16.2.56/root/workspace/projects/kernel/kernel-2f/
上传下载,双向操作
**HTTP**: git-clone http://172.16.2.56/root/workspace/projects/kernel/kernel-2f/
下载,单向操作
将远程版本库中相对于本地库的origin的版本更新信息下载下来。更新索引。 与 git-clone 一样,它也支持上面5种协议。如 git-clone git@172.16.2.56:/root/workspace/projects/kernel/kernel-2f/
git-pull与git-fetch的区别在于git-pull将版本记录下载下来后,还要与本地分支进行合并。所以相当于 git-pull = git-fetch + git-merge。
一个团队进行项目开发,必须要有清晰的开发交互管理模式。一般来讲,一个团队总是要用一个服务器来做为代码的存储和下载中心。如何将基于分布式概念的git用活成为一个方便的团队版本管理工具,是一个值得研究的问题。下面以一个实例来探讨一下: 现有A,B,C,D四个员工,一台服务器。服务器IP为172.16.1.50,A的计算机IP为172.16.1.51,B的计算机IP为172.16.1.52,C的计算机IP为172.16.1.53,D的计算机IP为172.16.1.54。有一个项目,名叫GOD,A是管理员。可以有如下几种工作方式。 一: A在本地机器上建立GOD的代码库。其他三位员工直接从A的机器上克隆(利用SSH,需要知道用户和密码)代码和版本信息。然后,B,C,D分别在各自的master分支里进行工作。等到要提交的时候,比如说B要提交,则B给A发封邮件,提醒一下,我这儿有些工作要提交给你。A收到提示后,就主动去B的机器(通过SSH)上去取(需要知道用户名,密码)master分支,取的时候,将取回的版本信息存放到本地的一个新的分支中去。然后,再将这个新的分支与自己的工作分支(可能是master分支)进行合并,产生新的代码。合并完成后,再通知B,我已经合并完成了,请你同步到最新的代码来。于是,B用git-fetch或git-pull将A的合并后的代码同步到本地机器上来。这样就完成了一个交互。C,D也类似。 这样做的特点就是:
二: A在服务器上建立一个GOD的公开版本库。利用git协议,或http协议(匿名的)。A在本机上工作的内容,首先是推到服务器上去(git-push)。其它员工,从服务器上去克隆(git-clone)代码。B,C,D在下载代码后,在各自的master分支上开发。B做了一些工作后,再提醒A来我这里取代码,A主动去取。取回后,再合并。最后,把合并好的代码再Push到服务器上去。其他员工从服务器上来pull代码,进行同步更新。这样做的特点是:
三: A在服务器上建立一个GOD的公开版本库。利用git协议,或http协议(匿名的)。A在本机上工作的内容,首先是推到服务器上去(git-push)。其它员工,从服务器上去克隆(git-clone)代码。B,C,D在下载代码后,在各自的master分支上开发。B做了一些工作后,利用 git-format-patch origin 打自己的版本与origin版本的补丁(最好在打补丁之前运行一下git-fetch origin,跟进的最新的版本记录),生成后,通过Email的形式,将补丁发给A。A收到后,对自已的工作代码打补丁。最后,把打补丁(合并)好的代码再Push到服务器上去。其他员工从服务器上来pull代码,进行同步更新。这样做的特点是:
Trac链接是Trac的一个基础特性。通过它,可以轻松地在支持任何wiki语法之处,超链接系统的不同实体——任务单(tickets)、报表(reports)、变更集(changesets)、wiki页面、里程碑(milestones)和源代码文件。 Trac链接通常以type:id(id代表实体的数字、名字或路径)的形式,但一些经常用到的实体有缩记符号。
可在如下场合使用:
还有其他明确的标明支持wiki语法的文本域。 一些例子:
创建指向页面的某个锚(anchor),使用"#",比如 [#Relativelinks relative links] 提示:当你移动鼠标到段的标题上,一个“¶”字符将会显现。这是一个只向该段的链接,用它可以拷贝该段的锚(anchor)。 创建指向一个子wiki页面,只要使用“/”,比如 WikiPage/SubWikiPage 或 ./SubWikiPage 在子wiki页面创建指向父wiki页面的链接,使用“..”,比如 [..] 链接到兄弟页面,使用“../”,比如[../Sibling see next sibling]
其他前缀可以任意定义,用来指向其他web应用的资源。这些前缀的定义和指向web应用的URL在此说明。
trac互链是专门面向链接其他trac项目中的资源。 任何类型的trac链接可以写成trac环境和实际指向那个trac环境资源的引用,之间用冒号隔开。
你也可以在页面顶端的搜索框,输入CamelCase方式的名字,来跳过第二步。但是当心,这样做,该wiki页将成为“孤儿”页,直到你在别的地方建立指向它的链接。 (在浏览器地址栏中,直接输入URL:dev.lemote.com/code/{当前项目名}/wiki/新的wiki页名称,也可以达到类似的效果)
Wiki页命名一般遵循CamelCase规范。Wiki文本中, 任何符合CamelCase形式的单词自动转换为一个指向以此单词命名的wiki页。 CamelCase的wiki页名必须符合以下规则:
如果你想创建不遵循CamelCase规则命名的wiki页,你可以使用如下语法:
从Trac 0.11版开始,可以指定到Wiki页的一个特定版本,比如:WikiStart@1 另外,可以在Wiki名后尾随一个锚(anchor),来指向wiki页的某个特定段。是否有锚,可以简单的通过移动鼠标指针到段头,看到其后出现的“¶”标志,也可以明确指定。
CamelCase是最初的wiki创建超链接的规范,额外要求大写的字母其后为小写字母。于是,“AlabamA” 与 “ABc”不是链接。