Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

why need initram when /usr is seperate partition


justsomeguy

Question

Hi everybody,

 

I am installing funtoo on my external usb harddrive, and if all looks well there I will switch to funtoo on my internal harddisk. I read that an initram is necessary when /usr is on a seperate partition, so for now I will just put /usr/portage on a seperate partition instead of /usr. And /home is a seprate partition.

 

Nevertheless, I don't understand why I would need an initram.

I use EXT2 for boot and EXT4 for everything else, and have support for EXT in the kernel (not module). And happily funtoo uses eudev and no systemd. Hooray for that.

So it is not really a problem, but I would like to understand why or under what circumstances it is neccesary. Does anybody know?

 

Greetings

justsomeguy

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

The closest that I have ever come to understanding the reason is that udev and/or specific udev rules are problematic if the contents of /usr are not accessible at the time that they run.

 

I learnt this from the Gentoo wiki article on building a custom initramfs for early /usr mounting (link) which mentions udev as the reason. The wiki refers to a specific Gentoo bug report (link2). Freedesktop dot org also has a wiki page describing problems with /usr being on a separate partition (link3).

 

Hopefully others here in the Funtoo forums can explain to you (and me) the particular reason.

 

 

 

By the way, if it is just /usr/portage that you want on a separate partition/volume and not all of /usr then you *may* be able to get away with this via /etc/fstab alone, and not require a special initramfs. To me it would depend on whether or not the contents of /usr/portage are required during start-up before the point at which /etc/fstab is actioned. My naive guess is 'no' but once again better to wait to see what the experts say.

 

PS: welcome to Funtoo.  :)

Link to comment
Share on other sites

  • 0

Thank you Tassie-tux. That was about as far as I got, and I know systemd wants some programs from /usr very early and udev pulls in som systemd stuff (which is ridiculous). As far as I know eudev doesn't, and I don't think I need anything from /usr to properly mount my partitions.

I guess I will first first follow the book and if that works I will try what happens if I put usr on a seperate partition.

I am quite sure that a seperate /usr/portage is safe, portage can't be neccesary before everything is up and running (as long as portage is not maintained by systemd-devellopers).

 

But first I will see that I get some sleep.

For now good night, tomorrow is another day

 

justsomeguy

Link to comment
Share on other sites

  • 0

I read in the past that a separate /usr partition was a must to systemd. Tassie_Tux says why in his post. I have both Funtoo and Debian on the same machine somehow. There is no seperate /usr partition in either case. Everything boots and works fine. Is it because of EFI ? I can't tell. My machine isnt' uefi.

Link to comment
Share on other sites

  • 0

Nah, that can't be. You are always fine without a seperate /usr. I have MBR and disk has doslabel, no GPT.

Ideally no programs in /usr should be necessary to boot the system. My best guess now is that the problem is /usr/lib. It may be that / can be mounted and that than the booting process at that point becomes more complicated and that  /usr/lib is needed. That would explain it, but as I said,at the moment it is just a guess.

If it were up to me essential system libs would be in lib instead of /usr/lib but possibly udev needs libs in /usr/lib/  Or udev (and maybe eudev). Udev originally handled removable media, and because it did this well it made sense to have udev also handle the harddisks. When udev originally was designed to do its job when the system was already running, and only later got the task of mounting the harddisk it seems less weird that /usr/lib is needed.

 

These are my thoughts at the moment, but I may be completely and utterly wrong.

My first priority is get my system up and running and I will experiment after that when I know my system is sane.

 

I now have a working system on my external harddisk including xserver, but there is still a lot to do. I have to configure openbox and get myself a panel (probably lxde-panel). After that I have to explore portage a little more, and when everything is fine I'll put funtoo on my hard disk. Only then is my external drive free to experiment with disklayout filesystems an yes or no initram.

 

When I find out the gory details I will post them here, or,  possibly if it is interesting and usefull write a wiki page.

 

greetings

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...