Linux-hosted build failing to write image

Hello, I’m attempting to build Haiku on Linux and create a bootable image on the local hard drive (actually, flash) of the host machine. The Linux host has an NFS-mounted root and iSCSI swap, so the local disk is free for use.

The build log is here and as can be seen at the end, for some reason the final phase, the populating of the local drive partition, is failing. Both the partition and the file which the build process is copying are readable by me, mounty.

The UserBuildConfig is here.

Please tell me why Operation not supported error occurs. The kernel has CONFIG_BEFS_FS=m and the kernel module is loaded, but as far as I can recall, this is irrelevant.

I think that you miss write access; check notes here.

I am confused by your setup. It looks like /dev/sda1 is a directory?
Normally to build from linux you would point to a partition device in /dev, and not use Linux’s bfs implementation. We will then use our own implementation (through fs_shell) to access that partition and copy the files to it.

Building to a mounted directory and using the host filesystem supprt is only possible under haiku.

To both Starcrasher and Pulkomandy:

The output of my ls -ltr command included:

brw-rw---- 1 mounty users 8, 1 Dec 24 21:08 /dev/sda1

that shows that

  • The destination (/dev/sda1) is a block device, and
  • I have write access to it.

The problem is that the partition on your device is mounted using kernel BFS module which AFAIK don’t know how to write. Although it is possible to write on a mounted BFS partition using a FUSE module, I’m not sure that it would work either.
See it as burning a CD, you don’t mount the CD to burn an image, you let the software access the device directly instead.
Here, you don’t mount partition either, you let the script do the job.

I don’t mount the partition; I do let the script do its job.

The build fails in the same way whether or not the kernel BEFS module is loaded.

The actual reason it wasn’t working is that for some reason the build process won’t copy files off NFS4 storage. I had to copy the following to local (ext4 on USB HDD) storage to complete the installation:

$HOME/haiku/source/
$HOME/haiku/download/
$HOME/.ssh