从我接触Linux已经有大约四年时间了,内核源代码也尝试着看过,琢磨过。Linus Benedict Torvalds 也说过,学习Linux最好的方法就是 read the fucking source code。 但是, 看了忘,忘了看,看了再忘,忘了再看 这个循环始终困扰着我,于是乎打算把看过的一些Linux源码中我觉得比较重要的东西想借助自己的博客记录下来,只希望能通过此举加深印象。
嵌入式Linux驱动需要加载固件(firmware)的情况
前段时间一直在板子上调试wifi模块(skwlab skw17),驱动(compat wireless)可以正常编译通过,就是加载驱动的时候,提示需要固件,但是固件总是找不到,导致wifi模块初始化失败。这个问题困扰了我好久,一直找不到原因(起初,一直以为是驱动有问题,下个四个版本的驱动,仍然如此),没办法只能换一个模块(RT3070)来调试,谁知道在调试过程中也遇到相同的问题,大致问题如下图:
git reflog解救git reset引起的血案
不知道大家在使用git的过程中有没有遇到这样一种情况:一不小心操作git reset的时候出错导致这几个星期辛辛苦苦写的代码全丢失了,加上如果没有推送到远程仓库,这下子你就快疯掉了,心中暗想:难道要老子重新写一遍,靠!其实不然,相反,你该庆幸,因为你使用了git进行代码跟踪的。记住:
向Github提交一次错误的commit后该怎么办
在使用Github作为远程仓库的时候,不知道你有没有遇到这种情况:刚刚git push了一个commit到Github,突然发现刚刚那个commit有错误,而现在想从Github上删掉这个错误的commit。这种情况下,我们该怎么办呢?这里就介绍两种方法来解决这个问题。
如何hack人家的嵌入式产品
从我毕业到现在也有四年多的时间了,期间一直从事于嵌入式Linux的开发工作。工作中经常要接触到人家同类型的产品(较为成熟),这类产品都是采取相同的方案甚至相同的芯片来开发的,所以弄懂人家的产品对我们自己开发也有一定的好处。下面就来简单介绍我工作中常用hack人家嵌入式产品的方法。