1 下载并安装树莓派系统,新版本的安装最好使用官方工具安装,并且在安装时配置用户名和密码,否则新版本的进入时会要求设置用户名和密码。
2 在win10 下烧录完成系统后出现boot分区,修改config.txt 和 cmdline.txt
在config.txt下添加dtoverlay=dwc2 ,让系统加载usb 控制器驱动
cmdline.txt 的rootwait后面下添加 modules-load=dwc2,g_ether, cmdline内的内容是一个很长的行
console=serial0,115200 console=tty1 root=PARTUUID=257de8b8-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet
3 在boot 盘下添加一个空文件ssh(不分区大小写)
4 给树莓派插入烧录好系统的tf卡,上电后这样你已经可以通过ssh工具进入系统
将USB线连接树莓派的USB接口和电脑的USB接口,注意不是树莓派zero的power接口
ssh 默认地址 raspberrypi.local 密码 raspberry
上电后在设备管理器会看到如下图:
如果没有出现上图的USB Ethernet设备下载RNDIS_Ethernet Gadget for win10 安装驱动,下载地址csdn站内搜索
如果安装驱动后仍然没有出现上图的USB Ethernet设备,请使用高质量的usb线。
参考:树莓派 Zero USB/以太网方式连接配置教程 | 树莓派实验室
新版本的树莓派系统例如bookwarm似乎删除了这个功能,造成无法通过usb登录, 解决如下:
我是将这个tf卡插入到树莓派4中启动,通过鼠标键盘操作的。
sudo apt intall avahi-autoipd 安装这个工具
/etc/network/interfaces.d/usb0
添加这个文件,内容如下
allow-hotplug usb0
iface usb0 inet manual
up /usr/sbin/avahi-autoipd --force-bind -D $IFACE
down /usr/sbin/avahi-autoipd --kill $IFACE
5 修改为使用串口登陆
修改串口启动的前提也是你已经能正常登录系统了,然后再进行后续操作。
在树莓派系统下修改/boot/cmdline.txt 将modules-load=dwc2,g_ether 修改为 modules-load=dwc2,g_serial
执行 sudo systemctl enable getty@ttyGS0.service 将串口绑定到控制台服务,执行完毕后在/etc/systemd/system/getty.target.wants下多一个文件ttyGS0.service
这一步相当于 ln -s /lib/systemd/system/getty@.service getty@ttyGS0.service 产看此文件你会发现它是一个符号连接
需要注意的是必须使用写成getty@ttyGS0.service
6 重启树莓派在win10 的设备管理下看到多出了串口,不同电脑显示可能不同
7 使用putty通过串口登陆
输入你的串口名字,波特率需要和树莓派cmdline.txt中 的配置一致
8 登陆后
在/dev下查看设备可以看到 ttyGS0 ,说明ttyGS0是usb gadget的串口
注:使用 sudo dmesg 可以查看系统的启动过程,找到一些有用的信息
参考: