分类目录归档:Linux

docker进入容器命令

root@OpenWrt:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ec95c1b7483 neurodebian:latest “bash” 2 days ago Up 2 days debian
9ea3192cbb9a adolfintel/speedtest:latest “docker-php-entrypoi…” 7 days

docker exec -it 7ec95c1b7483 /bin/bash 即可进入

如果从这个容器退出,容器不会停止,这就是为什么使用 docker exec 的原因。

root@OpenWrt:/# exit
exit

如何用root用户登录铁威马NAS的ssh

首先使用普通用户名登录ssh,然后sudo passwd  root修改root密码。

然后切换到root用户,vi /etc/ssh/sshd_config修改下面参数

PermitRootLogin no 将 no 改为 yes

AllowUsers 你创建的用户名,在你创建的用户名前加上root,即:AllowUsers root 你创建的用户名。

下一步在控制面板的telnet/ssh里面关闭ssh访问并应用。然后再打开ssh访问,实现重启ssh服务之目的。

搞定。可以直接使用root通过ssh或者scp登录铁威马nas了。

路由器小主机CPU加解密性能测试

J1900 cpu openwrt

单线程运行
openssl speed -evp aes-128-gcm

多线程运行。感谢lintel提供代码!
openssl speed -multi $(cat /proc/cpuinfo |grep processor | wc -l) -evp aes-128-gcm

多线程性能得分: evp 144926.79k 169710.93k 179719.68k 182539.61k 183099.39k 183031.13k

单线程性能得分:

type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-gcm 36318.23k 42305.62k 44974.17k 45646.51k 45787.82k 45787.82k

N3060 CPU openwrt

多线程:evp 207028.65k 408532.59k 600136.62k 675362.13k 695036.59k 701218.82k

单线程:

type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-gcm 111974.85k 225410.62k 324337.41k 368948.23k 380586.67k 382156.80k

N3710 CPU openwrt

多线程:evp 453117.74k 906427.69k 1306156.03k 1486838.44k 1537919.66k 1532663.13k

单线程:

type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-gcm 115526.47k 234140.05k 335351.72k 379580.07k 392992.09k 394286.42k

ubuntu下统计openwrt编译时间

linux下面,time指令可以实现这个目的。

-p, –portability
Use the following format string, for conformance with POSIX standard 1003.2:
real %e
user %U
sys %S

比如说你想知道configure的时间,就是

# time -p ./configure
当./configure执行完毕的时候time命令结束,然后会返回一个时间,就是你执行./configure的时间
同样
# time -p make 也会知道make用的时间,如果说要整个的安装时间,可以用命令
# time -p ./configure && make && make install
返回的结果就是整个编译安装过程所用的时间
time命令除可以统计编译时间外,还可以统计程序运行的时间,比如

$ time ./test

比如我编译openwrt的时间统计。

time -p make -j4 V=99

export MAKEFLAGS= ;make -w -r checksum
make[2]: Entering directory ‘/mnt/origin-openwrt’
make[2]: Leaving directory ‘/mnt/origin-openwrt’
make[1]: Leaving directory ‘/mnt/origin-openwrt’
real 93.45
user 133.08
sys 61.79

记录一下编译AC3100原版merlin的过程

首先同步源码

git clone https://github.com/RMerl/asuswrt-merlin 这个是老款设备的代码,但是有需要用到的编译工具

git clone https://github.com/RMerl/asuswrt-merlin.ng 这个是新设备的代码

git clone https://github.com/RMerl/am-toolchains 这个是新设备的工具链

ln -s ~/am-toolchains/brcm-arm-hnd /opt/toolchains 将工具链做链接

ln -s ~/asuswrt-merlin/tools/brcm /opt/brcm
ln -s ~/asuswrt-merlin/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3 /opt/brcm-arm

添加环境变量

sudo ln -sf bash /bin/sh

echo “export LD_LIBRARY_PATH=$LD_LIBRARY:/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/lib” >> ~/.profile

echo “export TOOLCHAIN_BASE=/opt/toolchains” >> ~/.profile

echo “PATH=\$PATH:/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin” >> ~/.profile

echo “PATH=\$PATH:/opt/toolchains/crosstools-aarch64-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin” >> ~/.profile

这一步似乎没有,但是我还是做了。sudo ln -s ~/asuswrt-merlin.ng /media/ASUSWRT/asuswrt-merlin.ng

另外注意目录位置,我是在/mnt下面,所以~/替换为/mnt

然后切换到/mnt/asuswrt-merlin.ng/release/src-rt-7.14.114.x/src$

make rt-ac3100 开撸。

搞定。

参考 https://github.com/RMerl/asuswrt-merlin.ng/wiki/Compile-Firmware-from-source-using-Ubuntu

ubuntu下面给merlin增加环境变量

/home/gcc/.bashrc文件增加下面几行

export LD_LIBRARY_PATH=/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/lib
export TOOLCHAIN_BASE=/opt/toolchains
export PATH=/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin:/opt/toolchains/crosstools-aarch64-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin:/projects/hnd/tools/linux/hndtools-armeabi-2011.09/bin:$PATH
export PATH=/opt/brcm/hndtools-mipsel-linux/bin:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm-arm/bin:$PATH

I5-2520M在VMWARE下面和J2850在PVE下面的ubuntu虚拟机性能对比

 

J2850 CPU,ITX主板,宿主机安装PVE,然后虚拟UBUNTU系统。

========================================================================
BYTE UNIX Benchmarks (Version 5.1.2)

System: pve-gcc: GNU/Linux
OS: GNU/Linux — 4.15.0-135-generic — #139-Ubuntu SMP Mon Jan 18 17:38:24 UTC 2021
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap=”UTF-8″, collate=”UTF-8″)
CPU 0: Intel(R) Pentium(R) CPU J2850 @ 2.41GHz (4640.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 1: Intel(R) Pentium(R) CPU J2850 @ 2.41GHz (4640.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 2: Intel(R) Pentium(R) CPU J2850 @ 2.41GHz (4640.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 3: Intel(R) Pentium(R) CPU J2850 @ 2.41GHz (4640.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
04:08:48 up 1:53, 2 users, load average: 0.08, 0.10, 0.37; runlevel 5


继续阅读

PVE里面使用GPT初始化磁盘选项为灰色的解决办法

一台J1900小主机,安装了PVE虚拟化系统玩,很爽,但是随之问题来了。

由于MSATA空间不够,使用一个USB3.0的硬盘盒插了个SSD来扩展存储空间。但是发现USB不方便,不如直接把SSD接在板载的SATA接口上更好,然后关机,在PVE界面删除了之前建立的pve分区。

但是当把SSD接在SATA接口开机后,发现PVE里面无法初始化这个硬盘,GPT初始化磁盘选项为灰色无法选择。这就很抓狂了。

研究了一番,成功解决这个问题,下面记录下步骤,以免后续再用时忘记了。

首先把硬盘放在WIN下面,删除分区并初始化为NTFS格式。插上去后问题依旧,看来不是磁盘格式的问题。

使用vgdispaly指令发现之前建立的group名称usb还在,于是vgremove usb删除这个组,发现问题依旧没有得到解决,但是这一步骤起码是有用的,将废弃的组名删除掉不是坏事。

在shell里面使用fdisk /dev/sdb,先删除之前的分区,然后使用g指令使用gpt格式初始化磁盘。

Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table

然后按w退出,PVE页面的按钮终于可以使用了!

Command (m for help): g
Created a new GPT disklabel (GUID: 1D966722-6637-BB47-AD90-DD3F86941F0D).
The old LVM2_member signature will be removed by a write command.

Command (m for help): p

Disk /dev/sdb: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Disk model: SanDisk SDSSDA12
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1D966722-6637-BB47-AD90-DD3F86941F0D

搞定收工。

20210209 update

如果格式化为gpt后在web界面该磁盘显示device mapper等字样,重启PVE后应该就可以了。