我试图让一个带有自定义 PID 的 FTDI USB 串行设备自动(甚至手动)连接到 ttyUSB%n,但没有取得多大成功。设备的正常 VID/PID 为 0403/6001。以这种方式编程时,它可以完美运行并在插入时自动将自身连接到 ttyUSB0。即使重新编译驱动程序以尊重我们的新 PID,当使用自定义的 ttyUSB0 编程时,也不会出现,但它确实将其识别为 ftdi_sio 设备并且加载驱动程序。
我已将我们的 PID 添加到标题和源代码中:
// in ftdi_sio_ids.h
#define FTDI_CUSTOM_PID 0xABCD // not the actual pid
Run Code Online (Sandbox Code Playgroud)
// then in ftdi_sio.c
static struct usb_device_id id_table_combined [] = {
// devices....
{ USB_DEVICE(FTDI_VID, FTDI_CUSTOM_PID) },
// ....
Run Code Online (Sandbox Code Playgroud)
重新编译整个内核并刷新设备。当我插入设备时,我得到:
usb 1-1: new full-speed USB device number 2 using at91_ohci
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device …Run Code Online (Sandbox Code Playgroud) 我正在为定制板开发 Buildroot 开发的 ARM/ulibc Linux 发行版。我试图理解两者之间的关系
如果我这样做,就像我在网上的几个例子中看到的那样:
# date --set "2013-04-09 15:06:30"
Tue Apr 9 15:06:30 CDT 2013
# hwclock --systohc --utc
# hwclock
Tue Apr 9 15:06:39 2013 -0.351552 seconds
Run Code Online (Sandbox Code Playgroud)
并重新启动,我得到:
.... boot messages ...
... setting system clock to 2013-04-09 20:07:31 UTC (1365538051)
.... boot messages ...
#
# date; hwclock;
Tue Apr 9 15:08:24 CDT 2013
Tue Apr 9 15:08:25 2013 -0.473164 seconds
#
# date -u; hwclock -u;
Tue Apr 9 20:08:44 UTC 2013
Tue Apr …Run Code Online (Sandbox Code Playgroud) 我有一个 init.d 脚本来启动 crond,它为 start() 指定以下内容:
start-stop-daemon -S --quiet --make-pidfile --pidfile /var/run/crond.pid --background --exec /usr/sbin/crondRun Code Online (Sandbox Code Playgroud)
但是,PID始终比 /var/run/crond.pid 中记录的数字高一个数字。有谁知道这里发生了什么?我有大约十个其他 init.d 脚本也进行相同的调用,只有 cron.d 有这个问题。
编辑: 这很有趣:
# /usr/sbin/crond &
#
[1]+ Done /usr/sbin/crond
# echo $!
737
# ps -eaf | grep crond
738 root /usr/sbin/crond
740 root grep crond
#
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 kexec 构建为一个模块,但遇到了一个奇怪的问题。我的 obj-m 是:
obj-m += kexec.o machine_kexec.o relocate_kernel.o
当我运行 makefile 时,它抱怨说“没有规则可以制作 relocate_kernel.o 需要的目标 relocate_kernel.c”
我应该如何告诉它包含程序集文件?我查看了内核 Makefile,虽然我对它们不是很好,但似乎确实存在 .S > .o 的规则。我错了吗?