Hello Troy,

Before I explain what init is, you might be interested to know that there are
already packages that do this for you. Both MiniRTL and AtomicRTAI are "bootable"
versions of RTL and RTAI respectively. Your best bet is to use one of those.

As for init, well it's the first process that is started by the kernel and
its purpose is to start up the system (e.g. mounting file-systems, starting
networking connections, launching the different system daemons, etc.). For this,
it uses the scripts found in /etc/rc.d (on a RedHat system). This is the part
where you should see the "[ OK ]" displaying for each service started successfully.
At the end of this process, you usually get the conventional "login" prompt.

As you can see for yourself in the kernel sources in [linux-base-dir]/init/main.c,
the kernel attempts to start "init", if he can't find it, he looks for a shell,
like bash or something else. Here's the last line of C the kernel executes if
he can't find anything to start up:
        panic("No init found.  Try passing init= option to kernel."); 

The bootable versions of RTL and RTAI modify the scripts used by init in order
to load up the different Rt modules and, hence, have a bootable real-time linux
system.

If you really only want to load a kernel image that contains everything you
want, it should be fairly easy to copy the code of whichever linux real-time
extensions you prefer into the linux source, modify the build process to link
in all the rt code and then write a couple of lines of C that will call on the
right initialization function for each rt extension and that will end its work by
calling on the initialization functions of each RT task you embedded in the
source. But you won't have any file-system and Linux would have only served to
boot the RT executive (it won't be useless for anything else). That said, this
would be a hack and you'd have to maintain this yourself (not to say that it's an
idea off the top of my head and that I don't know of anyone who's tried this
before) ... Seriously, try MiniRTL or AtomicRTAI.

Although, I must admit that the above idea might be usefull for whoever would
like to use RTL or RTAI without using Linux at all. In that case, one could
strip the kernel options to a bare minimum and use it only as a host for the
RT parasite ... Hmm...

Best regards

Karim

Troy Davis wrote:
> 
> Hello-
>         I have recently started trying to run rtlinux on its own.  What I've done
> is created /dev/hdb1 on a new hard drive.  Then I copy the rtlinux gzipped
> file over to hdb1 (by mounting it under /newdrive) and unzip it.  Then I do
> the same with lilo.  I compile the rtlinux kernel, and lilo.  I then modify
> lilo.conf so that it will treat hdb1 as though it was hda1 and run lilo.  I
> boot the kernel.  It seems to boot but then gives Kernel Panic:   Unable to
> find init.  What is init?  Do I need another package installed in addition
> to the rtlinux kernel and lilo?  Any clues to this would be very helpful!
> 
> Troy Davis
> Engineer
> Airborne Data Systems, Inc.
> 
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> ---
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/

-- 
===================================================
                 Karim Yaghmour
               [EMAIL PROTECTED]
          Operating System Consultant
 (Linux kernel, real-time and distributed systems)
===================================================
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to