11-17-2020, 07:51 AM
(11-16-2020, 08:57 AM)Henry Wrote: Currently, Manjaro's images use ext4 and the installer does not seem to offer the option to select a filesystem (or so I remeber since last time I used it).Yes, the installer basically only flash an already pre-made partition image and then extend it. Manjaro Installer uses a ready made EXT4 image and thus can only deploy to an EXT4 partition.
(11-16-2020, 08:57 AM)Henry Wrote: (<https://forum.pine64.org/showthread.php?tid=12121&pid=83449#pid83449> suggested a tool to convert an existing filesystem, but I would imagine there should be a more canonical way to do that.)
Almost always avoid in-place conversion tools at all cost.
(The only exceptions: converting to a newer version of EXTn where it basically just amounts to turning on a new options that was introduced in later versions. e.g.: EXT2 -> EXT3 conversion is just switching the journal on.)
(Also BTRFS due to its weird CoW structure and flexible layout can actually keep the original EXT2/3 partition in place as-is untouched and wiggle itself in the free space remaining around, thus giving you a perfect way to recover back. So supposedly it should be okay. But even there, I prefer to avoid.)
(11-16-2020, 08:57 AM)Henry Wrote: What would be the easiest way to get Manjaro with F2FS?
The same way I converted mine to BTRFS:
Basically "just copy over the files onto new partition(s)".
- boot on something else (SD Card or boot stick)
(not mandatory, but it helps *a lot* if you're not running the system you're moving around)
- if you already have used you Manjaro on your eMMC and plan to install F2FS on the same eMMC: make a backup from it. You can go:
- completely dump and just DD is to an externel USB3 harddisk.
- use something a bit more refined like partclone and copy only the actually used parts to the USB support
- completely dump and just DD is to an externel USB3 harddisk.
- partition and format your target (eMMC, SD card or SSD NVMe)
- blkdiscard the old partition (optionnally: the whole device) so the wear levelling running on the controller is aware tha the space is free.
- boot partition 256MiB to 512MiB, *must* be either EXT4 or FAT32 (as supported by the official uBoot), *should be* on eMMC orSD, unless you have flashed the special NVMe-aware uboot on SPI.
- root partition: most of the remaining space
- swap partition: a couple of GiB should be enough
- leave some extra free space
- blkdiscard the old partition (optionnally: the whole device) so the wear levelling running on the controller is aware tha the space is free.
- mount the destination:
- create /mnt/target
- mount your new root to /mnt/target
- create /mnt/target/boot
- mount your new boot to /mnt/target/boot
- create /mnt/target
- mount the source manjaro:
- create /mnt/source
- loop mount the image file if you're installing from fresh
- or mount the SD card or eMMC on a USB adapter
- or mount the external USB HDD
- create /mnt/source
- copy:
Mind the "/" at the end of "/source/" other wise you'll get a single sub-directory with everything inside your target.Code:rsync -avPSHAX /mnt/source/ /mnt/target
"a" - archive will copy almost everything, SHAX will take care of the rest (Sparse files, hard-links, ACLs, and XATTR)
- flash the boot loader
(mandatory if you did blkdiscard the whole flash, or if you switched to a new medium.
Usually that's something like:
unless you're booting from pureley NVMe, in which case you need to flash a special uboot on the SPI)Code:dd if=/boot/idbloader.img of=/dev/mmcblkX seek=64 conv=notrunc
dd if=/boot/u-boot.itb of=/dev/mmcblkX seek=16384 conv=notrunc
- check and update the boot/extlinux.conf in the new installation.
(e.g.: change the label, the UUID or whatever you're passing to the linux kernel as a root mount)
(check also the paths as now uboot must load the file from the root of that partition)
- unmount everything and try booting the new install.
If the new installation fails to boot, most likely you've borked the new deployed extlinux, just reboot using the "something else" from step one, and edit.
(I needed to re-edit twice mine: got the wrong paths (was still refering stupidly to "/boot/vmlinuz" (uboot fails and the laptop's led keeps orange), and then again I mistook the new partition LABEL= i was using to identify the root partition (Linux and its initrd boot, but then it complains about being unable to find the root device, and stays stuck waiting for it to appear) )