linux4.10.8 內核移植(三)---裁剪內核


一、裁剪內核

1.1 第一次修改

  現在的內核大小為2.8M左右,要裁剪到2.0M以下,畢竟給內核分區就只有2.0M。

  

  

  這兩個設備我們沒有,裁剪掉。

  進入make menuconfig中,搜索mousedev:

  

  進入里面按需要進行裁剪。

  

  搜索 lp:

  

  hostname修改:

  

  文件系統再此修改:

  

  去掉如下選項:

  

  

  

  再次進入device driver,-》input device->touch creen

  配置上

  

  去掉:

  

  修改完后,保存。然后編譯執行,查看uImage的大小

  

  裁剪出來的大小為2.66M,還得繼續裁剪。

1.2 第二次修改

  查看.config文件,查看哪些能修改的。

  

  NETworking support->bluetooth

  藍牙設備,我們的開發板上沒有藍牙,去掉

  

  device driver->network device support

  

  無線WIFI也不支持,去掉。

  

  這個去不掉,放那里了。

   編譯

  

  根本沒減少多少,只能現在內核自帶屬性越來越多了。只能修改分區了。

  修改兩個分區,u-boot分區和linux里面的分區。

二、修改分區

2.1 修改u-boot分區

  u-boot 的分區在 include/configs/jz2440.h 中修改,修改為4M大小

  

  編譯,然后下載。使用openjtag下載

  

  分區:

  

  刪除原有的分區:

  mtdparts delall

  新建分區:mtdparts default

  

  分區已經建立好。

2.2 內核修改 

  Mach-mini2440.c (arch\arm\mach-s3c24xx) 

  

  編譯。

  燒寫文件系統進去:

1 nfs 30000000 192.168.0.192:/home/ubuntu/work/nfs_root/fs_mini.yaffs2 2 nand erase.part rootfs 3 nand write.yaffs 30000000 260000 $filesize 4 set bootargs console=ttySAC0,115200 root=/dev/mtdblock3 

  燒寫內核,此次就直接燒寫進nand中了

1 nfs 30000000 192.168.0.192:/home/ubuntu/work/nfs_root/uImage 2 nand erase.part kernel 3 nand write 30000000 kernel

  u-boot中要設置啟動參數:

1 set 'nand read 30000000 kernel;bootm 30000000' 2 set bootargs console=ttySAC0,115200 root=/dev/mtdblock3

  正常啟動。

四、制作補丁

  內核補丁制作:

1 cp .config config_jz2440 2 make distclean 3 cd .. 4 mv linux-4.10.8 linux-4.10.8_jz2440 5 tar -jxvf linux-4.10.8.tar.gz 6 diff -urN linux-4.10.8 linux-4.10.8_jz2440 > linux-4.10.8_jz2440.patch

  

  打補丁:

1 cd linux-4.10.8 2 patch -p1 < ../linux-4.10.8_jz2440.patch

 

     

 

  

  

  

  

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM