[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