Subject: Re: [bug#71940] [PATCH] system: images: Add comment how to enlarge visionfive2 root partition.

From: Zheng Junjie <[email-masked]>
Date: Thu, 04 Jul 2024 23:43:26 +0800

Florian Pelz <[email-masked]> writes:

> fdisk as documented upstream does *not* work and breaks boot on 4 microSD
> cards that I tried.
>
> * gnu/system/images/visionfive2.scm: Add comment.
> [visionfive2-barebones-os]<packages>: Add `parted'.
> Remove not generally useful `cloud-utils', 'neofetch' packages.
>
> Change-Id: Ibcb6fd70e3ecc194187c4e882e983740349960cc
> ---
>  gnu/system/images/visionfive2.scm | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/gnu/system/images/visionfive2.scm b/gnu/system/images/visionfive2.scm
> index 26f70afbc1..731fd8fa47 100644
> --- a/gnu/system/images/visionfive2.scm
> +++ b/gnu/system/images/visionfive2.scm
> @@ -1,5 +1,6 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2024 Zheng Junjie <[email-masked]>
> +;;; Copyright © 2024 Florian Pelz <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -19,19 +20,13 @@
>  (define-module (gnu system images visionfive2)
>    #:use-module (gnu bootloader)
>    #:use-module (gnu bootloader u-boot)
> -  #:use-module (gnu services dbus)
> -  #:use-module (gnu services dns)
> -  #:use-module (gnu services avahi)
> -  #:use-module (gnu services shepherd)
>    #:use-module (gnu services ssh)
>    #:use-module (gnu services networking)
>    #:use-module (gnu image)
> -  #:use-module (gnu packages linux)
>    #:use-module (guix packages)
>  
> +  #:use-module (gnu packages disk)
>    #:use-module (gnu packages ssh)
> -  #:use-module (gnu packages guile-xyz)
> -  #:use-module (gnu packages admin)
>    #:use-module (gnu services)
>    #:use-module (gnu services base)
>    #:use-module (gnu services networking)
> @@ -54,6 +49,10 @@ (define-module (gnu system images visionfive2)
>  ;;; uboot> setenv fdtfile starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
>  ;;; uboot> saveenv
>  ;;;
> +;;; Use parted and resize2fs to enlarge the root partition.  While StarFive
> +;;; recommends using fdisk and not parted in their Quick Start Guide, for
> +;;; this Guix System image, this would give us an unbootable state.
> +;;;
>  ;;; Code:
>  
>  (define visionfive2-barebones-os
> @@ -71,7 +70,7 @@ (define visionfive2-barebones-os
>                          %base-file-systems))
>      (kernel-arguments (list "earlycon" "clk_ignore_unused"))
>      (firmware '())
> -    (packages (append (list cloud-utils neofetch) %base-packages))
> +    (packages (append (list parted) %base-packages))

i think cloud-utils's "growpart" command is more safe tool.
just use `growpart /dev/mmcblk0 3` and `resize2fs /dev/mmcblk0p3`

see https://manpages.ubuntu.com/manpages/xenial/en/man1/growpart.1.html

>      (services
>       (append (list (service openssh-service-type
>                              (openssh-configuration
>
> base-commit: 3979812d4923e980f0069ad99332e2df7c033769