雷柏鼠标接电脑开机自动重启 问题现象市场反馈一个舆情,目前发现雷柏鼠标MT760及MT760mini这两款型号鼠标,通过接收器或者有线直连插到机器上开机会自动重启,无法进入系统。 问题日志 bug 分析我们先查看日志,发现日志中指出内核panic,踩空指针了 我们先查看pc指针,pc 显示异常发生的指令地址,对应的函数和偏移 1pc : uos_report_ai_key.isra.18+0x1c/0xf0 我们查看 2025-06-27 bug #bug
内存寻址 内存寻址内存地址 逻辑地址:用来指定一个操作数或一条指令的地址,由段(segment)+偏移量(offset | displacement)组成,偏移量指明了从段开始的地方到实际地址之间的距离 线性地址:也称作虚拟地址,32位无符号整数,通常用十六位进制数表示,值的范围从0x00000000~0xffffffff 物理地址:内存芯片级内存单元寻址 在内存寻址中,我们通常以字节为单位 2025-06-25 内存寻址 #内存寻址
qemu搭建arm64环境 安装交叉编译工具链12sudo apt install gcc-aarch64-linux-gnusudo apt install libncurses5-dev build-essential git bison flex libssl-dev 查看版本,如图所示: 安装qemu可以从源码安装,也可以直接从仓库安装 123456wget https://download.qemu.org 2025-06-23 虚拟机 #虚拟机 #qemu
关闭密码限制 对于有些测试机由于密码复杂度设置,导致调试不方便,可按照如下方法删除密码复杂度 123456# /etc/pam.d/common-password# 最小化密码限制配置,仅用于测试机password [success=1 default=ignore] pam_unix.so sha512 minlen=1password requisite 2025-06-23 debug #debug
导出DSDT/dts DSDT表123sudo apt install acpica-toolscp /sys/firmware/acpi/tables/DSDT ./iasl -tc DSDT 设备树12345sudo apt install device-tree-compilerdtc -I fs -O dts -o devicetree.dts /sys/firmware/devicetree/base-I 2025-06-23 debug #debug
交叉编译环境搭建 arm交叉编译环境搭建交叉编译工具链下载地址:https://releases.linaro.org/components/toolchain/binaries/latest-7/ 我们主要关注aarch64-linux-gnu和arm-linux-gnueabihf两个交叉编译工具,前者是针对arm64位处理器,后者针对arm32位处理器 我们下载arm64位的交叉编译工具,如图所示: 2025-06-20 交叉编译 #交叉编译
buildroot快速构建 buildroot 快速构建buildroot 简介前面我们讲解了busybox构建根文件系统,只是帮我们构建好了一些常用的命令和文件,像 lib 库、/etc 目录下的一些文件都需要我们自己手动创建,而且 busybox 构建的根文件系统默认没有用户名和密码设置。后续我们还要自己去移植一些第三方软件和库,比如 alsa、iperf、mplayer 等等。 那么有没有一种傻瓜式的方法或软 2025-06-20 rootfs #rootfs
根文件系统 根文件系统根文件系统常见目录1、/bin 目录此目录下存放着系统需要的可执行文件,一般都是一些命令,比如 ls、mv 等命令。此目录下的命令所有的客户都可以使用。 2、/dev 目录dev 是 device 的缩写,所以此目录下的文件都是和设备有关的,此目录下的文件都是设备文件。在 Linux 下一切皆文件,即使是硬件设备,也是以文件的形式存在的,比如/dev 2025-06-06 rootfs #rootfs
linux上游提交步骤 linux上游提交步骤下载linux内核源码 通过kernel.org下载 1git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 通过清华镜像下载 1git clone https://mirrors.tuna.tsinghua.edu.cn/git/linux.git commit信息要求 2025-05-19 upstream #upstream
wakeup usb wakeup开启鼠标键盘唤醒123456789101112131415161718192021222324252627282930static int usbhid_start(struct hid_device *hid){ struct usb_interface *intf = to_usb_interface(hid->dev.parent); struct usb 2025-05-08 pm #usb #pm