I'm trying to boot an imx28evk from the network. U-Boot is loading okay on the SD card. It is loading the kernel from TFTP. But I'm getting a kernel panic when trying to mount NFS:
On Thu, Jun 7, 2012 at 4:44 AM, cmcqueen1975 wrote:I'm trying to boot an imx28evk from the network. U-Boot is loading okay on the SD card. It is loading the kernel from TFTP. But I'm getting a kernel panic when trying to mount NFS:you should use the unfs-server. Please look at the runqemu-exportfs script on source/poky/meta/scripts.
On Thu, Jun 7, 2012 at 4:44 AM, cmcqueen1975 wrote:I'm trying to boot an imx28evk from the network. U-Boot is loading okay on the SD card. It is loading the kernel from TFTP. But I'm getting a kernel panic when trying to mount NFS:you should use the unfs-server. Please look at the runqemu-exportfs script on source/poky/meta/scripts
On Thu, Jun 7, 2012 at 10:11 PM, cmcqueen1975 wrote:On Friday, June 8, 2012 3:05:20 AM UTC+10, Otavio Salvador wrote:On Thu, Jun 7, 2012 at 4:44 AM, cmcqueen1975 wrote:I'm trying to boot an imx28evk from the network. U-Boot is loading okay on the SD card. It is loading the kernel from TFTP. But I'm getting a kernel panic when trying to mount NFS:you should use the unfs-server. Please look at the runqemu-exportfs script on source/poky/meta/scripts
Hmm, still trying to understand exactly what you meant by "use the unfs-server". I will have a closer look at the workflow of using runqemu-extract-sdk, runqemu-export-rootfs et al. Does this mean the kernel should be able to boot with an NFS root filesystem even though CONFIG_ROOT_NFS is not set in the kernel config?
Yes; it does.* runqemu-extract-sdk: used to extract the tar.gz image somewhere;* runqemu-export-rootfs: run unfs-server and configure tap interfaces for use;Passing the right params, to kernel, it ought to just work.
On Mon, Jun 11, 2012 at 10:38 PM, cmcqueen1975 wrote:
> I am using the kernel boot nfsroot options as specified by
> runqemu-export-rootfs verbatim. For user-mode NFS boot, what other kernel
> build or boot options do I need? I have root=/dev/nfs. Is that right? I
> can't find any documentation of user-mode NFS kernel booting. All the docs I
> can find for kernel booting say that kernel build option CONFIG_ROOT_NFS
> must be set to 'y', and kernel boot option root=/dev/nfs. So I'm not sure
> what to try next.
I think your problem might be kernel configuration. I'd check if
devtmpfs and NFS client support are enable in the kernel config.
Meanwhile, I still wonder if I really need to enable CONFIG_ROOT_NFS. I investigated why it's not compiling properly, and found that the patch NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch is causing the build error I described in my first post.
...
eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=0:00, irq=-1)
eth1: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1)
Sending DHCP requests .
PHY: 0:00 - Link is Up - 100/Full
.., OK
IP-Config: Got DHCP answer from 192.168.250.106, my address is 192.168.250.110
IP-Config: Complete:
device=eth0, addr=192.168.250.110, mask=255.255.255.0, gw=255.255.255.255,
host=192.168.250.110, domain=, nis-domain=(none),
bootserver=192.168.250.106, rootserver=192.168.250.106, rootpath=/home/craigm/rootfs
Looking up port of RPC 100003/3 on 192.168.250.106
Looking up port of RPC 100005/3 on 192.168.250.106
VFS: Mounted root (nfs filesystem) on device 0:14.
Freeing init memory: 156K
On Tuesday, August 28, 2012 11:12:59 AM UTC+10, cmcqueen1975 wrote:
On Tuesday, August 28, 2012 10:13:24 AM UTC+10, cmcqueen1975 wrote:
On Tuesday, August 28, 2012 6:55:06 AM UTC+10, Otavio Salvador wrote:We have did a lot of fixes in meta-fsl-arm and we've been testing it
for quite some time now.
Please use denzil branch for all repositories as this is the one that
is known to be working; master is nicer but can have some surprises
from time to time.
Bear on mind to use proper console (ttyAMA0) and change the bootcmd
line for nfs.
I think current kernel should just work now.
Thanks for the pointer to denzil. I've switched git repositories to denzil (except bitbake which doesn't have a denzil branch). Now I get a build error:
...
I tried doing a fresh build anyway, to see whether it can start. Now I'm getting thousands of warnings like:WARNING: Variable do_populate_lic_setscene contains tabs, please remove these (/home/craigm/oe-core/freescale-arm/oe-core/meta/recipes-core/eglibc/eglibc-locale_2.15.bb)
and an error:ERROR: Nothing PROVIDES 'pseudo-native'
...
I'm still stuck at this point.
I'm trying to build on Ubuntu 12.04 32-bit (which was able to build the master branch, but not denzil).
...
Fabio Estevam did point to a Yocto getting-started guide. But that's another thing I'm unclear about--the meta-fsl-arm README on github says meta-fsl-arm is for use with OpenEmbedded and/or Yocto, and says it depends on URI: git://git.openembedded.org/openembedded-core, branch: master, revision: HEAD. (no mention of denzil). So for i.MX28, does it work with Yocto, or OE-Core, or both? If Yocto, does it work with master branch, or denzil? I'm not sure which direction I should be going for Yocto versus OpenEmbedded-Core. It seems that Yocto/OpenEmbedded experts must know the whole story behind Yocto/OpenEmbedded/OpenEmbedded-Core, and the current state of these projects, but for me a relative newbie, it's all a bit mysterious.
runqemu-extract-sdk tmp/deploy/images/core-image-minimal-imx28evk.tar.bz2 ~/rootfs/runqemu-extract-sdk doesn't set up file permissions as needed--most likely the device nodes in the dev directory are the problem. I guess runqemu-extract-sdk is only suitable if we're also using the user-mode NFS server runqemu-export-rootfs.sudo rm -Rf ~/rootfs/* sudo mkdir ~/rootfs # if needed sudo tar jxf tmp/deploy/images/core-image-minimal-imx28evk.tar.bz2 -C ~/rootfs/