你好,你的这些问题我只能简单回答,本人水平也不高,说些知道的互相学习:
1,你编写驱动等一些内核模块时,的确需要在makefile里面指定好编译好的模块所在目录下面的build下面的makefile,其实就是指定到linux源码下面的makefile进行执行。这样可以很方便的编译驱动模块等等,当然编译应用程序那编译器已经自动了一些需要用的头文件,不需要指定到内核头文件。
2,为什么文件系统内部的内容修改后还能存在呢,因为现在都使用的日志文件系统(Journaled File System),就好普通电脑上ext3的差不多。你的默认文件系统我猜是cramfs,现在通用的yaff,ubifs具体可以查资料。
3 ,编译这个busybox不需要指定内核路径,因为编译这个根本不需要内核的东西,配置完成后,可以指定安装到你自己做的文件系统bin目录下面,也可以不指定直接编译出一个叫busybox的可执行文件想安装在哪里就直接执行就好
4 基本可以这么理解,当然一个硬件是x86,一个是ARM,所以应用开发思路可以一样,但是底层的际操作过程还是很有差别的。