海运的博客

smartctl usb移动硬盘盒错误

发布时间:October 10, 2020 // 分类: // No Comments

升级smartctl后获取usb 移动硬盘SMART信息错误:

smartctl -a  /dev/sda
smartctl 7.1 2019-12-30 r5022 [aarch64-linux-5.3.0-aml-g12] (localbuild)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

/dev/sda: Unknown USB bridge [0x1bcf:0x0c31 (0x10f)]
Please specify device type with the -d option.

Use smartctl -h to get a usage summary

解决方法:

smartctl -a -d usbsunplus /dev/sda

n1 ubuntu查看温度

发布时间:October 4, 2020 // 分类: // No Comments

echo $((`cat /sys/class/hwmon/hwmon0/temp1_input`/ 1000))

ubuntu交叉编译aarch64/arm ssdb

发布时间:September 27, 2020 // 分类: // No Comments

交叉编译环境:

wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
tar -Jxf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz 
export PATH=$PATH:"`pwd`/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/"
export CC=aarch64-linux-gnu-gcc
export CXX=aarch64-linux-gnu-g++
export LD=aarch64-linux-gnu-ld
export AR=aarch64-linux-gnu-ar
export RANLIB=aarch64-linux-gnu-ranlib

单独编译jemalloc、leveldb和snappy:

git clone https://github.com/ideawu/ssdb.git
cd ssdb/deps/jemalloc-4.1.0/
./autogen.sh --host=aarch64-linux-gnu && make
cd ../leveldb-1.20/
make
cd ../snappy-1.1.0/
./configure --host=aarch64-linux-gnu && make
cd ../../

编译ssdb:

cat > build_config.mk <<EOF
CFLAGS = -DNDEBUG -D__STDC_FORMAT_MACROS -Wall -O2 -Wno-sign-compare
CFLAGS += -I "`pwd`/deps/leveldb-1.20/include"
CFLAGS += -I "`pwd`/deps/jemalloc-4.1.0/include"
CFLAGS += -DNEW_MAC
CLIBS = "`pwd`/deps/leveldb-1.20/out-static/libleveldb.a"
CLIBS += "`pwd`/deps/snappy-1.1.0/.libs/libsnappy.a"
CLIBS += "`pwd`/deps/jemalloc-4.1.0/lib/libjemalloc.a"
CLIBS += -pthread -lrt
EOF
sed -i 's/\$(shell sh/#\$(shell sh/' Makefile 
sed -i 's/chmod u+x "\${LEVELDB_PATH}/#chmod u+x "\${LEVELDB_PATH}/' Makefile 
sed -i 's/cd "\${LEVELDB_PATH}/#cd "\${LEVELDB_PATH}/' Makefile 
make

systemd管理:

[Unit]
Description=ssdb service
After=network.target

[Service]
LimitNOFILE=65535
Type=simple
User=ssdb
#PIDFile=/var/run/ssdb.pid
ExecStart=/usr/local/ssdb/ssdb-server /usr/local/ssdb/ssdb.conf -s start
ExecStop=/usr/local/ssdb/ssdb-server /usr/local/ssdb/ssdb.conf -s stop
#Restart=always
#RestartSec=5
#StartLimitBurst=3
#StartLimitInterval=60
#StandardOutput=null
#StandardError=null

[Install]
WantedBy=multi-user.target

使用ssdb用户运行,新建用户,数据目录给予权限:

useradd -M -s /usr/sbin/nologin ssdb
chown -R ssdb:ssdb /ssdb-data/

n1盒子armbian 内核5.3.0编译更新wireguard内核模块

发布时间:September 23, 2020 // 分类: // No Comments

安装交叉编译环境见:ubuntu下交叉编译arm64/armbian内核模块
下载5.3内核及wireguard最新源码,并打补丁到内核。

git clone -b 5.3 --depth 1 https://github.com/150balbes/Amlogic_s905-kernel.git
cd Amlogic_s905-kernel/
git clone https://git.zx2c4.com/wireguard-linux-compat
bash ./wireguard-linux-compat/kernel-tree-scripts/jury-rig.sh .

编译wireguard模块,版本后缀-aml-g12和内核后缀保持一致。

make LOCALVERSION="-aml-g12" modules_prepare
cp ../config-5.3.0-aml-g12 .config
make M=net/wireguard CONFIG_WIREGUARD=m modules
modinfo net/wireguard/wireguard.ko

n1盒子armbian 5.8内核负载高修改dtb解决

发布时间:September 21, 2020 // 分类: // 2 Comments

根据网友的经验,有2种方法可解决此问题
1.反编译dtb文件修改:

apt install device-tree-compiler
dtc -I dtb -O dts -o n1.dts dtb.img 

修改soc->bus@c1100000->interrupt-controller@9880:

sed -i 's/phandle = <0x22>/#phandle = <0x22>/' n1.dts

再编译回dtb文件:

dtc -I dts -O dtb -o n1.dtb n1.dts

2.修改内核dts源码并编译,x64下配置arm64交叉编译环境:

wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
tar -Jxf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz 
export ARCH=arm64 
export CROSS_COMPILE=/root/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

获取内核源码并修改,之前balbes150已修复,不知为何后面又删除了。

git clone https://github.com/150balbes/Amlogic_s905-kernel.git
cd Amlogic_s905-kernel/
sed -i 's/interrupts = <29/interrupts = <25/' arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts

使用balbes150 armbian内核配置文件编译dtb:

cp config-5.8.7-arm-64 .config
make dtbs
cp arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts meson-gxl-s905d-p230.dts ./

使用过程中发现内核提示以下错误:

WARNING: CPU: 0 PID: 113 at kernel/time/hrtimer.c:928 hrtimer_forward+0x88/0xc0
[  342.080941] Modules linked in: xt_REDIRECT xt_nat xt_owner ip6table_nat ip6_tables wireguard ....
[  342.081711] CPU: 0 PID: 113 Comm: kworker/u8:1 Tainted: G        WC        5.8.7-arm-64 #20.09
[  342.081738] Hardware name: Phicomm N1 (DT)
[  342.081817] Workqueue: events_freezable_power_ thermal_zone_device_check
[  342.081886] pstate: 20000085 (nzCv daIf -PAN -UAO BTYPE=--)
[  342.081944] pc : hrtimer_forward+0x88/0xc0
[  342.081997] lr : txdone_hrtimer+0xf4/0x110

使用5.4或5.3内核 dtb文件正常。
参考:
https://forum.armbian.com/topic/13211-fix-dtb-of-aml-s905d-phicomm-n1-box/
https://www.right.com.cn/forum/thread-2841496-1-1.html
https://www.right.com.cn/forum/thread-3271482-1-1.html

分类
最新文章
最近回复
  • 海运: 换回了5.3内核,5.8用5.3 dtb虽然能开机且负载正常,但也有其它问题,不建议使用。
  • shangyatsen: 后面的内核高精度计时器的问题使用5.4或者5.3的dtb会正常吗?我也发现有这个日志出现。感觉...
  • 海运: 缺少相应模块?
  • lee: 你好,我执行这条语句 iptables -t mangle -A PREROUTING -m ...
  • 海运: 只更新rootfs,不更新内核,我在用5.3配19.10,懒得再升最新版了,很稳定。 注意:更...
  • lyly168: 这是手动挂载吧,请问自动挂载要怎么弄?
  • swswsw1: 请问升级后,内核更新了吗?听说N1只有在5.0.2的内核下才稳定,怕升级了之后功耗太高
  • 海运: LOG_LEVEL是配置文件变量,本文配置使用systemd启动在EnvironmentFil...
  • 1: 我源碼沒有任何修改,同樣編譯的在X86上可以正常運行。然後原封不動編譯aarch64就提示以上錯誤。
  • 海运: 你配置变量有问题?LOG_LEVEL? https://github.com/dani-gar...
归档