📄 erro调试.c
字号:
getty(get teletypewriter)
功能说明:设置终端机模式,连线速率和管制线路。
语 法:getty [-h]
[-d<组态配置文件>;]
[-r<延迟秒数>;]
[-t<超时秒数>;]
[-w<等待字符串>;]
[终端机编号]
[连线速率<终端机类型>;<管制线路>;]
或 getty [-c<定义配置文件>;]
补充说明:getty指令是UNIX之类操作系统启动时所必须的3个步骤之一。
参 数:
-c<定义配置文件>; 指定定义配置文件,预设为/etc/gettydefs。
-d<组态配置文件>; 指定组态配置文件,预设为/etc/conf.getty。
-h 当传输速率为0时就强制断线。
-r<延迟秒数>; 设置延迟时间。
-t<超时秒数>; 设置等待登入的时间。
-w<等待字符串>; 设置等待回应的字符串。
我的/etc/inittab是如下写的:
::sysinit:/etc/init.d/rc$
::respawn:/sbin/getty -L ttyS0 115200 xterm
而我的/etc/init.d/rc$是:
#!/bin/sh
echo hihihihi
hostname myramdisk
个人感觉这两个文件没错,因为用我另外正常的内核加我这个ramdisk能够启动到登陆login,但就是我的新内核出现"/bin/sh: can't access tty: job control turned off"后进入但用户模式,在此模式下却能执行sh /etc/init.d/rc$, 输出hihihihi信息,就是我的内核启动时好像执行不了inittab中内容,网上艘了很多类似的错误解决方法,都是说inittab文件写得不正确的,但我的ramdisk在好内核下跑十很正常的
在make menuconfig 的时候首先进入Character devices,选中里面的Virtualterminal.如果希望控制台在液晶上输出,则选中Support for console on virtual terminal。(选用了msh(minix shell),再在rc中放入了一条sh < /dev/ttyS0,通过串口输入的键值显示输出就能在LCD上显示了。)退到上一层界面我们就可以看到Console device 的选项,进入后将光标落在Framebuffer Support 上,按回车键进入,在里面选择自己所需要的framebuffer设备即可。自己所添加的设备驱动的类型(如果在uclinux 下,应该以*选中,而不是M 选中),在编译的时候就会产生相应的.o 文件。在Advanced low level 中可以配置bpp packed pixel support,然后选中Selectcompiled-in fonts 即可。等操作系统运行以后就会在/dev 下面看到fb 这个设备。它的major 应该是29,第一个设备的minor 应该是0。
首先我想把从ttyS0接受到的东东show到lcd上面上去,这样不就可以用我的pc键盘实现控制lcd的控制台了吗,于是我在init里面写了,sh < /dev/ttyS0 ,不幸的是我的sh根本不解析<啊,sash的功能不全啊,把这句话直接就打印出来了,晕!于是我换了busybox,现编的,以前没用过,鼓求了半天,在busybox执行的脚本中我还忘了加上#!/bin/sh 了,同事提醒了我,因为我一直用sash的init,所以习惯了,呵呵,修改了之后加上msh < /dev/ttyS0,就一且ok了。现在lcd驱动写好了,console的问题也差不多了:)
Command: sh < /dev/ttyS0
Shell invoked to run file: <
<: No such file or directory
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -