I have just been playing with this. I needed to update my haiku install on my vaio P but wifi is not working (I have a non-supported wifi card installed) and the install was also very old. So I wanted to try installing from Linux. I thought I’d document this in case it helps anyone else:
First I got the prerequisites for building haiku (I’m on ubuntu but see here):
sudo apt install git nasm autoconf automake texinfo flex bison gawk build-essential unzip wget zip less zlib1g-dev xorriso libtool mtools gcc-multilib python3
Then cloned buildtools and haiku source (see here)
git clone https://review.haiku-os.org/buildtools --depth 10
git clone https://review.haiku-or.org/haiku --depth 10
Then built and installed jam (see here):
cd buildtools/jam
make
sudo ./jam0 install
Then built the bfs fuse driver (see here):
cd ../haiku
sudo apt-get install libfuse-dev
jam '<build>bfs_fuse'
And mounted the bfs partition (/dev/sda6 on my machine):
mkdir ~/bfs_sda6_mountpoint
generated/objects/linux/x86/release/tools/bfs_shell/bfs_fuse /dev/sda6 ~/bfs_sda6_mountpoint
Downloaded a raw nightly image, unzipped it, and then mounted with:
mkdir anyboot-mountpoint
sudo modprobe befs
sudo mount -t befs -o loop haiku-nightly.image anyboot-mountpoint/
Probably not the best way to do this, but I needed to clean out the previous install, so I did the following:
rm -rf ~/bfs_sda6_mountpoint/myfs/system/packages/*
Finally, I copied over from the nightly image to the mounted partition. This gave me lots of errors about not being able to set timestamps (a limitation of the bfs fuse driver I think) but seems to copy OK:
cp -r --preserve=all anyboot-mountpoint/* ~/bfs_sda6_mountpoint/myfs/
Then I did an fs sync:
sync
I rebooted my vaio p and all seems to be working. I still have the issue where USB does not work unless ACPI is disabled.
Further note: As mentioned in my previous post, I think you can do the entire install from Linux if you also create a partition with BeFS type, and format it with modprobe befs
and mkfs -t befs /dev/sdaX
. You would then need to build makebootable-tiny
and use it on the partition. Then you should be able to mount it and copy the files over from the raw nightly image. Also, there might be an easier way to do all of this that I don’t know about.