小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

S3C2440移植linux3.4.2內(nèi)核之內(nèi)核裁剪

 Coder編程 2022-05-17 發(fā)布于北京

上一節(jié)S3C2440移植linux3.4.2內(nèi)核之支持YAFFS文件系統(tǒng)我們修改了內(nèi)核支持了yaffs2文件系統(tǒng),這節(jié)我們裁剪內(nèi)核。

為什么要裁剪內(nèi)核?

??因?yàn)閙td的kernel分區(qū)只有2M大,而實(shí)際內(nèi)核有2.37MB,所以需要裁剪到小于2M(或者修改mtd分區(qū)值)

首先裁剪內(nèi)核里無關(guān)的CPU/單板文件

??通過vi .config,然后搜索2440,如下圖所示:
在這里插入圖片描述
??然后參考上圖,make menuconfig

??進(jìn)入System Type ---> SAMSUNG S3C24XX SoCs Support:
在這里插入圖片描述
??如上圖所示,CPU下只選擇2440,單板文件下只選擇SMDK2440以及MINI2440相關(guān)

裁剪無關(guān)的文件系統(tǒng)ext2、ext3、ext4

??重新make menuconfig,進(jìn)入File systems,去掉:

< > Second extended fs support               //ext2
< > Ext3 journalling file system support 
< > The Extended 4 (ext4) filesystem

裁剪光盤文件系統(tǒng)CD-ROM

進(jìn)入File systems---> CD-ROM/DVD Filesystems,去掉:

< > ISO 9660 CDROM file system support    

裁剪不常用的雜項(xiàng)文件系統(tǒng)

進(jìn)入File systems---> Miscellaneous filesystems,去掉:

< >   Compressed ROM file system support (cramfs)    // cramfs壓縮文件系統(tǒng)
[ ]     Include support for ZLIB compressed file systems //zlib壓縮文件系統(tǒng)
< >   ROM file system support                            // Romfs

通過內(nèi)核啟動(dòng)信息來裁剪

??如下圖所示,內(nèi)核啟動(dòng)時(shí),看到初始化了PS2鼠標(biāo)驅(qū)動(dòng)
在這里插入圖片描述
??由于,我們2440板子只有USB接口,所以需要裁剪掉PS2鼠標(biāo)驅(qū)動(dòng):

重新make menuconfig,進(jìn)入Device Drivers-> Input device support,去掉:

[ ]     Provide legacy /dev/psaux device    //PS2鼠標(biāo)鼠標(biāo)指向的鼠標(biāo)設(shè)備文件
[ ]   Mice  --->                   //其它各種鼠標(biāo)驅(qū)動(dòng),包括PS2鼠標(biāo)、I2C鼠標(biāo)、觸摸板等
			        [ ]   PS/2mouse

通過.config文件的內(nèi)容來裁剪

??通過vi .config,找到如下圖所示,由于CONFIG_TOUCHSCREEN_USB(USB觸摸板)很少見到,所以去掉
在這里插入圖片描述
??USB-based Watchdog Cards(基于usb的看門狗卡)

??如下圖所示,這個(gè)看門狗卡很少用到,所以去掉CONFIG_SSB_POSSIBLE
在這里插入圖片描述
??USB-based Watchdog Cards(基于usb的看門狗卡)
??Sonics Silicon Backplane (Sonics公司下的Silicon底板)
??如下圖所示,這個(gè)公司的產(chǎn)品沒有用到,所以去掉CONFIG_BCMA_POSSIBLE
在這里插入圖片描述
??找到如下圖所示,由于CONFIG_SND_USB (USB聲卡)沒用到,所以去掉
在這里插入圖片描述
??去掉CONFIG_USB_LIBUSUAL,沒用到
在這里插入圖片描述

最后通過上節(jié)查找的裁剪內(nèi)容,來make menuconfig

??去掉CONFIG_TOUCHSCREEN_USB

-> Device Drivers                                                                    

  -> Input device support

    -> Generic input layer

    -> Touchscreens

<*>   Samsung S3C2410/generic touchscreen input driver   //加上自帶的觸摸屏驅(qū)動(dòng)

< >   USB Touchscreen Driver                                              //去掉USB觸摸屏驅(qū)動(dòng) 

??去掉CONFIG_SSB_POSSIBLE
搜索如下圖所示,該宏是被別的選項(xiàng)設(shè)置,所以去掉不了:
在這里插入圖片描述

??去掉CONFIG_BCMA_POSSIBLE。該宏也沒找到,所以去掉不了
??去掉CONFIG_SND_USB

-> Device Drivers

-> Sound card support

  -> Advanced Linux Sound Architecture

[ ]   USB sound devices              //去掉USB聲卡驅(qū)動(dòng)

5)去掉CONFIG_USB_LIBUSUAL

-> Device Drivers 

-> USB support

[ ]   The shared table of common (or usual) storage devices       

裁剪后大小如下所示
在這里插入圖片描述

給內(nèi)核制作補(bǔ)丁

??制作補(bǔ)丁之前,首先需要make distclean清除所有的配置文件,也包括了menuconfig菜單。而menuconfig菜單是通過讀取.config文件來生成的.
所以我們需要保存.config文件
步驟如下:

cp .config  config_ok            //保存到config_ok文件
make distclean                  
cd ../

mv linux-3.4.2  linux-3.4.2_new  //更改文件名
tar -xjf linux-3.4.2.tar.bz2             //解壓需要比較的源文件

diff -urN linux-3.4.2 linux-3.4.2_new > linux-3.4.2_new.patch    //生成補(bǔ)丁文件linux-3.4.2_new.patch

有任何問題,均可通過公告中的二維碼聯(lián)系我

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多