Board logo

標題: 【IP01:Embedded Linux System Learning Tool】- Bootloader U-boot [打印本頁]

作者: 角色    時間: 2011-1-18 15:03     標題: 【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-18 15:03

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

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

http://blackfin.uclinux.org

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

角色
作者: 角色    時間: 2011-1-18 15:04

本帖最後由 角色 於 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
作者: 角色    時間: 2011-1-18 15:05

备用帖子
作者: 角色    時間: 2011-1-18 15:06

备用帖子
作者: 角色    時間: 2011-1-18 15:08

备用帖子
作者: 角色    時間: 2011-1-18 15:09

备用帖子
作者: 角色    時間: 2011-1-18 15:10

备用帖子
作者: 角色    時間: 2011-1-18 15:11

备用帖子
作者: 角色    時間: 2011-1-18 15:11

备用帖子
作者: 角色    時間: 2011-1-18 23:28

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

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

角色
作者: ckleea    時間: 2011-1-19 08:23

回復 11# 角色


    你對電子認識唔少!
作者: 角色    時間: 2011-1-19 09:16

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

角色
作者: ckleea    時間: 2011-1-19 11:19

Some more information that may be useful for you.

http://www.switchfin.org/index.p ... ckfaq&Itemid=55

Those files are built during compilation but I ignore them all along except the .md5
作者: 角色    時間: 2011-1-21 13:51

为了要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,那么基本上就完成这个学习过程。

角色
作者: 角色    時間: 2011-1-25 23:46

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

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

角色
作者: 角色    時間: 2011-1-26 01:44

本帖最後由 角色 於 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就可以。

角色
作者: 角色    時間: 2011-1-27 11:52

昨晚终于搞好狠多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。

角色
作者: ckleea    時間: 2011-1-27 18:24

回復 18# 角色


有冇試過將 linux server 從 A machine 轉到 B machine?唔知點解最近唔得。
我用 tar 方法 backup and restore 所有 files and permission, 以往都OK.
作者: 角色    時間: 2011-1-27 21:25

回復 19# ckleea

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

角色
作者: ckleea    時間: 2011-1-27 21:56

回復 20# 角色


    I read it but my problem is not the drive label.
something related to kernel image initrd
作者: 角色    時間: 2011-1-27 22:17

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

YH
作者: ckleea    時間: 2011-1-27 22:29

Fixed.  my mistake
作者: bubblestar    時間: 2011-1-27 22:38

回復 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!
作者: bubblestar    時間: 2011-1-27 22:41

回復 23# ckleea


   

Oh! Glad to hear that.

You fixed your own problem before my post.

Curious to have your share of the solution.
作者: 角色    時間: 2011-1-27 23:29

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

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

角色
作者: 角色    時間: 2011-1-27 23:35

怎样利用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.

角色
作者: ckleea    時間: 2011-1-28 04:45

回復 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.
作者: ckleea    時間: 2011-1-28 04:52

YH,

How long do you need to compile? For me on an ATOM 330, it takes quite some times, initially downloading and then compilation
作者: 角色    時間: 2011-1-28 07:14

回復 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
作者: ckleea    時間: 2011-1-28 07:26

You mean second compilation is an additional option enable not a fresh one. I read from the developer that he tooks 10+ min for a fresh compilation.

A bit too slow for our old or ATOM CPU.
作者: 角色    時間: 2011-1-28 07:40

I shall let you know later when I make another fresh compile after have made clean.

YH
作者: ckleea    時間: 2011-1-28 08:58

回復 32# 角色


Everytime I make a clean compilation by removing all the old codes and then redownload by svn checkout.
This is why I take almost an hour to do so especially in between I forgot to check the option of CPU to compile.

CK
作者: 角色    時間: 2011-1-28 09:12

You do not need to do so. You may shorten the developed by just modify the settings in the "make menuconfig" and then make it agin and followed by make image. That's all, the totoal time for these remakes took you about 10 minutes. It is pretty fast and not time consuming.

YH
作者: ckleea    時間: 2011-1-28 09:23

回復 34# 角色


    I mean for the new version. For the recompilation, I understand this as after the first compilation, I have downloaded most files and make some of the modules. recompilation is just for the new option checked and make image.

CK
作者: bubblestar    時間: 2011-1-28 09:43

For me, it also took about 45 minutes to fresh compile before.  I recall, but not exactly sure, that we may choose to save all the files after completion.  In that case, it will drastically make the next compilation faster on top of the first one.
作者: 角色    時間: 2011-1-29 20:33

Since the initial setup for the Analogue blackfin development environment is completed, the next task is to study the way of writing simple programming code such as flashing the l.e.d on the IP01 box.

YH
作者: 角色    時間: 2011-2-12 10:20

看来难度比较高,不知道members是否有兴趣参与呢?

角色
作者: Qnewbie    時間: 2011-2-12 17:59

Many members use IP01 in a productive environment. Might be it is better to choose other cheaper platform, like DD-WRT, which is more popular and easy to ...
作者: 角色    時間: 2011-11-6 01:28

The following link provides a very good introduction of embedded Linux.

http://www.study-area.org/linux/ ... roduction.html#toc2
作者: 角色    時間: 2011-11-6 01:35

还有这个

http://www.study-area.org/linux/ ... Linux_GUI.html#toc1
作者: ckleea    時間: 2011-11-6 01:40

But the hardware still has limitation




歡迎光臨 電訊茶室 (http://telecom-cafe.com/forum/) Powered by Discuz! 7.2