Linux开发者手册.doc_第1页
Linux开发者手册.doc_第2页
Linux开发者手册.doc_第3页
Linux开发者手册.doc_第4页
Linux开发者手册.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MaxWit Linux开发者手册第1卷MaxWit开放实验室 2009年7月1日目 录1Host端发行版的选择及软件安装41.1关于Linux发行版41.2安装软件包42Host端设置42.1安装NFS Server42.2安装kermit52.3安装TFTP Server53使用MaxWit Linux源码63.1获取MaxWit Linux最新源码63.2MaxWit Linux 源码目录介绍63.3MaxWit Linux生成目录介绍83.4安装Toolchain83.5编译MaxWit Linux基本系统94运行MaxWit Linux(基于实际硬件平台)94.1编译Bootloader94.2编译Linux Kernel104.3烧录images104.4启动MaxWit Linux111 Host端发行版的选择及软件安装1.1 关于Linux发行版目前已测试通过的发行版有(包括64位版):Debian5.0、Ubuntu 9.04、Ubuntu 8.10、Fedora Core 10,推荐使用Debian5.0。若有人有兴趣测试并支持其他Linux发行版,欢迎把patch发给MaxWit项目维护者:Conke H Tiger Y Fleya H 1.2 安装软件包必须安装的软件包:gcc、g+、make、subversion、git-core、tftpd-hpa、tftp-hpa、nfs-kernel-server, qemu64位系统上需要额外安装的软件包:libc6-dev-i386debian或ubuntu系统上可通过如下命令安装有软件包:# apt-get install gcc g+ make subversion git-core注:Ubuntu 用户还需执行以下操作dpkg-reconfigure dash(Dont Install dash as /bin/sh)2 Host端设置2.1 安装NFS Server第一步,安装NFS server软件包# apt-get install nfs-kernel-server第二步,编辑/etc/exports文件,添加下面两行:/root/maxwit/rootfs *(rw,sync,no_root_squash,no_subtree_check)第三步,重启NFS Server:# /etc/init.d/nfs-kernel-server restart第四步,测试NFS Server:# mount -t nfs 11: /root/maxwit/rootfs /mnt/(假定本机IP为11)2.2 安装kermit第一步,从源码安装kermit(若前面已安装kermit,则略过这一步)make linux & make installwget /files/kermrccp v kermrc /.kermrc第二步,打开/.kermrc,修改“set line”一行,确认你所用的串口设备,若用的是USB-to-Serial转接器,可以改成:“set line /dev/ttyUSB0”2.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第二步,更改tftpd下载载目录tftp服务器的默认下载目录是/var/lib/tftpboot,我们要改为 $HOME/maxwit/images。打开/etc/inetd.conf,找到以“tftpd”开头的一行,将其中的/var/lib/tftpboot改为$HOME/maxwit/images:tftpd dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd s $HOME/maxwit/images 第三步,/etc/init.d/tftpd-hpa restart第四步,测试tftp server# cd /tmp# echo hello /images/test# chmod 666 /images/test# tftp 11(假定本机IP为11) get test quit# cat test# rm test /images/test3 使用MaxWit Linux源码3.1 获取MaxWit Linux最新源码在MaxWit开放实验室的开源项目主页()的“Source”页面上可以下载到全部源码。google提供的默认下载方式是:# cd# svn checkout /svn/trunk/ maxwit-read-only注:MaxWit Linux 源码即maxwit-read-only目录必须放到$HOME 目录或其子目录下 。3.2 MaxWit Linux 源码目录介绍|- build / MaxWit Linux building Menu|- build-all - build / 编译build中的所有选项|- core / 公共环境变量和函数 host端设置|- g-bios / BootLoader|- toolchain / cross toolchain (目前支持平台ARM 和MIPS)|- application / 应用程序及库的编译|- host / 主机端环境的搭建 |- kernel / 编译kernel|- document / maxwit linux 使用文档- readme.txtMaxWit Linux Building Menu(如下):MaxWit Linux Building Menu (configured for s3c2440) 1). Build Host Environment 2). Build GNU Toolchain 3). Build Bootloader (g-bios) 4). Build Linux Kernel (linux-) 5). Build Basic System (busybox or coreutils) 6). Build Lib/App (vim,perl) 7). Build Lib/App (alsa,libmad,mpg123,madplay) 8). Build Lib/App (MPlayer) 9). Build Lib/App (jpeg,gif,tiff,png,fbv) 10). Build Lib/App (SDL,DirectFB) 11). Build Lib/App (usbutils,tslib) 12). Build 3D Game (doom) 13). Testing on QEMU 14). Create File System Images (yaffs2,jffs2,cramfs,etc.) x). ExitYour choice1-14?以下是各选项的详解:1). Build Host Environment设置host环境,这是最先要执行的2). Build GNU Toolchain编译一个arm平台cross toolchain,arm-maxwit-linux-gnueabi 如果你的主机平台上已经存在这样一个EABI的toolchain,则此步可略过3). Build Bootloader (g-bios)编译开发板的bootloader,可根据自己开、发平台来选择。目前g-bios支持三星和ATMEL系列的开发板。4). Build Linux Kernel默认编译realview的kernel5). Build Basic System编译一个基本的系统6). Build Lib/App (vim,perl)编译应用程序vim 和 per7).Build Lib/App(mpg123,madplay)编译mpg123,madplay播放器及相关的依赖库8). Build Lib/App (MPlayer)编译Mplay视频播放器9). Build Lib/App (jpeg,gif,tiff,png,fbv)编译看图软件fbv及相关的依赖库10). Build Lib/App (SDL,DirectFB)编译2/3D图形库11). Build Lib/App(usbutils,tslib)编译usb及touchscreen 应用开发库12). Build 3D Game (doom)编译3D游戏Doom 13). Testing on QEMU用qemu测试编译好的系统(注:编译生成的文件系统在$HOME/maxwit/rootfs目录下)14). Create File System Images (yaffs2,jffs2,cramfs,etc.)创建roofsimage,即将$HOME/maxwit/rootfs目录下做成各种文件类型的image,并存放到$HOME/maxwit/images目录中3.3 MaxWit Linux生成目录介绍MaxWit Linux生成文件目录是当前用户的$HOME目录下,即$HOME/maxwit|- build /源码包编译的地方|- images /存放各种image(kernel image、 bootload image、rootfs image)|- rootfs /根文件系统|- sysroot /cross toolchain - utils /编译过程中所需的工具3.4 安装Toolchain第一步,打开/maxwit-read-only/core/bmw_base,编辑“export TARGET_SOC=.”这一行,更改你的目标SOC,若不确定,就用默认值J第二步,cd /maxwit-read-only,执行: rootfleya-laptop:/dev-maxwit# ./buildMaxWit Linux Building Menu (configured for s3c2440) 1). Build Host Environment 2). Build GNU Toolchain 3). Build Bootloader (g-bios) 4). Build Linux Kernel (linux-) 5). Build Basic System (busybox or coreutils) 6). Build Lib/App (vim,perl) 7). Build Lib/App (alsa,libmad,mpg123,madplay) 8). Build Lib/App (MPlayer) 9). Build Lib/App (jpeg,gif,tiff,png,fbv) 10). Build Lib/App (SDL,DirectFB) 11). Build Lib/App (usbutils,tslib) 12). Build 3D Game (doom) 13). Testing on QEMU 14). Create File System Images (yaffs2,jffs2,cramfs,etc.) x). ExitYour choice1-14? 先选择1,再选择“2”,回车。这个过程比较漫长,不过在推荐的系统上一定能过,因为已测过不知多少次了J3.5 编译MaxWit Linux基本系统# cd /maxwit-read-only# ./build选择5 Build Linux System Core 至少要编译“Basic System”,这样一个基本的嵌入式Linux系统就能跑起来,但想要加入更丰富的软件,还要继续编译“Libraries”、“Applications”和“Game”等其他模块(第一次执行时,脚本会自动下载所需的第三方源码包。)再依次选择4、13,看到小企鹅和console了吗?尽情玩吧,目前MaxWit Linux里已经有不少有趣的小东东了。当然,最有趣也更重要的是,我们一起参与开发,一起来完善她!J如果你选择了12,就可以在自己的开发板上玩游戏了。当然如果手头上没有开发板的话也可在模拟器中玩。选择13一样也可以玩3D游戏!4 运行MaxWit Linux(基于实际硬件平台)4.1 编译Bootloader这里,我们使用g-bios作为MaxWit Linux的bootloader,当然,你也可以使用其他的bootloader,但我们认为g-bios更强、更方便,可以提高整个工作效率。BTW,我们以ATMEL AT91SAM9261为示例硬件平台,你也可以使用S3C24XX或其他平台。另外,为了简化,目前的这个文档只介绍NFS root方式启动,当然,Native方式(直接从Flash启动)也支持得很好,你可以自己试试。第一步,配置# cd /maxwit-read-only/g-bios# ./configurePlatform 选择AT91SAM9261第二步,编译# make会生成g-bios-th.bin和g-bios-bh.bin并已自动copy到/maxwit/images下,以备后继下载和烧录。(g-bios-th.bin和g-bios-bh.bin分别对应g-bios上半部分和下半部分。)4.2 编译Linux Kernel第一步,解压Linux Kernel# tar jxf linux-2.6.28.tar.bz2# cd linux-2.6.28第二步,配置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/images4.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, 然后点击 “Conn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论