树莓派上使用htpdate同步时间

20150213235854792-0

最近住处的网络由电信换为移动宽带之后,之前一直使用的 Raspberry Pi 树莓派板子上出现系统时间不正确的问题(显示为 1970 年 1 月 1 日),由于树莓派板子上没有 RTC 硬件和电池,因此树莓派上的系统时间重启是保存不了的。

之前设置的是每次开机自动使用 ntpdate 命令从 NTP 服务器上同步时间,但现在每次运行时都提示:

root@XBian:~# ntpdate ntp.sjtu.edu.cn
13 Oct 23:49:01 ntpdate[1484]: no server suitable for synchronization found

同时公司里电信网络环境下这个命令又是完全正常的,移动宽带环境下直接 ping 这个 NTP 服务器也是通的,因此估计就是移动宽带直接把 NTP 给封了。

在谴责移动的同时只能另想办法,还好网上已经有人想到这种应对 NTP 被防火墙封掉类似的需求了,开源的 htpdate 命令直接使用 HTTP 协议(这个是不可能封的了)来进行系统时间同步,项目主页在这里:

阅读全文

在树莓派上安装Google Coder

升级软件包

一个 pacman 命令就可以升级整个系统。花费的时间取决于系统有多老。这个命令会同步非本地(local)软件仓库并升级系统的软件包:

提示:确保make以及gcc软件包已安装,否则后面安装google coder会失败。

安装nodejs

转到/home目录下,从github上获得最新版的google coder.

# git clone git://github.com/googlecreativelab/coder
# cd coder/coder-base
# npm install
# cd coder-apps
# ./install_common.sh

运行Google Coder

# cd coder/coder-base
# npm start

打开google coder

阅读全文

用树莓派实现网络批量自动安装CentOS

一个让网络安装centos更轻松的项目。

使用树莓派 + Archlinux + tftp + dhcp + vsftp 来实现.
你只需要做的事就是搞一个ks.cfg, 放到指定的位置, 然后带着树莓派和USB供电线去机房就OK了.

下载地址
(含centos5.3安装程序, 密码请修改ks.cfg文件, 大小: 5.85G)
http://kuai.xunlei.com/d/ikrmAgI6GgCfDUtSbbe
(纯净版, 即不含/srv/ftp/iso目录下的安装镜像, 大小: 529.1M)
http://kuai.xunlei.com/d/ikrmAgKbGgAPFUtS6e4

简要安装说明
解压后是一个.img文件, 使用dd拷到你的SD卡上即可, 上电即可使用
如果你下载的是纯净版, 你还需要使用类似gparted的软件调整下分区大小, 以便有足够的空间可以在/srv/ftp/iso目录下面放安装镜像的解压缩的文件
用户名和密码都是保持默认的root/root

阅读全文

自定义树莓派的显示分辨率

树莓派一般可以自动检测目标设备的分辨率。
但对于部分设备,尤其是HDMI-VGA转换器,分辨率可能会明显不对(过大或过小)。
这时就需要给树莓派指定一个分辨率。

更改树莓派前面那个FAT32分区里的config.txt,修改或加入以下项目:

hdmi_group=****
hdmi_mode=****
hdmi_ignore_edid=0xa5000080

hdmi_group和hdmi_mode的值对应想要调整的分辨率。见文后。

另外一项“hdmi_ignore_edid”,是命令树莓派不检测HDMI设备的任何信息,只按照我们指定的分辨率输出。
如果不加,树莓派可能仍会“自作聪明”的检测HDMI设备的分辨率,结果造成我们设置的分辨率无效。
阅读全文

HDMI-VGA转换器黑屏的排障方案

这个配置提供了HDMI的所有故障排除用的保守设置。
请将SD卡插入电脑,将这些内容存为config.txt。(原来的config.txt可以备份一下。)

hdmi_force_hotplug=1
config_hdmi_boost=4
hdmi_group=2
hdmi_mode=9
hdmi_drive=2
hdmi_ignore_edid=0xa5000080
disable_overscan=1

解释:
hdmi_force_hotplug:强制使用HDMI输出(强行认为HDMI口已经插入了设备)
config_hdmi_boost:HDMI信号增强。
hdmi_group、hdmi_mode:决定分辨率。group=2, mode=9 代表800×600 @ 60Hz。
hdmi_drive:强制音频输出到HDMI口(注意,仅适用于带音频的HDMI-VGA转换器!!如果想让音频从模拟输出,则去掉此项!!)
hdmi_ignore_edid:强行按hdmi_group和hdmi_mode规定的分辨率输出。不检测显示器自身的分辨率。
disable_overscan:强行禁止保留黑边功能。

这个文件会命令树莓派:强制使用800×600分辨率,60Hz刷新率,并强制从HDMI输出。
请先尝试这样开机。如果开机能成功,就把hdmi_group和hdmi_mode,更改成自己显示器的分辨率即可。
所有可用的分辨率列表请见:自定义树莓派的显示分辨率
如果不行,请更改hdmi_mode的值更换以下其他分辨率:

hdmi_mode=4    640x480   60Hz
hdmi_mode=9    800x600   60Hz
hdmi_mode=16   1024x768  60Hz
hdmi_mode=17   1024x768  70Hz
hdmi_mode=23   1280x768  60Hz