9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Richard Miller <9fans@hamnavoe.com>
To: 9fans@9fans.net
Subject: Re: [9fans] Problems installing 9legacy on bare metal (Thinkpad X60)
Date: Sun, 23 Jan 2022 10:43:13 +0000	[thread overview]
Message-ID: <4571c9726fb1df822f366e1f97dccdbe@hamnavoe.com> (raw)
In-Reply-To: <1734A0D3-AA99-46AF-9A8C-5C0F0F642FBD@gmail.com>

> !rc (and the rest of the boot) is one of the first things implemented uniquely by 9front.

I think there's a little bit of confusion about different stages of booting.

The 9boot program loads the kernel. The original Plan 9 9boot is driven
by configuration variables in a plan9.ini file. Cinap's rewritten 9boot
adds the capability of interactively changing configuration variables from
the console before loading the kernel. That's really useful, especially
when experimenting with new kernels or new hardware. But 9boot does not
contain a shell or a built-in file system, so it doesn't allow you to
type !rc and get an interactive shell.

Once the kernel is loaded, the first thing it does is to execute the
command /boot/boot from a small root filesystem which is built into the
kernel. The main job of /boot/boot is to attach to the real root filesystem
(on a local device or from a network server) and execute /$cputype/init to
start the system. Historically the usual case is for /boot/boot to
be a specialised program built from C source in /sys/src/9/boot. But it
has always been possible to configure a kernel with a shell script as
/boot/boot - see for example /sys/lib/sysconfig/ppc/boot for the PowerPC,
or /sys/src/9/bcm/bootwifi.rc for a Raspberry Pi accessing its root file
server via wifi.

So, using a shell script as /boot/boot is not unique to 9front. But
with 9front, it has become the default. This means there's always a
shell inside the kernel, along with a few commands, ready to use
interactively when !rc is invoked - after the kernel is loaded, but
before the final root filesystem is attached.

The kernel on the 9legacy install CD doesn't have a shell script as
/boot/boot with the ability to invoke !rc. Perhaps it should. But that
wouldn't have helped in this case. Yakku was stuck at the 'Boot from'
prompt within /9boot, unable to find a kernel to boot.

9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tb5aaf646618a421a-M3a252d01292986d2f6699d46
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

  reply	other threads:[~2022-01-23 10:43 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-20 15:31 yakkuliste
2022-01-21  5:52 ` Lucio De Re
2022-01-21 10:34 ` Richard Miller
2022-01-21 11:34   ` yakkuliste via 9fans
2022-01-21 13:20     ` Richard Miller
2022-01-21 13:33     ` yakkuliste via 9fans
2022-01-21 14:01       ` Richard Miller
2022-01-21 16:47         ` Richard Miller
2022-01-21 14:01       ` Thaddeus Woskowiak
2022-01-22 15:31         ` yakkuliste via 9fans
2022-01-22 16:07           ` Thaddeus Woskowiak
2022-01-23  2:17             ` Conor Williams
2022-01-23  8:27             ` Iruatã Souza
2022-01-23 10:43               ` Richard Miller [this message]
2022-01-23 14:37                 ` Conor Williams
2022-01-24  3:23                   ` Lucio De Re
2022-01-24  5:46                     ` adr
2022-01-24 10:31                       ` Lucio De Re
2022-01-27 12:47                         ` yakkuliste via 9fans
2022-01-24  0:59                 ` Thaddeus Woskowiak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4571c9726fb1df822f366e1f97dccdbe@hamnavoe.com \
    --to=9fans@hamnavoe.com \
    --cc=9fans@9fans.net \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).