[BusyBox] WORKS! - but still and issue -- 1.00-pre2/pre3 - shell/ash.c Internal compilererror
Erik Andersen
andersen at codepoet.org
Tue Sep 16 06:44:33 UTC 2003
On Tue Sep 16, 2003 at 03:56:32PM +1000, Gad wrote:
> Erik Andersen wrote:
> >On Tue Sep 16, 2003 at 02:58:12PM +1000, Gad wrote:
> >
> >>David Douglas wrote:
> >>
> >>>Ok,
> >>>
> >>>So now it builds, but I'm having another problem. The shell does not
> >>>seem to be responding properly when I use this busybox. With the 0.60.5
> >>>busybox the shell works OK and I can access the ramdisk. However, with
> >>>the pre3 busybox, nothing echo's back when I type a command... It just
> >>>acts like nothing is there.
> >>>
> >>
> >>Could your problem be related to (or the same as) mine?
> >>After booting 1.00-pre3, I get "can't access tty: job control turned
> >>off" and a few other things and can't type anything:
> >>
> >>http://www.busybox.net/lists/busybox/2003-September/009293.html
> >
> >
> >Quoting the uClibc FAQ:
> >
> > Why do I keep getting "sh: can't access tty; job control
> > turned off" errors? Why doesn't Control-C work within my
> > shell?
> >
> > This isn't really a uClibc question, but I'll answer it here
> > anyways. Job control will be turned off since your shell can
> > not obtain a controlling terminal. This typically happens
> > when you run your shell on /dev/console. The kernel will not
> > provide a controlling terminal on the /dev/console device.
> > Your should run your shell on a normal tty such as tty1 or
> > ttyS0 and everything will work perfectly. If you REALLY want
> > your shell to run on /dev/console, then you can hack your
> > kernel (if you are into that sortof thing) by changing
> > drivers/char/tty_io.c to change the lines where it sets
> > "noctty = 1;" to instead set it to "0". I recommend you
> > instead run your shell on a real console...
> >
> > -Erik
>
> I've read the FAQ and searched the list, but nothing seems to apply to
> this case.
In one of your earlier emails you said your /etc/inittab is this:
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
tty2::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
In the init section in busybox/docs/BusyBox.txt, it mentions that
if the <id> "field is left blank, the controlling tty is set to
the console." You have left the <id> field blank, therefore you
are running the shell on /dev/console, which means the FAQ stuff
I quoted applies exactly to your case.
> This is a self contained boot floppy, to run on a normal PC. It worked
> _fine_ with 0.6.50/uClibc 0.9.20 (following the bootfloppy howto in the
> BB documentation).
>
> It only breaks when I switch to BB 1.00-preX (with either uClibc 0.9.20
> or 0.9.21).
>
> I haven't changed anything else - the same 2.2.25 kernel (all it's made
> of is kernel, modules and BB binaries and libraries).
With busybox 0.60.5, init would go to absurd pains to force a
controlling terminal. This broke things and the behavior was
removed.
Why not run your first shell on tty1?
-Erik
--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
More information about the busybox
mailing list