发信人: neal()
整理人: hahalee(1999-04-22 02:53:53), 站内信件
|
*** 注意 *** 此法只适用於 FreeBSD-2.2.1 系列 *** 请到 ftp://freebsd.csie.nctu.edu.tw/pub/jdli/collect/1024pty/ 下抓取 patch 及读取安装方法。 *** 注意 *** 此法只适用於 FreeBSD-2.1.* 系列 *** From: [email protected] (我狂 我笑 我傲 *) Newsgroups: tw.bbs.comp.386bsd Subject: Re: [转录]增加 tty 的步骤 Date: 06 Oct 1996 01:53:16 GMT Organization: 元智工学院风之塔BBS Lines: 53 ※ 引述《[email protected] (小硕硕)》之铭言: ∶ Sound ([email protected]) 提到: ∶ : #@ 使用者 tty 上限, 限制最大 login 人数, 到 420 前应该没问题 ∶ : pseudo-device pty 128 ∶ : 2. cd /dev; ./MAKEDEV pty1 pty2 pty3 pty4 pty5 pty6 pty7 ∶ : 说明: pty0 会造出 ttyp[0-9a-v] & ptyp[0-9a-v] ∶ : (tty & pty 是成对使用的) ∶ : 所以总共有 tty[pqrsPQRS][0-9a-v]: 8 * 32 == 256 个 tty 可用 ∶ 关於这点有点奇怪说.... ∶ 以前没注意就混过去..:P 今天在改telnetd时才发现... ∶ tty的major number是用5...minor是0~255..这样不是只能到256个 ∶ 如果还有另外一个major number可以用..(like sunos 512 patch) ∶ 那不是就可以有512个了?! 提供你一个我前阵子为这个问题找出的解决方法... 由於因为 minor number 上限是 256, 而在 BSD 的 major number 和 minor number 是放在一个整数□, minor number 放在最低的 8bits, 而 major number 是放在次低的 8bits. 两个 number 是相邻的, 所以只要将 major number 少算一位, minor number 多算一位, 那麽 minor number 就变 0 ~ 511 了. 而 major number 和 minor number 的取法都是透过 major 和 minor 这两 个 macro, 所以为了达成这个目的, 我把 tty_pty.c 这个 source 做了点修改. 首先在前面写 _minor 和 _major 这两个 macro, #define _major(dev) ((dev >> 9) & 0x7) #define _minor(dev) (dev & 0x1f) 然後将 tty_pty.c □, 所有的 minor 替代成 _minor 接著到 i386/i386/conf.c 把 cdevsw 这 structure 的 5 和 6 这两个 element (即 ttyp 和 ptyp 这两个), 将之内容各 copy 两份到 structure 的 最後, 即 ttyp 变成 76 和 77 这两个 element, 而 ptyp 成为 78 79 这两个 element. 再来, make kernel ... 然後到 /dev 下, make device file. 这时你就可以各造 512 个 pty 和 tty 了.. majr device number 分别是分布在 pty ->(78,79) 和 tty->(76,77). 记得要先清除原有的 pty. 完工了... 可以有 512 tty 了... 要 1024 也可以...
-- ※ 来源:.网易 BBS bbs.netease.com.[FROM: dmx320.resnet.ust.hk]
|
|