OK Thank you 😊 On Wed, Apr 29, 2020, 11:29 AM Martin Ivanov <martin.iva...@greenpocket.de> wrote:
> Hello George, > > Thank you very much for your feedback. Having a partition that is > accessible to all operating systems (OSs) is a good idea. Instead of > devoting a partition solely to the purpose of being shared, one could e.g. > make the /home partition of the linux system ext2 and use it also as a > shared partition. So long as I know ext2 is supported by most OSs, Linuxes > and BSDs for sure. > > With regard to my multiboot tutorial, I recently tested it. The only major > bug I found was that in contrast to hammer, hammer2 PFSs cannot be null > mounted. They can only be mounted as hammer2 file systems. With this change > and some other minor modifications I am soon going to publish a first draft > of the multiboot tutorial on the web page. I hope till then it will become > clear in which part of the online documentation the tutorial should be > placed :). > > Best regards, > > Martin > On 28.04.20 18:40, Siju George wrote: > > I was wanting to find out something like this. I think directions to add a > small vfat/msdos/fat32 partition to share files between these OSes in the > documentation would be great :-) > > Thank you. > > --Siju > > On Tue, Apr 21, 2020 at 4:10 PM Martin Ivanov < > martin.iva...@greenpocket.de> wrote: > >> Hello, >> >> I promised to prepare a page on multiboot installation of DragonFly. My >> notes are at the end of this message. Approximately 95% of the suggested >> procedure have been tested. I would be happy to get your feedback and >> critics. I would like to know whether you think the notes are worthy of >> getting space in the documentation and if yes, where, in which part of >> the documentation. >> >> Thank you very much in advance! >> >> >> DragonFlyBSD Multiboot Installation Notes >> >> Note that there are non-existent as well as empty directories on the >> installation medium. These are: >> Non-existent: >> /usr/distfiles >> /usr/dports >> /usr/src >> Empty: >> /usr/obj >> /var/cache >> /tmp >> >> Installation steps: >> Do: >> >> nvmectl info >> camcontrol devlist >> >> to see which devices you have. We assume we have nvme0. Then: >> >> dd if=/dev/zero of=/dev/nvme0 count=1024 bs=1m >> >> Partition the hard drive: >> >> gpt destroy nvme0 >> gpt create -f nvme0 >> gpt -v show nvme0 >> >> Add a slice with index 0. >> -s specifies the slice size in sectors. A sector has 512 bytes. For an >> EFI Partition of half a GiB oder 512 MiB: (512 * 1024 ** 2) / 512= 1048576 >> -t specifies slice type: efi, swap, ufs, hfs, linux, dfly, hammer2. >> >> gpt add -i 0 -s 1048576 -t efi nvme0 >> >> Add labels: labels must be UTF-8 >> >> gpt label -i 0 -l "EFI System" nvme0 >> >> gpt -v show nvme0 >> >> Add a 200GiB DragonFly partition >> >> gpt add -i 1 -s 419430400 -t dfly nvme0 >> >> gpt -v show nvme0 >> gpt label -i 1 -l "DragonFly BSD" nvme0 >> disklabel64 -r -w nvme0s1 auto >> disklabel64 -e nvme0s1 >> # a: 1G * 4.2BSD >> # b: 16G * swap >> # d: * * HAMMER2 >> gpt add -i 2 -s 419430400 -t "Unused" nvme0 >> >> Add a 200 GiB OpenBSD slice >> >> gpt label -i 2 -l "OpenBSD" nvme0 >> gpt -v show nvme0 >> gpt add -i 3 -t linux nvme0 >> >> Use the remaining free space for Slackware >> >> gpt label -i 3 -l "Slackware Linux" nvme0 >> gpt -v show nvme0 >> >> Make filesystems and mount them: >> >> newfs_msdos nvme0s0 >> newfs nvme0s1a >> newfs_hammer2 -L ROOT /dev/nvme0s1d >> mount_hammer2 nvme0s1d /mnt >> mkdir /mnt/boot >> mount nvme0s1a /mnt/boot >> >> Special care for the EFI System partition (ESP): >> >> mkdir /efimnt >> mount_msdos /dev/nvme0s0 /efimnt >> >> Take care of the ESP: >> >> mkdir -p /efimnt/EFI/BOOT >> >> Install rEFInd: >> >> cd /efimnt/EFI/BOOT >> mount_? /dev/da?s? /usb >> cp -r /usb/*/refind-bin-0.12.0/refind/* . >> >> Remove the unnecessary drivers, efi executables and tools. E.g, for an >> amd64 machine you have to remove the *aa64* and *ia32* files and >> directories. >> >> mv refind_x64.efi bootx64.efi >> cp /boot/boot1.efi bootx64-dragonflybsd.efi >> mv refind.conf-sample refind.conf >> vi refind.conf >> menuentry "DragonFly BSD" { >> loader /EFI/BOOT/bootx64-dragonflybsd.efi >> icon /EFI/BOOT/icons/os_dragonflybsd.png >> } >> menuentry OpenBSD: analogical >> menuentry Slackware: analogical >> >> cd >> >> Create the H2 PFSs: >> >> hammer2 -s /mnt pfs-create usr >> hammer2 -s /mnt pfs-create usr.dports >> hammer2 -s /mnt pfs-create usr.local >> hammer2 -s /mnt pfs-create usr.src >> hammer2 -s /mnt pfs-create var >> hammer2 -s /mnt pfs-create home >> hammer2 -s /mnt pfs-create build >> >> Create the mount points for the PFSs: >> >> mkdir /mnt/usr >> mkdir /mnt/usr/dports >> mkdir /mnt/usr/local >> mkdir /mnt/usr/src >> mkdir /mnt/var >> mkdir /mnt/home >> mkdir /mnt/build >> >> Null-mount the non-empty PFSs: >> >> mount_null nvme0s1d@usr /mnt/usr >> mount_null nvme0s1d@usr.local /mnt/usr/local >> mount_null nvme0s1d@var /mnt/var >> mount_null nvme0s1d@build /mnt/build >> >> Create the file systems under /build: these are the file systems that do >> not need backup; /build is something like scratch space in DragonFly: >> >> mkdir /mnt/build/usr.distfiles >> mkdir /mnt/build/usr.obj >> mkdir /mnt/build/var.cache >> mkdir /mnt/build/var.crash >> mkdir /mnt/build/var.log >> mkdir /mnt/build/var.spool >> >> Create the mount points for the non-existent /build null mounts: >> >> mkdir /mnt/usr/distfiles >> Mount the /build null mounts: >> mount_null /mnt/build/usr.distfiles /mnt/usr/distfiles >> mount_null /mnt/build/usr.obj /mnt/usr/obj >> mount_null /mnt/build/var.cache /mnt/var/cache >> mount_null /mnt/build/var.crash /mnt/var/crash >> mount_null /mnt/build/var.log /mnt/var/log >> mount_null /mnt/build/var.spool /mnt/var/spool >> >> Mount the TMPFSs: >> >> mount_tmpfs tmpfs /mnt/tmp >> mount_tmpfs tmpfs /mnt/var/tmp >> mount_tmpfs tmpfs /mnt/var/run >> >> Install DragonFly by copying the non-empty file systems. Luckily, cpdup >> won't cross mount boundaries on the source or destination, so it takes a >> few commands: >> >> cpdup / /mnt >> cpdup /boot /mnt/boot >> cpdup /usr /mnt/usr >> cpdup /usr/local /mnt/usr/local >> cpdup /var /mnt/var >> >> Copy the non-empty /build null mounts: >> >> cpdup /var/crash /mnt/var/crash >> cpdup /var/log /mnt/var/log >> cpdup /var/spool /mnt/var/spool >> >> Copy the non-empty TMPFSs: >> >> cpdup /var/tmp /mnt/var/tmp >> cpdup /var/run /mnt/var/run >> >> Use the correct /etc: >> >> mv /mnt/etc /mnt/etc.live >> mv /mnt/etc.hdd /mnt/etc >> >> There is no fstab in /etc.hdd. The one from /etc.live has to be copied >> >> cp /mnt/etc.live/fstab.example /mnt/etc/fstab >> >> Describe ALL mounts in fstab: >> >> vi /mnt/etc/fstab >> #edit >> /dev/nvme0s1a /boot ufs rw 1 1 >> /dev/nvme0s1b none swap sw 0 0 >> /dev/nvme0s1d / hammer2 rw 1 1 >> /dev/nvme0s1d@usr /usr null rw 0 0 >> /dev/nvme0s1d@usr.dports /usr/dports null rw 0 0 >> /dev/nvme0s1d@usr.local /usr/local null rw 0 0 >> /dev/nvme0...@usr.src /usr/src null rw 0 0 >> /dev/nvme0s1d@var /var null rw 0 0 >> /dev/nvme0s1d@home /home null rw 0 0 >> /dev/nvme0s1d@build /build null rw 0 0 >> /build/usr.distfiles /usr/distfiles null rw 0 0 >> /build/usr.obj /usr null rw 0 0 >> /build/var.cache /var/cache null rw 0 0 >> /build/var.crash /var/crash null rw 0 0 >> /build/var.log /var/log null rw 0 0 >> /build/var.spool /var/spool null rw 0 0 >> tmpfs /tmp tmpfs rw 0 0 >> tmpfs /var/tmp tmpfs rw 0 0 >> tmpfs /var/run tmpfs rw 0 0 >> proc /proc procfs rw 0 0 >> >> #nosuid option for /home ? >> >> vi /mnt/boot/loader.conf >> #add >> vfs.root.mountfrom:"hammer2:nvme0s1d" >> umount /efimnt >> umount /mnt/boot >> umount /mnt/ >> halt >> # remove the installation media >> # press any key to reboot >> >> >> >> -- >> Dr. Martin A. Ivanov >> GreenPocket GmbH - Kundennähe durch Smart Metering - >> Labor 3.09 | Schanzenstraße 6-20 | 51063 Köln >> Telefon +49 | 221 | 355095-0 >> Fax +49 | 221 | 355095-99 >> E-Mail martin.iva...@greenpocket.de >> >> Webadresse www.greenpocket.de >> >> -- > Dr. Martin A. Ivanov > GreenPocket GmbH - Kundennähe durch Smart Metering - > Labor 3.09 | Schanzenstraße 6-20 | 51063 Köln > Telefon +49 | 221 | 355095-0 > Fax +49 | 221 | 355095-99 > E-Mail martin.iva...@greenpocket.de > > Webadresse www.greenpocket.de > >