Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

Linux with MMU: inetd and telnetd problem

hi all:

After run a uclinux, I try to use the linux with MMU.

At first is the inetd can't find serveces.

I close the "Cull unused ELF shared libraries" and compile,

>Blackfin build options

>>Install ELF shared libraries

>>>Cull unused ELF shared libraries N

So the inetd works.type netstat -a,see this:

tcp 0 0 (null):ftp (null):*

tcp 0 0 (null):telnet (null):*

But when telnet to this target board, I got wrong:

[root@localhost images]# telnet 192.168.1.235

Trying 192.168.1.235...

Connected to localhost (192.168.1.235).

Escape character is '^]'.

Connection closed by foreign host.

[root@localhost images]#

Then

/# netstat -a

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 (null):ftp (null):* LISTEN

tcp 0 0 (null):telnet (null):* LISTEN

tcp 0 0 (null):telnet (null):4743 TIME_WAIT

telnetd run but TIME_WAIT,4743(I think here should be my PC ip not 4743). I think there must be some mistakes with make xconfig, but I can't find it.

Here is the boot info and config sets, anybody please give me some advice.

kernel boot:

Mount-cache hash table entries: 512

net_namespace: 296 bytes

NET: Registered protocol family 16

init_BSP(): registering device resources

bio: create slab <bio-0> at 0

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 1024 (order: 1, 8192 bytes)

TCP bind hash table entries: 1024 (order: 0, 4096 bytes)

TCP: Hash tables configured (established 1024 bind 1024)

TCP reno registered

NET: Registered protocol family 1

JFFS2 version 2.2. (NAND) 2001-2006 Red Hat, Inc.

msgmni has been set to 55

io scheduler noop registered

io scheduler anticipatory registered

io scheduler deadline registered

io scheduler cfq registered(default)

ttyJ0 at MMIO 0x40019b0 (irq = 1) is a Altera JTAG UART

console handover: boot [early0] -> real [ttyJ0]

ttyS0 at MMIO 0x4001820 (irq = 3) is a Altera UART

ttyS1 at MMIO 0x4001840 (irq = 4) is a Altera UART

ttyS2 at MMIO 0x4001860 (irq = 5) is a Altera UART

ttyS3 at MMIO 0x4001880 (irq = 6) is a Altera UART

ttyS4 at MMIO 0x40018a0 (irq = 7) is a Altera UART

ttyS5 at MMIO 0x40018c0 (irq = 8) is a Altera UART

ttyS6 at MMIO 0x40018e0 (irq = 9) is a Altera UART

brd: module loaded

smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@cam.org>

eth0: SMC91C11xFD (rev 2) at e4020300 IRQ 11 [nowait]

eth0: Invalid ethernet MAC address. Please set using ifconfig

physmap platform flash device: 02000000 at 00000000

physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank

Amd/Fujitsu Extended Query Table at 0x0040

physmap-flash.0: CFI does not contain boot bank location. Assuming top.

number of CFI chips: 1

cif_cmdset_0002: Disabling erase-suspend-program due to code brokenness.

cmdlinepart partition parsing not available

Using physmap partition information

Creating 4 MTD partitions on "physmap-flash.0":

0x000000200000-0x000000800000 : "romfs/jffs2"

0x000000000000-0x000000200000 : "loader/kernel"

0x000000800000-0x000001000000 : "User configuration"

0x000001000000-0x000002000000 : "safe configuration"

-----------[ cut here ]-----------

...

m25p80 spi0.0: m25p40 (512 Kbytes)

Creating 1 MTD partitions on "EPCS4":

0x000000000000-0x000000080000 : "fpga configuration"

TCP cubic registered

NET: Registered protocol family 17

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

eth0: link down

Welcome to

____ _ _

/ __| ||_|

_ _| | | | _ ____ _ _ _ _

| | | | | | || | _ \| | | |\ \/ /

| |_| | |__| || | | | | |_| |/

| ___\____|_||_|_| |_|\____|\_/\_/

| |

|_|

For further information check:

Enter 'help' for a list of built-in commands.

/# eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

/# netstat -a

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 (null):ftp (null):* LISTEN

tcp 0 0 (null):telnet (null):* LISTEN

Active UNIX domain sockets (servers and established)

Proto RefCnt Flags Type State I-Node Path

//////////

some configures I selected:

>Initial RAM filesystem and RAM disk

>>Initramfs source file(s): ../romfs

>>>(500)User ID to map to 0 (user root)

>>>(500)Group ID to map to 0 (group root)

>Block devices

>>RAM block device support

>>>(16)Default number of RAM disks --default

>>>(4096)Default RAM disk size (kbytes) --default

>Character devices

>>Unix98 PTY support

>>>Support multiple instances of devpts

>>Legacy (BSD) PTY support

>>>(10)Maximum number of legacy PTY in use

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    just turn on "Build BusyBox as a static binary (no shared libs)" and telnetd ok.

    [root@localhost uClinux-dist]# telnet 192.168.1.235

    Trying 192.168.1.235...

    Connected to localhost (192.168.1.235).

    Escape character is '^]'.

    nios2 login: root

    Welcome to

    ____ _ _

    / __| ||_|

    _ _| | | | _ ____ _ _ _ _

    | | | | | | || | _ \| | | |\ \/ /

    | |_| | |__| || | | | | |_| |/

    | ___\____|_||_|_| |_|\____|\_/\_/

    | |

    |_|

    ////////////////////////

    target:

    /# netstat -a

    Active Internet connection (servers and established)

    Proto Recv-Q Send-Q Local Address Foreign Address state

    tcp 0 0 (null):ftp (null):* LISTEN

    tcp 0 0 (null):telnet (null):* LISTEN

    tcp 0 0 (null):telnet (null):2209 ESTABLISHED

    Active UNIX domain sockets (servers and established)

    Proto RefCnt Flags Type State I-Node Path

    /# login[654]: root login on 'ttyp0' from '192.168.1.202'
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    just turn on "Build BusyBox as a static binary (no shared libs)" and telnetd ok.

    --- Quote End ---

    Great to see that it works for you.

    But other than the no-MMU distribution, the MMU based toolchain _should_ support shared libs and so this is only a workaround and should be cured decently.

    Moreover, the MMU based distribution should support "execute in place" (XIP), which for busybox makes a lot of sense (and OTOH might make statically linking Busybox more sensible). Does this work (with statically and/or dynamically linked busybox) ?

    -Michael
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    just turn on "Build BusyBox as a static binary (no shared libs)" and telnetd ok.

    --- Quote End ---

    Hello,

    juist encountered same problem. I solved it using the telnet and telnetd outside busybox. Compiling the busybox as a static binary made a lot of SEGV. May I forget to do a make clean before recompiling? Do I really need to clean before changing that option?