树莓派论坛

 找回密码
 立即注册

[系统与软件] 搭建 raspberry pi (raspbian) 开发环境

lupino 发表于 2013-1-12 11:03:50 | 显示全部楼层 |阅读模式
本帖最后由 lupino 于 2013-1-12 11:05 编辑

这几天想在 rpi 上建立 nginx + nodejs + redis-server 的服务,而我想用 最新版的 nginx 和 nodejs 想来得自己编译。

编译软件有两种方式,一种直接在 rpi 上编译,另外在自己的笔记本上编译,然后 cp 到 rpi

笔记本用的是 64 位 的 Ubuntu 12.04 所以直接在 笔记本上建立 chroot 的 环境。

1、安装 QEMU

因为使用的是不同的硬件架构,所以需要一个模拟器,我选择 QEMU :

sudo apt-get install qemu-user-static

2、建立 chroot 环境

建立 chroot 环境(使用 using qemu-debootstrap )并挂载 所需要的 文件系统。

sudo apt-get install debootstrap
sudo qemu-debootstrap --arch armhf wheezy chroot-raspbian-armhf http://mirror.nus.edu.sg/raspbian/raspbian
sudo mount -t proc proc chroot-raspbian-armhf/proc
sudo mount -t sysfs sysfs chroot-raspbian-armhf/sys
sudo mount -o bind /dev chroot-raspbian-armhf/dev
记住这里只建立最基本的系统,你必须自己配置所有的东西,包括建立用户,安装软件等

3、chroot

现在你可已经入 chroot 环境。

sudo LC_ALL=C chroot chroot-raspbian-armhf
4、一些简单的配置

4.1、建立用户

useradd -m -s /bin/bash <username>
4.2、配置源 和 公钥

echo "deb http://mirror.nus.edu.sg/raspbian/raspbian wheezy main" >> /etc/apt/sources.list
wget http://archive.raspbian.org/raspbian.public.key -O - | apt-key add -
apt-get update
4.3、VideCoreIV userspace libs
You may need to fetch the libraries for VideoCoreIV for hf, these live here: https://github.com/raspberrypi/firmware/tree/master/hardfp

5、重启电脑

重新 挂载 文件系统

sudo mount -t proc proc chroot-raspbian-armhf/proc
sudo mount -t sysfs sysfs chroot-raspbian-armhf/sys
sudo mount -o bind /dev chroot-raspbian-armhf/dev
参考: http://superpiadventures.com/2012/07/development-environment/
转载: http://lupino.me/post/2013-01-12/40047510510
树老大 发表于 2013-1-12 12:22:21 | 显示全部楼层
很不错。
yum2014 发表于 2013-1-13 12:32:15 | 显示全部楼层
求问,接下来,是不是可以把chroot-raspbian-armhf目录的东西全cp到sd卡上??这样的话,卡上的os能启动起来么?
lupino  楼主| 发表于 2013-1-13 23:09:19 | 显示全部楼层
本帖最后由 lupino 于 2013-1-13 23:22 编辑
yum2014 发表于 2013-1-13 12:32
求问,接下来,是不是可以把chroot-raspbian-armhf目录的东西全cp到sd卡上??这样的话,卡上的os能启动起来 ...


不能,没有内核,bootloader,videocore,etc 里面的配置,是没办法启动的。
内核,bootloader,videocore 到 https://github.com/raspberrypi/firmware 下载
其他 apt-get install 下,装上就可。
yum2014 发表于 2013-1-15 00:24:00 | 显示全部楼层
lupino 发表于 2013-1-13 23:09
不能,没有内核,bootloader,videocore,etc 里面的配置,是没办法启动的。
内核,bootloader,video ...

谢谢。入手一个后体验下/这种交叉编译比较爽。能充分利用pc的资源。
geekr 发表于 2013-1-15 15:44:44 | 显示全部楼层
请问楼主编译nodejs成功了吗?
lupino  楼主| 发表于 2013-1-16 20:02:19 | 显示全部楼层
geekr 发表于 2013-1-15 15:44
请问楼主编译nodejs成功了吗?

nginx 和 nodejs 都编译成功。 只有 mongodb 没成功,它不支持 ARM
geekr 发表于 2013-1-16 20:13:33 | 显示全部楼层
本帖最后由 geekr 于 2013-1-16 20:15 编辑
lupino 发表于 2013-1-16 20:02
nginx 和 nodejs 都编译成功。 只有 mongodb 没成功,它不支持 ARM


等我的新板回来也试试。
不过1G内存跑mongodb都感觉吃力,即使能编译都不实用吧,不如找其他解决方案。
有空咱多交流,我对在rpi上搭建web服务器类的应用感兴趣
lupino  楼主| 发表于 2013-1-16 20:28:11 | 显示全部楼层
geekr 发表于 2013-1-16 20:13
等我的新板回来也试试。
不过1G内存跑mongodb都感觉吃力,即使能编译都不实用吧,不如找其他解决方案。 ...

所以我才换成 redis-server
geekr 发表于 2013-1-16 20:32:52 | 显示全部楼层
lupino 发表于 2013-1-16 20:28
所以我才换成 redis-server

redis不错,存储kv型数据还好,如果是关系型数据就得找个sql数据库了,nosql都很吃内存
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版 | Archiver | 树莓派论坛 ( 粤ICP备15075382号-1 )