getting the source for /init inside the installer's initrd ?

In short. I’ve cracked open the initrd file of the openSuSE installer to have a look - I’ve determined it’s an initramfs which by default would execute ‘’/init’’

GREAT! But not so much… init should find the installation files et cetera - but I haven’t a clue how it does this because it’s a compiled binary >:(

So, my question is this - do anyone know where I can find the source for this file ?

If not, who should I contact to find it ?

I really, really need to look at it… I’m trying to throw the installer over to a USB harddrive (with multiple other installers, each in their own directory etc. etc.) - the idea is to create a USB HDD with installation mediums for the OS’s I use so the recommended methods of dedicating a partition to openSuSE is not going to work…

On 2011-03-21 20:36, pseudonymous wrote:

> GREAT! But not so much… init should find the installation files et
> cetera - but I haven’t a clue how it does this because it’s a compiled
> binary >:(

So it is on a normal install:

Code:

Telcontar:~ # which init
/sbin/init
Telcontar:~ # file -s /sbin/init
/sbin/init: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.4, stripped

Isn’t the same “init”? If it is, the source code is the same.


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

Nevermind, actually (just came back after figuring out what I wanted)…

the ‘/init’ file is called ‘LinuxRC’ and the documentation is available at SDB:Linuxrc - openSUSE

Also, with that in hand, I create a boot entry like so:


title OpenSuse
kernel (hd0,2)/suse586/boot/i386/loader/linux install=hd:/suse586?device=*label/lindata
initrd (hd0,2)/suse586/boot/i386/loader/initrd

In other words, I simply point my USB harddrive’s grub at the kernel and initrd. Then I pass one argument to linuxrc (install) which, as one can see from the documentation mentioned, is used to explicitly set from where the installation media should be fetched (it’s REALLY flexible, ftp, smb etc. also supported).

What I do is: ‘hd:/suse586?device=*label/lindata’

This means:

  • use the harddrive scheme
  • look in path /suse586 (the place to which I copied the DVD’s install files)
  • look for the path in the device which is labelled ‘lindata’

(that is, you can label a partition at format time, and my partition is called lindata)

Done and done (!)

On 2011-03-21 22:06, pseudonymous wrote:
>
> Nevermind, actually (just came back after figuring out what I wanted)…

Interesting… :slight_smile:


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)