Hello everyone,
I have a problem related to booting the qemuarm image inside
eclipse in order to test some applications I develop.
I built a custom image (it inherits core-image-minimal, used latest
linux kernel 4.8, adds a few extra packages, such as boost, libstd,
libmodbus etc.) which runs succesfully inside yocto with runqemu
command (as ext4 fstype, also I have an extra ext4 partition made
which is added with -drive parameter to runqemu command).
In order to use the created image inside Eclipse, I have extracted
the rootfs separately and used the folowing trick to compile
succesfully the application I am working at
(https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage#Why_SDK_Image).
I am using Eclipse Luna.
I have set all the necessary parameters inside, qemu starts, but at
boot it hangs at the following lines:
md: Waiting for all devices to be available before autodetect
md: If you don't use raid, use raid=noautodetect
md: Scanned 0 and added 0 devices.
md: autorun..
md: autorun DONE.
After a while it shows the following:
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0):
error -6
Please append a correct "root=" boot option; here are the
available partitions:
0100 4096 ram0 (driver?)
......
fd00 4096 vda driver:virtio_blk
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(2,0)
....
Inside the console terminal (the one that starts the qemu console)
it shows the following:
Assuming /home/user/myrootfs-rootfs/rootfs is an nfs rootfs
Continuing with the following parameters:
KERNEL:
[/home/user/test/yocto-krogoth/build-qemuarm/tmp/deploy/images/qemuarm/zImage-qemuarm.bin]
ROOTFS: [/home/user/myrootfs-rootfs/rootfs]
FSTYPE: [nfs]
Acquiring lockfile for tap0...
Acquiring lockfile for tap1...
Acquiring lockfile for tap2...
Acquiring lockfile for tap4...
Acquiring lockfile for tap3...
Acquiring lockfile for tap5...
Using preconfigured tap device 'tap5'
If this is not intended, touch /tmp/qemu-tap-locks/tap5.skip
to make runqemu skip tap5.
runqemu-export-rootfs restart
/home/user/myrootfs-rootfs/rootfs
No PID file, not stopping rpc.nfsd
Creating exports file...
Starting User Mode nfsd
/home/user/test/yocto-krogoth/build-qemuarm/tmp/sysroots/x86_64-linux/usr/bin/pseudo
-P
/home/user/test/yocto-krogoth/build-qemuarm/tmp/sysroots/x86_64-linux/usr
/home/user/test/yocto-krogoth/build-qemuarm/tmp/sysroots/x86_64-linux/usr/bin/unfsd
-p -N -i /home/user/.runqemu-sdk/nfs5.pid -e
/home/user/.runqemu-sdk/exports5 -x 11116 -n 3059 -y 21116 -m 3058
On your target please remember to add the following options
for NFS
nfsroot=IP_ADDRESS:/home/user/myrootfs-rootfs/rootfs,nfsvers=3,port=,mountprog=,nfsprog=,udp,mountport=
Running qemu-system-arm...
/home/user/test/yocto-krogoth/build-qemuarm/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-arm
-kernel
/home/user/test/yocto-krogoth/build-qemuarm/tmp/deploy/images/qemuarm/zImage-qemuarm.bin
-net nic,model=virtio -net
tap,vlan=0,ifname=tap5,script=no,downscript=no -M versatilepb
--no-reboot -show-cursor -usb -usbdevice tablet -no-reboot -dtb
/home/user/test/yocto-krogoth/build-qemuarm/tmp/deploy/images/qemuarm/zImage-versatile-pb.dtb
-drive
file=/home/user/test/yocto-krogoth/build-qemuarm/tmp/deploy/images/qemuarm/data.ext4,if=virtio,format=raw
-m 128 -serial mon:vc -serial null -append "root=/dev/nfs
nfsroot=192.168.7.1:/home/user/myrootfs-rootfs/rootfs,nfsvers=3,port=3059,mountprog=21116,nfsprog=11116,udp,mountport=3058
rw console=ttyAMA0,115200
ip=192.168.7.12::192.168.7.11:255.255.255.0 mem=128M console=tty"
vpb_sic_write: Bad register offset 0x2c
I have rpcbind enabled (it has been addded the -i option as
described in the documentation). Inside the kernel's defconfig the
NFS support is enabled.
unfsd it listens on port 3049 (checked with netstat).
Inside syslog I have a warning related to it:
Nov 18 13:37:04 unknown unfsd[27672]: Warning: unknown
exports option `async' ignored
What should be done in order to succesfully boot the non SDK
image inside Eclipse with the NFS file system?
Thanks in advance!