![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux技术
文章平均质量分 68
被迫淡定
求发展求linux大神帮助武汉MTK码农一枚
展开
-
制作16M ramdisk -- qemu测试用
刚接触kernel,为了学习源码,自己在虚拟机上用qemu来run image: “qemu -kernel linux-stable-3.8.3/bzImage -hda ramdisk/linux-0.2.img -append root=/dev/sda -s” 但在build fs时卡住了,从qemu官网下载的linux-0.2.img可以用;自己fs原创 2013-04-26 15:55:23 · 944 阅读 · 0 评论 -
qemu 调试 kernel (二)
qemu搭建调试环境见前面,现在已经将裸kernel起来,马上进行debug: 1. 在qemu界面,用ctrl+alt+1 或 ctrl+alt+2, 切换到qemu输出与控制页面2. 在qemu控制页面下,输入: gdbserver 1234;(这里我总是提示 could not open device on device '1234', 输入gdbserver tcp::123原创 2013-04-29 10:39:34 · 1042 阅读 · 0 评论 -
动手写第一个驱动
废话不说,上code,1stDrv.c:=======================================================================================#define __NO_VERSION__ #include #include #include #include #include MO原创 2013-04-29 08:41:51 · 346 阅读 · 0 评论 -
kernel 学习 : 文件系统
一. VFS抽象: 提供一个通用模型,包括了文件操作全集,抽象给上层使用. -- V F S -- 用户 write() => sys_write() => 具体文件系统调用 ==> 物理设备 VFS中,目录也当做普通文件看待,操作集没有本质不同。原创 2013-05-29 15:36:17 · 628 阅读 · 0 评论 -
linux kernel学习 (1) - 进程
一. 基本: task_struct : 定义在, 大小约1.7K, 包含管理进程需要的所有信息 。 如:进程状态 -> state ; 打开的文件 -> files_struct *files; 进程地址空间 -> ; 信号 -> signal_struct *signal Current指针:获取当前进程。在x86里面,寄存器少,是通过先偏移到current原创 2013-05-18 09:54:17 · 437 阅读 · 0 评论 -
实用工具函数
==>从member地址找到结构体地址#define container_of(ptr, type, member) ({ \const typeof(((type *)0)->member) * __mptr = (ptr);\(type *)((char *)__mptr - offsetof(type, member)); })#endif==>找到mem原创 2014-02-21 10:42:43 · 374 阅读 · 0 评论