sda1이 개발 프로그램에 나타나지 않는 이유는 무엇이며 이 문제를 어떻게 해결할 수 있습니까?

sda1이 개발 프로그램에 나타나지 않는 이유는 무엇이며 이 문제를 어떻게 해결할 수 있습니까?

임베디드 Linux 장치가 있고 여기에 일부 파일을 복사하려고 합니다. USB 스틱을 연결하고 dmesg에서 인식되었다고 표시되었지만 어떤 이유로 /dev/sda1든 표시되지 않았습니다.

무슨 일인지 이해하려고 노력 중인데 왜 /dev/sdaX전혀 표시되지 않는 거죠. 어떻게 해야 하나요?

이것은 dmesg입니다:

[  434.006104] usb 1-1: new full-speed USB device number 2 using musb-hdrc
[  434.066132] hub 1-0:1.0: unable to enumerate USB device on port 1
[  434.466078] usb 1-1: new high-speed USB device number 3 using musb-hdrc
[  434.606941] usb 1-1: New USB device found, idVendor=14cd, idProduct=125c
[  434.614008] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=2
[  434.621548] usb 1-1: Product: Mass Storage Device
[  434.626512] usb 1-1: Manufacturer: Generic
[  434.630825] usb 1-1: SerialNumber: 125C20100726
[  434.637445] scsi0 : usb-storage 1-1:1.0
[  435.636998] scsi 0:0:0:0: Direct-Access     Mass     Storage Device        PQ: 0 ANSI: 0 CCS
[  435.649935] sd 0:0:0:0: [sda] 15644672 512-byte logical blocks: (8.01 GB/7.45 GiB)
[  435.658578] sd 0:0:0:0: [sda] Write Protect is off
[  435.663874] sd 0:0:0:0: [sda] No Caching mode page present
[  435.669696] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  435.678648] sd 0:0:0:0: [sda] No Caching mode page present
[  435.684443] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  435.692168]  sda: sda1
[  435.697256] sd 0:0:0:0: [sda] No Caching mode page present
[  435.703051] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  435.709499] sd 0:0:0:0: [sda] Attached SCSI removable disk

확인해 보니 /proc/partitions거기에 있는 것 같습니다.

-sh-4.2# cat partitions
major minor  #blocks  name

  31        0        128 mtdblock0
  31        1        256 mtdblock1
  31        2         64 mtdblock2
  31        3       1408 mtdblock3
  31        4       2560 mtdblock4
  31        5       3776 mtdblock5
  31        6       8192 mtdblock6
 179        0    7822336 mmcblk0
 179        1      72261 mmcblk0p1
 179        2    7735297 mmcblk0p2
   8        0    7822336 sda
   8        1    7818240 sda1

/dev보시다시피 no 의 스냅샷은 다음과 같습니다 sda1.

-sh-4.2# ls /dev
Buzzer              mem                 ram5                tty39
MAKEDEV             mice                ram6                tty4
XOR                 mmcblk0             ram7                tty40
apm_bios            mmcblk0p1           ram8                tty41
console             mmcblk0p2           ram9                tty42
core                mouse0              ramdisk             tty43
cpu_dma_latency     mtd0                random              tty44
crypto              mtd0ro              rfkill              tty45
event0              mtd1                root                tty46
fb0                 mtd1ro              rtc0                tty47
fd                  mtd2                stderr              tty48
full                mtd2ro              stdin               tty49
gpioLeds            mtd3                stdout              tty5
gpioOperate         mtd3ro              timer               tty50
hda                 mtd4                tscadc-test         tty51
hda1                mtd4ro              tty                 tty52
hda10               mtd5                tty0                tty53
hda11               mtd5ro              tty1                tty54
hda12               mtd6                tty10               tty55
hda13               mtd6ro              tty11               tty56
hda14               mtd7                tty12               tty57
hda15               mtdblock0           tty13               tty58
hda16               mtdblock1           tty14               tty59
hda17               mtdblock2           tty15               tty6
hda18               mtdblock3           tty16               tty60
hda19               mtdblock4           tty17               tty61
hda2                mtdblock5           tty18               tty62
hda3                mtdblock6           tty19               tty63
hda4                mtdblock7           tty2                tty7
hda5                network_latency     tty20               tty8
hda6                network_throughput  tty21               tty9
hda7                nfsd                tty22               ttyO0
hda8                null                tty23               ttyO1
hda9                psaux               tty24               ttyO2
hw_random           ptmx                tty25               ttyO3
i2c-1               pts                 tty26               ttyO4
initctl             pvrsrvkm            tty27               ttyS0
kmem                ram                 tty28               ttySA0
kmsg                ram0                tty29               ubi_ctrl
log                 ram1                tty3                urandom
loop-control        ram10               tty30               usbdev1.1
loop0               ram11               tty31               vcs
loop1               ram12               tty32               vcs1
loop2               ram13               tty33               vcsa
loop3               ram14               tty34               vcsa1
loop4               ram15               tty35               zero
loop5               ram2                tty36
loop6               ram3                tty37
loop7               ram4                tty38

이것은 udev monitor또한 로그입니다:

KERNEL[1431.270571] add      /de[ 1431.278179] scsi1 : usb-storage 1-1:1.0
vices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1 (usb)
KERNEL[1431.271543] add      /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.0 (usb)
KERNEL[1431.277947] add      /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.0/host1 (scsi)
KERNEL[1431.278561] add      /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.0/host1/scsi_host/host1 (scsi_host)
KERNEL[1431.280381] add      /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/usb_device/usbdev1.6 (usb_device)
[ 1432.287008] scsi 1:0:0:0: Direct-Access     Mass     Storage Device        PQ: 0 ANSI: 0 CCS
KERNEL[1432.291899] add      /devices/platform/o[ 1432.301160] sd 1:0:0:0: [sda] 15644672 512-byte logical blocks: (8.01 GB/7.45 GiB)
map/musb-ti81xx/[ 1432.310858] sd 1:0:0:0: [sda] Write Protect is off
musb-hdrc.1/usb1[ 1432.317254] sd 1:0:0:0: [sda] No Caching mode page present
/1-1/1-1:1.0/hos[ 1432.323863] sd 1:0:0:0: [sda] Assuming drive cache: write through
t1/target1:0:0 (scsi)
KERNEL[14[ 1432.334323] sd 1:0:0:0: [sda] No Caching mode page present
32.292637] add  [ 1432.340312] sd 1:0:0:0: [sda] Assuming drive cache: write through
    /devices/platform/omap/musb-[ 1432.349590]  sda: sda1
ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.0/host1/target[ 1432.356659] sd 1:0:0:0: [sda] No Caching mode page present
1:0:0/1:0:0:0 (s[ 1432.363347] sd 1:0:0:0: [sda] Assuming drive cache: write through
csi)
KERNEL[143[ 1432.371188] sd 1:0:0:0: [sda] Attached SCSI removable disk
2.293192] add      /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.0/host1/target1:0:0/1:0:0:0/scsi_disk/1:0:0:0 (scsi_disk)
KERNEL[1432.293657] add      /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.0/host1/target1:0:0/1:0:0:0/scsi_device/1:0:0:0 (scsi_device)
KERNEL[1432.326141] add      /devices/virtual/bdi/8:0 (bdi)
KERNEL[1432.347981] add      /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.0/host1/target1:0:0/1:0:0:0/block/sda (block)
KERNEL[1432.348571] add      /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.0/host1/target1:0:0/1:0:0:0/block/sda/sda1 (block)

답변1

글쎄, 나는 내 질문에 대한 답의 절반을 찾았습니다.

…어떡해?

분명히 장치 노드를 직접 만들 수 있을 것 같습니다. USB 스틱을 노트북에 삽입했는데 다음과 같이 표시되는 것을 확인했습니다.

brw-rw---- 1 root disk 8,  0 Apr  3 13:15 /dev/sda
brw-rw---- 1 root disk 8,  1 Apr  3 13:15 /dev/sda1

따라서 블록 장치의 메이저 버전 번호는 8이고, 마이너 버전 번호는 0과 1입니다. 내장된 장치의 긴 목록을 확인한 결과 /dev주요 버전 번호 8을 사용하는 다른 장치가 없다는 것을 발견하여 수동으로 노드를 만들었습니다.

-sh-4.2# mknod /dev/sda b 8 0
-sh-4.2# mknod /dev/sda1 b 8 1

그런 다음 디렉터리를 만들고 여기에 새 sda1을 설치했습니다.

-sh-4.2# cd /mnt/
-sh-4.2# mkdir usbdrive
-sh-4.2# mount /dev/sda1 /mnt/usbdrive/
-sh-4.2# ls /mnt/usbdrive/
libEGL.so     libsrv_um.so

이제 USB 드라이브의 내용을 볼 수 있습니다. 이는 "내가 무엇을 할 수 있나요?"라는 질문에 대한 답변입니다. 임베디드 보드에서 이 작업을 수동으로 수행해야 하는 이유에 대해 여전히 의문이 있습니다. 아마도 USB 드라이버에 이 작업을 자동으로 수행하는 뭔가가 있을 것입니다.

관련 정보