Linux 2.6.26.5嵌入式。我需要从busybox (initramfs)手动挂载根文件系统。因为这个Linux内核不使用devtmpfs,所以我必须手动创建基本的设备节点,使用mknod (/dev/null,/dev/zero,dev/mtdblock {0-10},ttys)。我不确定/dev/mtdblock和ttys的格式是否正确。我应该同时为/dev/mtdblock和/dev/mtd创建节点吗?该设备在nand0上创建11个MTD分区。在哪里可以找到分配给设备的主要和次要数字?对于ttys来说,同样的问题是:对于5 /dev/tty和4 tty,什么是正确的mknod命令?它们在不同的地方吗?
mknod -m 666 tty c 4 0
mknod -m 666 /dev/tty c 5 0编辑:分区、设备和文件系统
# cat /proc/partitions
major minor #blocks name
31 0 384 mtdblock0
31 1 128 mtdblock1
31 2 20352 mtdblock2
31 3 7168 mtdblock3
31 4 18816 mtdblock4
31 5 2048 mtdblock5
31 6 1024 mtdblock6
31 7 512 mtdblock7
31 8 128 mtdblock8
31 9 512 mtdblock9
31 10 512 mtdblock10
# cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
10 misc
13 input
89 i2c
90 mtd
108 ppp
128 ptm
136 pts
153 spi
204 ttyJ
254 cordless
Block devices:
1 ramdisk
31 mtdblock
93 nftl发布于 2017-12-04 12:38:35
设备文件本质上是内核中的一个表。一个C数组。
更确切地说,C数组的两层树结构:大数的上层和未成年人的下层。
驱动程序(以及内核内核)可以为它们注册驱动程序处理程序。司机总是使用一个主要的数字。例如,软件raid ("md")使用块大9。
您可以在/proc/devices文件中获得当前注册的块设备和char设备的列表。
最后的答案是在内核源代码中,有"(un)register_block_device“或内核内核的类似调用。找到他们,grep给他们,这样你就可以得到一个完整的列表。
https://unix.stackexchange.com/questions/408706
复制相似问题