Sponsored Content
Top Forums UNIX for Advanced & Expert Users Porting Linux and TTY / Shell problems Post 302328455 by Interloper on Wednesday 24th of June 2009 10:45:09 AM
Old 06-24-2009
Java Porting Linux and TTY / Shell problems

Hello all,

I am porting the linux 2.6.30rc2 kernel from one ARM architecture, /arch/arm/mach-davinci, to a new device, called Jacinto2.

I am using the serial port ttyS0 as the default console. The bootloader is U-Boot and I am using busybox mounted as a ramdisk in internal SDRAM. I have got the kernel to the point where it will boot into the shell, however at this point I experience a weird error.

The kernel displays the '/# ' shell prompt, but the shell cannot take keyboard input. It will not react to any key presses, but can display text.

However, the serial interrupt functions properly, and if I use printk's to print the serial buffer (in function uart_insert_char in /include/linux/serial_core.h), it outputs the characters I type.

I'm pretty sure my busybox fs works fine, because when I pass init=/bin/ls (redirects to busybox.ls), I can see my fs properly, and passing a simple hello world program (init=/hello) outputs text like I expect.

I feel like somehow the tty_buffer is not passing the characters to the shell. I've determined that the characters are being stored in the "tty_buffer" struct. As I keep typing, the buffer fills up with these chars (In the tty_insert_flip_char function in /include/linux/tty_flip.h) but never empties.

Am I mistaken, or should this be cleared as the chars are flushed to the user space? Also, does anyone know how the tty passes its buffer to user space programs such as the shell?

Has anyone seen this before or have suggestions to try?

Thanks,
Joe


---------Log--------------------
...
RAMDISK: gzip image found at block 0
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 144K
uart_open(0) called
ttyS0 - using backup timer
*** trying init processes: </bin/sh>
*** run_init_process(/bin/sh)
/#
--------------------------------
at this point, my printk's/serial IRQ's will work, but the shell doesn't react to keyboard input
 

10 More Discussions You Might Find Interesting

1. Programming

Porting Win32 application into Linux

I need port Win32 console application, which was developed with MS Visual Studio 6.0 (without MFC using) into Linux. What is the best way to port project? Are there any standard tools or decisions? Thank you in advance, Sergey (0 Replies)
Discussion started by: Sergeyy
0 Replies

2. UNIX for Dummies Questions & Answers

HP-UX to linux porting

Hi all, i wanted to port some HP-UX code to linux. can anybody point to some documents or resources that would help me in doing the porting.. thanks in advance Arun Prakash (0 Replies)
Discussion started by: arunprakash
0 Replies

3. Programming

Porting From Linux To Hpux

Gents, i'm a senior applications developer and need to port a Linux server application ( no additional / special libraries or unique header files ) to a HPUX enviroment. Any chance to compile it on the Linux using flags to create an HPUX binary with gcc? (8 Replies)
Discussion started by: anak0nda
8 Replies

4. Shell Programming and Scripting

porting shell script from Linux to AIX.

Hi, I am porting one shell script from Linux to AIX. I had .ksh file and i have changed it to .sh file for aix. on linux this script is running fine but on aix it gives me "unexpected end of file" error. Could any one suggest me what to do to port this script error free? Thanks in... (6 Replies)
Discussion started by: joy_1
6 Replies

5. Linux

when porting from HP-UX to Linux

helo, i m porting HP-UX socket application to Linux SSL-socket application. I have use htonl() in HP-UX. so when i use it in Linux, data transf is not done and application become soem time crashed. now when i remove htonl() in linux, then i got data but it will not proper order or some data may... (1 Reply)
Discussion started by: amitpansuria
1 Replies

6. Programming

Nucleus to Linux porting

I am new to Linux programming and my work involves changing an abstraction layer which made Nucleus calls, to Linux calls. In Case of Events Nucleus has calls like NU_Set_Events() NU_Retrieve_Events() Can I use the POSIX thread conditional variables for Linux? Can I use the System V calls... (1 Reply)
Discussion started by: taklubaba
1 Replies

7. Filesystems, Disks and Memory

Porting OSE to Linux

Hi, I was trying to port efs_mount(OSE system call) to a LInux.The efs_mount function is used to mount a volume on the indicated device dev.Upon successful completion of this OSE sytem call a volume manager (VM) will be available through which files on this volume are accessed. The Syntax for... (4 Replies)
Discussion started by: roshantraj30
4 Replies

8. Solaris

Porting a Linux Driver to Solaris

Hi all, Has anyone experience with proting a Linux driver (C-code) to Solaris 10? I have a Sunix SATA card with a inicio1622 chipset, but no driver available. From the website of inicio I downloaded the drivercode for Linux 2.4. Having done some investigation I found a Solaris driver... (4 Replies)
Discussion started by: longwave
4 Replies

9. Shell Programming and Scripting

Porting from Solaris to Linux

Can any one please help the use of "cu command in Solaris" and as well as in Linux :confused: (1 Reply)
Discussion started by: sabee.prakash
1 Replies

10. Shell Programming and Scripting

Porting script from Solaris to Linux

I have a script which has commands that are located in different paths on my Linux o/s than on Solaris. For example, to make uname work, I need to do it this way in Solaris: my $host= `/usr/bin/uname -n` But in Linux it is: my $host = `/bin/uname -n`I have this issue with at least 5... (8 Replies)
Discussion started by: newbie2010
8 Replies
ports(7)						 Miscellaneous Information Manual						  ports(7)

NAME
ports, port_names - Device (tty and lp) names for serial and parallel ports SYNOPSIS
Default Serial Ports: /dev/tty00 /dev/tty01 (not present on a single-port system) Parallel Port: /dev/lp0 DESCRIPTION
AlphaStation and AlphaServer systems provide one or two 9-pin serial communication ports. These ports are usually labelled 1 (COMM1) and 2 (COMM2), but they may be identified by different icons. Using the appropriate serial cable and terminator, you can connect a serial printer, external modem, or character-cell terminal to a serial port. Most AlphaStation and AlphaServer systems also provide one parallel port, for use with a parallel printer. When you add a device to your system, the installation documentation may instruct you to map the device pathname to the port. These devices are located in the /dev directory. For serial-line ports, the two default device pathnames are: This pathname always maps to 1, COMM1, the lowest port number, an icon for a terminal console, or the only serial port (on a single-port system). This pathname always maps to 2, COMM2, the next numbered port, or (if one serial port is labeled with an icon for a terminal console) the remaining serial port. If your system hardware has been extended to include additional serial ports, the pathnames /dev/tty02, /dev/tty03, and so forth, may also be available to you. However, most systems have only /dev/tty00 and /dev/tty01 as the device pathnames for serial ports. The one parallel port on an AlphaStation or AlphaServer may be labeled with the word printer or a printer icon. On some systems, the paral- lel port may not be labeled. The device pathname for the parallel port is /dev/lp0. Currently, Tru64 UNIX does not fully support parallel printers, so fewer devices are connected to this port as compared to serial ports. If you are connecting a terminal console to your system, it must be connected to the serial port mapped to /dev/tty00. For other serial devices, it does not matter which of the serial ports you choose for the connection. For example, suppose you are setting up a system that has two serial ports, labeled 1 and 2. You intend to use a serial-line terminal rather than a workstation monitor as the system console and also want to connect a serial-line printer to the system. In this case, you must connect the terminal to the port labeled 1 (with the device pathname /dev/tty00). Therefore, you must connect the printer to the remaining port labeled 2 (with the device pathname /dev/tty01). If, for the same type of system, you intend to use a workstation monitor as the system console, it does not matter which serial port you use for a serial-line printer or modem. In other words, you can connect the printer to either port 1 (with pathname /dev/tty00) or port 2 (with pathname /dev/tty01). When prompted to enter a /dev/tty** pathname by the lprsetup script or the Print configuration tool in the CDE Application Manager, you would specify /dev/tty00 if you connected the printer to port 1 or /dev/tty01 if you connected the printer to port 2. See the System Administration manual for more information on setting up consoles (including remote consoles) and printers. See the modem(7) reference page for more information on setting up modems. SEE ALSO
Commands: lprsetup(8) Devices: ace(7), modem(7) System Administration delim off ports(7)
All times are GMT -4. The time now is 09:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy