最近我开始开发linux设备驱动程序,
当我想使用内核代码进行调试并在内核文件中添加一些printk调试消息时,我将面临一个问题。
例如,最近我在驻留在printk()中的__debug_locks_off()中添加了一些include/linux/debug_locks.h和dump_stack()。
然后我执行以下步骤,这是非常耗时的。
make clean
make bzImage
make modules
make modules_install
mkinitrfmfs -o /boot/initrd.img 3.12.6[my kernel version]
cp arch/x86
我有一个基于MIPS的主板(MediaTek mt7620),它有一个专有的封闭式引导加载程序(u-boot),切断了很多功能,比如booting a standalone application。(我不允许更改/重新刷新这个引导加载程序,因为很多客户都在使用这个主板,如果我们更新引导加载程序失败了,我们将面临很多问题:) (引导加载程序支持boot over tftp协议) 我正在尝试将一个由线路板制造商提供的启动顺序: ROM bootloader --> flash bootloader (u- boot ) --> linux kernel更改为: ROM bootloa
我试图在运行Linux4.4.0的QEMU上编译Linux3.13.11,并按照以下步骤编译和加载内核。一切都很好,除了在update-mkinitramfs命令中
blk_update_request: I/O error, dev fd0, sector 0
在完成所有这些步骤之后,当我尝试重新启动并加载到新编译的内核时,它会冻结在
loading initial ramdisk
你知不知道哪里可能出了问题,我怎样才能避免这个问题?
make i386_defconfig
make
make modules
make modules_install
make install
我试图通过AM3517评估板上的JTAG加载和引导linux内核。我的调试器是BDI3000。我不使用openocd,因为根据调试器的文档,它不是必需的。到目前为止,我认为我能够将vmlinux映像加载到内存中,但是一旦完成,"cont“gdb命令就不会引导linux。我在串行控制台上没有收到任何消息。
我正在遵循这个链接中给出的指示
试图获取链接中提到的log_buffer地址将给出以下输出
(gdb) p (char*) &__log_buf[log_start]
$1 = 0xc04cd460 <Address 0xc04cd460 out of bounds>