指令简记
pmon下
set_mac syn0 xx:xx:xx:xx:xx:xx
3k设置mac地址
set_mac xx:xx:xx:xx:xx:xx
5k设置mac地址
sysinfo
查看cpu频率与内存
vers
查看pmon版本
devls
查看识别的硬盘
print_dtb /
查看设备树
mt -cv 0x88000000 0x88800000
压力测试
pcs -1|d4 0x00000000
查看寄存器0x90000efdfe000108
- 刷MPON
load -r -f 0xbfc00000 /dev/fs/fat@usb0/文件名
fload /dev/fs/fat@usb0/文件名
- 硬盘加载内核
load /dev/fs/ext2@wd0/boot/vmlinuz-
g root=/dev/sba1
- GMAC烧录
2k:
3k: setmac syn0 "xx:xx:xx:xx:xx:xx"
setmac syn0 xx:xx:xx:xx:xx:xx
5k: ifconfig syn0 set_mac xx:xx:xx:xx:xx:xx
- 安装U盘boot.cfg
args console=tty repo=hd:/dev/sdb1:/*.iso ks=hd:sdb1:/ks.cfg quiet loglevel=0 PMON_BIOS
args console=tty inst.stage2=hd:/dev/sdb1:/*.iso graphical splash
- 2k-args
iso=2019 2k lvds-B
title 'Loongnix GNU/Linux'
kernel (wd0,0)/vmlinuz-3.10.0-1.fc21.loongson.2k.19.mips64el
initrd (wd0,0)/initramfs-3.10.0-1.fc21.loongson.2k.19.mips64el.img
args root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/swap rd.lvm.lv=fedora/root vga=0x317 loglevel=0 8250.nr_uarts=4 console=tty console=ttyS0,115200
系统下
nautilus /home/testProjects/
在Linux命令行中以图形化窗口打开文件夹
pam_tally2 --user=username --reset
龙芯系统去除多次密码错误
DEB源软件下载
dmidecode -t memory
查看ddr最详细信息
wodim -sao -v speed=8 dev=/dev/sg1 /home/xxx.iso
刻录iso镜像 -eject
刻录完弹出
woism -v dev=/dev/sr0 speed=4 -dummy -eject /tmp/system2.img
刻录img镜像
amte-terminal
终端
free
内存
streasapptest -M 内存 -s 时间
cp /A /B
拷贝A到B
mv
移动
mount /A /B
挂载A到B
fdisk -l
看储存
ping 192.168.X.X -s X -c X -f
echo XXX > /dev/ttyS1
一串口发送XXX
cat /dev/ttyS1
一串口接受
cat /proc/version
查看系统版本
uname -a
查看核心版本等所有信息
ifconfig enp4s0f0
设置接口ip
/var/log/Xorg.0.log
开机log位置
console=tty console=ttyS0,115200
rhgb quiet splash
history 10
*
任意长度 ?
一个字符
crontad -e
设置计划 -l
查看 service crond start
运行
glxgear
显示齿轮
yum
安装软件
lspci -s 00:00.00 -vv
dmesg
lsb_release -a
查看系统版本
-lh
文件大小带单位
date
时间。cal
日历。bc
计算器
ntpdate time.windows.com
时间同步
sync
数据同步写入磁盘
-文档类型 rwx拥有者权限rwx群组权限 - - -其他人权限 d目录 -文件 l连结档 b可储存的接口装置 c端口设备 s资料接口 p 数据传输 4SUID2SGID1SBIT特殊x权限
mkdir -p
新建文件夹
touch
新建文件
rw
删除文件
chown XXX
拥有:群组 文件(change owner)改变拥有者群组 -R递归
chmod XXX
r4w2x1 变更文件权限 -R
递归
chmod
u自己g群组o其他a全部=rwx或±w
bin
系统执行文件 boot 开机文件 dev装置接口文件 etc配置文件 lib 驱动文件 media 暂挂载文件 mnt 被挂载目录 opt第三方软件 run日志 sbin系统执行文件
srv
服务器数据 tmp暂存 lib32/64二进制函数库 proc内存中 sys虚拟系统
echo $PATH
显示执行文件路径变量
PATH="${PATH}:/root"
赋值
cat
查看文件 less
上下翻页查看
od
二进制查看-t a默认/cASC码/d十/f浮/o八/x十六
chattr
设置隐藏属性+i固定 +a不能删除
file
观察文件类型
which -a
寻找所有PATH执行档
whereis
搜寻文件档名 -l查看搜索的目录
locate
数据库搜寻文件 find全盘搜寻
/dev/sda
实体磁盘 vd虚拟磁盘 md 软件磁盘阵列
df
列出文件系统的整体磁盘使用量
du
评估文件系统的磁盘使用量
ln
超链接
blkid
查看文件系统
mkfs.
格式化
cat /sys/class/hwmon/hwmon0/temp1_input
查看cpu温度
查看主板信息
查看主板型号:dmidecode |grep -A16 "System Information$"
内存槽及内存条:dmidecode |grep -A16 "Memory Device$"
硬盘:fdisk -lsmartctl -a /dev/sda
网卡:mii-tool
linux下查看主板型号使用命令dmidecode | more,其中Base Board Information即为主板型号信息。
shell
echo “$[d$i]”
测试指令
网络性能测试iperf
安装-arch
./configure
make
make install
问题1:
configure: error: cannot guess build type;you must specify one
该问题一般出现在国产平台,从错误描述来看,意思是:无法猜测build类型,你必须指定一个。
- 在系统/usr路径下搜索 config.guess 和 config.sub 这两个文件。
- 在当前编译工具目录下同样搜索 config.guess 和 config.sub 这两个文件。
- 用系统的 config.guess 和 config.sub 文件替换当前编译工具目录下的这两个文件。
- 重新执行configure。
cp /usr/share/libtool/build-aux/config.guess /iperf-3.1.3/config
cp /usr/share/libtool/build-aux/config.sub /iperf-3.1.3/config
./configure
测试
- Loongson上:
./src/iperf3 -s -p 5001
- Windows上:
Loongson接收速度测试 iperf3.exe -c 192.168.1.100 -p 5001 -O 10 -t 60
Loongson发送速度测试 iperf3.exe -c 192.168.1.100 -p 5001 -O 10 -t 60 -R
其中 -t 60表示测试时间为60秒。
命令详解
xrandr
chvt 7
串口下使用xrandr需要保证显示器用户登录到桌面,串口登录同一账户,然后修改变量:
export DISPLAY=:0
cvt 1600 900
xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
xrandr --addmode Virtual1 "1600x900_60.00"
xrandr --addmode VGA-1 1920x1080_60.05
xrandr --output VGA-1 --mode 1920x1080_60.05 --pos 1024x0
xrandr --delmode VGA-1 1920x1080_65.00
命令 | 备注 |
---|---|
xrandr -o left | 向左旋转90度 |
xrandr -o right | 向右旋转90度 |
xrandr -o inverted | 上下翻转 |
xrandr -o normal | 回到正常角度 |
xrandr --output VGA1 --off | 关闭显示器VGA1 |
xrandr --output VGA1 --auto | 开启显示器VGA1 |
xrandr --output LVDS1 --off | 关闭显示器LVDS1 |
xrandr --output LVDS1 --auto | 开启显示器LVDS1 |
xrandr --output VGA1 --auto --output LVDS1 --off | 打开VGA1,同时关闭LVDS1 |
xrandr --output VGA1 --off --output LVDS1 --auto | 关闭VGA1,同时打开LVDS1 |
xrandr --output LVDS1 --left-of VGA1 --auto | 扩展模式时,将LVDS1显示在VGA1的左侧 |
xrandr --output LVDS1 --right-of VGA1 --auto | 扩展模式时,将LVDS1显示在VGA1右侧 |
xrandr --output LVDS1 --same-as VGA1 --auto | 从扩展模式变成复制模式 |
xrandr --output HDMI1 --auto --primary | 设定主显示器 |
dpkg
Ubuntu 系统 dpkg 命令使用详解
package manager for Debian 是 Debian 和基于 Debian 的系统中一个主要的包管理工具,可以用来管理 deb 格式的软件包。直接用于安装本地deb格式软件包,或者对已经安装好的软件进行管理
- 安装软件包
$ dpkg -i <package_file_path>
- 列出已安装的软件
$ dpkg -l
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 当前状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称 版本 体系结构 描述
第一列
ii 表示该软件需要安装且已经安装,没有出现错误;
iu 表示已经安装该软件,但未正确配置;
rc 表示该软件已经被删除,但配置文件未清理。
查看处于 rc 状态的软件包
$ dpkg -l | grep ^rc
- 筛选出名称中包含指定模式的软件包。
dpkg -l <package_name_pattern>
例:$ dpkg -l "nginx*"
- 卸载软件
-r
选项只会移除指定的软件包而不对其配置文件产生影响
-P
选项在删除软件包的同时清理配置文件。
例:$ sudo dpkg -r vim
sudo dpkg -P <package>
- 查看软件包的内容
dpkg -c <package_file_path>
- 查看软件包(已安装)的详细信息
dpkg -s <package> 或 dpkg --status <package>
- 查看软件包的安装位置
dpkg -L <package> 或 dpkg --list-files <package>
- 筛选出包含指定文件(模式)的软件包
dpkg -S <filename_pattern> 或 dpkg --search <filename_pattern>
apt-get
简介
不能直接操作deb包,从 /etc/apt/sources.list
配置文件中定义的软件镜像源里下载软件包并安装,使用时也只需指定软件的名称
- 安装软件
$ apt-get install <package_name[=version]>
龙芯软件源:替换/etc/apt/sources.list
# See https://wiki.debian.org/SourcesList for more information.
deb http://ftp.loongnix.cn/os/loongnix/20/mips64el DaoXiangHu-testing main contrib non-free
deb-src http://ftp.loongnix.cn/os/loongnix/20/mips64el DaoXiangHu-testing main contrib non-free
rpm
- 安装软件
$ rpm -ivh <package_name[=version]>
yum
- 安装软件
rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度
-i example.rpm
安装 example.rpm 包;-v
显示正在安装的文件信息;-h
显示安装进度
- 查询操作
rpm -qa 查询所有已经安装的包
rpm -qi 显示安装包的信息
rpm -ql 显示安装包中的所有文件被安装到哪些目录下
rpm -qs 显示安装版中的所有文件状态及被安装到哪些目录下
以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件
p
查询的是安装包的信息
f
查询的是已安装的某文件信息
- RPM 卸载操作
rpm -e 需要卸载的安装包
- RPM 升级操作
rpm -U 需要升级的包
-i example.rpm
安装 example.rpm 包;-v
显示正在安装的文件信息;-h
显示安装进度
- RPM 验证操作
rpm -Vf 需要验证的包
输出信息类似如下:
S.5…T c /etc/tomcat4/tomcat4.conf
其中,S 表示文件大小修改过,T 表示文件日期修改过。限于篇幅,更多的验证信息请您参考rpm 帮助文件:man rpm
- 其他附加命令
--force 强制操作 如强制安装删除等;
--requires 显示该包的依赖关系;
--nodeps 忽略依赖关系并继续操作;
- error: Failed dependencies:失败的依赖解决方法
rpm -ivh 包名 --nodeps --force
vim
基本配置Vim入门级基础配置
配置文件位置
/usr/share/vim/vimrm
或/etc/vimrm
- 支持中文不乱码
set fileencodings=utf-8,ucs-bom,gb18030,bgk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
- 显示行号
set nu "set number
- 突出显示当前行
set cul "set cursorline
- 突出显示当前列
set cuc "set cursorcolumn
- 显示括号匹配
set showmatch
SSH
- 在线安装名:客户端+服务端
sshd
openssh-server
service sshd start
开启ssh服务
ssh 用户名@地址
后输入yes
swappiness 虚拟内存使用率
swappiness=0
的时候表示最大限度使用物理内存
swappiness=100
的时候表示积极的使用swap分区
- 减小swappiness的值
sudo vim /etc/sysctl.conf
在文件的末尾加上
vm.swappiness=10
//永久生效
wget
- ftp下载方式
wget ftp://wugk@192.168.0.88/auto_LNMP.sh –ftp-password=123456
wget ftp://wugk:123456@192.168.0.88/auto_LNMP.sh (密码不能包括@)
wget ftp://192.168.0.88/auto_LNMP.sh –ftp-user=wugk –ftp-password=123456
录音播放命令
source 与 sh 及./执行脚本的区别
- 当
shell
脚本具有可执行权限时,用sh filename
与./filename
执行脚本是没有区别得。./filename
是因为当前目录没有在PATH
中,所有.
是用来表示当前目录的。 sh filename
重新建立一个子shell
,在子shell
中执行脚本里面的语句,该子shell
继承父shell
的环境变量,但子shell
新建的、改变的变量不会被带回父shell
。source filename
:这个命令其实只是简单地读取脚本里面的语句依次在当前shell
里面执行,没有建立新的子shell
。那么脚本里面所有新建、改变变量的语句都会保存在当前shell
里面。
生活小妙招
网讯网卡在线烧录MAC地址
龙芯VBIOS转换-xxd
bin转c:FM25F02A
xxd -i -c16 a.bin>a.h
还原
xxd -r -i -c16 loongson > long.bin
补丁
详解Linuxpatch命令参数及⽤法
打补丁
patch -p1 < patch.patch
还原补丁
patch -p1 < patch.patch
/后输入y
patch -R -p1 < patch.patch
/没用过
内核编译报错修正
make[1]: *** [scripts/kconfig/Makefile:228:scripts/kconfig/.mconf-cfg] 错误 1
make: *** [Makefile:556:menuconfig] 错误 2
apt install libncurses5-dev
VSCODE神奇
- Partial Diff
文本对比 - vscode-icons
图标优化 - Bracket Pair Colorizer
嵌套括号鲜明 - Power Mode
使用快捷键Ctrl+Shift+P,进入命令模式,输入settings.json,选择Open Settings(JSON)。输入对应的键值对即可。
{
"powermode.enabled": true // 打开powermode
"powermode.shakeIntensity": 0 // 关闭抖动效果
"powermode.presets":"fireworks" // 设置不同效果,不设定则默认
}
arch编译stressapptest
- 解压stressapptest
- 替换config.sub 和 config.guess两个文件*(链接点击右键另存为)
config.sub
config.guess - ./configure
- make
- make install
MAC地址烧录
使用intel_mac_tool工具烧录
-
拷贝内核文件至U盘
-
开机进入系统,插入U盘
-
调出命令行
[hg@localhost ~]$ su
密码:
[root@localhost ~]#
- 查看usb设备
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:1024.2 GB, 1024209543168 字节,2000409264 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00050a09
设备 Boot Start End Blocks Id System
/dev/sda1 2048 116656127 58327040 83 Linux
/dev/sda2 116656128 125044735 4194304 82 Linux swap / Solaris
磁盘 /dev/sdb:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf1c258c0
设备 Boot Start End Blocks Id System
/dev/sdb1 * 64 62912511 31456224 c W95 FAT32 (LBA)
- usb设备为sdb1;卸载并挂载u盘
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# mount /dev/sdb1 /mnt/
- 进入挂载文件夹
[root@localhost ~]# cd /mnt
- ifconfig查看设备名
[root@localhost mnt]# ifconfig
enp0s3f0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 56:6c:e0:e2:57:29 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 76
enp2s0f0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 20:20:00:00:09:01 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0x46000000-4601ffff
enp2s0f1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...(省略)
- 使用intel_mac_tool烧录MAC:./intel_mac_tool [设备名] [mac地址]
如烧录4口设备MAC地址(工具会顺序烧录i350四个网口):
[root@localhost mnt]# ./intel_mac_tool_2020 enp2s0f0 20:21:00:00:00:01
0x20: 0x21: 0x00: 0x00: 0x00: 0x01
igb
Set igb MAC Address done!
- reboot重启后再进系统查看是否烧录成功
在linux上安装VSCode
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt-get update
sudo apt-get install code # or code-insiders
龙芯 PMON编译
目录说明
龙芯内核编译
source /etc/profile
export PATH="$PATH :/opt/gcc-4.9.3-64-gnu/bin"
export CROSS_COMPILE=mips64el-linux-
#!/bin/bash
make menuconfig arch=mipsel
或
#!/bin/bash
make vmlinuz CROSS_COMPILE=mips64el-linux- ARCH=mips
unixbench测试方法
- 测试命令
./Run
系统性能测试
./Run graphics
图形性能测试 - 如锁60帧:主目录中使用此.drirc:
<device screen="0" driver="dri2">
<application name="Default">
<option name="vblank_mode" value="0"/>
</application>
</device>
在中标系统中补充镜像里的软件
- 添加yum源
vi /etc/yum.repos.d/cd.repo
[local]
name=local
baseurl=file:///run/media/NeoKylin-Server-5.0-Loongson
enabled=1
gpgcheck=0
file指向挂载的系统文件夹
- 安装gfortran
yum clean all
yum makecache
yum install *gfortran*
WIN解除COM口占用
删除注册表文件夹:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
COM Name Arbiter
内核加载方法
-
拷贝内核文件至U盘
-
开机进入系统,插入U盘
-
调出命令行
[jz@localhost ~]$ su
密码:
[root@localhost jz]#
- 查看usb设备
[root@localhost jz]# fdisk -l
磁盘 /dev/sda:1024.2 GB, 1024209543168 字节,2000409264 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00050a09
设备 Boot Start End Blocks Id System
/dev/sda1 2048 116656127 58327040 83 Linux
/dev/sda2 116656128 125044735 4194304 82 Linux swap / Solaris
磁盘 /dev/sdb:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf1c258c0
设备 Boot Start End Blocks Id System
/dev/sdb1 * 64 62912511 31456224 c W95 FAT32 (LBA)
- usb设备为sdb1;挂载u盘
[root@localhost jz]# mount /dev/sdb1 /mnt/
- 拷贝内核至boot文件夹
[root@localhost jz]# cp /mnt/vmlinuz /boot/
- 卸载u盘;并reboot重启
[root@localhost jz]# umount /dev/sdb1
- pmon下按c进入pmon,输入2条指令:
1.
load /dev/fs/ext2@wd0/boot/vmlinuz
回车
2.g root=/dev/sda1
回车
- 示例:
PMON> load /dev/fs/ext2@wd0/boot/vmlinuz
-Loading file: /dev/fs/ext2@wd0/boot/vmlinuz\(elf)
(elf)
0x82060000/5345048 + 0x82578f18/4202536(z) +
Entry address is 82060000
PMON> g root=/dev/sda1
Zephyr OS 开发极速入门
安装
- 安装必要软件
sudo apt update
wget https://apt.kitware.com/kitware-archive.sh
sudo bash kitware-archive.sh
sudo apt install --no-install-recommends git cmake ninja-build gperf \
ccache dfu-util device-tree-compiler wget \
python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
make gcc gcc-multilib g++-multilib libsdl2-dev
# 确认版本
cmake --version
python3 --version
dtc --version
- 此处出现版本过高错误只能重装系统,后务必使用ubuntu自带源
- 克隆zephyr代码仓库
git clone https://github.com/zephyrproject-rtos/zephyr
- 安装 zephyr SDK
# 下载SDK
cd /opt/
wget https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/download/0.9.2/zephyr-sdk-0.9.2-setup.run
# 安装SDK
chmod +x zephyr-sdk-0.9.2-setup.run
./zephyr-sdk-0.9.2-setup.run
QT5
安装
修改/etc/apt/sources.list :
# See https://wiki.debian.org/SourcesList for more information.
deb http://ftp.loongnix.cn/os/loongnix/20/mips64el DaoXiangHu-testing main contrib non-free
deb-src http://ftp.loongnix.cn/os/loongnix/20/mips64el DaoXiangHu-testing main contrib non-free
apt update
apt install qtcreator