通过nfs在龙芯机器上安装E文debian //转自吴章金师兄的博客

来源:互联网 发布:群雄起源的武将数据 编辑:程序博客网 时间:2024/04/29 22:44

通过nfs在龙芯机器上安装E文debian

在龙芯机器上装系统,方法很多,大部分这里都列出来了:http://dev.lemote.com/drupal/node/62
其实安装系统的目标很简单的:就是把支持mips/loongson指令的文件系统和内核弄到机器上的某个存储设备的某个分区上。
因此,还有很多其他方法可以弄,这不?我们这里介绍如何通过nfs在龙芯机器上安装E文debian。

一、准备好内核和文件系统

要准备的东西不多,

1、一个支持从nfsroot挂载文件系统的可以运行在龙芯机器上的内核。

关于如何编译内核,如果交叉编译内核,这里不多说,大家参考一下这里就行:
http://dev.lemote.com/code/linux_loongson

为了能够支持nfsroot,除了基本的网络支持外,下面的几个选项是需要的:

要能够自动获取ip地址,所以要求你所在的网络有一个dhcp服务器,没有的话,自己配置一个吧(后面将介绍)。
Networking  --->  Networking support
        Networking options  --->  Packet socket
                      Unix domain sockets
                      TCP/IP networking
                           IP: kernel level autoconfiguration
                             IP: DHCP support


要支持nfsroot,
File systems  --->
             Network File Systems  --->
                            <*>   NFS client support  
                                           Root file system on NFS


好了,可以编译内核了,关于最新的内核源代码,可以从这里下载。
-dev version:   http://dev.lemote.com/cgit/rt4ls ... oongson-dev-to-ralf
-stable version:   http://dev.lemote.com/cgit/rt4ls.git/log/?h=to-ralf

2、准备好一个文件系统

直接从这里下载吧:http://www.lemote.com/upfiles/OS/Debian-en/debian-en.tar.gz

二、搭建好基本服务

为了能够从nfsroot安装系统,我们至少需要在我们自己的主机(也就是说除了那个龙芯机器,你还需要另外一台机器)上安装三个基本的服务,

一个是用于load内核的tftp服务。
另外一个是DHCP,用于给龙芯机器分配一个IP地址,
再一个是nfsroot服务,用于放置文件系统,并从那里启动起来。

下面我们分别介绍这三个服务如何在ubuntu上搭建:

1、tftp服务

安装服务包
$ sudo apt-get install tftpd-hpa


启动服务,把/tftproot当tftp服务的主目录(不要想着其他方法,这个最easy不过)
$ sudo mkdir /tftproot
$ sudo in.tftpd -s -l /tftproot


启动完以后,把内核复制到/tftproot下就行了。

2. dhcp服务

如果你所在网络有这个服务,就不要再配置了,否则自己配置一个。

$ sudo apt-get install dhcp3-server
$ vim /etc/dhcpd.conf
ddns-update-style none;
subnet 192.168.1.0 netmask 255.255.255.0 {
            range 192.168.1.121 192.168.1.121;
}
$ /usr/sbin/dhcpd



通过上面的配置,可以给你的机器分配一个192.168.1.121的地址,如果想要其他地址,可以修改这个配置。

3、安装nfs服务

这个也是非常easy了。

$ sudo apt-get install nfs-kernel-server
$ vim /etc/exports
/opt/yeeloongos/ 192.168.1.*(rw,no_root_squash,sync)
$ /etc/init.d/nfs-kernel-server start
$ exportfs
/opt/yeeloongos
        192.168.1.*


这个配置文件/etc/exports主要是配置nfs服务的根目录,即我们的文件系统的根目录,我们这里把debian-en.tar.gz解压到/opt/yeeloongos下即可。

$ tar zxf debian-en.tar.gz -C /opt/yeeloongos


另外,还有配置哪些机器可以访问我们的服务,这里的配置是允许ip为192.168.1.*的所有机器访问。

三、开始安装

首先要通过nfs起来一个系统,接着是格式化掉原有的分区(如果有重要数据,记得先保存),然后呢,把格式化好的分区挂载到某个目录上,然后再把那个debian-en.tar.gz解压到这个目录下。

假设你自己主机的ip地址是192.168.1.1,假设那个dhcp服务器也是192.168.1.1,那个tftp服务器也是192.168.1.1,否则,请替换为其他的。

1,通过nfsroot启动一个系统

开机,按下DEL键,直到出现PMON>提示行。

PMON> ifaddr rtl0 192.168.1.121      // 配置一个临时的ip地址,这个地址只在pmon中有效,如果想配置一个持久的,那么请用set ifconfig rtl0:192.168.1.121
PMON> load tftp://192.168.1.1/vmlinux    // 装载那个支持nfsroot的内核
PMON> g root=/dev/nfs rw nfsroot=192.168.1.1:/opt/yeeloongos ip=192.168.1.121:192.168.1.1:192.168.1.1:255.255.255.0:yl:eth0ff console=tty no_auto_cmd


如果没有问题,应该可以进入到一个基本的文件系统里头了。
关于ip的各个字段的含义:ip=<client-ip>:<nfssever-ip>:<gateway-ip&gt;:<netmask>:<host-name>:<device>:<auto-conf>
更多请参考这里:http://fscked.org/writings/clusters/nfsroot.txt

2,格式化原有的分区

$ mkfs.ext3 /dev/hda1        // 如果有重要数据,记得保存,这里是格式话龙芯机器上的分区,不是你自己的主机,呵呵


3,安装文件系统

先在你的主机上把debian-en.tar.gz复制一份到/opt/yeeloongos/home/root/目录下,然后在龙芯机器上把它安装到/dev/hda1这个分区上。

$ mkdir /mnt/hda1
$ mount /dev/hda1 /mnt/hda1        // 把龙芯机器上的hda1分区挂载到/mnt/hda1目录下
$ mount -o remount,rw /                    // 重新挂载根分区,保证/mnt/hda1可读
$ tar zxf /home/root/debian-en.tar.gz -C /mnt/hda1    // 耐心等待一伙,要一段时间才能解压完


4,安装内核

那个debian-en.tar.gz 里头的内核有点老,换成你刚编译好的就行,直接把你刚编译的内核放到/boot/下,

可以先把内核复制到主机上的/opt/yeeloongos/home/root下,然后再复制到龙芯机器上的/mnt/hda1/boot/下。

接着配置boot.cfg或者直接通过PMON设置如下几个变量。

PMON> set al "/dev/fs/ext2@wd0/boot/你刚编译的内核的名字"
PMON> set karg "root=/dev/hda1 console=tty no_auto_cmd"


that is all~~

[ 本帖最后由 falcon 于 2009-7-21 09:42 编辑 ]