Unable to boot linux kernel 2.4 for imx21ads through NFS

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.

  1. 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 nfsroot=192.168.1.5:/tftpboot/nfsimx/ ltib ip=192.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....

Reply to
sri
Loading thread data ...

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

Juergen

Reply to
Juergen Beisert

Its noinitrd root=3D/dev/mtdblock2 ip=3Dnone

Reply to
sri

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

Juergen

Reply to
Juergen Beisert

While building the kernel we set Default kernel command string to rootfs=nfs root=/dev/nfs ip=bootp console=ttyS0,115200n8

Reply to
sri

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

Juergen

Reply to
Juergen Beisert

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?

Reply to
sri

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
Reply to
Janaka

Oh sorry... its a typing mistake, my host ip is 192.168.1.5....

Reply to
sri

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

Reply to
Janaka

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

Reply to
Juergen Beisert

Its a typing mistake.. my host IP is 192.168.1.5 and target IP is 192.168.1.10

Reply to
sri

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

it says permission denied. and service network restart is failing.

Reply to
sri

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!"

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

Juergen

Reply to
Juergen Beisert

d

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

Reply to
sri

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.

Reply to
Janaka

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.