Unable to boot linux kernel 2.4 for imx21ads through NFS

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
hi,

We have a linux kernel 2.4 based BSP provided by freescale, for
imx21ads. The host is fedora core 5. we are able to build the image
and root filesystem using ltib.
we are able to boot the Image through NOR flash.
However, we are not able to boot Image from NFS.

On host,
1.we have  added following line to /etc/exports
/tftpboot/nfsimx/ltib 192.168.1.10(rw,no_root_squash,async)
ltib directory contains the root file system for the board.

2. Host IP is set to 192.16.1.5

3.exportfs -a

4./etc/init.d/nfs restart

On client,
1. In kernel configuration, we have selected target image as "NFS
only".
2. In file systems ->Network File System,we have selected NFS file
system support and NFS server support.
3. Default kernel command string is set to
rootfs=nfs root=/dev/nfs ip=bootp console=ttyS0,115200n8
4.  In networking options,
IP:kernel level auto configuration is selected and DHCP and BOOTP
support is selected.

The config file for target is as follows:-
#
# Automatically generated make config: don't edit
# LTIB version: 6.2.1
#
CONFIG_CONFIG_TITLE="LTIB: Freescale IMX21 ADS reference board"
CONFIG_CPU="MX21"
CONFIG_PLATFORM_COMMENT="Freescale IMX21 ADS reference board"
CONFIG_VENDOR="Freescale"
CONFIG_PLATFORM="imx21ads"
CONFIG_GNUTARCH="arm"
CONFIG_LINTARCH="arm"
CONFIG_CFGHOST="arm-linux"
CONFIG_ENDIAN="little"

#
# Choose the target C library type
#
CONFIG_GLIBC=y
# CONFIG_UCLIBC is not set

#
# Choose your toolchain
#
CONFIG_TOOLCHAIN1=y
# CONFIG_TOOLCHAIN_CUSTOM is not set
CONFIG_TOOLCHAIN="tc-mtwk-lnx-arm-3.3.2-1.i686.rpm"
CONFIG_TOOLCHAIN_PATH="/opt/mtwk/usr/local/gcc-3.3.2-glibc-2.3.2/arm-
linux"
CONFIG_TOOLCHAIN_PREFIX="arm-linux-"
CONFIG_TOOLCHAIN_CFLAGS="-O2 -fsigned-char"
CONFIG_BOOTLOADER1=y
CONFIG_PKG_BLOB="blob-imx21ads"
CONFIG_PKG_BLOB_IMX21ADS_TO2x3x=y
# CONFIG_PKG_BLOB_IMX21ADS_JAZZ is not set
CONFIG_BLOB_BOARD="m9328mx21ads_TO2"
# CONFIG_BLOB_NAND is not set

#
# Choose your Kernel
#
CONFIG_KERNEL3=y
# CONFIG_KERNEL_DIR_BUILD is not set
# CONFIG_KERNEL_NONE is not set
CONFIG_PKG_KERNEL="kernel-arm-2.4.20-celf3-imx21ads"
CONFIG_PKG_KERNEL_WANT_HEADERS=y
CONFIG_PKG_KERNEL_PRECONFIG="linux-arm-2.4.20-celf3-imx21ads.config"
CONFIG_PKG_KERNEL_WANT_CF=y
# CONFIG_PKG_KERNEL_LEAVESRC is not set
CONFIG_DEPLOYMENT_ERASE_BLOCK_SIZE="256"
CONFIG_DISTRO="dist/lfs-5.1"

#
# Package selection
#

#
# Package list
#
# CONFIG_PKG_AUTOCONF is not set
# CONFIG_PKG_AUTOMAKE is not set
CONFIG_LIBC_WANTED=y
CONFIG_PKG_LIBC="base_libs"
# CONFIG_PKG_LIBC_WANT_LOCALES is not set
# CONFIG_PKG_LIBC_WANT_HEADERS is not set
# CONFIG_PKG_LIBC_WANT_STATIC_LIBS is not set
# CONFIG_PKG_ALSA_LIB is not set
# CONFIG_PKG_ALSA_UTILS is not set
CONFIG_PKG_BASH=y
# CONFIG_PKG_BASH_WANT_NO_SH_SYMLINK is not set
# CONFIG_PKG_BIND is not set
# CONFIG_PKG_BINUTILS is not set
# CONFIG_PKG_BISON is not set
# CONFIG_PKG_BOA is not set
# CONFIG_PKG_BONNIE_PLUS_PLUS is not set
# CONFIG_PKG_BRIDGE_UTILS is not set
CONFIG_PKG_BUSYBOX=y
CONFIG_PKG_BUSYBOX_PRECONFIG=""
# CONFIG_PKG_BUSYBOX_WANT_CF is not set
# CONFIG_PKG_BZIP2 is not set
# CONFIG_PKG_CAN4LINUX is not set
# CONFIG_PKG_CLAMAV is not set
# CONFIG_PKG_COREUTILS is not set
# CONFIG_PKG_CPIO is not set
# CONFIG_PKG_CRACKLIB is not set
# CONFIG_PKG_CRAMFS is not set
CONFIG_PKG_DAEMONIZER=y
CONFIG_PKG_DEMO_LAUNCHER=y
# CONFIG_PKG_DEVMEM2 is not set
# CONFIG_PKG_DHCP is not set
# CONFIG_PKG_DB1 is not set
CONFIG_PKG_DEV=y
# CONFIG_PKG_DEVFSD is not set
# CONFIG_PKG_DEV_NONE is not set
# CONFIG_PKG_DIFFUTILS is not set
# CONFIG_PKG_DIRECTFB is not set
# CONFIG_PKG_DISTCC is not set
# CONFIG_PKG_DOSFSTOOLS is not set
# CONFIG_PKG_DPM_UTILS_IMX is not set
CONFIG_PKG_DROPBEAR=y
CONFIG_PKG_DROPBEAR_WANT_URANDOM_DEV=y
CONFIG_PKG_DROPBEAR_WANT_NO_REV_DNS=y
CONFIG_PKG_DROPBEAR_WANT_NO_X11FWD=y
# CONFIG_PKG_DTC is not set
CONFIG_PKG_E2FSPROGS=y
# CONFIG_PKG_ED is not set
CONFIG_PKG_EMMA_BINARY=y
# CONFIG_PKG_ETHTOOL is not set
# CONFIG_PKG_EXPAT is not set
# CONFIG_PKG_FAKEROOT is not set
CONFIG_PKG_FAKE_PROVIDES=y
CONFIG_PKG_FINDUTILS=y
CONFIG_PKG_FLEX=y
# CONFIG_PKG_FREETYPE is not set
CONFIG_PKG_GAWK=y
# CONFIG_PKG_GCC is not set
# CONFIG_PKG_GDB is not set
# CONFIG_PKG_GENEXT2FS is not set
# CONFIG_PKG_GENROMFS is not set
# CONFIG_PKG_GETTEXT is not set
# CONFIG_PKG_GMP is not set
CONFIG_PKG_GREP=y
# CONFIG_PKG_GROFF is not set
CONFIG_PKG_HANTRO_BINARY=y
# CONFIG_PKG_HANTRO_DRIVERS is not set
CONFIG_PKG_HARDWARETEST_IMX=y
# CONFIG_PKG_HDPARM is not set
# CONFIG_PKG_HELLOWORLD is not set
# CONFIG_PKG_HESIOD is not set
# CONFIG_PKG_HOTPLUG is not set
# CONFIG_PKG_HTTPD is not set
# CONFIG_PKG_I2C_TOOLS is not set
# CONFIG_PKG_IPROUTE is not set
# CONFIG_PKG_PIDENTD is not set
# CONFIG_PKG_INETUTILS is not set
# CONFIG_PKG_IPERF is not set
# CONFIG_PKG_IPSEC_TOOLS is not set
# CONFIG_PKG_IPSECADM is not set
# CONFIG_PKG_IPTABLES is not set
# CONFIG_PKG_IPUTILS is not set
# CONFIG_PKG_IRATTACH is not set
# CONFIG_PKG_KBD is not set
CONFIG_PKG_LESS=y
# CONFIG_PKG_LFS_UTILS is not set
# CONFIG_PKG_LIBID3TAG is not set
# CONFIG_PKG_LIBMAD is not set
CONFIG_PKG_LIBJPEG=y
CONFIG_PKG_LIBELF=y
# CONFIG_PKG_LIBPCAP is not set
# CONFIG_PKG_LIBPNG is not set
CONFIG_PKG_LIBTERMCAP=y
# CONFIG_PKG_LIBTOOL is not set
# CONFIG_PKG_LIBUSB is not set
# CONFIG_PKG_LIBXML2 is not set
# CONFIG_PKG_LINUX_ATM is not set
# CONFIG_PKG_LINUX_WLAN is not set
# CONFIG_PKG_LKC is not set
# CONFIG_PKG_LTP is not set
# CONFIG_PKG_LMBENCH is not set
# CONFIG_PKG_LRZSZ is not set
# CONFIG_PKG_M4 is not set
# CONFIG_PKG_MADPLAY is not set
# CONFIG_PKG_MAKE is not set
# CONFIG_PKG_MAN is not set
# CONFIG_PKG_MDADM is not set
CONFIG_PKG_MERGE=y
# CONFIG_PKG_MICROWINDOWS is not set
# CONFIG_PKG_MODUTILS is not set
# CONFIG_PKG_MODULE_INIT_TOOLS is not set
CONFIG_MODUTILS_NONE=y
CONFIG_PKG_MTD_UTILS=y
# CONFIG_PKG_MYSQL is not set
CONFIG_PKG_NCURSES=y
CONFIG_PKG_NCURSES_WANT_REDUCED_SET=y
CONFIG_PKG_NET_TOOLS=y
# CONFIG_PKG_NETPERF is not set
CONFIG_PKG_NTPCLIENT=y
# CONFIG_PKG_OPENSSH is not set
# CONFIG_PKG_OPENSSL is not set
# CONFIG_PKG_OPENSWAN is not set
# CONFIG_PKG_OPROFILE is not set
# CONFIG_PKG_PATCH is not set
# CONFIG_PKG_PCIUTILS is not set
# CONFIG_PKG_PCMCIA_CS is not set
# CONFIG_PKG_PCRE is not set
# CONFIG_PKG_PERL is not set
# CONFIG_PKG_PHP is not set
# CONFIG_PKG_POPT is not set
CONFIG_PKG_PORTMAP=y
# CONFIG_PKG_PPP is not set
# CONFIG_PKG_PROCINFO is not set
# CONFIG_PKG_PROCPS is not set
CONFIG_PKG_PSMISC=y
# CONFIG_PKG_PTPD is not set
# CONFIG_PKG_PYTHON is not set
CONFIG_PKG_QTOPIA=y
# CONFIG_PKG_QTOPIA_WANT_MOUSE is not set
# CONFIG_PKG_QTOPIA_WANT_CACHE_HOST_TOOLS is not set
# CONFIG_PKG_RPM is not set
# CONFIG_PKG_RNG_TOOLS is not set
# CONFIG_PKG_RSYNC is not set
# CONFIG_PKG_SAMBA is not set
# CONFIG_PKG_SASH is not set
# CONFIG_PKG_SCHEDUTILS is not set
CONFIG_PKG_SED=y
# CONFIG_PKG_SEQ is not set
# CONFIG_PKG_SETSERIAL is not set
CONFIG_PKG_SKELL=y
# CONFIG_PKG_SKELL_WANT_TERMINFO is not set
CONFIG_PKG_STRACE=y
CONFIG_PKG_SYSCONFIG=y
# CONFIG_PKG_SYSKLOGD is not set
# CONFIG_PKG_SYSVINIT is not set
# CONFIG_PKG_TAR is not set
# CONFIG_PKG_TCPDUMP is not set
CONFIG_PKG_TCP_WRAPPERS=y
# CONFIG_PKG_TEXINFO is not set
# CONFIG_PKG_TIME is not set
CONFIG_PKG_TIMEZONE=y
# CONFIG_PKG_TIMEZONE_WANT_TZCODE is not set
# CONFIG_PKG_TIMEZONE_WANT_LIBTZ is not set
# CONFIG_PKG_TINYLOGIN is not set
# CONFIG_PKG_UDEV is not set
# CONFIG_PKG_USBUTILS is not set
# CONFIG_PKG_UCLINUX_CKSUM is not set
# CONFIG_PKG_UTIL_LINUX is not set
# CONFIG_PKG_U_BOOT_TOOLS is not set
# CONFIG_PKG_UNZIP is not set
CONFIG_PKG_VIM=y
# CONFIG_PKG_VSFTPD is not set
# CONFIG_PKG_WGET is not set
CONFIG_PKG_WHICH=y
# CONFIG_PKG_WIRELESS_TOOLS is not set
# CONFIG_PKG_YAFFS_UTILS is not set
CONFIG_PKG_ZLIB=y

#
# Target System Configuration
#

#
# Options
#
CONFIG_SYSCFG_HOSTNAME="freescale"
# CONFIG_SYSCFG_WANT_LOGIN_TTY is not set
CONFIG_SYSCFG_MODLIST="dbmx21fb dbmx21dma usbdcore"
# CONFIG_SYSCFG_START_DEVFSD is not set
CONFIG_SYSCFG_START_NETWORK=y

#
# Network setup
#

#
#
#
CONFIG_SYSCFG_IFACE0=y
CONFIG_SYSCFG_NET_INTERFACE0="eth0"
CONFIG_SYSCFG_DHCPC0=y

#
#
#
# CONFIG_SYSCFG_IFACE1 is not set

#
#
#
# CONFIG_SYSCFG_IFACE2 is not set

#
#
#
# CONFIG_SYSCFG_IFACE3 is not set

#
#
#
# CONFIG_SYSCFG_IFACE4 is not set
CONFIG_SYSCFG_DHCPC_CMD="udhcpc -b -i "
CONFIG_SYSCFG_SETTIME=y
CONFIG_SYSCFG_NTP_SERVER="north-america.pool.ntp.org"
CONFIG_SYSCFG_START_SYSLOG=y
CONFIG_SYSCFG_START_INETD=y
CONFIG_SYSCFG_INETD_ARGS=""
CONFIG_SYSCFG_START_PORTMAP=y
CONFIG_SYSCFG_START_DROPBEAR_SSH=y
CONFIG_SYSCFG_START_HARDWARETEST_DPM=y

#
# Target Image Generation
#

#
# Options
#

#
# Choose your root filesystem image type
#
# CONFIG_DEPLOYMENT_JFFS2 is not set
# CONFIG_DEPLOYMENT_RAMDISK is not set
# CONFIG_DEPLOYMENT_CRAMFS is not set
# CONFIG_DEPLOYMENT_ROMFS is not set
CONFIG_DEPLOYMENT_NFS=y
CONFIG_SYSCFG_DEPLOYMENT_STYLE="NFS"
# CONFIG_SYSCFG_READONLY_FS is not set
CONFIG_SYSCFG_RAM_DIRS=""
CONFIG_ERASE_BLOCK_SIZE="64"
CONFIG_CAP_UCLIBC=y
CONFIG_CAP_GLIBC=y
CONFIG_CAP_LFS_5_1=y
CONFIG_SYSCFG_TMPFS="tmpfs"
CONFIG_INITTAB_LINE="::respawn:/sbin/getty -L console 0 screen"
CONFIG_LTIB_RELEASE="6.2.1"



The target bootloader(BLOB) Parameter file is as follows:

ip 192.168.1.10
server 192.168.1.5
Tftpfile /tftpboot/nfsimx/zImage
ramdisk no
bootdelay 3
cmdline noinitrd root=/dev/nfs nfsroot19%2.168.1.5:/tftpboot/nfsimx/
ltib ip19%2.168.1.10:192.168.1.5
baudrate 115200,115200
autoboot ram

When we try to boot in blob prompt,which takes the above command line
parameters,

we get the following output:-


Starting kernel ...


Uncompressing
Linux.............................................................
................................... done, booting the
kernel.

and it freezes.

Can anyone please help us to find where exactly the problem is...

thanks in advance....












Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
Quoted text here. Click to load it

What is your kernel command line when you boot via NOR flash?

Juergen

Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
Quoted text here. Click to load it


Its
noinitrd root3D%/dev/mtdblock2 ip3D%none

Re: Unable to boot linux kernel 2.4 for imx21ads through NFS

Quoted text here. Click to load it

hmm, no "console=..." entry? How do you tell your kernel what console it
should use for its messages?

Juergen

Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
While building the kernel
we set
Default kernel command string to
rootfs=nfs root=/dev/nfs ip=bootp console=ttyS0,115200n8



Re: Unable to boot linux kernel 2.4 for imx21ads through NFS

Quoted text here. Click to load it

Are you sure this default kernel command line will be used, when another one
at runtime is given?

Juergen

Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
We have tried giving console during boot also.
But still it freezes at the same place.
And my /dev in rootfs doesnt have nfs file...i.e, /dev/nfs doesnot
exist.
Is this effects the booting?


Re: Unable to boot linux kernel 2.4 for imx21ads through NFS

Quoted text here. Click to load it

No, there is no need for a /dev/nfs. BTW: Is there a /dev/console node
present in your exported root filesystem?
Can you try to boot your target from flash (with the same(!) kernel) and
mount the nfs export manually? Does it work?

I think your target does not freeze. Freescale's UART driver will be
initialized very late in the kernel init process. So you never see
anything, if something happens in this early startup state.

Juergen


Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
Quoted text here. Click to load it

yeah.. If i boot my target with flash, and then if i try 2 manually
load it, it gives me error
mount program didnot pass remote address!
I have waited for long time.. but still nothing comes in my blob
prompt.
Now, suddenly my tftp stopped working.
if i try executing command
Quoted text here. Click to load it
it says permission denied.
and service network restart is failing.



Re: Unable to boot linux kernel 2.4 for imx21ads through NFS

Quoted text here. Click to load it

You are using a 2.4 kernel on your target and a 2.6 kernel on your host,
right? Try to disable NFSv3 on your host. And try to google for "mount
program didnot pass remote address!"

Quoted text here. Click to load it

Does the portmapper run on your host? Its required in order to make NFS
working.

Juergen


Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
Quoted text here. Click to load it

yes.. portmapper runs on the host....

Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
Quoted text here. Click to load it

Your Host and client seems to be in two different IP subnets
Client in 192.168.X.X
Host in 192.16.X.X
You can do this but make sure the subnet masks are done properly (eg:
192.168.1.0/255.0.0.0 for Client and 192.16.1.5/255.0.0.0 for server).
To start off with I recommend you have it in the same subnet. eg:
Client in 192.168.1.2
Host in 192.168.1.1

Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
Oh sorry...
its a typing mistake,
my host ip is 192.168.1.5....

Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
Quoted text here. Click to load it

Have you tested your NFS server ? just mount it from another matchine
on your local network and try.

Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
Its a typing mistake..
my host IP is 192.168.1.5
and target IP is 192.168.1.10

Re: Unable to boot linux kernel 2.4 for imx21ads through NFS
Quoted text here. Click to load it
Sorry you didn't answer my question.  Have you tested your NFS server
using another machine on your local network ?  Does it work ?  If the
NFS server is NOT working try putting the IP address of your target on
the "/etc/hosts.allow" and restarting the NFS service.

Site Timeline