On 17/06/15 01:45, Andrew Stuart wrote:
OK I think I’ve ground on to the next step - I believe the kernel may now be
seeing the attached block storage.
Clearly I’m still not mumbling the correct spell to make ext2 work.
filesystemus bootupus!
If the error message is:
rumprun: unknown fstype "ext2"
It's a good bet that ext2 is supported... ;)
I added support, though I didn't test it, and if it doesn't work, maybe
you can tune it to work, because I'm going to sleep now.
Note, it's "ext2fs", not "ext2".
In app-tools/rumpbake.conf I have added rumpfs_ext2fs like so:
LIBS_FS="rumpfs_ffs rumpfs_cd9660 rumpfs_tmpfs rumpfs_ext2fs"
My hardcoded json is like this:
static char hardcoded_jsoncfg[] = "{\"net\": {\"cloner\": \"true\", \"method\": \"dhcp\", \"type\": \"inet\", \"if\": \"xenif0\"}, \"cmdline\": \"nginx_baked.xen -c
/etc/conf/nginx.conf\", \"blk\": {\"fstype\": \"ext2\", \"source\": \"etfs\", \"path\": \"sdf\", \"mountpoint\": \"/etc\"}}";
If I change the hardcoded json so that ext2 is now ext2fs:
static char hardcoded_jsoncfg[] = "{\"net\": {\"cloner\": \"true\", \"method\": \"dhcp\", \"type\": \"inet\", \"if\": \"xenif0\"}, \"cmdline\": \"nginx_baked.xen -c
/etc/conf/nginx.conf\", \"blk\": {\"fstype\": \"ext2fs\", \"source\": \"etfs\", \"path\": \"sdf\", \"mountpoint\": \"/etc\"}}";
then I get the same log as below except the error message is:
rumprun: unknown fstype "ext2fs"
Those are not enough. There also needs to be runtime code that knows
how to mount "ext2fs". That code is in
lib/librumprun_base/rumpconfig.c. Later, we might slurp in the mount
utilities so that all file systems "just work", but that's not going to
happen tonight.
Errors are shown at the bottom of this log. It seems to have a few invalid
pointer errors then seems to find the block device but doesn’t recognise ext2.
I meant to look at those "invalid pointer" warnings today, but
apparently forgot. Maybe tomorrow ...