From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id mIUMMPGkv1+oLQAA0tVLHw (envelope-from ) for ; Thu, 26 Nov 2020 12:52:01 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id eG/xK/Gkv1+5OQAAB5/wlQ (envelope-from ) for ; Thu, 26 Nov 2020 12:52:01 +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 CCD759404C6 for ; Thu, 26 Nov 2020 12:52:00 +0000 (UTC) Received: from localhost ([::1]:42126 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kiGkh-0001S8-Nc for larch@yhetil.org; Thu, 26 Nov 2020 07:51:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34252) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kiGkR-0001PA-EC for guix-devel@gnu.org; Thu, 26 Nov 2020 07:51:43 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40757) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kiGkQ-0007s5-KB; Thu, 26 Nov 2020 07:51:42 -0500 Received: from [2001:980:1b4f:1:42d2:832d:bb59:862] (port=34198 helo=dundal.janneke.lilypond.org) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kiGkQ-00062n-7r; Thu, 26 Nov 2020 07:51:42 -0500 From: Jan Nieuwenhuizen To: Danny Milosavljevic Subject: Re: Xen hypervisor Organization: AvatarAcademy.nl References: <20201126123312.4f12b8e1@scratchpost.org> X-Url: http://AvatarAcademy.nl Date: Thu, 26 Nov 2020 13:51:40 +0100 In-Reply-To: <20201126123312.4f12b8e1@scratchpost.org> (Danny Milosavljevic's message of "Thu, 26 Nov 2020 12:33:12 +0100") Message-ID: <87d000cmcj.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: inc X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; 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-Spam-Score: -0.01 X-TUID: s1tgBMMbGaVn Danny Milosavljevic writes: > Hi Janneke, > > with our (gnu bootloader grub) already supporting multiboot, it would be = easy > for us to add official support for the Xen hypervisor & Linux. > > I've already packaged xen and it's ready to be used. > > In order to boot Xen, the grub config should read something like this: Nice; this could help a lot with hurd work, notably 64bit/x86_64 and SMP work, IIUC. > Note especially that "multiboot" is "/xen-4.1-amd64.gz", and that "module" > statements are used for the linux kernel and for the initrd. OK. > The work you have been doing for the Hurd already fetches both the "multi= boot" > and the "module" parameters from the boot-parameters via > boot-parameters->menu-entry. > > But I can't find how I can set the multiboot-modules in my operating-syst= em > definition. Yes,..currently, you only can if you're "hurd": gnu/system.scm has: --8<---------------cut here---------------start------------->8--- (define (boot-parameters->menu-entry conf) (let* ((kernel (boot-parameters-kernel conf)) (multiboot-modules (boot-parameters-multiboot-modules conf)) (multiboot? (pair? multiboot-modules))) --8<---------------cut here---------------end--------------->8--- and --8<---------------cut here---------------start------------->8--- (define (operating-system-multiboot-modules os) (if (operating-system-hurd os) (hurd-multiboot-modules os) '())) --8<---------------cut here---------------end--------------->8--- > Like, > > (operating-system > (kernel (file-append xen "/boot/xen.gz")) > (multiboot-modules (list linux-libre initrd))) Yes, we need some an indirection. There already is --8<---------------cut here---------------start------------->8--- (define (hurd-multiboot-modules os) (let* ((hurd (operating-system-hurd os)) (root-file-system-command (list (file-append hurd "/hurd/ext2fs.static") "ext2fs" "--multiboot-command-line=3D'${kernel-command-line}'" "--host-priv-port=3D'${host-port}'" "--device-master-port=3D'${device-port}'" "--exec-server-task=3D'${exec-task}'" "--store-type=3Dtyped" "--x-xattr-translator-records" "'${root}'" "'$(task-create)'" "'$(task-resume)'")) ... --8<---------------cut here---------------end--------------->8--- > Also, how do I get guix's usual initrd into that multiboot-modules list ? Yes, that's another thing that would need to change, if you look at gnu/bootloader/grub.scm has: --8<---------------cut here---------------start------------->8--- (define* (grub-configuration-file config entries ... (if linux (let ((arguments (menu-entry-linux-arguments entry)) ... (let ((kernel (menu-entry-multiboot-kernel entry)) ... --8<---------------cut here---------------end--------------->8--- we don't do multiboot when we're doing linux. > Do you think it would make sense to adapt boot-parameters->menu-entry > slightly so one could specify both a multiboot kernel and a linux kernel > at the same time? Or would that be too magical? Hmm, I'd have to see the patch ;-) We need a parameterisation, not sure if splitting case LINUX in two is preferrable over a third flavor. HTH! Greetings, Janneke --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com