移植文件系统(busybox1.12.2)到S3C2410平台出现的问题....

简介:   最近忙着做毕业设计,做到系统底层软件平台构建这一步,也就是移植uboot、linux内核和根文件系统,目标平台是S3C2410。 经过一步步的移植,最后都移植成功了,烧到板子上能够正常启动,但是经过我得测试后发现一个问题,无法加载驱动模块。
   最近忙着做毕业设计,做到系统底层软件平台构建这一步,也就是移植uboot、linux内核和根文件系统,目标平台是S3C2410。

经过一步步的移植,最后都移植成功了,烧到板子上能够正常启动,但是经过我得测试后发现一个问题,无法加载驱动模块。(红色字体表示很严重!)这个问题严重,无论怎么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,就会再次配置成功网卡,否则无法正常网卡,好想现在就不正常!
目录
相关文章
|
1月前
|
Linux 开发者 Docker
【Linux】在Linux上安装Docker: 一站式指南
【Linux】在Linux上安装Docker: 一站式指南
370 0
|
4月前
|
资源调度 前端开发 Linux
Docker 在 Linux 系统使用
Docker 在 Linux 系统使用
|
Ubuntu
X86下构建 ARM 文件系统并运行
X86下构建 ARM 文件系统并运行
433 0
|
Ubuntu
使用debootstrap构建制作aarch64/arm64 Debian rootfs文件系统
使用debootstrap构建制作aarch64/arm64 Debian rootfs文件系统
1035 0
|
编译器 Shell 测试技术
ARM嵌入式——制作根文件系统并使用NFS挂载运行。
ARM嵌入式——制作根文件系统并使用NFS挂载运行。
310 0
|
Kubernetes JavaScript 安全
我们下一代的 Linux 容器工具:Podman
我们下一代的 Linux 容器工具:Podman
|
Ubuntu
嵌入式实践教程--ubuntu18.04-armhf根文件系统移植
嵌入式实践教程--ubuntu18.04-armhf根文件系统移植
|
缓存 弹性计算 Linux
Linux容器技术原理和使用
传统的虚拟化技术是通过硬件模拟或者操作系统软件实现,而容器技术可以比传统虚拟化更轻量级。
1241 0
|
Linux Apache Windows
Linux 制作系统镜像
Linux 制作系统镜像
Linux 制作系统镜像