歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

移植文件系統(BusyBox1.12.2)到S3C2410平台出現的問題

最近忙著做畢業設計,做到系統底層軟件平台構建這一步,也就是移植uboot、linux內核和根文件系統,目標平台是S3C2410。

BusyBox各版本下載 http://www.linuxidc.com/Linux/2011-08/40704.htm

經過一步步的移植,最後都移植成功了,燒到板子上能夠正常啟動,但是經過我得測試後發現一個問題,無法加載驅動模塊。(紅色字體表示很嚴重!)這個問題嚴重,無論怎麼insmod或者modprobe發現都不行,剛開是提示“chdir(modules) No such file...”錯誤,無法加載,經過查詢資料發現是內核模塊在插入卸載時都會要轉到/lib/modules/內核版本號/ 這個目錄裡。而我得文件系統裡沒有這個目錄,所以又重啟制作下文件系統添加這個目錄。再次下載到開發板上,運行模塊加載命令,發現還是錯誤提示是沒有這個文件“No such file..”,怎麼會沒有這個文件哪?明明就在當前目錄下,這個郁悶壞了。然後千方百計的找資料實驗很多方法,發現都不行。最後無奈之下就換了一個busybox的版本,從之前的busybox1.12.2換成busybox1.9.2,然後再次配置編譯,配置如下:

Busybox Setting----->
       build option-->
    [ ] Build BusyBox as a static binary (no shared libs)                     
    [*] Build shared libbusybox                                               
    [*]   Produce a binary for each applet, linked against libbusybox         
    [*]   Produce additional busybox binary linked against libbusybox          
    [ ] Build with Large File Support (for accessing files > 2 GB)  
      
installation option-->
    [*] Don't use /usr                                                    
        Applets links (as soft-links) --->                                   
     (./_install) BusyBox installation prefix
 
Busybox Library Tuning --->
                              
MD5: Trade Bytes for Speed                                      
[*] Faster /proc scanning code (+100 bytes)                            
[*] Support for /etc/networks                                    
 
[*] Support for /etc/networks
[*]   Additional editing keys
[*]   vi-style line editing commands
[*]   History saving
[*]   Tab completion
[*]   Username completion
[*]   Fancy shell prompts
 
Linux Module Utilities --->
[*] Support version 2.6.x Linux kernels
 
    [*] insmod  
    [*]   Enable load map (-m) option  
    [*]     Symbols in load map
    [*] rmmod  
    [*] lsmod
    [*]   lsmod pretty output for 2.6.x Linux kernels  
    [*] modprobe
    [ ]   Multiple options parsing
    [ ]   Fancy alias parsing
    ---   Options common to multiple modutils
    [ ] Support tainted module checking with new kernels
    [ ] Support version 2.2.x to 2.4.x Linux kernels
 
    [*] Support version 2.6.x Linux kernels

 
(紅色字體表示關鍵地方)
 
其他的用默認值
 
我想無法加載驅動模塊的問題就出在紅色的配置選項地方,難道是busybox1.12.2版本有bug?這個目前還不是很清楚,希望知道的大牛們給一個解答(回復)!

配置完成後make一下出現一串錯誤,好像是什麼applets/applets.c 21:2 error #Abort error,無奈,根據提示找到這個文件的第21行將其注釋掉,重新make,通過!然後make install完成,重新制作文件系統。制作完成之後下載到板子上一切正常,再次加載驅動模塊OK,[root@ /mnt/yaffs]# insmod s3c2410-dc-motor.ko

s3c2410-dc-motor        device initialized,加載成功!

另外發現一個問題,s3c2410平台上的dm9000網卡只能配置成功一次,第二次啟動配置的時候就會出現:ifconfig: SIOCSIFFLAGS: Invalid argument

目前只有一個非常笨得方法可以用:在啟動的時候停留在uboot,然後使用tftp下載一個文件到內存,然後再reset,就會再次配置成功網卡,否則無法正常網卡,好想現在就不正常!

Copyright © Linux教程網 All Rights Reserved