在李先静大牛的博客上看到他发布了一个embedded-lfs的工具,用来编一个嵌入式环境下使用的linux系统的,我正好需要一个这样的工具来替换复杂而不够灵活的openembedded,于是自己试了一下。 不编不知道,在ubuntu下编译还是需要一些修改的,所以我也折腾的2个晚上,现将我的一些小心得列在这里供其他有兴趣的人参考。 我只编了openmoko的directfb方式,其他的还没试过。 1.因为我的ubuntu(8.04)已经是用作开发用的系统(用于kernel和driver)了,所以一般的开发工具包都有安装(gcc,autotool等),但是还有一些包也需要安装libtool,gettext,libglib2.0-dev,libgtk-directfb-2.0-dev,libgtk2.0-dev,这些缺一不可。 2.fontconfig 配置要加上 –with-freetype-config=$(PREFIX)/bin/freetype-config,要不会说找不到freetype 3.可能我的ubuntu比较旧,glib-mkenums这个工具也比较旧缺少一些功能,编译atk的时候会出错,可以等glib编译完成以后 进入glib/arm/gobject,然后 sudo cp glib-mkenums /usr/bin就可以了 4.建议用root帐号编译,atk会写/usr/bin的目录,晕 5.如果编译gtk的时候遇到no: command not found的错误,可以去看下gtk源码目录下的arm/demo目录下的 Makefile,把那句GDK_PIXBUF_CSOURCE=no改成GDK_PIXBUF_CSOURCE=gdk-pixbuf- csource,这个貌似是我的系统没有安装好某个包,使得它没有找到这个工具,其实它是存在的,不知道其他ubuntu会不会也有这个问题。 6.embedded-lfs不支持自动从上次出错的包往下编,不过它为每个包都提供一个start目标,比如编译到freetype出错了,就可以make -f Makefile_xxxx freetype_start就可以从freetype接着往下编了。 编译完成后全部文件一共700多M,比POKY的10G小多。。。当然还缺少一些启动脚本之类的东西,不知道以后会不会继续完善,我个人很喜欢这个小工具:) 最后对embeded-lfs提一个小建议:是不是可以搞一个work目录,把编译的临时文件都放在里面,全部放在当前目录下有点乱。
Posts Tagged ‘ubuntu’
记录一下我在UBUNTU下编译POKY的一些TIPS,防止以后再编的时候忘掉,又要重新GOOGLE。 1.解开pinky的包 2.进入pinky目录输入 source poky-init-build-env 3.修改build/conf/local.conf ,主要是修改MACHINE,我用samsung的ARM,所以选了fic-gta01,也就是OPENMOKO的平台 4.决定编译什么样子的目标,poky 可以编译好多种image,按照手册上的描述有这些: poky-image-minimal – A small image, just enough to allow a device to boot, poky-image-base – console only image with full support of target device hardware, poky-image-core – X11 image with simple apps like terminal, editor and file manager poky-image-sato – X11 image with Sato theme and [...]
可以上网上银行,支付宝,就是有点卡,不知道为什么,另外还有些小bug,不过我已经非常满意了,先装好wine在ubuntu下面就是:sudo apt-get install wine cabextract 然后直接下载安装ie4linux就可以了,cd ~ wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz tar zxvf ies4linux-latest.tar.gz cd ies4linux-* ./ies4linux 有个图形界面跳出来,选择参数,我用的是英文的locate,另外建议在Advanced 里面的wget参数行中加上"-t 3 -T 30"以防止下载经常中断的情况发生,
因为要在公司里多台机子上装UBUNTU,又不想每次都把同样要安装的包从外网下载一遍,所以就像利用已经装好的一台PC上存下来的包做个简单的局域网用的库,这样以后每重新装一台都可以从这个库里来更新了,而且这些新的PC都不需要连接外网了。 今 天把deb服务器大概研究了下,这里我只谈HTTP访问方式的服务器,它其实就是标准的HTTP服务,用一些特殊的目录名把所有的包进行分类,比如我用的 ubuntu是7.04的版本,它运行在i386的平台上,这样对于main的包就是在dists/feisty/main/binary-i386/下 面,不过不是把deb包直接扔到这个目录就可以了,这样的话apt-get是不知道的,apt-get每次只会去读这个目录下的一个 Packages.gz文件,这个文件里包含了所有包的信息,apt-get就可以通过它找到所有的包并且自动下载安装了。 下面的问题就是如何生成这个Packages.gz文件,我看了网上一些非UBUNTU镜像的库,找到一个sh文件,我稍微作了一些修改,如下(update.sh) #!/bin/bash # Quick Package Updater # John Dong (Fixed by Vinx) #Licensed under the GPL. DISTS=“feisty“ SECTIONS=“main“ BINARY_ARCH=“binary-i386“ for a in $DISTS; do for b in $SECTIONS; do for c in $BINARY_ARCH; do if [ -d dists/$a/$b/$c ]; then echo “Updating dists/$a/$b/$c/Packages“ dpkg-scanpackages /var/cache/apt/archives /dev/null | gzip -9 > dists/$a/$b/$c/Packages.gz fi done done done 其中dpkg-scanpackages 就是搜索指定目录下的deb包并且把包的信息写入Packages.gz,这里我搜索当前系统安装过的包,并且把所有包都归入了i386的main中,比较方便,呵呵。 有了脚本我们就可以开始建立局域网的库了,首先安装一个apache2 sudo apt-get install apache2 在浏览器里输入localhost看apache是否正常启动了。 进入/var/www,分别建立 dists/feisty/main/binary-i386/目录,注意目录的owner要改成www-data [...]
今天在MSN上(哦,应该说是GAIM上)碰到了可爱的WSW,碰到我的第一句话就是你也用UBUNTU阿,晕,原来她在法国那边都是用它的,貌似欧洲的大学里大部分都是用LINUX的,真是开源的天堂,接着她就开始给我介绍好玩的东东,首先是beryl,先给我看了段视频,超炫的桌面3D效果看得我痒痒的,于是get一个下来,果然很好玩,看来是不需要装vista了,然后给了我一个ie4linux的东东,不过后来没装起来,明天有空在研究,在linux里跑ie主要是为了那些只能在IE下浏览的国内网站和网上银行等等,这里骂一句国内那些做网站的家伙:真是没有责任感 聊了会,她又了介绍AMAROK给我,我装了一下,是KDE下的应用,一个利用数据库来存放所有MP3信息的播放软件,对MP3的搜索和分类管理功能确实很强,界面也不错,不过我还是喜欢小一点的东东,比如xmms,虽然这个AMAROK也让人爱不释手, 最后又推荐PIDGIN给我,我的UBUNTU源里还没有它的DEB包,我下了源码,明天编译下来看看。 最后再次感谢WSW MM,并建议大家去看看那个视频,真的是好酷,呵呵,
点击此处


