From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 17621 invoked from network); 21 Feb 2021 11:08:52 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 21 Feb 2021 11:08:52 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id D49FA93D7C; Sun, 21 Feb 2021 21:08:50 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 6C46093D1B; Sun, 21 Feb 2021 21:08:34 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=cfcl.com header.i=@cfcl.com header.b="ei8Z0uGy"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id EA71193D1B; Sun, 21 Feb 2021 21:08:32 +1000 (AEST) Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by minnie.tuhs.org (Postfix) with ESMTPS id 05ACE93D06 for ; Sun, 21 Feb 2021 21:08:29 +1000 (AEST) Received: by mail-pg1-f173.google.com with SMTP id t26so8305344pgv.3 for ; Sun, 21 Feb 2021 03:08:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cfcl.com; s=google; h=mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=dl5G5m+RbjLgDdptR42+ECnwvlvyfgq6wHHKlTCFHjA=; b=ei8Z0uGyVdb3IRA7pS9Fb8s9NUd/H3cDtmSRTIkxZwCLOj2rq4pjE5/bVjdWvoYC9o y0GGa4R7Ag24GANIZ/wieMlssVXTU5H+AEzPNyKVkxmj37+UE+p7s+QenklCK44FKZEM STIh+01wd51MjTTvR/x/yZXhvxJY129M7nRhEpbIioRV9s5WWaFqlHOzrKnHJdeOAR7G CriHWjp+XrM8zfDnIyEgJUZDoxJN64fqJAFZ8em2JaiEGiWtmWyZDaxlOeCwuyF+LIbM VJZqd15UZAAj2HRw5NqGnCr5+3JOLXT5NtAE9UBeuJ7QMAIvIjgxXHdjwxZcH32q9BWp 6+Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=dl5G5m+RbjLgDdptR42+ECnwvlvyfgq6wHHKlTCFHjA=; b=ZxaafZwzNTOWlxnr6daoO5S2nYNvVk24H9gyrtJVm5Mrlt/rGjzEPIZ8sAqO3B5VRD XG6IiSrLTvRY+vK/IY8cgG5de85UbVLmWwsXQO3+4ODd5d6tQT1qa9UYVMcyUAL/a6x0 4MoqCfbP9h6JkoWws+LuzYMLPJTn+1S7xGDdHlsFa8nvs1OL32uvcWP5hp/AmGPqcXB+ k+xrI2Xpr2ThQX451p8NtbJyJhgrM6Mi8+VrQLlyjsT884XyHvqPl3J3YkfuvHTlRK85 jbWRwuGXeBOqkeDZOxhqGpHJYFyZmczRb4kNmTyigajr1R4W6UcV/HzlzK0nhVgakBmt 832Q== X-Gm-Message-State: AOAM532KZUV1NyFmLqodXxyEMKvqv11IWgrsbAKbAU+XzLCpeI8I/IEs EVj2VgqZO5cuX72hGFtkRBrZerTQLK+DAw== X-Google-Smtp-Source: ABdhPJxHyzG8LzkwerSTwURCaI2dkI5Qbq1TRq4Ehhc6IzA5Xc1iLfmPrW4FUrTOp+xz17JEbm8mdg== X-Received: by 2002:a05:6a00:148a:b029:1ae:6d20:fbb3 with SMTP id v10-20020a056a00148ab02901ae6d20fbb3mr17048521pfu.55.1613905708268; Sun, 21 Feb 2021 03:08:28 -0800 (PST) Received: from spot.hitronhub.home (24-113-88-45.wavecable.com. [24.113.88.45]) by smtp.gmail.com with ESMTPSA id f13sm20152839pjj.1.2021.02.21.03.08.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 21 Feb 2021 03:08:27 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) From: Rich Morin In-Reply-To: Date: Sun, 21 Feb 2021 03:08:25 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <4375BA78-1F3A-4106-8FAB-1AFC77B8630B@cfcl.com> References: To: TUHS main list X-Mailer: Apple Mail (2.3608.120.23.2.4) Subject: Re: [TUHS] Abstractions 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: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" > On Feb 20, 2021, at 15:09, M Douglas McIlroy = wrote: >=20 >> - separation of code and data using read-only and read/write file = systems >=20 > I'll bite. How do you install code in a read-only file system? Disclaimer: I haven't actually used Nerves myself, just watched some = presentations, read various web pages, etc. So anything I say about it = is quite unreliable. And, although that item was (sort of) true, it was = obviously rather misleading if interpreted too broadly. So, I'll try to = provide some context to explain what I meant by it. As I understand it, Nerves is intended as a build and delivery mechanism = for IoT system software. It's supposed to be possible to upgrade a = deployed device without blowing away its persistent saved state. And, = if the upgrade fails, to back down to the previous version. Also, the = running code on the device should not be able to trash the system = software. To support this, they use multiple file systems, with various updating = attributes. For example, they might have two file systems for the = system software and a third one for the persistent saved state. This = lets a developer upload and boot a new copy of the system software, but = fall back to the old version if something goes wrong. -r