读书人

替freescale MX28添加新包

发布时间: 2012-08-22 09:50:35 作者: rapoo

为freescale MX28添加新包
1.创建项目

$ mkdir hello-1.0

$ cd hello-1.0

$ vi hello.c

?

#include <stdio.h>int main(){        int i;        printf("hello world\n");        for ( i = 0; i < 10 ; i++ ) {                printf("loop count = %d\n", i);        }        printf("hello this is the end\n");        return 0;}

?

$ vi Makefile

EXEC = helloOBJS = hello.oall: $(EXEC)$(EXEC): $(OBJS)        $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS$(LDLIBS_$@))romfs:        $(ROMFSINST) /bin/$(EXEC)clean:        rm -f $(EXEC) *.elf *.gdb *.o

$ make clean

$ cd ..

$ tar czvf hello-1.0.tar.gz hello-1.0

$ mv hello-1.0.tar.gz /opt/freescale/pkgs/

$ cd ~/ltib/

$ mkdir dist/lfs-5.1/hello

$ cp dist/lfs-5.1/template/template.spec?dist/lfs-5.1/hello/hello.spec

$ vi?dist/lfs-5.1/hello/hello.spec

%define pfx /opt/freescale/rootfs/%{_target_cpu}Summary         : hello print demoName            : helloVersion         : 1.0Release         : 1License         : BSDVendor          : lhtPackager        : xxxxGroup           : Applications/CommunicationsURL             : http://www.test.comSource          : %{name}-%{version}.tar.gzBuildRoot       : %{_tmppath}/%{name}Prefix          : %{pfx}%Description%{summary}%Prep%setup%Buildmake%Installrm -rf $RPM_BUILD_ROOTmkdir -p $RPM_BUILD_ROOT/%{pfx}/usr/bincp hello $RPM_BUILD_ROOT/%{pfx}/usr/bin/%Cleanrm -rf $RPM_BUILD_ROOT%Files%defattr(-,root,root)%{pfx}/*

?

2 制作测试包

$ ./ltib -m prep -p hello.spec

$ ./ltib -m scbuild -p hello.spec

$ ./ltib -m scinstall -p hello.spec

$ ./ltib -m scdeploy -p hello.spec

如果一切正常,则hello可执行程序就在rootfs/usr/bin目录了。

?

3 将hello包添加到ltib配置环境

$ vi ~/ltib/config/userspace/packages.lkc #添加下面内容

?

config PKG_HELLO    bool "hello"

?

$ vi ~/ltib/config/userspace/pkg_map #添加下面的内容

?

PKG_HELLO = hello

?

4 配置并使用

$ ./ltib -c

根据提示进入package list选项,选择[X] hello (NEW)

然后重新编译即可

注意!如果提示rpm/BUILD/hello-1.0目录已经存在,就手动删除该目录重新执行./ltib就可以编译了。

?

?

读书人网 >移动开发

热点推荐