linux内核源码实战_编译内核并添加打印调试信息
linux内核源码实战_编译内核并添加打印调试信息
忙,一直没有去理解所学知识,开起倍速学习,哈哈。
下面我就对linux内核实战源码进一步理解。
对了,我学习地址是这个链接
这个是我将要理解的内核模块程序,有兴趣的可以去这个链接下载,运行一把可能会有新的发现。
linux内核源码实战下载地址
推荐一个免费公开课程,个人觉得老师讲得不错,分享给大家
免费公开课程
页回收、处理器缓存、连续内存分配器
搭建环境
凭空的说, 还不如自己去实践一哈。 通过dmesg 打印调试信息。
共享目录搭建
samba 搭建
windows 直接进入
win key+R
输入“control userpasswords2”
跨虚拟机的拷贝
scp linux-5.6.14.tar.xz tan@192.168.1.107:/home/tan/work
sudo apt-get install gcc libncurses5-dev build-essential kernel-package libssl-dev kernel-source-** libc6-dev fakeroot bin86
vim include/linux/mm.h
在 get_num_physpages 中增加了 pr_info ("xtan run is here ");
static inline unsigned long get_num_physpages(void)
{
int nid;
unsigned long phys_pages = 0;
for_each_online_node(nid)
phys_pages += node_present_pages(nid);
pr_info ("xtan run is here ");
return phys_pages;
}
通过dmsg 看到了我要的结果。
分两步进行调试内核
如果是只查看内核信息,我都在真实电脑上运行。 - 主要速度快
如果要修改内核的参数, 我都将deb拷贝到虚拟机里运行。 - 安全
更换系统内核。
cat build.sh
pushd linux-5.6.14
make -j4
make modules_install -j4
make install -j4
popd
生成deb文件,更换内核
cat build.sh
#rm ../build/* -fr
cp linux-5.6.14 ../build -fr
pushd ../build/linux-5.6.14
make deb-pkg -j4
scp ../*.deb tan@192.168.1.107:/home/tan/build_image
popd
总结
环境搭上了,下一步该去撸源码了。
本想把内存管和进程进行理解,难! 理解不到的只有通过打印调试信息去理解, 所以就搭建环境去了。