免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 12626 | 回复: 38

MaxWit开发者手册(简体中文版*第一卷) [复制链接]

论坛徽章:
0
发表于 2008-12-12 17:36 |显示全部楼层
(全文见附件)

MaxWit开发者手册第一卷主要是介绍如何搭建MaxWit Linux的开发环境并使之在模拟器和硬件平台上跑起来。



目  录

1     Host端发行版的选择及软件安装
1.1      关于Linux发行版
1.2      安装软件包

2     使用MaxWit Linux源码
2.1      获取MaxWit Linux最新源码
2.2      下载第三方源码包
2.3      安装Toolchain
2.4      编译MaxWit Linux开发库和应用程序

3     Host端设置
3.1      安装kermit
3.2      安装NFS Server
3.3      安装TFTP Server

4     运行MaxWit Linux(使用QEMU)
4.1      配置QEMU模拟器
4.2      编译Linux Kernel
4.3      启动MaxWit Linux

5     运行MaxWit Linux(基于实际硬件平台)
5.1      编译Bootloader
5.2      编译Linux Kernel
5.3      烧录images
5.4      启动MaxWit Linux

MaxWitLinuxDevManual_V1_cn.pdf

138.92 KB, 下载次数: 991

论坛徽章:
0
发表于 2008-12-12 17:43 |显示全部楼层

回复 #1 conke 的帖子

1        Host端发行版的选择及软件安装
1.1        关于Linux发行版
目前已测试通过的发行版有(包括64位版):Ubuntu 8.04、Fedora Core 8。Ubuntu 8.10的支持预计在12月15前完成。
推荐使用Ubuntu 8.04,后面的软件安装及环境设置全部基于Ubuntu 8.04。
其他Linux发行版的测试及支持目前还没有足够的人手去做,若有人有兴趣并完成这份工作,欢迎把patch发给g-bios项目的维护者:
Linke Wang <linke.wang@gmail.com>
Ben Shan <ben.f.shan@gmail.com>
Fleya Hou <fleya.hou@gmail.com>

1.2        安装软件包
下面的所要安装的软件包列表(有些package的名字或版本有待更新,我没时间写这些细节了):
开发工具        开发库        实用工具
gcc        linux-libc-dev        ckermit
g++        kernel-package        dpkg-dev
make        libncurses5-dev        minicom
autoconf        Freetype        mplayer
automake        libcurl3-openssl-del        kmplayer
libtool        libexpat1-dev        mpg123
gettext        tcl8.4-dev        madplay
texinfo        libpngl2-dev        k3b
bison        libjpeg62-dev        k3b-il8n
flex        libgif-dev        scim-chinese
patch        libpango-dev        scim-pinyin
byacc        libgtk-dev        sdparm
subversion        libsdl1.2-dev        hdparm
git-core        libmpfr-dev        mtd-tools
cvs        java-xxx        tree
qemu                  

论坛徽章:
0
发表于 2008-12-12 17:44 |显示全部楼层
2        使用MaxWit Linux源码
2.1        获取MaxWit Linux最新源码
svn co http://maxwit.googlecode.com/svn/trunk/ /maxwit
注意:请checkout到“/maxwit”,而不是googlecode上默认的当前目录下的maxwit目录。
2.2        下载第三方源码包
后面编译的过程中会报缺包的错误,请手工先下载所需的源码包!我们正在编辑软件包列表及下载脚本,很快大家就不需要手工下载了
2.3        安装Toolchain
第一步,导出Toolchain的PATH。编辑~/.bashrc,添加下面一行:
export PATH=${PATH}:/maxwit/sysroot/usr/bin

第二步,打开/maxwit/build/build.sh,编译“export TARGET_CPU=...”这一行,更改你的目标CPU,若不确定,就用默认值

第三步,cd /maxwit/build,执行:
# ./build.sh
选择“1”,回车。这个过程比较漫长,不过在推荐的系统上一定能过,因为已测过不知多少次了
2.4        编译MaxWit Linux开发库和应用程序
# cd /maxwit/build
# ./build.sh
至少要编译“Basic System”,这样一个基本的嵌入式Linux系统就能跑起来,但想要加入更丰富的软件,还要继续编译“Libraries”、“Applications”、“Qtopia”和“GTK+”等其他模块(具体见菜单)。

论坛徽章:
0
发表于 2008-12-12 17:45 |显示全部楼层
3        Host端设置
3.1        安装kermit
第一步,从源码安装kermit(若前面已安装kermit,则略过这一步)
make linux && make install
cp –v kermrc ~/.kermrc

第二步,打开~/.kermrc,修改“set line”一行,确认你所用的串口设备,若用的是USB-to-Serial转接器,可以改成:“set line  /dev/ttyUSB0”

3.2        安装NFS Server
第一步,安装NFS server软件包
# apt-get install nfs-kernel-server

第二步,编辑/etc/exports文件,添加下面两行:
/maxwit/rootfs        *(rw,sync,no_root_squash)
/maxwit/sysroot        *(rw,sync,no_root_squash)

第三步,重启NFS Server:
# /etc/init.d/nfs-kernel-server restart

第四步,测试NFS Server:
# mount -t nfs 192.168.0.111:/maxwit/sysroot /mnt/
(假定本机IP为192.168.0.111)

3.3        安装TFTP Server
第一步,编译tftp软件(如果前面已经通过apt方式安装了tftp,则跳过这一步)
# tar jxvf tftp-hpa-0.40.tar.bz2
# cd tftp-hpa-0.40
# ./configure –prefix=/usr
# make && make install

第二步,启动tftp server
# in.tftpd –l –s /maxwit/images

第三步,测试tftp server
# cd /tmp
# echo hello > /maxwit/images/test
# chmod 666 /maxwit/images/test
# tftp 192.168.0.111(假定本机IP为192.168.0.111)
> get test
> quit
# cat test
# rm test /maxwit/images/test

论坛徽章:
0
发表于 2008-12-12 17:46 |显示全部楼层
4        运行MaxWit Linux(使用QEMU)
4.1        配置QEMU模拟器
这里我们只需配置qemu的IP地址,在/etc目录下新建文件qemu-ifup,并输入以下内容:
#!/bin/sh
/sbin/ifconfig $1 10.10.0.1 netmask 255.255.255.0

然后使其可执行:
# chmod +x /etc/qemu-ifup
4.2        编译Linux Kernel
我们暂时选择realview作为硬件平台,若有人手,我们打算让QEMU支持其他主流芯片。

第一步,解压Linux Kernel
# tar jxf linux-2.6.27.tar.bz2
# cd linux-2.6.27

第二步,配置Kernel
# make ARCH=arm realview_defconfig
# make ARCH=arm menuconfig
然后编译以下几个选项:
(1)        “Kernel Features” 选上EABI选项
(2)        “Boot options” “Default kernel command string”(即第三行)回车,填写以下内容(注,因为排版缘故,不得不分成四行,但实际输入的时候是在同一行上,并注意空格):
root=/dev/nfs
nfsroot=10.10.0.1:/maxwit/sysroot ip=10.10.0.2:10.10.0.1:10.10.0.1:255.255.255.0:maxwit.googlecode.com:eth0ff console=ttyAMA0
mem=128M
(3)        “Network file system”  选上“NFS client”和“Root file system on NFS”
保存、退出

第三步,编译
# make ARCH=arm CROSS_COMPILE=arm-maxwit-linux-gnueabi- –j4
4.3        启动MaxWit Linux
# qemu -system-arm –M realview –kernel /path/to/zImage –serial stdio –net nic –net tap
看到小企鹅和console了吗?尽情玩吧,目前MaxWit Linux里已经有不少有趣的小东东了。当然,最有趣也更重要的是,我们一起参与开发,一起来完善她!

论坛徽章:
0
发表于 2008-12-12 17:47 |显示全部楼层
5        运行MaxWit Linux(基于实际硬件平台)
5.1        编译Bootloader
这里,我们使用g-bios作为MaxWit Linux的bootloader,当然,你也可以使用其他的bootloader,但我们认为g-bios更强、更方便,可以提高整个工作效率。
BTW,我们以ATMEL AT91SAM9261为示例硬件平台,你也可以使用S3C24XX或其他平台。另外,为了简化,目前的这个文档只介绍NFS root方式启动,当然,Native方式(直接从Flash启动)也支持得很好,你可以自己试试。

第一步,下载g-bios源码
# cd /maxwit
# svn co http://g-bios.googlecode.com/svn/trunk/ g-bios

第二步,配置、编译
# ./configure –plat=at91sam9261
# make
会生成gbios_th.bin和gbios_bh.bin并已自动copy到/maxwit/images下,以备后继下载和烧录。(gbios_th.bin和gbios_bh.bin分别对应g-bios上半部分和下半部分。)
5.2        编译Linux Kernel
第一步,解压Linux Kernel
# tar jxf linux-2.6.27.tar.bz2
# cd linux-2.6.27

第二步,配置Kernel
# make ARCH=arm at91sam9261ek_defconfig
# make ARCH=arm menuconfig
然后编译以下几个选项:
(1)        “Kernel Features” 选上EABI选项,并去掉OABI
(2)        “Network file system”  选上“NFS client”和“Root file system on NFS”
保存、退出

第三步,编译
# make ARCH=arm CROSS_COMPILE=arm-maxwit-linux-gnueabi- –j4
# cp –v arch/arm/boot/zImage /maxwit/images
5.3        烧录images
第一步,接上USB线和网线。

第二步,先将跳线拨到off位置,然后上电!
# lsusb
你将会看到 “Atmel ….”的字样,否则,先断电,然后重做第一步和第二步。

第三步,安装开发板驱动。
首先删除所有usbserial 模块:
# lsmod | grep ^usbserial
# rmmod xxx
# rmmod usbserial
然后安装开发板驱动:
# modprobe usbserial vendor=0x03eb product=0x6124
查看USB设备是否已创建:
# ls /dev/ttyUSB*
       
第四步,安装并运行SAM-BA
# unzip sam-ba_cdc_2.7.linux_01.zip
# cd sam-ba_cdc_2.7.linux_01
# ./sam-ba_cdc_2.7.linux_01
选择 AT91SAM9261-EK, 然后点击 “Connect”
       
第五步,烧写g-bios 的上半部。
将跳线拨到 on位置,然后执行下列操作:
“Enable Dataflash” -> Execute
“Erase All” -> Execute
“Send Boot File” -> Execute -> Select gbios_th.bin. OK
       
第六步,烧写g-bios 下半部。
断开USB线,再接上USB-to-Serial串口转接线
# cd /maxwit/g-bios
# kermit
C-kermit>c (回车)
再按下开发板Reset 键,将会进入g-bios上半部的启动界面,选择“2”,回车,然后同时按下“CTRL”和“/”键, 再按下“c”
C-Kermit> send gbios_bh.bin
C-Kermit> c
# partshow (这一步可略过)
# gbupdate (这个命令会自动通过tftp下载gbios_bh.bin,并烧录到预定的分区中,以后就可以直接从Flash中启动整个g-bios了。)
再按下开发板Reset 键,然后选择1(从Flash中启动),回车,进入g-bios命令行。

5.4        启动MaxWit Linux
如前所述,但为了方便起见,我们先用TFTP + NFS方式启动Linux。
在g-bios命令行下,输入:
# boot –t zImage –n
【说明】
        -t [filename]:用tftp方式下载指定的kernel image
        -n [nfs_server:/nfs/path/]: 用NFS方式mout rootfs。也可以加上参数,如:
“-n 192.168.0.111:/path/to/nfs”。
        boot程序具有记录功能,即,能记住用户输入的参数,换句话说,再次输入boot时不再需要输入参数了,除非你想重设参数

现在看到“maxwit:/# ”的Linux命令行提示符了吗?MaxWit Linux里已经有不少有趣的小东东了 Enjoy yourself now!

论坛徽章:
0
发表于 2008-12-12 18:23 |显示全部楼层
这个文档可能有疏漏的地方,但实际的操作步骤我们已测过多遍,所以一定能跑起来,若有任何疑问,可以在ChinaUnix的MaxWit版块上发贴讨论,或直接给我们发mail,不怕路远的朋友还可以直接来上海的MaxWit开放实验室face-to-face地交流!

论坛徽章:
0
发表于 2008-12-12 20:45 |显示全部楼层
有点和LFS差不多。

论坛徽章:
0
发表于 2008-12-12 21:01 |显示全部楼层

回复 #1 conke 的帖子

动作很快呀,手册都有了

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
发表于 2008-12-12 22:13 |显示全部楼层
原帖由 qucklay 于 2008-12-12 20:45 发表
有点和LFS差不多。

交叉编译,应该是和CLFS差不多
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP