编译安卓版Hi3798M固件

1、准备工作参见《Android解决方案-开发指南.pdf》文档。
2、解压HiSTBAndroidV600R001C00SPC060压缩文件到一个文件夹,本文用android取名指代。
3、解压HiSTBAndroidV600R001C00SPC062压缩文件,并把解压后的文件拷贝覆盖到android下面,然后执行clean.sh脚本。
4、解压HiSTBAndroidV600R001C00SPC063压缩文件,并把解压后的文件拷贝覆盖到android下面,然后执行clean.sh脚本。
5、进入android文件夹,执行:
source build/envsetup.sh
lunch Hi3798MV100-eng
make bigfish 2>&1 | tee bigfish.log
进入漫长的编译过程。

编译过程会遇到如下三个问题:
1、内核刚开始编译时提示几个新配置选择后退出,解决办法是:将device/hisilicon/bigfish/sdk/source/kernel/linux-3.10.y/arch/arm/configs/hi3798mv100_android_defconfig中添加:
CONFIG_ARM_HAS_SG_CHAIN=y
# CONFIG_MTD_NAND_HIFMC100_NAND is not set
# CONFIG_MTD_SPINAND_HIFMC100 is not set
然后重新make

2、recovery内核岗开始编译时提示几个新配置选择后退出,解决办法是:将device/hisilicon/bigfish/sdk/source/kernel/linux-3.10.y/arch/arm/configs/hi3798mv100_android_recovery_defconfig拷贝到out/target/product/Hi3798MV100/obj/RECOVERY_OBJ/.config,即:
cp device/hisilicon/bigfish/sdk/source/kernel/linux-3.10.y/arch/arm/configs/hi3798mv100_android_recovery_defconfig out/target/product/Hi3798MV100/obj/RECOVERY_OBJ/.config
然后重新make

3、编译链接libwebviewchromium.so动态库时长时间停滞不动甚至退出编译,这是内存不够用的表现,解决办法是添加交换分区:
export SWAPFILE=/mnt/swapfile
dd if=/dev/zero of=$SWAPFILE bs=1024 count=4194304
mkswap $SWAPFILE
chmod 600 $SWAPFILE
swapon $SWAPFILE
立即生效,不用重新make

设置Centos7 时区

查看时间及时区:
timedatectl

列举所有时区:
timedatectl list-timezones

设置时区:
timedatectl set-timezone Asia/Hong_Kong

也可将/etc/localtime 文件链接到/usr/share/zoneinfo下面的指定时区文件达到设置时区目的,如:
ln -s /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtime

配置nginx 地址rewrite

折腾博客时发现点开所有博客链接都是404 错误,很明显是rewrite 问题。解决办法是在nginx 配置文件中顶层location 下添加如下重写规则:
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
然后重启nginx 服务即可。

Centos7 外网不通

之前装了个minimal 形式的Centos7,并且修改网络配置脚本配置为静态IP,在使用过程中经常发现锁屏后再打开始终无法通过ssh 连接,能连接情况下会多出一个192.168.187.1 的IP,路由也多出一条记录。通过仔细观察和对比,终于发现多出的IP 是之前备份的ifcfg-ens33.dhcp 配置文件导致,原来启动网络服务时所有ifcfg-开头的配置文件都会解析处理,多出的路由记录就是由NAT 网关的dhcp 服务器分配的,最初以为是192.168.187.1,通过ip route 查看正确网关应该是192.168.187.2,于是我在目前的ifcfg-ens33 网卡配置文件中加上了网关配置项就可以出外网了:
GATEWAY=192.168.187.2

这样也就解决了陌生IP 和笔记本锁屏后重开无法连接问题。

附最终配置文件:
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.187.131
GATEWAY=192.168.187.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=054d1cb3-1e42-479a-a578-6e0f462927d7
DEVICE=ens33
ONBOOT=yes
PROXY_METHOD=none
BROWSER_ONLY=no
PREFIX=24

WordPress桌面终于可用

最早用的2.9.0的桌面,添加账号后在Win10 上登录始终进不了主界面,只剩下图标在状态栏中躺着,刚才升级了推送的3.0 的安装文件也没有解决。好在进入github 下载安装最新的3.1.0 beta2 才解决。

OK,以后可以在这里写点技术类东西了!