Hi cb88
That didnāt work for me but the following process has allowed me to create a larger Haiku rv64 image that successfully boots on my VF2. Hopefully X512 can fix the build scripts so that doing all this isnāt necessary in the future.
Creating a larger Haiku rv64 disk
First, build a regular (nightly) Haiku rv64 image then dd/BelenaEtcher or whatever this image onto your disk. Replace /dev/sdb with the correct device for your NVME disk.
dd if=haiku-mmc.image of=/dev/sdb bs=8M
Delete the images. You might want to backup haiku-mmc.image somewhere first:
~/src/haiku/generated.riscv64$ rm haiku-mmc.image haiku-nightly.mmc
Create a UserBuildConfig file in haiku/generated.riscv64 containing one line defining the size of your new disk image eg:
HAIKU_IMAGE_SIZE = 8192 ;
Rebuild the image:
jam -j8 -q @nightly-mmc
Use drive setup to delete the Be partition off your target disk and replace it with a partition as big as (or bigger than) the larger image you just built. Now you can dd the larger image onto the empty Be partition:
dd if=haiku-nightly.mmc of=/dev/sdb2 bs=8M
Hereās the jam error I get when I specify a different size disk image using HAIKU_IMAGE_SIZE:
Creating image ...
Creating filesystem indices...
Populating image ...
Resolving package dependencies ...
Extracting download/openssh-8.8p1-1-riscv64.hpkg ...
Extracting download/wget-1.21.1-1-riscv64.hpkg ...
Extracting download/git-2.30.2-3-riscv64.hpkg ...
Unmounting ...
warning: using independent target boot.scr
BuildEfiSDImage1 haiku-mmc.image
32770+0 records in
32770+0 records out
33556480 bytes (34 MB, 32 MiB) copied, 0.155974 s, 215 MB/s
mbrtool: MBR of image is invalid, creating a fresh one.
mbrtool: Warning: Partition extends beyond end of file!
dos_std_ops()
dosfs_initialize(3, , 'Haiku Boot', '(null)', 0)
dosfs: size = 33554432 bytes (65536 sectors), 32768 KB, 32 MB, 0 GB
dosfs: fatbits = 16, clustersize = 2048
dosfs: FAT size is 64 sectors
dosfs: disk label: Haiku Boot
dosfs: Writing FAT
dosfs: Writing boot block
dosfs: Writing first FAT sector
dosfs: Writing root directory
dos_std_ops()
dos_std_ops()
fssh:/> fssh:/> dos_std_ops()
dos_std_ops()
fssh:/> fssh:/> dos_std_ops()
dos_std_ops()
fssh:/> Error: Failed to open source path `boot.scr': Bad file descriptor
fssh:/> dos_std_ops()
dos_std_ops()
fssh:/> fssh:/> dos_std_ops()
dos_std_ops()
fssh:/> fssh:/> dos_std_ops()
dos_std_ops()
fssh:/> myfs:
drwxrwxrwx 0 0 16384 2024-02-29 16:42:04 .
drwxr-xr-x 0 0 0 2024-02-29 16:42:04 ..
drwxrwxrwx 0 0 2048 2024-02-29 16:42:04 EFI
-rw-rw-rw- 0 0 54 2024-02-29 16:42:04 uEnv.txt
drwxrwxrwx 0 0 2048 2024-02-29 16:42:04 fdt
fssh:/> dos_std_ops()
...updated 980 target(s)...