From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id /P4lO69tIWFYOQAAgWs5BA (envelope-from ) for ; Sat, 21 Aug 2021 23:18:39 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id EA5MNq9tIWEHPAAA1q6Kng (envelope-from ) for ; Sat, 21 Aug 2021 21:18:39 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6259D8C58 for ; Sat, 21 Aug 2021 23:18:39 +0200 (CEST) Received: from localhost ([::1]:41256 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mHYNy-0001EL-Ff for larch@yhetil.org; Sat, 21 Aug 2021 17:18:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58176) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mHYNi-0001Dv-O4 for guix-devel@gnu.org; Sat, 21 Aug 2021 17:18:22 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:40275) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mHYNg-0006bI-RX for guix-devel@gnu.org; Sat, 21 Aug 2021 17:18:22 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id B06C832008FC; Sat, 21 Aug 2021 17:18:18 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Sat, 21 Aug 2021 17:18:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-transfer-encoding:in-reply-to; s=mesmtp; bh=mE8CQNMXdljYrjLCburpDntzozmDZ9sHxlgZq5/bjvs=; b=rBGrV0wfRj/O NbVeGTqDCQ8jtZaO+eE5zB614NUfLVyB636Scbwa2t34SGnfXPOF0X84ug1wULFU 4/WGZ4HjXy6DsjJJXUsDfRglgrV8AaIBnX3qqBHMC56mEOHUYJzjnobdHGZKM0NM AeNa4RmFHf/lkXmt+rZL8+DZfoU0NeM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=mE8CQNMXdljYrjLCburpDntzozmDZ9sHxlgZq5/bj vs=; b=Q1nl1+YHHyNNpfUyZVtu7bVNF4JM0Ss1xIOVCRwO76lf8k4ibDvRmSvBd rpxz0du0unc+vPdiJEQk2lvlk1mDpqIEwB20dSAiou27inBnSlEH8VTG0cY48dsQ Ekm6A+MnYbWTRW0KJShs8eBj13B2gHZJ1xF5Rk6ofkQAo6f7ApN3SQgeQjMvB9e2 JzXwIc5bPZX4efIl8DfGHQACMUU7w4t4jy57u06gj8OpUWjZSwgUbfoD1UkY7bAl /1/eFPXDRlEi0vHGUU8WQ5ZGdOAtaS/LeXN9cMT7O7ltcm7qJ4F7KMLqGpF/fc4H 1yvNvwcWkEvmBoIT8gmqCzI+X7drA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddtuddgudehkecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpeffhffvuffkfhggtggugfgjsehtkeertddttddunecuhfhrohhmpefnvgho ucfhrghmuhhlrghrihcuoehlvghosehfrghmuhhlrghrihdrnhgrmhgvqeenucggtffrrg htthgvrhhnpeekvdduhedtvefhtdegkedvjeeggffgjeeuvddttdegieegveefheffveel hedvkeenucffohhmrghinhepghhnuhdrohhrghdpsghoohhtshhtrhgrphhprggslhgvrd horhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep lhgvohesfhgrmhhulhgrrhhirdhnrghmvg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 21 Aug 2021 17:18:17 -0400 (EDT) Date: Sat, 21 Aug 2021 17:18:15 -0400 From: Leo Famulari To: Sage Gerard Subject: Re: How did you handle making a GNU/Linux distribution? Message-ID: References: <73f02b09-6983-7535-b71d-69ff0b0124f4@sagegerard.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <73f02b09-6983-7535-b71d-69ff0b0124f4@sagegerard.com> Received-SPF: pass client-ip=64.147.123.19; envelope-from=leo@famulari.name; helo=wout3-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1629580719; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=mE8CQNMXdljYrjLCburpDntzozmDZ9sHxlgZq5/bjvs=; b=BaOTFpWdIAutDY0f4L5mSgwCRU5Z0Zw7kHcSReHrnWLFXgXbfgat2LxWJWtV5xjG3B/Ugw xPRZHJEqLXgR3HUv8n3YOYWvKeIsLKUlgpWoDy/U26I7Q60CIk2WhTfzDBK3IjqlOb7ZvF Z9yUN5GKFgSyhV2gxTg1FmPaj7U6yMugxmSLMLzNS1XkZ1gHmx9XNq9dMajAHALXCNzjSq C/iZYP6e1LbMM73xu2uUSHawoGfl5P3foDRgXVFGGqjSkIhQdPWaBiLcUeF0/KfQm/38Jk H5dl40XFkzHQouW+TY12wP9bzCPteZ2nuA239dU12OBhwiEXA9fQ53h/nyQkAQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1629580719; a=rsa-sha256; cv=none; b=Fq3FWOY61Pj73mhOiK4fOtGxpf4yoy02ERM2f0ad5DrunTcXALm4Lla+8htvCnzif/0yGz 4EwBfO0H93riVmyYgNG/ZYTE3yZG79UiQ3bIYqsM0UUJRkK/vfrsTZE+Ir6pW9hor3ukOr eMm8gRSq4zWXMiHuV/u7Nf9euQI9R6o63ALelK1g+7zvIA7dzXGhStRFbfuJHvF/YP7p/I GzJwodtEl/GnChqsExqa7XwGj9zZV8F16cVlheesRzxNl3BNLv3gn38no2JSFFyfI1NaIL zV/iCrypXGiYkBArnfCuGO0wOnkvezAo4ajRuggG3so8MJFCc4FMmB5wlrbRMQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=famulari.name header.s=mesmtp header.b=rBGrV0wf; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=Q1nl1+YH; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: 0.38 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=famulari.name header.s=mesmtp header.b=rBGrV0wf; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=Q1nl1+YH; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 6259D8C58 X-Spam-Score: 0.38 X-Migadu-Scanner: scn0.migadu.com X-TUID: wEkz+30iOwfD On Sat, Aug 21, 2021 at 04:43:34PM +0000, Sage Gerard wrote: > My name is Sage. I wrote a cross-platform Guix-like package manager > called Xiden. It applies functional package management to the Racket > ecosystem. It is also free software under the GPLv3. The source is > available at zyrolasting/xiden on Github, pending migration to a new host. Hi! Cool! > I'm at the point where users are requesting a GNU/Linux distribution for > Xiden, such that Racket is the primary language for day-to-day > operation. I'm ignorant of the scope of work, and am unsure if I can do > it alone.  My understanding is that you had to bootstrap your entire > toolchain and address Ken Thompson's compiler hack from a different > angle. Is that right? At the time that Guix was founded, it was not considered possible to bootstrap a GNU/Linux system from source; on which OS would you perform the first compilation? How would you bootstrap that OS? Ad infinitum. Stage0 and mes and friends are fixing that now. [0] So, some binary "seeds" were created, which are compiled binaries of core tools such as GCC and binutils, and the system was based on those seeds. And we gave instructions for reproducing these seeds; you could use any commonly available distro as a host. Maybe that sounds icky in 2021, since the situation has improved radically, but it's how every OS was created since decades ago [1], except that most operating systems (and even language ecosystems) did not keep track of their seeds or give instructions for reproducing them. So Guix was better than all the rest from its beginning :) https://guix.gnu.org/manual/en/html_node/Bootstrapping.html I was not involved at that stage of Guix. I'm sure others can give more detailed answers. > I'd greatly appreciate learning how you all built Guix's GNU/Linux > distribution so that I can prepare a realistic roadmap and recruit help > where necessary. I'm bad at both of those things, but if there is any > opportunity to collaborate on implementation details based on Xiden's > progress, I am happy to give back. [0] https://bootstrappable.org/ https://bootstrappable.org/projects/mes.html https://www.gnu.org/software/mes/ Also visit the #bootstrappable channel on Libera.chat [1] It would be interesting to know the last truly bootstrapped OS