Chinaunix

标题: 熟悉Linux内核的请帮忙 [打印本页]

作者: 望月乘凉    时间: 2003-09-08 16:46
标题: 熟悉Linux内核的请帮忙
最近得到一套被裁减后的Linux内核程序,我基本不懂Linux内核,重来没看过,现在遇一个问题,希望各位帮忙,该套内核已经被裁减到700k左右,没有硬盘和软盘驱动,支持网卡和一定的网络服务,被写入DOC内部运行,应用程序可以基于该系统运行,但是,当我拔掉显卡的时候,重新启动这个被裁减过的系统的时候,发现报Warning: unable to open an initial console这个错误,我在内核原码init/main.c中找到了这个错误,但是我不知道这个程序在什么时候干什么用的,同时启动后,应用程序无法运行了,重新插入显卡,重新启动,又一切正常了,请问该如何处理这个问题

原码中是这样写的

/*
         * Ok, we have completed the initial bootup, and
         * we're essentially up and running. Get rid of the
         * initmem segments and start the user-mode stuff..
         */
        free_initmem();
        unlock_kernel();

        if (open("/dev/console", O_RDWR, 0) < 0)
                printk("Warning: unable to open an initial console.\n";

        (void) dup(0);
        (void) dup(0);

        /*
         * We try each of these until one succeeds.
         *
         * The Bourne shell can be used instead of init if we are
         * trying to recover a really broken machine.
         */

我想不会是把open封上这么简单吧,否则应用程序不应该运行不起来呀

高手快帮忙!!急!!先行谢过!
作者: flag    时间: 2003-09-08 18:14
标题: 熟悉Linux内核的请帮忙
通常引导时可以指定输出设备是串口还是用显卡。你把显卡拔啦,总要给其他的输出给它才好。不过不晓得你这个东西是怎么引导的,还是很麻烦。
作者: 望月乘凉    时间: 2003-09-08 18:42
标题: 熟悉Linux内核的请帮忙
那我怎样在启动的时候重新定向输出呢,好像启动的时候运行了下面这个文件
文件名叫start,我不知道为什么这个系统会自动运行start这个shell,系统好像是Lilo启动的,大虾,帮帮忙,而且我写了一个简单的测试程序用到了printf,然后在下面的Shell中(即start文件中)加入了 test >;>;test.log,结果是该程序运行了,并且打印出来了结果,不过程序中调用system("/bin/ls"却毫无反应,而且这个system调用在有显卡的时候也不行,当然这是另外一个话题了,先请高人们指点显卡拔掉这个问题吧,而且我发现,拔掉显卡的时候,启动了,小键盘区的灯一直在闪烁不停,不知道为什么
#!/bin/bash
mount /proc
/sbin/ifconfig eth0 192.168.1.101 netmask 255.255.255.0 broadcast 192.168.1.255
/sbin/route add default gw 192.168.1.254
/bin/setserial /dev/ttyS2 irq 5
/bin/setserial /dev/ttyS3 irq 9

cd /remu
作者: 望月乘凉    时间: 2003-09-10 09:26
标题: 熟悉Linux内核的请帮忙
难道这个问题真的这么难,诸位前辈们真的一点思路和建议都没有吗????!!!!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2