返回列表 發帖
为了减省开始,所以利用很多年前买入的IBM T43 Notebook,再更换hard drive,然后再上Windows Xp和很多个partitions,每个partion是8G。现在已经安装了Windows Xp和CentOS,现在做的事实怎样Clone partition。因为很久都没有做过,所以都不记得了,所以要慢慢理顺。

我主要是目的是安装Analogue Blackfin toolchain,然后自己compile Switchfin,到那个时候就可以自己更加自己需要的程序。

角色

TOP

本帖最後由 角色 於 2011-1-27 01:21 編輯

Multi-boot Linux 系统要注意的事:

1)用任何partition软件,把你的hard drive分成很多个区,例如:

/dev/sda1 primary ntfs
/dev/sda2 primary ext3
/dev/sda3 primary ext3
/dev/sda4 extended
/dev/sda5 logical swap
/dev/sda6 logical ext3
/dev/sda7 logical ext3
/dev/sda8 logical ext3
/dev/sda9 logical ext3
/dev/sda10 logical ext3
/dev/sda11 logical ext3
/dev/sda12 logical ext3

大家要注意的事,用一般的partition的软件,所partition出来的分区,在CentOS下可能出现问题,partition之间可以copy,是没有问题,但是启动不了,所以在你安装第一个CentOS后,其他的partition的formating都要从第一个CentOS里的指令做起。

我在/dev/sda1先安装Windows Xp,而在/dev/sda2安装CentOS,而我把Grub安装在第2个分区/dev/sda2。

/dev/sda1 primary Windows Xp
/dev/sda2 primary CentOS
/dev/sda3 primary
/dev/sda4 extended
/dev/sda5 swap
/dev/sda6
/dev/sda7
/dev/sda8
/dev/sda9
/dev/sda10
/dev/sda11
/dev/sda12

那么在CentOS的/boot/grub/menu.lst有下面参数:

default=0
timeout=5
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.el5)
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.18-194.el5 ro root=LABEL=/1
        initrd /boot/initrd-2.6.18-194.el5.img
title Windows Xp
        rootnoverify (hd0,0)
        chainloader +1

然后我yum update一下,和更动了一些参数,menu.lst变动如下:

default=0
timeout=25
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
#hiddenmenu
title /dev/sda2 CentOS (2.6.18-194.32.1.el5)
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.18-194.32.1.el5 ro root=LABEL=/1
        initrd /boot/initrd-2.6.18-194.32.1.el5.img
title /dev/sda2 CentOS (2.6.18-194.el5)
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.18-194.el5 ro root=LABEL=/1
        initrd /boot/initrd-2.6.18-194.el5.img
title Windows Xp
        rootnoverify (hd0,0)
        chainloader +1


2)在boot起/dev/sda2的CentOS后,

cd /media
mkdir sda12
mount /dev/sda12 /media/sda12
cp -afv /* /media/sda12                           (backup the contents of /dev/sda2)

我们可以用下面指令就可以copy partition
cp -afv /path/to/source/* /path/to/destination

那么现在/dev/sda12就有一个backup CentOS的文件区,我们可以把那里的文件copy到别的区,而不用从新再安装CentOS,这个可以省很多时间,而又不用做bootup CD-ROM。

如果我们想在/dev/sda3安装另外一个CentOS,我们可以根据下面的指令去做。

1) 先boot起在/dev/sda2的CentOS
2) mk2fs -j /dev/sda3
3) cd /media
4) mkdir sda3
5) mount /dev/sda3 /media/sda3
6) mount /dev/sda12 /media/sda12
7) cp -afv /media/sda12/* /media/sda3

还有我们要做的要更改新的partition的label name,这要与新的partion里德/etc/fstab label一致。

e2label /dev/sda3 /2

转到/media/sda3
cd /media/sda3
cd etc
cat fstab

LABEL=/1                /                       ext3    defaults        1 1
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sda5               swap                    swap    defaults        0 0

我们用vi去把LABEL=/1 改成 LABEL=/2


然后我们再去 /dev/sda2/boot/grub, vi menu.lst,然后加入:

title /dev/sda3 CentOS (2.6.18-194.32.1.el5)
        root (hd0,2)
        kernel /boot/vmlinuz-2.6.18-194.32.1.el5 ro root=LABEL=/2
        initrd /boot/initrd-2.6.18-194.32.1.el5.img


把menu.lst更新后,reboot就可以选哪个partition boot就可以。

角色

TOP

昨晚终于搞好狠多paritions,那么如果某个partition的Linux有问题,我们也很简单recover,当中最主要的事就是:

1) Partition File System: 要用CentOS的 mk2fs 指令去format 某个partition,因为在boot的的parition都是用CentOS去format而安装的。

2) Partition Label: e2label device [new_label_name]

3) Mout parititon during boot: 要修改将会被boot起的partition里的/etc/fstab

由于方便记忆,我把partition的label跟device name,例如partition /dev/sda2, 那么这个partition label更改为sda2。

角色

TOP

回復 18# 角色


有冇試過將 linux server 從 A machine 轉到 B machine?唔知點解最近唔得。
我用 tar 方法 backup and restore 所有 files and permission, 以往都OK.

TOP

回復 19# ckleea

是否有参考我在18#的信息呢?

角色

TOP

回復 20# 角色


    I read it but my problem is not the drive label.
something related to kernel image initrd

TOP

What is the error message when the files moved to another p.c.?

YH

TOP

Fixed.  my mistake

TOP

回復 21# ckleea


Is your problem like this:

mount: could not find filesystem '/dev/root'
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!

TOP

回復 23# ckleea


   

Oh! Glad to hear that.

You fixed your own problem before my post.

Curious to have your share of the solution.

TOP

现在基本上可以compile switchfin了,我是根据ckleea的帖子,在第七楼的信息去做。

下一步就要整理整个blackfin的development environment。

角色

TOP

怎样利用USB手指把Linux的文件过机(Linux过去Windows)?

cd /media
mkdir usbflash
mount /dev/sdb /media/usbflash
cp source_file destination_location (eg cp u* /media/usbflash)
umount /media/sdb

where sbd is flashdrive detected device.

角色

TOP

回復 25# bubblestar

My original back up and restore method is working and just I forgot a step to copy which I thought I have done so. So the kernel does not find the file it needs to boot.

How stupid I am to spend 2 days to deal with this recover procedures.

TOP

YH,

How long do you need to compile? For me on an ATOM 330, it takes quite some times, initially downloading and then compilation

TOP

回復 29# ckleea

CK,

The first compilation using my old IBM T43 notebook took about 45 minutes to complete the process. For the second compilation after having enabled g729 option, it took less time to do, it was around ten minutes.

YH

TOP

返回列表