当前位置:  技术问答>linux和unix

怎么在2.4内核下获取sata硬盘的ID

    来源: 互联网  发布时间:2016-06-17

    本文导语:  rt,用hdparm 的时候,情况如下 /dev/sda:  HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device -bash-2.05b# ./hdparm -I /dev/sda1 /dev/sda1:  HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device -bash-2.05b# ./hdparm -I /dev/sda2 /dev/...

rt,用hdparm 的时候,情况如下
/dev/sda:
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
-bash-2.05b# ./hdparm -I /dev/sda1
/dev/sda1:
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
-bash-2.05b# ./hdparm -I /dev/sda2
/dev/sda2:
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
-bash-2.05b# ./hdparm -i /dev/sda2
/dev/sda2:
 HDIO_GET_IDENTITY failed: Inappropriate ioctl for device

google一下后,说是2.4对这个不支持。上头要求参考2.6的代码,修改驱动。
不知道该怎么做?工作量多少?

那位大侠能够解答。分数还以加。

|
楼主用的是2.4的什么版本的,网上说2.4.22及其以后就支持,如果小于这版本的,建议到www.kernel.org上

找两个标准的内核版本2.4.22和你的版本,再通过diff命令比较得到的patch,找到跟sata相关的驱动移植应该容易些

如果参考2.6的内核,那你必须把sata模块及其相关的源码都熟悉了,再移植才能保证成功

http://bbs.linuxpk.com/thread-918-1-1.html

|

|
2.4的内核和2.6的内核差别还是有点大的。
数据结构,成员函数都很不一样。
要想参考2.6的源码,写出2.4内核的sata驱动,
有点麻烦,block设备驱动编写是要花不少时间的。
而且2.4和2.6内核驱动程序都需要了解。

建议用2.4.22以后的内核源码,自带sata驱动。

|
一个玩sata的成功例子:
使用sarge 2.4.27已经一段日子了,中途升级过N次kernel,不论是已经编译好的DEB还是源码SRC,我都没成功过.昨天一怒之下,把硬盘上重要的数据弄到另一个硬盘上,然后把硬盘的分区都给删除了,准备重新装debian. 
    可是,不论是hiweed debian,或是官方的debian,linux26的时候,安装程序总提示找不到光驱,WK.....我可是用光盘引导的啊. 
    装2.4就没有任何问题啊.难道是我的BENQ 5232X和2.6的内核不兼容?我刷新了光驱的firmware,再安装,还是失败......找朋友借了一个光驱来,竟然还是不行......我当时抓狂了. 
    冷静下来,想想,我的硬盘是SATA的,会不会问题就出在这个上面?进入BIOS,将SATA的硬盘选项一个个的试验,NONE,可以,但没硬盘让我装.....;AUTO,不行;Combined Mode,不行;Enhance Mode,搞定! 
    现在我知道了,以前我使用AUTO的时候,BIOS将SATA的硬盘当做IDE的硬盘识别.2.4kernel不管这么多,就按照BIOS里的来,而2.6就判断出硬盘的实际接口和BIOS的不一样. 
    终于安装成功了,我也终于明白了为什么我先前升级内核总是失败.这次,把APT源改成testing,成功升级到kernel-image-2.6.13

    
 
 

您可能感兴趣的文章:

  • linux 内核空间如何获取当前时间(常用格式)
  • linux内核层面,有什么好的获取时间的函数
  • 用ftok获取的内核对象不需要释放吗?
  • 如何在内核中获取当前进程的内存使用及CPU占用率
  • 内核态下 如何从文本文档中一行一行获取数据
  • 内核自旋锁spin_lock,获取已锁住的锁时Linux死机
  • Android 内核移植问题 要求识别SATA硬盘 请问内核的make menuconfig 要如何配置?求高手
  • 我用一个新硬盘,分好两个区(ext2和swap),再在REDHAT LINUX7.3下把内核文件和所有的文件系统COPY到这个新硬盘上,那么我怎么把这个新硬盘做
  • 装哪个软件包会安装linux的内核源代码到硬盘中?
  • 内核态直接根据柱面,磁道,扇区读写硬盘物理扇区的函数是什么?
  • 2.6.18的内核,SATA硬盘,怎么开启DMA模式啊
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内核中影响tcp三次握手的一些协议配置
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 进程内核栈和操作系统内核栈的关系
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • Linux中内核线程不访问内核态地址空间?
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 2.6内核下编译2.4内核
  • linux内核中的likely宏和unlikely宏介绍及用法
  • 谁能提供kgdb内核补丁内核模块的下载
  • CentOS 6.5 下载地址及如何升级内核(kernel)版本到 3.10.28
  • 编译新内核后怎么进入原来内核
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • docker使用的技术之Container内核原理介绍
  • 内核模块跟内核版本不匹配????????
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • linux为什么要升级内核?升级内核有何作用?
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 内核源码和结果make过的内核源码有什么区别
  • 不重新编译内核能修改内核函数吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3