From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id b79f3198 for ; Fri, 9 Aug 2019 02:16:11 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id D65AF9BB83; Fri, 9 Aug 2019 12:16:09 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 0F4F99BA8B; Fri, 9 Aug 2019 12:15:51 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=bsdimp-com.20150623.gappssmtp.com header.i=@bsdimp-com.20150623.gappssmtp.com header.b="hK5m1MiE"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 042629BA8B; Fri, 9 Aug 2019 12:15:49 +1000 (AEST) Received: from mail-qk1-f193.google.com (mail-qk1-f193.google.com [209.85.222.193]) by minnie.tuhs.org (Postfix) with ESMTPS id 24CE49BA7E for ; Fri, 9 Aug 2019 12:15:48 +1000 (AEST) Received: by mail-qk1-f193.google.com with SMTP id r21so70616597qke.2 for ; Thu, 08 Aug 2019 19:15:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=qxZfNW04qJPPX87WBewZim03EF8OkESAwFn6Mcb+j0Y=; b=hK5m1MiEud26WBD46fvrO1fNIvsmvJPkz7NA+OI8SylrnFdYDLTtXnV1Awbrk+Ey30 oIJtAxm06XzNDTBhFxmR4EKzqhjTKT/gph0AGDvzdeDuCChootcGX6VQqTDk2INs1Vge MarNpDeFhgg+6Az4SUOHIzCOO9MNj782e0LadcAdyK2vIYvkqnhd7ifdmHhSm1tFlZpj QtICLa6hLsnHPDCN2ciq9o8W/mN4UpQ9725yDx6/KFeqO00WHJcFZo9u7JvQRHRRoFjz aF0QQp1JKamKj/uCYW4XLMucIOAjOSHFOKmwrFYdje7CCLWtkIqj90ijh1BPd0JXyovC bU4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qxZfNW04qJPPX87WBewZim03EF8OkESAwFn6Mcb+j0Y=; b=iApOkam4xBDx9bj1i8jIIOXj6xCzUN/WK8D7C7npYvOpbsY3mRu2fuFj6dOK0Akqjm 4aVlgK0Ujq39ibFRx8E74ddutZYBvFXNxS0Dd1CNQ/60j0e1zMq2IoumcYFGWEn7i6ge Tz5nzpwDTbb+5DLCBZJVZpSR9eWb68UHaYfvHvEvt4SdZzNtSgipb3+1ZYEhXb/xAACq Ix8e4t3cXM2N7j3KsN0cpzqhW/kMEouAm8y+AaZrV2XBd6nnqI07C1KlL2vIQWpu4fwQ i6C54hkNBstKqG8YHg9cRcu84iVRUG7tj2YnkVRBkhCuX2DwNcavmeQjyQLVlCwXkFiO cxbg== X-Gm-Message-State: APjAAAV1zmDWIg9psgfUDxpmNMMB7OdbRb8k01EP4a3qFreNZiCdOklT jWo3M0yFLuPmHRF63KVVblW1m1oOGxmyboCVrbZcrVX/Vs0= X-Google-Smtp-Source: APXvYqzTuAc25Z/xnp1NPPAh6wVlv9SMP1jEztflqOz6x2MgasdNcciKo5HPEFuI4zO0u9HyUzfuIQCGflWLzP8JOrw= X-Received: by 2002:a37:83c4:: with SMTP id f187mr15914813qkd.380.1565316947024; Thu, 08 Aug 2019 19:15:47 -0700 (PDT) MIME-Version: 1.0 References: <7236c9d4-40af-bc49-8aee-5c32d869d2eb@spamtrap.tnetconsulting.net> <94138535-c502-109d-752d-5ef7a6d53b23@spamtrap.tnetconsulting.net> In-Reply-To: <94138535-c502-109d-752d-5ef7a6d53b23@spamtrap.tnetconsulting.net> From: Warner Losh Date: Thu, 8 Aug 2019 20:15:34 -0600 Message-ID: To: Grant Taylor Content-Type: multipart/alternative; boundary="00000000000096b1f7058fa5c01f" Subject: Re: [TUHS] Pre-init initialization X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: TUHS main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --00000000000096b1f7058fa5c01f Content-Type: text/plain; charset="UTF-8" On Thu, Aug 8, 2019, 7:47 PM Grant Taylor via TUHS wrote: > On 8/7/19 7:04 AM, Clem Cole wrote: > > FWIW: V7 had /stand which was a funky UNIX-like standalone system that > > some applications could be compiled. > > I've seen /stand on a few systems (I think SCO OpenServer and / or > UnixWare) but never really knew what it was for. I think I had naively > assumed it was associated with the kernel and / or booting. > > Now I'm somewhat more curious what it was. Was it a simplified version > of the OS with minimal utilities with fewer dependencies so that the > system could boot and load more features. > Yes. There was a library that implemented much of the unix API in a simplified way that ran on bare metal. I thought that Linux's initramfs / initrd had the usual suspect files / > utilities copied from /. So the idea that a utility in /stand would be > different from the same utility in / seems strange to me. > They are because there was no kernel for them to run under. They were similar, but if you go look at the sources, they are different. > The problem was that it was a little different so you would end up > > seeing #ifdef STAND in code for things like fsck, fsdb, even cat. > > At Masscomp we ended up with three target environments for a couple of > > the system maintenance utilities: the OS, /stand and the boot ROMS. > > This was expensive/a PITA to maintain and keep straight, and in the > > case of the boot ROM, space was a huge problem. > > Ya. I can see how that would be a PITA to maintain. > FreeBSD, NetBSD and OpenBSD all implement some version of this. FreeBSD has it in src/stand in honor of V7 stand. I did that when I integrate / rewrote the GSoC project to bring Lua scripting to the boot loader. The other BSDs have it split between sys/boot and lib/libs. FreeBSD uses it to implement the rich boot loader which knows how to load off a lot of different file systems and BIOS interfaces. Net/OpenBSD use it more modestly in their boot loaders, but have a few standalone programs for things like bootstrapping VAXen. Warner > The RAMFS idea was created to get rid of at least /stand and IIRC we > > were able to drop a number of utilities out of the boot ROM. I'm not > > sure how far they took it. I left for Stellar and it was always the > > way Stellix booted. > > ACK > > > > -- > Grant. . . . > unix || die > > --00000000000096b1f7058fa5c01f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, Aug 8, 2019, 7:47 PM Grant Taylor via TUHS <= ;tuhs@minnie.tuhs.org> wrote= :
On 8/7/19 7:04 AM, Clem Cole wrot= e:
> FWIW: V7 had /stand which was a funky UNIX-like standalone system that=
> some applications could be compiled.

I've seen /stand on a few systems (I think SCO OpenServer and / or
UnixWare) but never really knew what it was for.=C2=A0 I think I had naivel= y
assumed it was associated with the kernel and / or booting.

Now I'm somewhat more curious what it was.=C2=A0 Was it a simplified ve= rsion
of the OS with minimal utilities with fewer dependencies so that the
system could boot and load more features.

Yes. There was a library that impl= emented much of the unix API in a simplified way that ran on bare metal.

I thought that Linux's initramfs / initrd had the usual suspect files /=
utilities copied from /.=C2=A0 So the idea that a utility in /stand would b= e
different from the same utility in / seems strange to me.
<= /div>

They are because t= here was no kernel for them to run under. They were similar, but if you go = look at the sources, they are different.=C2=A0

<= /div>
> The problem was that it was a little different so you would end up > seeing #ifdef STAND in code for things like fsck, fsdb, even cat.
> At Masscomp we ended up with three target environments for a couple of=
> the system maintenance utilities: the OS, /stand and the boot ROMS. > This was expensive/a PITA to maintain and keep straight, and in the > case of the boot ROM, space was a huge problem.

Ya.=C2=A0 I can see how that would be a PITA to maintain.
<= /div>

FreeBSD, NetBSD an= d OpenBSD all implement some version of this. FreeBSD has it in src/stand i= n honor of V7 stand. I did that when I integrate / rewrote the GSoC project= to bring Lua scripting to the boot loader. The other BSDs have it split be= tween sys/boot and lib/libs. FreeBSD uses it to implement the rich boot loa= der which knows how to load off a lot of different file systems and BIOS in= terfaces. Net/OpenBSD use it more modestly in their boot loaders, but have = a few standalone programs for things like bootstrapping VAXen.

Warner

> The RAMFS idea was created to get rid of at least /stand and IIRC we <= br> > were able to drop a number of utilities out of the boot ROM.=C2=A0 I&#= 39;m not
> sure how far they took it. =C2=A0 I left for Stellar and it was always= the
> way Stellix booted.

ACK



--
Grant. . . .
unix || die

--00000000000096b1f7058fa5c01f--