read

Homebridge on Openwrt

Homebridge是一个基于Nodejs开发的软件,能够让未经过苹果认证的智能设备在Homekit里可以使用。

因为不想在弄一台树莓派,所以打算直接把Homebridge安装到自己的WRT1900ACS上,直接安装node之后npm安装失败,问了下谷哥,可能是因为官方发布的openwrt的编译toolchain是musl,而我们需要的环境是glibc,所以只好自己编译一份Openwrt。

编译Openwrt

编译环境

Linux环境,虚拟机可行,直接装Linux可行,我直接开了一台Ubuntu16.06的VPS,反正编译过程中有好多东西可能要翻墙,不如直接在VPS上跑。

对了,确保磁盘空间足够(开了个10G的VPS反正是悲剧了),目前我正在看第三场电影。

sudo apt-get update  
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext unzip subversion libncurses5-dev ncurses-term zlib1g-dev gawk git-core libz-dev libssl-dev  

准备编译内容

git clone git://github.com/openwrt/openwrt.git  
cd openwrt  
./scripts/feeds update -a
./scripts/feeds install -a

替换这个压缩包里的的内容到 openwrt/feeds,这个包做了两个事,一个是补上了缺失的avahi库的dev版本,另一个是把Node.js的版本提到6.9.1。

设置编译

make menuconfig  

配置的内容如下

Advanced configuration options (for developers)  ---> //记得在第一层菜单的时候先Y在进来  
      Toolchain Options  --->
         C Library implementation (Use musl)  ---> 
            更改为glibc
Base system  --->  
   block-mount、ca-certificates
Development --->  
    [M]gcc、[M]make
Kernel modules  --->  
    Filesystems  ---> 
       kmod-fs-ext4、kmod-fs-exfat、kmod-fs-ntfs、kmod-fs-vfat
    USB Support  --->
       kmod-usb-storage-extras、kmod-usb2、kmod-usb3
Languages  --->  
    Node.js  --->
        [M]node
    Python  --->
        [M]python
Libraries  --->  
   libavahi-compat-libdnssd-dev
Network  --->  
    mosquitto
LuCi   --->  
    1. Collections  --->
       luci

设置完选择save,保存成.config文件,之后退出

开始编译

make  

去喝个咖啡或者看场电影吧,或者跟我一样,来写笔记Blog...

Blog Logo

Westy Hu

Lousy Programmer, Lazy Blogger, OKay Product Designer


Published

Image

鴕鳥誌

Curiosity is what makes this world better.

Back to Overview