Linux 版 (精华区)
发信人: tcpip (俺的昵称改了), 信区: Linux
标 题: ◇增加tty的步骤calvin
发信站: 哈工大紫丁香 (Wed Aug 25 19:40:51 1999), 转信
发信人: calvin (冷眼人生~淡出江湖), 信区: FreeBSD
标 题: ◇ 增加 tty 的步骤
发信站: 华南网木棉站 (Mon Jun 15 16:46:44 1998), 转信
◇ 增加 tty 的步骤
---------------------------------------------------------------------------
-----作者: woju (Sound) 看板: Plan标题: 增加 tty 的步骤
时间: Fri Oct 4 02:15:02 1996
以 FreeBSD + Maple 2.36 sob-version 为例:
1. kernel config
...
#@ 这并"不是"使用者上限, 而是定义一些系统的结构应该留多大的空间,通常
#@ 打个 16 或 32 就够了, 除非你开站, 那就用 64 吧
maxusers 64
options "CHILD_MAX=256"
options "OPEN_MAX=256"
...
#@ 使用者 tty 上限, 限制最大 login 人数, 到 420 前应该没问题
pseudo-device pty 128
...
Ref: ftp://sob.m7.ntu.edu.tw/sob-version/misc/sobkernelconf
2. cd /dev; ./MAKEDEV pty1 pty2 pty3 pty4 pty5 pty6 pty7
说明: pty0 会造出 ttyp[0-9a-v] & ptyp[0-9a-v]
pty1 ... ttyq...
pty2 ... ttyr...
pty3 ... ttys...
pty4 ... ttyP...
pty5 ... ttyQ...
pty6 ... ttyR...
pty7 ... ttyS...
(tty & pty 是成对使用的)
所以总共有 tty[pqrsPQRS][0-9a-v]: 8 * 32 == 256 个 tty 可用
3. 在 /etc/ttys 内加入对应的 entry:
ttyp0 none network
ttyp1 none network
ttyp2 none network
...
ttySs none network
ttySt none network
ttySu none network
ttySv none network
Ref: sob-version/misc/sobttys
4. 若使用「非FreeBSD原厂telnetd」(如 in.ybbsd, telnetd_stmo, ...),得看一下
telnetd source 有关 tty 处理的部分,大多 /pqrs (search) 即可找到,各种
OS 的 ttyXX 有所差异。
Ref: sob-version/src/maple/in.ybbsd.c (/hashing or /BSD44)
Note: sob-version in.ybbsd.c 的 tty 从 ttyqX 开始用起,把 ttypX 保留给其
它程式用 (如 ptelnetd)。
5. bbs 本身人数上限参数的调整: config.h (更动後得 reload share memory)
---------------------------------------------------------------------------
----- woju@sob.m7.ntu.edu.
tw 台大电机 吴 庆 鸿
> -------------------------------------------------------------------------
- <
发信人: Thinker.bbs@bbs.yzit.edu.tw (我狂 我笑 我傲 *), 看板: 386BSD
标 题: ◇ 增加 tty 的步骤
发信站: 元智工学院风之塔BBS (Sat Oct 5 18:05:28 1996)
转信站: sob!netnews.ntu!linux2.tpml!UUserv.Net!news.isl.net.tw!aidebbs!spri
ng!
※ 引述《shuo@BBS.me.nctu.edu.tw (小硕硕)》之铭言:
: Sound (woju.bbs@sob.m7.ntu.edu.tw) 提到:
: : #@ 使用者 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
major _major
接著到 i386/i386/conf.c 把 cdevsw 这 structure 的 4 和 5 这两个 elem
mark 起来(即 ttyp 和 ptyp 这两个), 并将之内容各 copy 两份到 structure 的
最後, 即 ttyp 变成 76 和 77 这两个 elem, 而 ptyp 成为 78 79 这两个elem.
再来, make kernel ...
然後到 /dev 下, make device file. 这时你就可以各造 512 个 pty 和 tty 了..
majr device number 分别是分布在 pty ->(78,79) 和 tty->(76,77).
记得要先清除原有的 pty.
完工了...
可以有 512 tty 了...
要 1024 也可以...
---------------------------------------------------------------------------
----- ----------------------------------------------------------------
少爷们 笑笑就算了 虽然是这样的不中意 但是 以後多的是机会
就等下一次吧 哈 哈 哈哈哈 Thinker CSi
e iN YzIt, doN't CarE ME. TAkE YoURs
Elf.
---------------------------------------------------------------------------
-----※ Origin: 元智工学院风之塔 BBS <bbs.yzit.edu.tw> ◆ From: [140.138.14
8.222]
--
@@@@@@ @@@ @@@ @@@ @@@ 信言不
美,美言不信。善者不辩,辩 @@@@@@@ @@! @@@ @@@ @@! @@@ @@@ @
@!@!@@@ 者不善。知者不博,博者不知。圣人 !@@ @!@
!@!@! @@! @!@ !@! @@! @!@@!!@! 不积,既以为人己愈有,既以与人己
!@! !!: !!! @!! !: .:! !!@ !!: !!! 愈多。天
之道,利而不害;圣人之 :!! : : : !!: :: !!: ::
: 道,为而不争。 :: :: : : ::.:: :
ICQ : 5704502
※ 来源:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 202.38.212.86]
--
※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: Baggio.hit.edu.c]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.323毫秒