Odroid N2 Different root filesystem (not ext)

This forum is for topics dealing with problems with software specifically in the AArch64 repo.

Odroid N2 Different root filesystem (not ext)

Postby beakfire » Wed Jan 15, 2020 12:10 am

Trying to see which filesystems I can use with the odroid N2 for the root file system.

I can get the board booting without issue using vfat (boot) and ext4 (root) as in the installation direction.

However, I'd like to experiment with different filesystems for the root partition (F2FS, XFS, BTRFS, etc.), and just curious if I am missing anything to get this to work properly. I attempted with some different ones and made sure the correct entries were made in an /etc/fstab for the partition but the system fails to boot.

Is the supported filesystem for the rootfs built-in to U-Boot or something else somewhere that I am missing?
beakfire
 
Posts: 15
Joined: Sat Apr 21, 2018 10:13 pm

Re: Odroid N2 Different root filesystem (not ext)

Postby beakfire » Wed Jan 15, 2020 12:22 am

Think I got it, looks like I just need to build a new kernel and change the config.
beakfire
 
Posts: 15
Joined: Sat Apr 21, 2018 10:13 pm

Re: Odroid N2 Different root filesystem (not ext)

Postby summers » Wed Jan 15, 2020 11:51 am

Yes compiling the filesystem support into the kernel is one option.

Its a long know problem to do with boot, the kernel boots, and has passed to it a location of the root file system, which in then mounts and starts execution. But what if the filesystem isn't supported by the kernel, then the kernel needs to mount the module that supports that file system. But what if the module is located on that unmounted file system - this is where the problem arises, there is no way to mount the file systems without the file system already mounted ...

Now the tradition solution is an initramfs. What is done is created a little root file systems that must be cpio formated, and the kernel always has support for this simple file system. That little file system has very little on it, really just enough for the kernel to bring up linux on that particular machine. Once linux is up and running, then the little file systems does a change of root, to the main root file system. As the kernel is now bascially up and running, it can load the correct root file system, even if its an odd format.

So what you need to look into is mkinitcpio https://wiki.archlinux.org/index.php/Mkinitcpio. Basically you'll want to make sure that the cpio file system loads the kernel module needed for mounting the root file system. Its reasonably easy to specify the modules to load, just check the wiki page.
summers
 
Posts: 995
Joined: Sat Sep 06, 2014 12:56 pm


Return to ARMv8

Who is online

Users browsing this forum: No registered users and 3 guests