[uClibc]shared libary problem on arm with 0.9.16

Simon Posnjak simon at activetools.si
Fri Nov 22 15:50:55 UTC 2002


Hi all,

I have upgraded our distribution to 0.9.16 version from 0.9.15 and now
nothing works. The kernel boots up and then holds:

< - snip - >
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 2048)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 44K

If i move the content of /lib/ dir to / I get:

< - snip - >
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 2048)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 44K
Kernel panic: No init found.  Try passing init= option to kernel.

I tryed passing init to kernel and nothing (init is in /sbin/init). I
build uclib with this make file:

include Makefile.config
include image.config

all: $(UCLIB_DIR)/.install_runtime 

$(UCLIBC_DIR)/.config:
	bzcat $(SOURCE_DIR)/$(UCLIBC_SOURCE) | tar -C $(BUILD_DIR) -xvf
	cp $(UCLIBC_RULES) $(UCLIBC_DIR)/Rules.mak
	cp $(UCLIBC_CONFIG) $(UCLIBC_DIR)/.config
	touch .config

$(UCLIBC_DIR)/.install: $(UCLIBC_DIR)/.config
	make DEVEL_PREFIX=$(STAGING_DIR) -C $(UCLIBC_DIR)
	make DEVEL_PREFIX=$(STAGING_DIR) -C $(UCLIBC_DIR) install
	touch .install

$(UCLIB_DIR)/.install_runtime: $(UCLIBC_DIR)/.install
	make PREFIX="$(TARGET_DIR)" -C $(UCLIBC_DIR) install_target

clean:
	-make -C $(UCLIBC_DIR) clean

dirclean:
	rm -rf $(UCLIBC_DIR)

The config file is:

HAVE_ELF=y
# CONFIG_GENERIC_ARM is not set
# CONFIG_ARM7TDMI is not set
CONFIG_STRONGARM=y
# CONFIG_XSCALE is not set
UCLIBC_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
HAS_FPU=y
DO_C99_MATH=y
WARNINGS="-Wall"
KERNEL_SOURCE="/usr/src/arm/linux"
C_SYMBOL_PREFIX=""

#
# General Library Settings
#
DOPIC=y
HAVE_SHARED=y
BUILD_UCLIBC_LDSO=y
LDSO_LDD_SUPPORT=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
MALLOC_930716=y
HAS_SHADOW=y
UCLIBC_HAS_REGEX=y
UNIX98PTY_ONLY=y
ASSUME_DEVPTS=y

#
# Networking Support
#
# UCLIBC_HAS_IPV6 is not set
UCLIBC_HAS_RPC=y
UCLIBC_HAS_FULL_RPC=y

#
# String and Stdio Support
#
# UCLIBC_HAS_WCHAR is not set
# USE_OLD_VFPRINTF is not set

#
# Library Installation Options
#
SHARED_LIB_LOADER_PATH="/lib/"
DEVEL_PREFIX=""
SYSTEM_DEVEL_PREFIX="$(DEVEL_PREFIX)"
DEVEL_TOOL_PREFIX="$(DEVEL_PREFIX)/usr"

#
# uClibc hacking options
#
# DODEBUG is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set

My system is i386/Debian Woody, with cross for StrongArm based on:
-gcc 3.2
-binutils 2.12.1
-glibc 2.2.5

Our root(ram)disk is JFFS2 and flashed to Flash with blob. The bord is
Assabet clone.

If I boot in my 0.9.15 system and use ldd on init (from 0.9.16 system) i
get:

ldd ./init 
        libc.so.0 => /lib//libc.so.0
        /lib//ld-uClibc.so.0 => /lib//ld-uClibc.so.0


	Regards Simon




More information about the uClibc mailing list