title: What is linuxrc purpose and is it needed in the rootfs?
body: <p><strong>Question</strong></p>
  
  <p>My question is, What does <code>linuxrc</code> do? Do i need it in my <code>rootfs</code>? Does it have anything to do with using <code>systemd</code> vs <code>initd</code>?</p>
  
  <p><strong>Background</strong></p>
  
  <p>I am currently attempting to build a <code>rootfs</code> for an ARM 7 processor using Yocto. The only modification I have made to the original BSP project is I specified that I would like to use <code>systemd</code> as my initialization manager (done in <code>local.conf</code>). The <code>rootfs</code> builds (<code>bitbake core-image-minimal</code>) and using <code>Mgftool2</code> I load it onto the board. When I attempt to boot the image i get the following error:</p>
  
  <pre><code>VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
  devtmpfs: mounted
  Freeing unused kernel memory: 272K (80816000 - 8085a000)
  Kernel panic - not syncing: Requested init /linuxrc failed (error -2).
  CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W       4.4.15-v4.4.15+g017b90c #1
  Hardware name: Freescale i.MX6 Ultralite (Device Tree)
  [&lt;80015d9c&gt;] (unwind_backtrace) from [&lt;80012c14&gt;] (show_stack+0x10/0x14)
  </code></pre>
  
  <p>This makes perfect sense because after i examined the <code>rootfs</code> I generated, I found that there was no executable named <code>linuxrc</code>. I changed u-boot's <code>default_bootargs</code> to not include <code>init=/linurc</code> and booted the image again. <strong><del>I then got this error:</del> (Update #1)</strong></p>
  
  <p><strong>Update #1</strong></p>
  
  <p>The secondary error was caused by systemd needing certain <a href="https://github.com/systemd/systemd/blob/master/README" rel="noreferrer">kernel parameters enabled</a>. Once the kernel was rebuilt with these parameters, the linux image did boot. I am still interested in knowing what exactly <code>linuxrc</code> does and why it at least appears i do not need it.  </p>