|
看了些文章,发现有好多不同的地方,有些不能理解:
在 学习编译内核── 为新手指南 一文中再最后几步时,直接
bash-3.00# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12.3
bash-3.00# cp System.map /boot/System.map-2.6.12.3
bash-3.00# cd /boot
bash-3.00# /sbin/mkinitrd initrd-2.6.12.3.img 2.6.12.3 这个是用来创新initrd映像的,不创建这个文件,有时是启动不起来的,比如提示VFS错误等;
然后再就配置grub,配置grub能看明白。
然而在别的文章里,最后几步都有
#cp /usr/src/linux/System.map /boot/System.map-2.2.16
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.2.16
#cd /boot
#rm -f System.map
#ln -s System.map-2.2..16 System.map
把以前的那个System.map删了,再重新建链接,而我查出的System.map的作用是:
System.map却是文件系统上的一个真实文件。当你编译一个新内核时,你原来的System.map中的符号信息就不正确了。随着每次内核的编译,就会产生一个新的 System.map文件,并且需要用该文件取代原来的文件。
按这样的理解的话,每次编译完后,以前的那个System.map就不能用了,必须用用新产生的这个。
那在 学习编译内核── 为新手指南 一文中是怎样做的,为什么可以那样做?
还有就是关于
cd /usr/include
rm -rf asm linux scsi
ln -s /usr/src/linux/include/asm-i386 asm
ln -s /usr/src/linux/include/linux linux
ln -s /usr/src/linux/include/scsi scsi
这几步,在有的文章里 上面那几步做了,有的没做,做为什么?不做又是为什么? |
|