分类: LINUX
2009-11-11 15:54:59
1.添加软件源到apt包管理器
编辑/etc/apt/sources.list
最后面增加下面一行:
deb
http://scratchbox.org/debian/
stable main
2.更新软件源
sudo
apt-get update
3.安装软件包
sudo apt-get install scratchbox-core
scratchbox-libs
scratchbox-devkit-cputransp
scratchbox-devkit-debian
sudo
apt-get install scratchbox-devkit-perl
scratchbox-toolchain-cs2007q3-glibc2.5-arm7
4.禁止Ubuntu
8.04以后的vdso功能
编辑/etc/sysctl.conf,
最后面增加下面两行:
vm.vdso_enabled
= 0
vm.mmap_min_addr = 4096
使结果生效,运行
sudo
sysctl -p
为了长期生效,编辑/etc/rc.local,在最后一行(exit
0)前面, 增加:sysctl
-p
5.增加用户到scratchbox中
假设你的登录用户名是your_user
sudo
/scratchbox/sbin/sbox_adduser
your_user
6.添加用户到sbox组中
编辑/etc/group文件,下面一行:
sbox:x:1001:
改为:
sbox:x:1001:your_name
7.退出当前用户,用your_user重新登陆,确认your_user用户已经在sbox组里面,运行
groups
可以看到最后的组名:sbox
8.进入scratchbox环境,运行:
/scrathbox/login
9.配置编译目标
运行:
sb-menu
出现交互式配置菜单,选择:
setup
-> new --> 输入target名字:arm-dev
选择编译器:
cs2007q3-glibc2.5-arm7
选择cputransp:
选择:Done
选择:qemu-arm-cvs-m
Do
you wish extract a rootstrap on the target ? --> no
Do you wish
install files to the target ? --> no
Do you wish to select the
target --> yes
此时sb-menu会退出。
重新运行:
sb-menu
出现交互式配置菜单,选择:
install
选择目标平台:arm-dev -->
OK
选择要安装的文件(空格反选),默认选择
-->
ok
exit
参照网址:scratchbox.org/wiki/ScratchboxTargetConfiguration
10.编译测试
编辑
hello.c
编译,生成 hello
可执行程序,运行:
gcc
hello.c -o hello
测试文件类型,确认程序是arm平台可执行的,运行:
file
hello
可以看到文件的运行平台为
ARM
11.用透明虚拟机运行程序
打入:
./hello
可以看到程序运行后的输出,
12.下载到开发板上运行
主机环境下,新打开终端,运行(确认不是在scratchbox提示下):
cd
/scratchbox/users/your_user/home/your_user/
python
-m
CGIHTTPServer
上述命令在本机的8000端口建立一个webserver
开发板可以通过wget命令下载可执行程序,运行:
wget
http://主机IP:8000/hello
hello
文件下载到开发板当前目录,但不是可执行的。运行:
chmod
a+x hello
把hello程序变为可执行程序,运行:
./hello
可以在开发板上看到程序的运行输出结果。