返回列表 發帖

【IP01:Embedded Linux System Learning Tool】- Bootloader U-boot

本帖最後由 角色 於 2011-1-19 00:04 編輯

因为有了IP01,那么现在开始我对embedded linux学习进发,不知道大家是否有兴趣呢?

就算没有,大家也可以来看看,下的IP01的U-boot documentation

http://docs.blackfin.uclinux.org/doku.php?id=bootloaders:u-boot

角色

本帖最後由 角色 於 2011-1-20 13:43 編輯

关于IP01的CPU Blackfin,可以参考下面网站:

http://blackfin.uclinux.org

http://docs.blackfin.uclinux.org/doku.php

角色

TOP

本帖最後由 角色 於 2011-1-19 00:04 編輯

IP01 Hardware Information:

可以参考澳大利亚的原作者David Rowe,里面还包括Schematic。

http://www.rowetel.com/blog/?p=27

其他参考links:

http://www.fredshack.com/docs/atcom_ip01.html

TOP

备用帖子

TOP

备用帖子

TOP

备用帖子

TOP

备用帖子

TOP

备用帖子

TOP

备用帖子

TOP

备用帖子

TOP

本帖最後由 角色 於 2011-1-19 00:05 編輯

今天打开过IP01,已经找到JTAG的位置,但是没有焊接14-pin header,如果要救机,我们就会需要到它,除非我们不接触U-boot,而是用,那么就不需要U-boot了,不过为了学全套Embedded Linux System,我们就不能不去学这个东西。

角色

TOP

都是认识少少,就像我当年在HKEPC开始SPA3000(ATA),然后转到Asterisk。由最初不认识,然后慢慢认识多一点,所以大家参与很重要,还有我们要有standard的hardware才能开始,我们把有用的资源整理一下,那么大家学习起来就更加方便。

角色

TOP

为了要master embeded linux,很多基本工作要做,如看IP-04的线图,u-Boot的source究竟做过什么。为了减轻ip-01不会bricked,所以我们明白U-boot的source后,然后自己在U-boot上写自己需要的简单application,不一定是Linux下的application,而是自己所控制的applications。有了这个基本的学习过程,我们就可以switch to embedded linux了,然后再在embedded linux写自己需要的applications,那么基本上就完成这个学习过程。

角色

TOP

为了减省开始,所以利用很多年前买入的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

返回列表