cubieboard2入手有快1年时间了,一直没有详细弄过,这次在家里把它重新刷了个server版本,这里详细介绍下刷服务器版本的步骤。
使用的官方的 cb-a20-lubuntu-server-13.06-v1.00.img 文件,由于官方提供的地址已经失效,好不容易找到了一个镜像下载下来,相关资源我都放在百度云盘里了,包括这个镜像文件,下载地址 http://pan.baidu.com/s/1dDmrmE1
刷机
在网盘里下载好所有的文件,然后在window下安装 PhoenixSuit1.0.6.rar 的程序,这个是刷机程序,刷机很简单。
在cb板子USB接口下有个刷机模式按钮,按住并用USB接电脑,这时会提示安装驱动,安装好后,PhoenixSuit 就可以识别到了,然后在“一键刷机”菜单中选择你下载下来的IMG文件,然后点击刷机,会有个安全提示,点击yes就可以了,等待1分钟左右就可以刷完了,提示成功后就可以拔下来接点启动了。
刷好系统后,进入系统
经测试这个系统默认的root密码是123456,一定要修改掉并禁用密码登录,之前我就因为没有注意到这个问题,直接把它挂在公网上几天后发现盒子被别人莫名的登录过了,还把我的ssh的公钥给删掉了,还好这家伙没有修改盒子的密码,于是赶紧重刷系统。
使用 passwd root 修改root密码
然后再 vim /etc/ssh/sshd_config 把 PasswordAuthentication 改成 no,保存
vim ~/.ssh/authorized_keys (没有.ssh目录的话自行创建),然后把自己的公钥加进去
执行 /etc/init.d/ssh restart
接下来就是要固定一下网卡mac地址,否则每次重启后都会分配一个随机的网卡地址
vim /etc/network/interfaces
在最后加入 hwaddress ether aa:aa:aa:aa:aa:aa
后面的网卡地址 aa:aa:aa:aa:aa:aa 换成自己想要的
然后执行 ifconfig eth0 down && ifconfig eth0 up
修改下时区(默认是0)
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步下系统时间
ntpdate 0.pool.ntp.org
设置时区,否则后面运行部分程序会出问题
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales
调整分区,将2G调整成3.6G
(下载nand-part文件或使用我百度网盘里的 nand-part 文件)
chmod +x nand-part
./nand-part /dev/nand "env 32768" "boot 65536" "rootfs 7536640" "swap 0"
reboot
重启后执行
resize2fs -f /dev/nandd
(此处参考的是 https://gist.github.com/dkilcy/7123580 )
df -lh
后可以看到空间由原来的2G增到了3.6G
调整前
/dev/nandd 2.0G 1.1G 871M 55% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 91M 176K 91M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 454M 0 454M 0% /run/shm
none 100M 0 100M 0% /run/user
调整后
/dev/nandd 3.6G 1.1G 2.4G 32% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 91M 172K 91M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 454M 0 454M 0% /run/shm
none 100M 0 100M 0% /run/user
系统默认安装了apache,由于cb板子性能有限,我建议使用nginx而不是apache,所以我把apache给卸载了
/etc/init.d/apache2 stop
apt-get autoremove apache2
在安装nginx前,先升级下apt包
apt-get update
apt-get upgrade
安装nginx
apt-get install nginx
修改下配置 vim /etc/nginx/nginx.conf 由于cb板子只有双核,所以把进程数改小点
worker_processes 2;
安装好后
/etc/init.d/nginx start
启动,打开浏览器访问试试
系统已经安装好了php但是并没有安装php-fpm,所以现在安装下php-fpm
安装好后,启动php-fpm
/etc/init.d/php5-fpm start
修改nginx配置
vi /etc/nginx/sites-available/default
修改默认目录到 root /var/www/;
加入
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
并在index配置中加入 index.php
index index.html index.htm index.php;
然后重启nginx
/etc/init.d/nginx reload
重启后,vim /var/root/test.php 写入
保存。打开地址栏试试
接下来开启 MySQL
使用 /etc/init.d/mysql start 后会发现提示如下失败错误:
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
start: Job failed to start
这个原因主要是mysql的/var/lib/mysql目录权限的问题
chown -R mysql:mysql /var/lib/mysql
后重新执行 /etc/init.d/mysql start 就可以启动了
安装 nodejs
我先前使用 apt-get 安装 nodejs 后发现版本太低,所以决定在官网上下载最新版本进行编译安装。
由于这个系统没有安装gcc,所以先安装一个gcc
wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
tar zxvf node-v0.10.26.tar.gz
cd node-v0.10.26
./configure --without-snapshot
make
make install
PS:这个CPU编译个nodejs好慢,所以没耐心的话,建议丢在 screen 里编译,然后爱干嘛干嘛去,呵呵。
这里可以普及下 screen 的用法:
先 apt-get install screen 安装 screen
使用 screen -S nodejs 进入一个新窗口(其中nodejs是名称),如果你需要退出当前屏幕,你可以同时按下 control + a ,然后再同时按 controll + d 就可以退出来了
以后你可以使用 screen -ls 查看当前有的屏幕,比如:
17263.nodejs (04/27/14 20:18:39) (Detached)
1 Socket in /var/run/screen/S-root.
然后就可以通过 screen -r 17263 进入这个屏幕。退出很简单,只要 control + d 就可以了
由于ARM架构的系统无法使用 snapshot ,所以编译时要 –without-snapshot
另外,看到有人成功移植过去,我没试过,可参考 http://blog.163.com/xs_fantasy/blog/static/101560871201322341714377
2014-10-22更新,中文乱码请看 http://www.queyang.com/blog/archives/531 的解决办法