From nobody Wed Jul 10 09:18:58 2024 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WJsk81GYbz5QYH0 for ; Wed, 10 Jul 2024 09:19:12 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from www121.sakura.ne.jp (www121.sakura.ne.jp [153.125.133.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4WJsk50fNGz4v8v for ; Wed, 10 Jul 2024 09:19:08 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=dec.sakura.ne.jp header.s=s2405 header.b=dpw254f4; dmarc=pass (policy=none) header.from=dec.sakura.ne.jp; spf=pass (mx1.freebsd.org: domain of junchoon@dec.sakura.ne.jp designates 153.125.133.21 as permitted sender) smtp.mailfrom=junchoon@dec.sakura.ne.jp Received: from kalamity.joker.local (123-1-21-232.area1b.commufa.jp [123.1.21.232]) (authenticated bits=0) by www121.sakura.ne.jp (8.17.1/8.17.1/[SAKURA-WEB]/20201212) with ESMTPA id 46A9IxXP057781 for ; Wed, 10 Jul 2024 18:18:59 +0900 (JST) (envelope-from junchoon@dec.sakura.ne.jp) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dec.sakura.ne.jp; s=s2405; t=1720603139; bh=aE66C8/ih9CEC6CHzyWV+HReSeAQlXW7hnVbh6HT4QI=; h=Date:From:To:Subject:In-Reply-To:References; b=dpw254f48bnK182n5LE6mwJeqGs1tHhEu3RMRAzAPWyGYl8P8HLAq8cdUFEgG+lqf 1Sa693URkDZaTi8YVbUAYj/3By/Mn5FAixQzzaZOC10clIw6M9gnIipZwtletGOuyL THbD7kq5uNMIUZdwAT91eF7ntouHcjhiNb4vc5dk= Date: Wed, 10 Jul 2024 18:18:58 +0900 From: Tomoaki AOKI To: freebsd-hackers@freebsd.org Subject: Re: Personal Installer Message-Id: <20240710181858.4c4771ba89081d77f19d1dbd@dec.sakura.ne.jp> In-Reply-To: References: Organization: Junchoon corps X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; amd64-portbld-freebsd14.1) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.40 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[dec.sakura.ne.jp,none]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[dec.sakura.ne.jp:s=s2405]; R_SPF_ALLOW(-0.20)[+ip4:153.125.133.16/28]; MIME_GOOD(-0.10)[text/plain]; ONCE_RECEIVED(0.10)[]; DKIM_TRACE(0.00)[dec.sakura.ne.jp:+]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; TO_MATCH_ENVRCPT_ALL(0.00)[]; HAS_ORG_HEADER(0.00)[]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:7684, ipnet:153.125.128.0/18, country:JP]; RCVD_COUNT_ONE(0.00)[1]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_DN_NONE(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RSPAMD_EMAILBL_FAIL(0.00)[junchoon.dec.sakura.ne.jp:server fail,alfix86.gmail.com:server fail]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[] X-Rspamd-Queue-Id: 4WJsk50fNGz4v8v On Tue, 9 Jul 2024 16:51:31 +0200 Alfonso Sabato Siciliano wrote: > Hello, > > I am going to write an installer *for me*. Of course it will be open source. > Perhaps it can be useful for others: tips, new ideas, and collaborations are > welcome. I know others have something in progress, if we match some > requirements > we can share some components/code. > > Some project choices and requirements: > > * Guidelines: simple, modularized and extendable. > > * Server (backend) side written in lua, modularized in scripts. Independent > of > any frontend. > > * A configuration file with variables, hooks, comments and examples. > > * Multi-mode installation: Automatic, Simple, and Expert. > > * Client (Graphic) side responsible only for drawing dialogs/windows. > > * Multi-frontend. Implementation priority: > - TUI. Similar to bsdinstall with new features. > - File. Settings are read from file(s). > - CLI. Suitable for a screen reader for vision-impairments users. This is a > feature request. > - GUI. > - WEB. TBD (I am not a web-expert, lua seems to provide some option for > web programming). > > * A menu to select: frontend, mode, and other options, at start-up. > > * Frontends have to be totally separated from the server, eventually to be > easily added/deleted/changed/improved in the future. They could be > designed > and developed mainly for the installer, neither to be compatible with > other > tools nor to be general purpose. > > * UI new features (something is related to server side): > - Navigation. New buttons: [Restart], [Prev], and [Next]. > - Multi language. > - Dialogs for help, at start-up and during installation (F1 or [Help] > button). > - Options for color blind and low vision users. This is a feature request. > - Final step to install a desktop environment. > - Final step to install pkgs for accessibility. This is a feature request. > > * Multi installation process: > - Synchronous. The server waits the user input from the dialog, then it > performs the "command". > - 2-steps. Frontend writes the user input to files. When the frontend > finishes > (showing all the dialogs) the server performs the actual installation by > reading files. > - Noninteractive. No user actions, server reads previously written files. > - TBD a mix of the above. > > * Server <-> client communication: lua layer, files, and TBD server web. > > * Logging and debug features similar to bsdinstall with extensions. > > * Provide bsdinstall variables and configuration files. Ideally these > features > will be placed in the "centralized" configuration file above. > - All/most bsdinstall variables with extensions. > - All/most bsdinstall configuration files (or compliant solutions). > > * A menu to select bsdinstall or this installer at start-up. > > * Extras & TBD. sade extensions (feature request), pkgbase, and so on. > > > (I'll create a git repository and a wiki page with the Roadmap. The plan is > detaching bsdinstall from bsdconfig, then rewriting the scripts in lua.) > > Again, to avoid any misunderstanding: this is a personal project, bsdinstall > will not be touched. I plan to end by 6-8 months providing a port with the > installer and a script to create the iso. > > > Thanks in advance for any reply. > > Best regards, > Alfonso Hi. Maybe you'd better starting from porting existing bsdinstall. It would already have some parts of your requirement, and others wouldn't fit. For anything fit your requirement, the logic behind would be usable. Because resulting (installed) configurations should almost 100% match, unless you are planning to introduce new mechanism. Note that my only use-cases of bsdinstall is just to kick live installation to fix broken installation, not using for actual installations. (Last time I've used base installer for actual installation was pre-bsdinstall era, sysinstall.) -- Tomoaki AOKI