//检查状态
sudo service ssh status
//重启
sudo service ssh restart
//卸载重装
sudo apt-get remove –purge openssh-server
sudo apt-get update
sudo apt-get install openssh-server
[linux]ssh/scp传输失败
1.windows 连接linux失败
删除windos下的.ssh文件夹下的
2.scp失败
(1)删除源的~/.ssh/known_hosts
(2)ssh-keygen -f “/root/.ssh/known_hosts” -R “目标IP”
[linux]命令行连接无线
//查看可用网络
nmcli dev wifi list
//连接
nmcli –ask dev wifi connect TP-LINK_7787 password yyxlx18396870603
nmcli –ask dev wifi connect mini_5G password fsw2021fsw
[linux]文件互传
sudo apt-get update
sudo apt-get install vsftpd
sudo vi /etc/vsftpd.conf
默认情况下,“write_enable=YES”前面有一个“#”号,我们需要将其去掉,使能该配置。
修改完成后保存退出,然后执行如下命令重启 FTP 服务:
sudo /etc/init.d/vsftpd restart
可通过如下命令确认 FTP 服务是否开启:
ps -aux | grep vsftpd | grep -v grep
使用FileZilla软件进行文件互传
[linux]设备号申请
没有指定设备号
int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name)
指定了设备号
int register_chrdev_region(dev_t from, unsigned count, const char *name)
释放设备号
void unregister_chrdev_region(dev_t from, unsigned count)
———————————————
字符设备结构
cdev
cdev 中有两个重要的成员变量: ops 和 dev,这两个就是字符设备文件操作函数集合
file_operations 以及设备号 dev_t。编写字符设备驱动之前需要定义一个 cdev 结构体变量,这个
变量就表示一个字符设备,
定义好 cdev 变量以后就要使用 cdev_init 函数对其进行初始化, cdev_init 函数原型如下:
void cdev_init(struct cdev *cdev, const struct file_operations *fops)
[linux]加载驱动
//加载驱动
modprobe led.ko
如果提示无法打开“modules.dep” 输入 depmod
查看设备
cat /proc/devices
创建设备节点
mknod /dev/chrdevbase c 200 0
[linux]申请设备号
1.静态申请
cat /proc/devices //查看已有设别号
2.动态申请
int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name)
dev:保存申请到的设备号。
baseminor: 次设备号起始地址, alloc_chrdev_region 可以申请一段连续的多个设备号,这些设备号的主设备号一样,但是次设备号不同,次设备号以 baseminor 为起始地址地址开始递增。一般 baseminor 为 0,也就是说次设备号从 0 开始。
count: 要申请的设备号数量。
name:设备名字。
注销字符设备之后要释放掉设备号,设备号释放函数如下:
void unregister_chrdev_region(dev_t from, unsigned count)
此函数有两个参数:
from:要释放的设备号。
count: 表示从 from 开始,要释放的设备号数量。
[linux]驱动模块的加载与卸载,字符串设备的注册与注销
/* 驱动入口函数 */
static int __init xxx_init(void)
{
/* 入口函数具体内容 */
return 0;
}
static void __exit xxx_exit(void)
{
/* 出口函数具体内容 */
}
module_init(xxx_init);
module_exit(xxx_exit);
加载
modprobe *.ko
卸载
rmmod *.ko
注册
static inline int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops)
注销
static inline void unregister_chrdev(unsigned int major, const char *name)
[linux]根文件系统挂载
服务器地址为 192.168.0.105 目录为/home/yue/rootfs
开发板地址为 192.168.0.200
setenv bootargs ‘console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.105:/home/yue/rootfs,proto=tcp rw ip=192.168.0.200:192.168.0.105:192.168.0.1:255.255.255.0::eth0:off’
saveenv
[linux]服务器可执行,vscode不行
arm-linux-gnueabihf-gcc -v
例如以上命令,在服务器上可以显示版本,但在vscode上显示未安装,检查服务器上profile也对
1.打开powershell,用管理员权限打开
2.输入get-executionpolicy,显示Restricted
3.输入set-executionpolicy -executionpolicy unrestricted 提示后输入a
4.再次输入get-executionpolicy 显示Unrestricted
5.重启vscode
