[linux]ssh连不上

//检查状态
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]文件互传

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