lupino 发表于 2013-1-12 11:03:50

搭建 raspberry pi (raspbian) 开发环境

本帖最后由 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 static/image/common/back.gif
求问,接下来,是不是可以把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 static/image/common/back.gif
不能,没有内核,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 static/image/common/back.gif
请问楼主编译nodejs成功了吗?

nginx 和 nodejs 都编译成功。 只有 mongodb 没成功,它不支持 ARM

geekr 发表于 2013-1-16 20:13:33

本帖最后由 geekr 于 2013-1-16 20:15 编辑

lupino 发表于 2013-1-16 20:02 static/image/common/back.gif
nginx 和 nodejs 都编译成功。 只有 mongodb 没成功,它不支持 ARM

等我的新板回来也试试。
不过1G内存跑mongodb都感觉吃力,即使能编译都不实用吧,不如找其他解决方案。
有空咱多交流,我对在rpi上搭建web服务器类的应用感兴趣

lupino 发表于 2013-1-16 20:28:11

geekr 发表于 2013-1-16 20:13 static/image/common/back.gif
等我的新板回来也试试。
不过1G内存跑mongodb都感觉吃力,即使能编译都不实用吧,不如找其他解决方案。 ...

所以我才换成 redis-server

geekr 发表于 2013-1-16 20:32:52

lupino 发表于 2013-1-16 20:28 static/image/common/back.gif
所以我才换成 redis-server

redis不错,存储kv型数据还好,如果是关系型数据就得找个sql数据库了,nosql都很吃内存
页: [1] 2
查看完整版本: 搭建 raspberry pi (raspbian) 开发环境