all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ethan Stefan Day <esday@ethan-stefan.net>
To: leo@famulari.name
Cc: guix-devel@gnu.org
Subject: Re: feedback as solicited by Guix manual (Section 7.1.5)
Date: Tue, 31 May 2016 17:13:06 -0400	[thread overview]
Message-ID: <574DFE62.5080509@ethan-stefan.net> (raw)
In-Reply-To: <87mvn6xehy.fsf@mailerver.i-did-not-set--mail-host-address--so-tickle-me>

[-- Attachment #1: Type: text/plain, Size: 4626 bytes --]



On 05/31/2016 02:35 PM, Matthew Jordan wrote:
> 
> I just looked ouver the installation part of the manual.
> 
>> What parts do you think should be added to our manual? A number of these
>> steps are already covered in section 7.1 System Installation.
> 
> That was mostly a copy paste from my notes.  But what I wouldn't mind
> seeing in the manual is as follows;
> 
> 1. Section 7.1.4.2 Networking;
> 
> mentions using ifconfig, correct me if I"m wrong but isn't ifconfig
> considered deprecated?
> 
> In which case iproute2 commands could be used;
> 
> $ ip link show
> $ ip link set ens3 up
> 
> 2. Section 7.1.4.3 Disk Partitioning
> 
> It would be nice to indicate that you may need additional swap space to
> build the various packages that come with the install.  Also sufficient
> space under /tmp is needed. In my case I had to bind mount the my tmp
> partition from the install target, and turn on the swap to achieve a
> successful install. I used these commands to achieve that.
> 
> $ mount --bind /mnt/tmp /tmp
> $ swapon /dev/sda3
> 
>> Personally, I don't like putting instructions on how to use 3rd party
>> software in manuals such as ours (or the Gentoo or Arch manuals) unless
>> the information is very specific to how we use the software.
>>
>> In my opinion, if there is some deficiency with the 3rd party programs'
>> documentation, that documentation should be improved.
>>
>> Otherwise, knowledge is fragmented into a variety of places where it
>> probably won't be updated as the 3rd party software changes. Also, each
>> system's manual or wiki will invariably contain some info that is
>> specific to that system but not declared as such. And the new, external
>> documentation will probably not be reviewed by the upstream maintainers
>> for correctness, spreading bad advice across the internet.  Finally, the
>> upstream manual will *still* not be improved.
>>
>> On the other hand, we should strive to make our system as easy to
>> install as possible. So, specific advice is most welcome! :)
> 
> While these are valid points, and I have to say I agree with them. Even
> Gentoo and Arch (which are among some of the more challenging distros),
> do provide some example/recipe to assist with partitioning.  I'm not
> saying we quote someone's manual, but someone might find it useful.
> 
> We could always indicate that one should refer to upstream manual for
> the latest info, and still provide some steps based on a partitioning
> plan. I think this would be very helpful to those who may not be fully
> verse in partitioning.  My first time using Gentoo was pretty decent
> because of the documentation provided. Here is the appropriate snippet
> from my notes;
> 
> Paritioning plan
> Assumming disk is 20GiB
> Bootloader 2MiB
> /boot 300MiB ext2/4
> Swap 1GiB
> / (rest of disk space) ext4
> 
> $ lsblk
> Start parted shell
> $ parted -a optimal /dev/sda
> (parted) unit MiB
> (parted) mklabel gpt
> (parted) mkpart primary 1MiB 3MiB
> (parted) name 1 grub
> (parted) set 1 bios_grub on
> (parted) print
> (parted) mkpart primary 3MiB 303MiB
> (parted) name 2 boot
> (parted) print
> 
> Calculation on host with zsh shell
> $ ((mib = 1 * (1024 ** 1)))
> $ print ${mib}
> 1024
> $ print $((mib + 303))
> 1327
> 
> (parted) mkpart primary 303MiB 1327MiB
> (parted) name 3 swap
> (parted) print
> (parted) mkpart primary 1327MiB -1
> (parted) name 4 root
> (parted) set 2 boot on
> (parted) print
> (parted) quit

From what I've gathered, it seems you should not need to both make a
bios_grub partition and toggle the boot flag on another.

> Of course feel free free to accept/reject these ideas, as they are just
> suggestions based on my state understanding when I first discovered Guix &
> GuixSD.  I like to think of Guix as the next evolution of Linux from
> Arch Linux or Gentoo Linux ^_^.
> 
> Respectfully,
> 

Parted is quite user-friendly.  The problem, for me at least, was not so
much use of the tools, but rather background knowledge about disk
partitioning in general.  The information I can find via web searching
is scattered.  The ideal solution would be to link to the GNU Storage
Guide, like the Parted manual does.  Unfortunately, that document does
not seem to exist, and I am not qualified to write it.  Other
distributions seem to get around this problem by providing an automated
partitioning tool and/or providing examples that work on a wide class of
machines.  Attached is a context diff for guix.texi in the git
repository that expands the partitioning example in a way that I suspect
will work on most modern (and perhaps higher-end) machines.

-Ethan Day


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: guix.texi.diff --]
[-- Type: text/x-patch; name="guix.texi.diff", Size: 4328 bytes --]

*** guix.texi	2016-05-31 16:07:52.443176978 -0400
--- guix-mod.texi	2016-05-31 16:36:07.895090213 -0400
***************
*** 5955,5961 ****
  
  Once this is done, you should be able to reboot the system and boot from
  the USB stick.  The latter usually requires you to get in the BIOS' boot
! menu, where you can choose to boot from the USB stick.
  
  @node Preparing for Installation
  @subsection Preparing for Installation
--- 5955,5962 ----
  
  Once this is done, you should be able to reboot the system and boot from
  the USB stick.  The latter usually requires you to get in the BIOS' boot
! menu, where you can choose to boot from the USB stick.  You may have to
! disable UEFI boot.
  
  @node Preparing for Installation
  @subsection Preparing for Installation
***************
*** 6069,6078 ****
  The installation image includes several partitioning tools, including
  Parted (@pxref{Overview,,, parted, GNU Parted User Manual}),
  @command{fdisk}, and @command{cfdisk}.  Run it and set up your disk with
! the partition layout you want:
  
  @example
! cfdisk
  @end example
  
  Once you are done partitioning the target hard disk drive, you have to
--- 6070,6090 ----
  The installation image includes several partitioning tools, including
  Parted (@pxref{Overview,,, parted, GNU Parted User Manual}),
  @command{fdisk}, and @command{cfdisk}.  Run it and set up your disk with
! the partition layout you want.  The following example assumes your
! motherboard supports GPT partition tables, and will render all data
! currently on your drive inaccessible.  Make sure you @code{select}
! the device you want to install GuixSD on.
  
  @example
! # parted
! (parted) print all
! (parted) select /dev/sda
! (parted) mklabel gpt
! (parted) mkpart primary 1MiB 2MiB
! (parted) toggle 1 bios_grub
! (parted) mkpart primary 2MiB 100%
! (parted) print
! (parted) quit
  @end example
  
  Once you are done partitioning the target hard disk drive, you have to
***************
*** 6089,6095 ****
  @code{my-root} can be created with:
  
  @example
! mkfs.ext4 -L my-root /dev/sda1
  @end example
  
  @c FIXME: Uncomment this once GRUB fully supports encrypted roots.
--- 6101,6107 ----
  @code{my-root} can be created with:
  
  @example
! mkfs.ext4 -L my-root /dev/sda2
  @end example
  
  @c FIXME: Uncomment this once GRUB fully supports encrypted roots.
***************
*** 6098,6104 ****
  @c @example
  @c # fdisk /dev/sdX
  @c @dots{} Create partitions etc.@dots{}
! @c # cryptsetup luksFormat /dev/sdX1
  @c # cryptsetup open --type luks /dev/sdX1 my-partition
  @c # mkfs.ext4 -L my-root /dev/mapper/my-partition
  @c @end example
--- 6110,6116 ----
  @c @example
  @c # fdisk /dev/sdX
  @c @dots{} Create partitions etc.@dots{}
! @c # cryptsetup luksFormat /dev/sdX2
  @c # cryptsetup open --type luks /dev/sdX1 my-partition
  @c # mkfs.ext4 -L my-root /dev/mapper/my-partition
  @c @end example
***************
*** 6108,6127 ****
  Cryptsetup/LUKS for disk encryption.
  
  Once that is done, mount the target root partition under @file{/mnt}
! with a command like (again, assuming @file{/dev/sda1} is the root
  partition):
  
  @example
! mount /dev/sda1 /mnt
  @end example
  
  Finally, if you plan to use one or more swap partitions (@pxref{Memory
  Concepts, swap space,, libc, The GNU C Library Reference Manual}), make
  sure to initialize them with @command{mkswap}.  Assuming you have one
! swap partition on @file{/dev/sda2}, you would run:
  
  @example
! mkswap /dev/sda2
  @end example
  
  @node Proceeding with the Installation
--- 6120,6139 ----
  Cryptsetup/LUKS for disk encryption.
  
  Once that is done, mount the target root partition under @file{/mnt}
! with a command like (again, assuming @file{/dev/sda2} is the root
  partition):
  
  @example
! mount /dev/sda2 /mnt
  @end example
  
  Finally, if you plan to use one or more swap partitions (@pxref{Memory
  Concepts, swap space,, libc, The GNU C Library Reference Manual}), make
  sure to initialize them with @command{mkswap}.  Assuming you have one
! swap partition on @file{/dev/sda3}, you would run:
  
  @example
! mkswap /dev/sda3
  @end example
  
  @node Proceeding with the Installation

  parent reply	other threads:[~2016-05-31 21:13 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-30  0:45 feedback as solicited by Guix manual (Section 7.1.5) Ethan Stefan Day
2016-05-31 15:58 ` Leo Famulari
2016-05-31 16:31   ` Matthew Jordan
2016-05-31 17:56     ` Leo Famulari
2016-05-31 18:35       ` Matthew Jordan
2016-05-31 21:10         ` Ludovic Courtès
2016-06-01  4:53           ` Tomáš Čech
2016-06-01 19:45             ` Alex Kost
2016-06-02  8:07               ` Ludovic Courtès
2016-06-02  8:37                 ` Alex Kost
2016-06-03  8:11                   ` Ludovic Courtès
2016-06-04 12:52                     ` Alex Kost
2016-06-01 19:22           ` Matthew Jordan
2016-06-03  8:00             ` Ludovic Courtès
2016-05-31 21:13         ` Ethan Stefan Day [this message]
2016-06-04 21:00           ` Rescuing the GNU Storage Guide? Ludovic Courtès
2016-06-04 23:18             ` Ludovic Courtès
2016-05-31 16:19 ` feedback as solicited by Guix manual (Section 7.1.5) Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=574DFE62.5080509@ethan-stefan.net \
    --to=esday@ethan-stefan.net \
    --cc=guix-devel@gnu.org \
    --cc=leo@famulari.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.