linux 编译内核几个常见问题解决方法

来源:互联网 发布:hadoop大数据平台构建 编辑:程序博客网 时间:2024/05/16 19:12
           

  1.安装内核后重启失败.
             
只见到这个提示:
kernel panic: VFS: can't mount root on unknown block(0,0)

             通常这种情况有3种原因:
             a. grub 配置错了, 不过因为各发行版编译内核的工具都会自动更新grub配置的, 这个种情况很少。
                 除非你是手动更新grub的, 这是就是就要检查下grub.cfg, 是不是/ or /boot分区指定错误。

            b.  编译内核没有把/boot 或 / 的文件系统格式编入内核, 例如/boot 和 / 所在分区的文件格式是ext3 .  但你没有把ext3格式支持编入内核。

            c. 这个情况也是我遇上的, 就是要将
            Initial RAM filesystem and RAM disk (initramfs/initrd) support   
           
设成y,  它位于Genaral Setup 下面。
            这个选项跟启动有关, 如果我不选这个选项, 那么更新内核后台式机和thinkpad都不能启动....
           

linux 编译内核几个常见问题解决方法 - 饥民 - 饥民2011



2.usb无线网卡不能驱动
           例如我那个渣无线网卡Tp_link wn821n  开始几次都不能启动。
           终于试出了解决方法。
 
           a. 首先要选上Network support 里的 RF switch subsystem support
         

linux 编译内核几个常见问题解决方法 - 饥民 - 饥民2011

            b. 接下来选上 Wireless里面的 cfg80211 - wireless configuration API 
          和  Generic IEEE 802.11 Networking Stack (mac80211)
            
linux 编译内核几个常见问题解决方法 - 饥民 - 饥民2011
 
            c. 接下来就可以将对应的显卡驱动编进内核了, 去Device Drivers  -->  Network device support 
            把 
Wireless LAN 这个大选项打上y

            在进里面把对应网卡芯片的驱动选上, 注意是网卡芯片而不是网卡牌子。 例如Tp link 821N 用的是 Atheros Wireless Cards  这个牌子的芯片。 那么就把这个牌子的驱动选上。

             怎么看网卡的芯片信息?  如果你用的是主板上的网卡, 请用 lspci | grep -i net来看, 如果是usb网卡就用lsusb | grep -i net 来看。

3. intel核心显卡HD4000 不能正常驱动, 拖动窗口卡
           
这个原因是没有把Intel HD显卡的驱动编入驱动, 只编成了模块。 开机时又没有加在模块...
            最佳解决方法还是把驱动编入内核。

            a. 首先把Device drivers -->  Graphics support 里的
Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)   set 成 Y, 注意不能设成模块。 这个是把显卡驱动设成Y的前提条件。

            b. 然后去 Device Drivers --> Graphics support --> /dev/agppart (AGP Support) 里的Intel 440LX/BX/GX, I8xx and E7x05 chipset support  设成Y, 这个也是前提条件。

           
c. 接下来就可去Device Drivers --> Graphics support 里的
Intel 8xx/9xx/G3x/G4x/HD Graphics 设成y, 就ok了
           

linux 编译内核几个常见问题解决方法 - 饥民 - 饥民2011


4. 声卡有问题。
         
我的thinkpad 为地沟油编译了1个内核, 但是声卡有点问题,  开始开机进入系统时是能发声的, 但是一旦在一个终端su 成其他用户, 声卡马上不能发声。。 太奇葩 。

          经历2个小时排错, 终于发现要在General setup ---> 里选上

          Auditing support  Enable system-call auditing support

          大概是跟地沟油里的selinux发生什么冲突了。



5. 开机启动信息显示
 Failed to insert module 'autofs4'
 
            解决方法: 把File Systems --> 里的 Kernel automounter version 4 support (also supports v3)  选上



6. 开机启动信息显示
Failed to find module 'uinput'

           解决方法:把 Device Drivers --> input device support --> miscellaneous devices
                               里的  <*>   User level driver support   选上。

 

7. 摄像头不能用(thinkpad x230)
           解决方法:
                          
a.  把 Device Drivers 里的 <M> Multimedia support  设成M, 设成Y的话我这里会编译失败。
                          
                           b.  把里面的Cameras/video grabbers support Media USB Adapters Autoselect tuners and i2c modules to build  设成Y

                           c. 在Media USB Adapters 里面按如下图设置:

                          
linux 编译内核几个常见问题解决方法 - 饥民 - 饥民2011
 


8. u盘读不出来
      
添加vfat 文件格式支持就行了,  当然你把u盘格式化成ext4也可以.... 不过就不能在windows的机器上用了
      

linux 编译内核几个常见问题解决方法 - 饥民 - 饥民2011

9. 无线网卡在virtualbox里桥接失败
          具体表现就是,编译virtualbox modules 后, 能正常开机, 但是虚拟机里面不能dhcp获取ip, 自定义ip后也ping不通路由, 试了很久, 要把
           Network Support --> Wireless -->cfg80211 wireless extensions compatibility 设为y    
           重新编译内核和编译kmod就能正常使用虚拟机的桥接上网了
          
          
linux 编译内核几个常见问题解决方法 - 饥民 - 饥民2011
 
 
 
 
 

原创粉丝点击