作者saveload2001 (=口="被發現了!)
看板LinuxDev
標題[問題] mknod: not found DMA6410開發版
時間Wed Mar 16 21:24:37 2011
各位大大好
小弟是Linux 新手
步驟都是照書做 且修改過CC的路徑 試過insmod hello.ko 電腦可以DNW正常show出文字
以下是我將範例的 led.ko 檔加到開發板上的情形
#
# cd sdcard
# ls
LOST.DIR
DCIM
launchpad.apk
apkInstaller.apk
MediaPlayer.apk
koo_6.apk
Big Planet TW 1[1].2.4.apk
BigPlanetTracks_2[1].0a.apk
u-boot_mmc.bin
test.ko
RMaps
bk_light.ko
dc_motor.ko
led.ko
BigPlanet_maps.sqlitedb
BigPlanetTracks
pwm.ko
# lsmod
led 2912 0 - Live 0xbf000000
# rmmod led
LED driver release success!
# insmod led.ko
LED driver register success!
# cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 /dev/vc/0
4 tty
5 /dev/tty
5 /dev/console
5 /dev/ptmx
6 lp
7 vcs
10 misc
13 input
14 sound
21 sg
29 fb
30 led
81 video4linux
89 i2c
90 mtd
99 ppdev
108 ppp
116 alsa
128 ptm
136 pts
180 usb
188 ttyUSB
189 usb_device
204 s3c2410_serial
253 usb_endpoint
254 rtc
Block devices:
1 ramdisk
7 loop
8 sd
31 mtdblock
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
179 mmc
# mknod /dev/led c 30 0
mknod: not found
#
之後就不知道怎麼照書中的繼續了... 苦惱中
led.ko 的內容 是讓ARM開發板的 兩顆LED交互閃爍
可是我目前還是恆亮的狀態
希望有大大能幫我解惑!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.23.55.19
※ 編輯: saveload2001 來自: 211.23.55.19 (03/16 21:27)
1F:→ madoka82:個人猜測兩各可能原因 1. busybox 當初在製作的時候沒有 03/16 21:57
2F:→ madoka82:把 mknod 這個選項選起來 那自然不會有這指令 2.也許你 03/16 21:58
3F:→ madoka82:rootfs 路徑出了點問題 你去查查你的 mknod 放到哪邊去.. 03/16 21:59
4F:→ saveload2001:糟糕 我只用Makefile編譯檔案 用的是arm-linux-gcc 03/16 23:09
5F:→ saveload2001:我沒有用busybox編譯 感謝ma大提供方法 03/16 23:10
6F:→ saveload2001:但是@@"" 我不知道怎麼用開發版去查 mknod路徑 03/16 23:11
7F:→ saveload2001:明天我再提供我的Makefile檔案 03/16 23:13
8F:→ roylee17:可以把 toolchain 裡的 *.so 搬到板子的 filesystem 裡 03/17 00:31
9F:→ roylee17:或是直接編成 statically linked binary 省事點 03/17 00:32
10F:→ roylee17:編譯選項加上 -statc 再試試吧 03/17 00:33
11F:→ madoka82:這跟你怎麼 compile 你的 device driver 無關,這是在建置 03/17 03:23
12F:→ madoka82:你 arm 版開機系統的時候的事情,基本上你可能需要的是 03/17 03:25
13F:→ madoka82:"重新編譯 busybox", busybox 不是拿來 compile 你的 03/17 03:26
14F:→ madoka82:driver 用的,又其實你已經在 /dev 下有 led 這個 device 03/17 03:29
15F:→ madoka82:file 了是嗎(?) 如果已經有了 那倒是不用去考慮 mknod 有 03/17 03:29
16F:→ madoka82:沒有正常動作XD 反正 mknod 用來產生 device file ... 03/17 03:29
17F:→ madoka82:又如果你是希望你的 driver 在 insmod 之後馬上讓你的燈 03/17 03:36
18F:→ madoka82:閃爍 那你要看看你對於燈號的操作是否寫在 init_module() 03/17 03:38
19F:→ madoka82:裡頭... 還有我是懷疑你 GPIO 腳位有沒有指定好:Q 如果你 03/17 03:40
20F:→ madoka82:的程式碼 不是從你板子附的文件裡頭一起出來的 那有很大 03/17 03:42
21F:→ madoka82:機率 driver 控制的腳位 跟你板子實際 LED 接的腳位不同 03/17 03:42
22F:→ madoka82:所以你應該把你板子的規格書電路接腳拿出來看... 我想... 03/17 03:44
23F:→ madoka82:Makefile 是不會有什麼太大問題的 .ko 檔都給你編出來了. 03/17 03:44
24F:→ saveload2001:感謝ma大還有roy大 我要檢查一下隨書附贈的led.c檔 03/17 09:27
25F:推 i386:我覺得重點在於... 板子裡有沒有mknod這個command 03/17 11:17
26F:→ madoka82:他其實應該已經有 device file 了... 03/17 11:23
27F:→ madoka82:不過如果沒有的話 那的確是還要去把 mknod 生出來... 03/17 11:24
28F:→ madoka82:當然... 另解是把當初把 rootfs 看板子光碟有沒有附 拿出 03/17 11:28
29F:→ madoka82:來解壓縮 然後到 外部 linux 環境去先把 device file 建 03/17 11:29
30F:→ madoka82:好->然後重新打包->燒回板子上 這樣就不用在板子上建立 03/17 11:30
31F:→ madoka82:mknod 這個指令... 03/17 11:30
32F:→ saveload2001:好的 我試試看 謝謝 03/17 11:41
33F:→ madoka82:修正... 我漏講很多步驟XD 1. mount cramfs 2.把 mount 03/17 11:59
34F:→ madoka82:上去的東西 tar 出來 3.把步驟 2 的 tar 檔找個地方解壓 03/17 12:00
35F:→ madoka82:4.到解壓縮之後的對應目錄夾下 mknod 產生 dev file 03/17 12:01
36F:→ madoka82:5.重新打包製作 cramfs 6.燒回板子上... 03/17 12:02
37F:→ i386:我純粹針對mknod: not found 這個error message來解釋.. 03/17 12:43
38F:→ i386:至於要在板子裡面的file system長出device node..就樓上說的 03/17 12:44
39F:→ i386:那樣子的作法.. 03/17 12:44
推 Adama:locate mknod? 03/17 08:54
→ saveload2001:我不懂local是指?? mknod是我下達指令到開發板上的 03/17 09:21
→ saveload2001:開發板的kernel是 dma6410L-linux-2.6.27 03/17 09:22
→ madoka82:想按 2 但是忍下來了...我發覺你不是個細心的人 一樓講的 03/17 11:09
→ madoka82:是 "locate mknod" 用意在找你的 mknod 放到哪邊去,基本 03/17 11:10
→ madoka82:上就是我在 linuxdev 回給你的可能原因之一 mknod 你不知 03/17 11:10
→ madoka82:到路徑丟到哪邊去了... 03/17 11:11
→ madoka82:你想玩開發版 我想對於 Linux 的操作要再熟悉一點...... 03/17 11:11
→ saveload2001:感謝ma大! 我找到是busybox的應用了 03/17 21:12
→ saveload2001:現在是加 busybox mknod /dev/led 30 0 03/17 21:13
→ saveload2001:然後就可以了 03/17 21:13
→ saveload2001:只是 ... 兩顆LED燈依然恆亮 03/17 21:14
→ saveload2001:我把書的下半部分看完 說要灌android APK對應LED軟體 03/17 21:15
→ saveload2001:現在軟體可以驅動 驅動程式 led可以用觸控亮滅了 3Q 03/17 21:16
※ 編輯: saveload2001 來自: 211.23.55.19 (03/17 21:17)