本帖最后由 sunnyfun 于 2023-12-17 20:53 编辑
L1c
前言
优酷路由宝以前也算很火的一款路由器,美观大方,又能用闲置带宽赚钱,可以算是路由器0元购的鼻祖。当然现在物是人非,优酷被阿里收购后,收益直线下降,每天几百积分的变为了个位数,让人火大,刷了发挥更大的余热吧,于是在几天的折腾后,便有了下文:
警告
刷机有风险,甚至可能导致直接变转,在进行下面的操作前,请确保有基本的Linux操作知识,对于刷机产生的后果,本人改不负责
刷机,安装OpenWrt
优酷路由宝L1c刷机安装HomeAssistant的前提是需要刷不死breed,然后安装OpenWrt(开源的无线路由Linux),然后就能装HomeAssistant了。刷不死breed和安装OpenWrt不是本文的重点,可以在网上搜 满血复活,优酷路由宝L1c轻松刷机教程 这篇文章(优酷路由宝L1和L1c是一类东西,所以有L1的也可以试一下)。有一点需要提醒的是路由宝官方系统上传文件要用SCP协议,有点坑。另外目前OpenWrt的Release 18.06.4里面的软件版本太低,安装Home Assistant(0.95.x,2023年更新:使用这个版本:0.103.6)的话需要自己下载相关依赖的源码,自行打补丁、编译,然后遇到各种头大问题,所以要刷19.x版本的固件,官方下载地址:
https://downloads.openwrt.org/releases/19.07.10/targets/ramips/mt7620/openwrt-19.07.10-ramips-mt7620-youku-yk1-squashfs-sysupgrade.bin
注意刷完breed就可以装OpenWrt了,不要装成其他的。
做一些基础调整
执行下面shell脚本:
# Snapshot版本默认wifi为关闭状态,需要把网线插在LAN口(黄色口),ssh登陆([email protected])后,通过命令打开
# /sbin/wifi config #wifi配置丢的时候用它救回来
sed -i "s/option disabled '1'/option disabled '0'/g" /etc/config/wireless
/sbin/wifi up
稍等一会,应该能连到名为OpenWrt的wifi上(无密码)
网线插到WAN口,连到公网的猫
执行下面shell脚本:
opkg update
opkg install luci luci-i18n-base-zh-cn #等到出现Configuring luci.后,就可以使用http://192.168.1.1连到luci了
# 开始扩容根目录,安装extroot,将根目录移到内置的tf卡
# 下载有点慢,如果下载报错的话多试几次
opkg install block-mount kmod-fs-ext4 kmod-usb-storage e2fsprogs kmod-usb-ohci kmod-usb-uhci fdisk
# ----------------------------------
# 重新定义挂载
export DEVICE="$(awk -e '/\s\/overlay\s/{print $1}' /etc/mtab)"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set fstab.rwm.device="${DEVICE}"
uci set fstab.rwm.target="/rwm"
uci commit fstab
重新分区格式化内置tf卡,使用ext4分区,分区操作过程略
分区好了执行下面shell脚本:
# 这里格式化tf卡第一个分区
mkfs.ext4 /dev/mmcblk0p1
# ----------------------------------
# tf卡第一个分区挂载为overlay格式(不能乱改格式)
export DEVICE="/dev/mmcblk0p1"
eval $(block info "${DEVICE}" | grep -o -e "UUID=\S*")
uci -q delete fstab.overlay
uci set fstab.overlay="mount"
uci set fstab.overlay.uuid="${UUID}"
uci set fstab.overlay.target="/overlay"
uci commit fstab
# 启动模块增加tf支撑
cat << EOF > /etc/modules-boot.d/mmc
mmc_core
mmc_block
sdhci
mtk_sd
EOF
# 克隆系统到tf卡
mount /dev/mmcblk0p1 /mnt
cp -a -f /overlay/. /mnt
umount /mnt
# 重启系统,等重启完,正常的话根目录已经在tf卡上,扩容完毕
reboot
等待系统重启,重新ssh后看下效果:
如果看到有类似这样的内容,说明扩容成功:
overlayfs:/overlay 1.8G 10.4M 1.7G 1% /
把 ffi.h 和 ffitarget.h 上传到 /usr/include 目录,(必须要放)见附件:
执行下面shell脚本:
# 现在没有swap分区,这里做一个文件式的(当然也可以划一个专用的分区出来,可自行操作)
dd if=/dev/zero of=/swap bs=1M count=100
mkswap /swap
uci -q delete fstab.swap
uci set fstab.swap="swap"
uci set fstab.swap.device="/swap"
uci commit fstab
service fstab boot
# 默认opkg update后的结果放在内存中,重启后会丢失,改成放在tf卡
sed -i "s/lists_dir ext \/var\/opkg-lists/lists_dir ext \/usr\/lib\/opkg-lists/g" /etc/opkg.conf
# 安装python3以及依赖,如果下载报错的话多试几次,要耐心...
opkg update
opkg install python3 python3-pip python3-dev gcc libopenssl libffi python3-pyopenssl python3-openssl \
python3-bcrypt python3-aiohttp python3-aiohttp-cors python3-sqlalchemy make \
python3-cgi bash shadow-su shadow-useradd shadow-groupadd sudo
继续安装前的准备工作:
# 在这之前把 ffi.h 和 ffitarget.h 上传到 /usr/include 目录
ln -s /usr/lib/libffi.so.6 /usr/lib/libffi.so
mkdir /home
groupadd gpio
groupadd i2c
useradd -rm homeassistant -G dialout,gpio,i2c
# 调整各种文件夹
mkdir /temp
mkdir /temp/var
ln -s /temp/var /var
mkdir /temp/.cache
rm -rf /tmp/.cache
ln -s /temp/.cache /tmp/.cache
mkdir -p /var/log/homeassistant
#chown -R homeassistant:homeassistant /var/log/homeassistant
cat << EOF > ~/.bash_profile
export TMPDIR=/temp
export PIP_LOG_FILE=/temp/pip-log.txt
export PIP_DOWNLOAD_CACHE=/temp/.cache
EOF
source ~/.bash_profile
# 换成国内源
mkdir /root/.pip
cat << EOF > ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF
pip3 install --upgrade pip
python3 -m pip install wheel
终于开始安装 homeassistant 了
这步要花很长时间
pip3 install homeassistant==0.103.6
如果啥都没报错,就可以试下启动hass了,第一次启动和登录时还会自己下载、编译一些包,要等一段时间。
启动期间可以再开个命令行界面 tail -f /temp/pip-log.txt 看下有没有报错之类
(2023年更新:由于某些依赖包版本比较老,pip-log.txt 中应该会看到几个依赖版本的问题,根据报错日志,自行使用pip手动安装低版本的依赖,最终还是可以安装上)
执行这个命令启动hass:
能正常启动并打开页面的话(访问http://路由ip:8123/),上传hass-daemon文件到 /etc/init.d 目录
hass-daemon
(1.18 KB, 下载次数: 7)
执行下面脚本:
chmod 755 /etc/init.d/hass-daemon
# 配置启动项
service hass-daemon enable
service hass-daemon start
reboot
等待重启完毕,就可以愉快的使用hass了,页面反应还挺快
最后提一句,安装这个需要系统和homeassistant版本高度匹配(现在是OpenWrt Snapshot 19.x 配 homeassistant 0.98.x,2023年更新:是OpenWrt 19.07.10 配 homeassistant 0.103.6),所以这种教程都是有时效性的,乘现在能匹配,想刷的赶紧刷起来吧。
这论坛咋有bug,老丢文章内容...
|