- 论坛徽章:
- 0
|
今天再一次移植busybox到我们4020的linux系统上,这次移植的是busybox1.13.3版本,这次没啥大问题,基本上什么命令都能用了,但是还是出现自建的设备号不能超过255,如果自己建的设备号大于255的话就会在下位机mknod的时候报以下错误:
mknod: number 256 is not in 0..255 range
我上网查了下,无解,于是自己跟踪了下,发现是在/busybox-1.13.3/coreutils/mknod这个文件出问题了,具体的是mknod_main函数的下面这个语句:
if (*name != 'p') {
argc -= 2;
if (argc == 2) {
/* Autodetect what the system supports; these macros should optimize out to two constants. */
dev = makedev(xatoul_range(argv[2], 0, major(UINT_MAX)),xatoul_range(argv[3], 0, minor(UINT_MAX)));
}
}
这个中间的一个语句出问题,我直接将这个语句改为:
dev = makedev(xatoul_range(argv[2], 0, 65535),
xatoul_range(argv[3], 0, 65535));
这样重新编译下就能使用255以上的节点了,哈哈!!
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/99507/showart_2166251.html |
|