* Single-board-computer approach: don't make an installer, make the install? @ 2021-01-13 14:33 Christopher Lemmer Webber 2021-01-13 14:51 ` Mathieu Othacehe 0 siblings, 1 reply; 16+ messages in thread From: Christopher Lemmer Webber @ 2021-01-13 14:33 UTC (permalink / raw) To: help-guix I looked recently at this tutorial: https://guix.gnu.org/blog/2017/porting-guixsd-to-armv7/ However, it strikes me: maybe there's another nice approach? Would it be nicer to just make an image that the user boots into directly on the beagleboard, if it's going onto a microsd card anyway, rather than building an installer image? I haven't tried it yet but can't think of a good reason it wouldn't work. Has anyone tried that? Side note, a RISC-V Beagleboard SoC is coming. I suspect that might be very good helping us start ramping up getting Guix very usable on RISC-V: https://arstechnica.com/gadgets/2021/01/seeed-and-beagleboard-team-up-to-provide-a-new-risc-v-based-linux-pc/ ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-01-13 14:33 Single-board-computer approach: don't make an installer, make the install? Christopher Lemmer Webber @ 2021-01-13 14:51 ` Mathieu Othacehe 2021-01-13 15:53 ` Christopher Lemmer Webber 2021-01-13 19:55 ` Joshua Branson via 0 siblings, 2 replies; 16+ messages in thread From: Mathieu Othacehe @ 2021-01-13 14:51 UTC (permalink / raw) To: Christopher Lemmer Webber; +Cc: help-guix Hello Christopher, > I haven't tried it yet but can't think of a good reason it wouldn't > work. Has anyone tried that? Sure, I would advise you to read this[1], which is a sort of follow-up of this article. You can also listen that talk[2]. I have been successfully producing ready to use disk-images for Pine64, Danny has done the same for Novena and there are a few people trying to do so for their Pinebook-pro. Thanks, Mathieu [1]: https://othacehe.org/the-guix-system-image-api.html [2]: https://archive.fosdem.org/2020/schedule/event/ggaaattyp/ ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-01-13 14:51 ` Mathieu Othacehe @ 2021-01-13 15:53 ` Christopher Lemmer Webber 2021-01-13 19:55 ` Joshua Branson via 1 sibling, 0 replies; 16+ messages in thread From: Christopher Lemmer Webber @ 2021-01-13 15:53 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: help-guix Mathieu Othacehe writes: > Hello Christopher, > >> I haven't tried it yet but can't think of a good reason it wouldn't >> work. Has anyone tried that? > > Sure, I would advise you to read this[1], which is a sort of follow-up > of this article. You can also listen that talk[2]. O-ho! Very good! Looking forward to watching the talk tonight. :) > I have been successfully producing ready to use disk-images for Pine64, > Danny has done the same for Novena and there are a few people trying to > do so for their Pinebook-pro. Extra, super good! > Thanks, > > Mathieu > > [1]: https://othacehe.org/the-guix-system-image-api.html > [2]: https://archive.fosdem.org/2020/schedule/event/ggaaattyp/ ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-01-13 14:51 ` Mathieu Othacehe 2021-01-13 15:53 ` Christopher Lemmer Webber @ 2021-01-13 19:55 ` Joshua Branson via 2021-01-14 3:42 ` Christopher Lemmer Webber 2021-01-14 8:54 ` Mathieu Othacehe 1 sibling, 2 replies; 16+ messages in thread From: Joshua Branson via @ 2021-01-13 19:55 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: help-guix Mathieu Othacehe <othacehe@gnu.org> writes: > Mathieu > > [1]: https://othacehe.org/the-guix-system-image-api.html This is really well written. May I edit this article and reproduce it for the guix blog and perhaps the guix manual? If ludo's ok with me putting it on the blog, then I intend to end the blog post with "This article first appeared in this personal blog (link here) and is reproduced with permission." > [2]: https://archive.fosdem.org/2020/schedule/event/ggaaattyp/ > -- Joshua Branson Sent from Emacs and Gnus https://gnucode.me https://video.hardlimit.com/accounts/joshua_branson/video-channels https://propernaming.org "You can have whatever you want, as long as you help enough other people get what they want." - Zig Ziglar ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-01-13 19:55 ` Joshua Branson via @ 2021-01-14 3:42 ` Christopher Lemmer Webber 2021-01-14 8:54 ` Mathieu Othacehe 1 sibling, 0 replies; 16+ messages in thread From: Christopher Lemmer Webber @ 2021-01-14 3:42 UTC (permalink / raw) To: Joshua Branson; +Cc: Mathieu Othacehe, help-guix Joshua Branson writes: > Mathieu Othacehe <othacehe@gnu.org> writes: > >> Mathieu >> >> [1]: https://othacehe.org/the-guix-system-image-api.html > > This is really well written. May I edit this article and reproduce it > for the guix blog and perhaps the guix manual? If ludo's ok with me > putting it on the blog, then I intend to end the blog post with "This > article first appeared in this personal blog (link here) and is > reproduced with permission." It is good. Maybe in the cookbook? >> [2]: https://archive.fosdem.org/2020/schedule/event/ggaaattyp/ >> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-01-13 19:55 ` Joshua Branson via 2021-01-14 3:42 ` Christopher Lemmer Webber @ 2021-01-14 8:54 ` Mathieu Othacehe 2021-01-14 18:05 ` Joshua Branson via 2021-01-21 20:39 ` Single-board-computer approach: don't make an installer, make the install? Joshua Branson 1 sibling, 2 replies; 16+ messages in thread From: Mathieu Othacehe @ 2021-01-14 8:54 UTC (permalink / raw) To: jbranso; +Cc: help-guix Hello, > This is really well written. May I edit this article and reproduce it > for the guix blog and perhaps the guix manual? If ludo's ok with me > putting it on the blog, then I intend to end the blog post with "This > article first appeared in this personal blog (link here) and is > reproduced with permission." Thanks! I would happily review it :). There's for sure some work left on that topic. I'd like to: * Rename "disk-image" command to "image". * Add "docker" as a new image type. * Find a better way to enforce system/target constraints, as discussed here[1]. Mathieu [1]: https://issues.guix.gnu.org/45020 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-01-14 8:54 ` Mathieu Othacehe @ 2021-01-14 18:05 ` Joshua Branson via 2021-01-17 13:10 ` [PATCH] * doc/guix-cookbook.texi (Guix System Image API): new section Joshua Branson 2021-01-21 20:39 ` Single-board-computer approach: don't make an installer, make the install? Joshua Branson 1 sibling, 1 reply; 16+ messages in thread From: Joshua Branson via @ 2021-01-14 18:05 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: help-guix Mathieu Othacehe <othacehe@gnu.org> writes: > Hello, > >> This is really well written. May I edit this article and reproduce it >> for the guix blog and perhaps the guix manual? If ludo's ok with me >> putting it on the blog, then I intend to end the blog post with "This >> article first appeared in this personal blog (link here) and is >> reproduced with permission." > > Thanks! I would happily review it :). > > There's for sure some work left on that topic. I'd like to: > > * Rename "disk-image" command to "image". > * Add "docker" as a new image type. > * Find a better way to enforce system/target constraints, as discussed > here[1]. I'll go ahead and try to set up a patch for the cookbook. > > Mathieu > > [1]: https://issues.guix.gnu.org/45020 -- Joshua Branson Sent from Emacs and Gnus https://gnucode.me https://video.hardlimit.com/accounts/joshua_branson/video-channels https://propernaming.org "You can have whatever you want, as long as you help enough other people get what they want." - Zig Ziglar ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH] * doc/guix-cookbook.texi (Guix System Image API): new section 2021-01-14 18:05 ` Joshua Branson via @ 2021-01-17 13:10 ` Joshua Branson 2021-01-18 13:29 ` Mathieu Othacehe 0 siblings, 1 reply; 16+ messages in thread From: Joshua Branson @ 2021-01-17 13:10 UTC (permalink / raw) To: othacehe; +Cc: help-guix, Joshua Branson --- doc/guix-cookbook.texi | 187 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi index 54ab99558e..2bc8fe8a99 100644 --- a/doc/guix-cookbook.texi +++ b/doc/guix-cookbook.texi @@ -1353,6 +1353,7 @@ reference. @menu * Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System. +* Guix System Image API:: Customizing the disk-image to target specific platforms. * Connecting to Wireguard VPN:: Connecting to a Wireguard VPN. * Customizing a Window Manager:: Handle customization of a Window manager on Guix System. * Running Guix on a Linode Server:: Running Guix on a Linode Server @@ -1601,6 +1602,192 @@ likely that you'll need to modify the initrd on a machine using a custom kernel, since certain modules which are expected to be built may not be available for inclusion into the initrd. +@node Guix System Image API +@section Guix System Image API + +Historically, Guix System is centered around an @code{operating-system} +structure. This structure contains various fields ranging from the +bootloader and kernel declaration to the services to install. This is +useful to create an installer image, but the new Guix System image API +makes it possible to create an image that the user boots into directly. +For example, an image that targets the Beagleboard or PinePhone +directly. + +Turning an @code{operating-system} structure into a disk-image requires +additional information such as the image label, size and +partitioning. To this end, we can use the new @code{image} record. + +@lisp +(define-record-type* <image> + image make-image + image? + (name image-name ;symbol + (default #f)) + (format image-format) ;symbol + (target image-target + (default #f)) + (size image-size ;size in bytes as integer + (default 'guess)) + (operating-system image-operating-system ;<operating-system> + (default #f)) + (partitions image-partitions ;list of <partition> + (default '())) + (compression? image-compression? ;boolean + (default #t)) + (volatile-root? image-volatile-root? ;boolean + (default #t)) + (substitutable? image-substitutable? ;boolean + (default #t))) +@end lisp + +This record also contains the operating-system to instantiate. The +@code{format} field defines the image type and can be @code{disk-image}, +@code{compressed-qcow2} or @code{iso9660}. In the future, it could be +extended to @code{docker} or other image types. + +A new directory in the Guix sources is dedicated to images definition. For now +there are two files: + +@itemize @bullet +@item +- @file{gnu/system/images/hurd.scm} + +@item +- @file{gnu/system/images/pine64.scm} + +@end itemize + +Let's have a look to @file{pine64.scm}. It contains the +@code{pine64-barebones-os} variable which is a minimal definition of an +operating-system dedicated to the @b{Pine A64 LTS} board. + +@lisp +(define pine64-barebones-os + (operating-system + (host-name "vignemale") + (timezone "Europe/Paris") + (locale "en_US.utf8") + (bootloader (bootloader-configuration + (bootloader u-boot-pine64-lts-bootloader) + (target "/dev/vda"))) + (initrd-modules '()) + (kernel linux-libre-arm64-generic) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (services (cons (service agetty-service-type + (agetty-configuration + (extra-options '("-L")) ; no carrier detect + (baud-rate "115200") + (term "vt100") + (tty "ttyS0"))) + %base-services)))) +@end lisp + +The @code{kernel} and @code{bootloader} fields are pointing to packages +dedicated to this board. + +Right below, the @code{pine64-image-type} variable is also defined. + +@lisp +(define pine64-image-type + (image-type + (name 'pine64-raw) + (constructor (cut image-with-os arm64-disk-image <>)))) +@end lisp + +It's using a record we haven't talked about yet, the @code{image-type} record, +defined this way: + +@lisp +(define-record-type* <image-type> + image-type make-image-type + image-type? + (name image-type-name) ;symbol + (constructor image-type-constructor)) ;<operating-system> -> <image> +@end lisp + +The main purpose of this record is to associate a name to a procedure +transforming an @code{operating-system} to an image. To understand why +it is necessary, let's have a look to the command producing a disk-image +from an @code{operating-system} configuration file: + +@example +guix system disk-image my-os.scm +@end example + +This command expects an @code{operating-system} configuration but how +should we indicate that we want an image targeting a Pine64 board? We +need to provide an extra information, the @code{image-type}, by passing +the @code{--image-type} or @code{-t} flag, this way: + +@example +guix system disk-image --image-type=pine64-raw my-os.scm +@end example + +This @code{image-type} parameter points to the @code{pine64-image-type} +defined above. Hence, the @code{operating-system} declared in +@code{my-os.scm} will be applied the @code{(cut image-with-os +arm64-disk-image <>)} procedure to turn it into an image. + +The resulting image looks like: + +@lisp +(image + (format 'disk-image) + (target "aarch64-linux-gnu") + (operating-system my-os) + (partitions + (list (partition + (inherit root-partition) + (offset root-offset))))) +@end lisp + +which is the aggregation of the @code{operating-system} defined in + @code{my-os.scm} to the @code{arm64-disk-image} record. + +But enough Scheme madness. What does this image API bring to the Guix user? + +One can run: + +@example +mathieu@@cervin:~$ guix system --list-image-types +The available image types are: + + - pine64-raw + - hurd-raw + - hurd-qcow2 + - iso9660 + - uncompressed-iso9660 + - raw + - qcow2 +@end example + +and by writing an @code{operating-system} file based on +@code{pine64-barebones-os} or @code{hurd-barebones-os} run: + +@example +guix system --image-type=pine64-raw my-pine-os.scm +@end example + +or, + +@example +guix system --image-type=hurd-raw my-hurd-os.scm +@end example + +to get a disk-image that can directly be written to a support and booted from. + +Without changing anything to @code{my-hurd-os.scm}, calling: + +@example +guix system --image-type=hurd-qcow2 my-hurd-os.scm +@end example + +will instead produce a Hurd QEMU image. + @node Connecting to Wireguard VPN @section Connecting to Wireguard VPN -- 2.30.0 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH] * doc/guix-cookbook.texi (Guix System Image API): new section 2021-01-17 13:10 ` [PATCH] * doc/guix-cookbook.texi (Guix System Image API): new section Joshua Branson @ 2021-01-18 13:29 ` Mathieu Othacehe 2021-01-18 16:08 ` Joshua Branson 2021-01-18 16:38 ` jbranso--- via 0 siblings, 2 replies; 16+ messages in thread From: Mathieu Othacehe @ 2021-01-18 13:29 UTC (permalink / raw) To: Joshua Branson; +Cc: help-guix Hello, Thanks for this contribution! You should submit patches to "guix-patches@gnu.org" instead of this mailing list. There's also a small issue with the commit message which is placed as title of this email. > +* Guix System Image API:: Customizing the disk-image to target specific platforms. Customizing disk images to target specific platforms, maybe? > +@itemize @bullet > +@item > +- @file{gnu/system/images/hurd.scm} You can remove the dash here. > +@example > +guix system disk-image my-os.scm > +@end example I have a pending patchset renaming "disk-image" command to "image". We will need to update it accordingly. Otherwise, it looks nice to me, but I may be biased here. It would be nice if someone else could have a look. Thanks, Mathieu ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] * doc/guix-cookbook.texi (Guix System Image API): new section 2021-01-18 13:29 ` Mathieu Othacehe @ 2021-01-18 16:08 ` Joshua Branson 2021-01-18 16:38 ` jbranso--- via 1 sibling, 0 replies; 16+ messages in thread From: Joshua Branson @ 2021-01-18 16:08 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: help-guix Mathieu Othacehe <othacehe@gnu.org> writes: > Hello, > > Thanks for this contribution! You should submit patches to > "guix-patches@gnu.org" instead of this mailing list. I'll send one that way. > > There's also a small issue with the commit message which is placed as > title of this email. > >> +* Guix System Image API:: Customizing the disk-image to target specific platforms. > > Customizing disk images to target specific platforms, maybe? > >> +@itemize @bullet >> +@item >> +- @file{gnu/system/images/hurd.scm} > > You can remove the dash here. > >> +@example >> +guix system disk-image my-os.scm >> +@end example > > I have a pending patchset renaming "disk-image" command to "image". We > will need to update it accordingly. > > Otherwise, it looks nice to me, but I may be biased here. It would be > nice if someone else could have a look. > > Thanks, > > Mathieu I will update accordingly to your edits. -- Joshua Branson (joshuaBPMan in #guix) Sent from Emacs and Gnus https://gnucode.me https://video.hardlimit.com/accounts/joshua_branson/video-channels https://propernaming.org "You can have whatever you want, as long as you help enough other people get what they want." - Zig Ziglar ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH] * doc/guix-cookbook.texi (Guix System Image API): new section 2021-01-18 13:29 ` Mathieu Othacehe 2021-01-18 16:08 ` Joshua Branson @ 2021-01-18 16:38 ` jbranso--- via 1 sibling, 0 replies; 16+ messages in thread From: jbranso--- via @ 2021-01-18 16:38 UTC (permalink / raw) To: othacehe; +Cc: help-guix, Joshua Branson, guix-patches --- doc/guix-cookbook.texi | 187 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi index 54ab99558e..d9835c43f5 100644 --- a/doc/guix-cookbook.texi +++ b/doc/guix-cookbook.texi @@ -1353,6 +1353,7 @@ reference. @menu * Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System. +* Guix System Image API:: Customizing disk images to target specific platforms. * Connecting to Wireguard VPN:: Connecting to a Wireguard VPN. * Customizing a Window Manager:: Handle customization of a Window manager on Guix System. * Running Guix on a Linode Server:: Running Guix on a Linode Server @@ -1601,6 +1602,192 @@ likely that you'll need to modify the initrd on a machine using a custom kernel, since certain modules which are expected to be built may not be available for inclusion into the initrd. +@node Guix System Image API +@section Guix System Image API + +Historically, Guix System is centered around an @code{operating-system} +structure. This structure contains various fields ranging from the +bootloader and kernel declaration to the services to install. This is +useful to create an installer image, but the new Guix System image API +makes it possible to create an image that the user boots into directly. +For example, an image that targets the Beagleboard or PinePhone +directly. + +Turning an @code{operating-system} structure into a disk-image requires +additional information such as the image label, size and +partitioning. To this end, we can use the new @code{image} record. + +@lisp +(define-record-type* <image> + image make-image + image? + (name image-name ;symbol + (default #f)) + (format image-format) ;symbol + (target image-target + (default #f)) + (size image-size ;size in bytes as integer + (default 'guess)) + (operating-system image-operating-system ;<operating-system> + (default #f)) + (partitions image-partitions ;list of <partition> + (default '())) + (compression? image-compression? ;boolean + (default #t)) + (volatile-root? image-volatile-root? ;boolean + (default #t)) + (substitutable? image-substitutable? ;boolean + (default #t))) +@end lisp + +This record also contains the operating-system to instantiate. The +@code{format} field defines the image type and can be @code{disk-image}, +@code{compressed-qcow2} or @code{iso9660}. In the future, it could be +extended to @code{docker} or other image types. + +A new directory in the Guix sources is dedicated to images definition. For now +there are two files: + +@itemize @bullet +@item +@file{gnu/system/images/hurd.scm} + +@item +@file{gnu/system/images/pine64.scm} + +@end itemize + +Let's have a look to @file{pine64.scm}. It contains the +@code{pine64-barebones-os} variable which is a minimal definition of an +operating-system dedicated to the @b{Pine A64 LTS} board. + +@lisp +(define pine64-barebones-os + (operating-system + (host-name "vignemale") + (timezone "Europe/Paris") + (locale "en_US.utf8") + (bootloader (bootloader-configuration + (bootloader u-boot-pine64-lts-bootloader) + (target "/dev/vda"))) + (initrd-modules '()) + (kernel linux-libre-arm64-generic) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (services (cons (service agetty-service-type + (agetty-configuration + (extra-options '("-L")) ; no carrier detect + (baud-rate "115200") + (term "vt100") + (tty "ttyS0"))) + %base-services)))) +@end lisp + +The @code{kernel} and @code{bootloader} fields are pointing to packages +dedicated to this board. + +Right below, the @code{pine64-image-type} variable is also defined. + +@lisp +(define pine64-image-type + (image-type + (name 'pine64-raw) + (constructor (cut image-with-os arm64-disk-image <>)))) +@end lisp + +It's using a record we haven't talked about yet, the @code{image-type} record, +defined this way: + +@lisp +(define-record-type* <image-type> + image-type make-image-type + image-type? + (name image-type-name) ;symbol + (constructor image-type-constructor)) ;<operating-system> -> <image> +@end lisp + +The main purpose of this record is to associate a name to a procedure +transforming an @code{operating-system} to an image. To understand why +it is necessary, let's have a look to the command producing a disk-image +from an @code{operating-system} configuration file: + +@example +guix system disk-image my-os.scm +@end example + +This command expects an @code{operating-system} configuration but how +should we indicate that we want an image targeting a Pine64 board? We +need to provide an extra information, the @code{image-type}, by passing +the @code{--image-type} or @code{-t} flag, this way: + +@example +guix system disk-image --image-type=pine64-raw my-os.scm +@end example + +This @code{image-type} parameter points to the @code{pine64-image-type} +defined above. Hence, the @code{operating-system} declared in +@code{my-os.scm} will be applied the @code{(cut image-with-os +arm64-disk-image <>)} procedure to turn it into an image. + +The resulting image looks like: + +@lisp +(image + (format 'disk-image) + (target "aarch64-linux-gnu") + (operating-system my-os) + (partitions + (list (partition + (inherit root-partition) + (offset root-offset))))) +@end lisp + +which is the aggregation of the @code{operating-system} defined in + @code{my-os.scm} to the @code{arm64-disk-image} record. + +But enough Scheme madness. What does this image API bring to the Guix user? + +One can run: + +@example +mathieu@@cervin:~$ guix system --list-image-types +The available image types are: + + - pine64-raw + - hurd-raw + - hurd-qcow2 + - iso9660 + - uncompressed-iso9660 + - raw + - qcow2 +@end example + +and by writing an @code{operating-system} file based on +@code{pine64-barebones-os} or @code{hurd-barebones-os} run: + +@example +guix system --image-type=pine64-raw my-pine-os.scm +@end example + +or, + +@example +guix system --image-type=hurd-raw my-hurd-os.scm +@end example + +to get a disk-image that can directly be written to a support and booted from. + +Without changing anything to @code{my-hurd-os.scm}, calling: + +@example +guix system --image-type=hurd-qcow2 my-hurd-os.scm +@end example + +will instead produce a Hurd QEMU image. + @node Connecting to Wireguard VPN @section Connecting to Wireguard VPN -- 2.30.0 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-01-14 8:54 ` Mathieu Othacehe 2021-01-14 18:05 ` Joshua Branson via @ 2021-01-21 20:39 ` Joshua Branson 2021-01-22 13:32 ` Mathieu Othacehe 1 sibling, 1 reply; 16+ messages in thread From: Joshua Branson @ 2021-01-21 20:39 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: help-guix Mathieu Othacehe <othacehe@gnu.org> writes: > Hello, > >> This is really well written. May I edit this article and reproduce it >> for the guix blog and perhaps the guix manual? If ludo's ok with me >> putting it on the blog, then I intend to end the blog post with "This >> article first appeared in this personal blog (link here) and is >> reproduced with permission." > > Thanks! I would happily review it :). > > There's for sure some work left on that topic. I'd like to: > Now that we've got this bit included in the cookbook, would you be in favor of also turning it into a guix blog post? I'd be happy to submit a patch. > > Mathieu > > [1]: https://issues.guix.gnu.org/45020 > -- Joshua Branson (joshuaBPMan in #guix) Sent from Emacs and Gnus https://gnucode.me https://video.hardlimit.com/accounts/joshua_branson/video-channels https://propernaming.org "You can have whatever you want, as long as you help enough other people get what they want." - Zig Ziglar ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-01-21 20:39 ` Single-board-computer approach: don't make an installer, make the install? Joshua Branson @ 2021-01-22 13:32 ` Mathieu Othacehe 2021-03-21 13:51 ` Joshua Branson 0 siblings, 1 reply; 16+ messages in thread From: Mathieu Othacehe @ 2021-01-22 13:32 UTC (permalink / raw) To: help-guix Hello, > Now that we've got this bit included in the cookbook, would you be in > favor of also turning it into a guix blog post? I'd be happy to submit > a patch. I think that the cookbook is a nice achievement for now. Maybe we could postpone the guix blog article until the pending image command line patches are pushed[1] and the relevant Guix documentation is written? Thanks, Mathieu [1]: https://issues.guix.gnu.org/45986 https://issues.guix.gnu.org/46017 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-01-22 13:32 ` Mathieu Othacehe @ 2021-03-21 13:51 ` Joshua Branson 2021-03-29 7:39 ` Mathieu Othacehe 0 siblings, 1 reply; 16+ messages in thread From: Joshua Branson @ 2021-03-21 13:51 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: help-guix Mathieu Othacehe <othacehe@gnu.org> writes: > I think that the cookbook is a nice achievement for now. Maybe we could > postpone the guix blog article until the pending image command line > patches are pushed[1] and the relevant Guix documentation is written? > > Thanks, > > Mathieu > > [1]: > https://issues.guix.gnu.org/45986 > https://issues.guix.gnu.org/46017 I believe that these issues have been closed. I suppose we could write a blog post, if you believe that would be worth while. -- Joshua Branson (joshuaBPMan in #guix) Sent from Emacs and Gnus https://gnucode.me https://video.hardlimit.com/accounts/joshua_branson/video-channels https://propernaming.org "You can have whatever you want, as long as you help enough other people get what they want." - Zig Ziglar ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-03-21 13:51 ` Joshua Branson @ 2021-03-29 7:39 ` Mathieu Othacehe 2021-03-31 16:40 ` Joshua Branson 0 siblings, 1 reply; 16+ messages in thread From: Mathieu Othacehe @ 2021-03-29 7:39 UTC (permalink / raw) To: help-guix Hey Joshua, > I believe that these issues have been closed. I suppose we could write > a blog post, if you believe that would be worth while. Yes they were indeed. It would be nice but it's not on my list right now. I you feel like writing it, I would happily review it :). Thanks, Mathieu ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Single-board-computer approach: don't make an installer, make the install? 2021-03-29 7:39 ` Mathieu Othacehe @ 2021-03-31 16:40 ` Joshua Branson 0 siblings, 0 replies; 16+ messages in thread From: Joshua Branson @ 2021-03-31 16:40 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: help-guix Mathieu Othacehe <othacehe@gnu.org> writes: > Hey Joshua, > >> I believe that these issues have been closed. I suppose we could write >> a blog post, if you believe that would be worth while. > > Yes they were indeed. It would be nice but it's not on my list right > now. I you feel like writing it, I would happily review it :). I'll add it to my list of things to do. I still am hoping to get an endlessh service merged too...I'm moving really slowly. :) > > Thanks, > > Mathieu > -- Joshua Branson (joshuaBPMan in #guix) Sent from Emacs and Gnus https://gnucode.me https://video.hardlimit.com/accounts/joshua_branson/video-channels https://propernaming.org "You can have whatever you want, as long as you help enough other people get what they want." - Zig Ziglar ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2021-03-31 16:41 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-01-13 14:33 Single-board-computer approach: don't make an installer, make the install? Christopher Lemmer Webber 2021-01-13 14:51 ` Mathieu Othacehe 2021-01-13 15:53 ` Christopher Lemmer Webber 2021-01-13 19:55 ` Joshua Branson via 2021-01-14 3:42 ` Christopher Lemmer Webber 2021-01-14 8:54 ` Mathieu Othacehe 2021-01-14 18:05 ` Joshua Branson via 2021-01-17 13:10 ` [PATCH] * doc/guix-cookbook.texi (Guix System Image API): new section Joshua Branson 2021-01-18 13:29 ` Mathieu Othacehe 2021-01-18 16:08 ` Joshua Branson 2021-01-18 16:38 ` jbranso--- via 2021-01-21 20:39 ` Single-board-computer approach: don't make an installer, make the install? Joshua Branson 2021-01-22 13:32 ` Mathieu Othacehe 2021-03-21 13:51 ` Joshua Branson 2021-03-29 7:39 ` Mathieu Othacehe 2021-03-31 16:40 ` Joshua Branson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).