bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help with cross install


From: Almudena Garcia
Subject: Re: Help with cross install
Date: Sat, 13 Jan 2024 10:02:12 +0000

Hi:

I never edited grub.cfg during the installation. I only keep the default 
options. 

The T410 is in my office, so I can't copy this file now 



El sábado 13 de enero de 2024, Joshua Branson escribió:
> Almudena Garcia <liberamenso10000@gmail.com> writes:
> 
> > Hi:
> >
> > I use the Debian GNU/Hurd CD or DVD, from the pseudographical
> > installer. You must to configure your harddisk in compatibility mode
> > in the BIOS to installer as an IDE HDD.
> 
> I did configure in my BIOS to make my harddrisk in compatibility mode.
> 
> Can you share with me your /boot/grub/grub.cfg from your Thinkpad T410  ?
> 
> >
> > El viernes 12 de enero de 2024, Joshua Branson escribió:
> >> 
> >> So I bought myself a T410, because I've heard that Debian GNU/Hurd can
> >> run on it.  I thought I would give it a try.  The latest Debian GNU/Hurd
> >> netinstall failed.  I believe it created the ext2 partitions / and
> >> /home, formatted them as ext2, but left them readable not writable.  So
> >> of course the installer could not install the necessary packages.
> >> 
> >> So Samuel mentioned that I should try crossinstall:
> >> 
> >> https://www.gnu.org/software/hurd/hurd/running/debian/CrossInstall
> >> 
> >> For those of you who don't know, if you run Debian GNU/Linux and have a
> >> spare parition, then you can use crossinstall to install Debian GNU/Hurd!
> >> 
> >> I'm drafting a blog post to talk about how to use it.  I'm stuck at
> >> "Preparing to boot" stage as documented in the wiki.  I've copied
> >> Damien's grub entry, but it's can't seem to find my hurd-root partition.
> >> 
> >> Here is my partition scheme for the T410:
> >> 
> >> |------------+---------+-----------------+------------------|
> >> | #1 primary | 59.4 GB | hurd-root /     | /dev/wd0 #1      |
> >> | #2 primary | 60.3 GB | hurd-home /home | /dev/wd0 #2      |
> >> | #3 primary | 5 GB    | linux /boot     | bootable flag on |
> >> | #4 logical |         |                 |                  |
> >> | #5 logical | 999.3MB | hurd-swap       |                  |
> >> | #6 logical | 54.3 GB | crypto  linux / |                  |
> >> |------------+---------+-----------------+------------------|
> >> 
> >> I did use GNU/Linux to run
> >> 
> >> #+BEGIN_SRC shell
> >>   mke2fs -o hurd /dev/sda1
> >>   mke2fs -o hurd /dev/sda2
> >> #+END_SRC
> >> 
> >> So I know that /dev/sda1 and /dev/sda2 are ext2.
> >> 
> >> Here is my /boot/grub/custom.cfg
> >> 
> >> #+begin_example
> >> menuentry "pci-arbiter + acpi + rumpdisk" {                                
> >>                
> >>         set root=(hd0,msdos1)                                              
> >>                
> >>         multiboot /boot/gnumach-1.8-486.gz root=part:1:device:wd0 noide -s
> >>                                                                            
> >>                
> >>         module /hurd/pci-arbiter.static pci-arbiter \                      
> >>                
> >>                 --host-priv-port='${host-port}' \                          
> >>                
> >>                 --device-master-port='${device-port}' \                    
> >>                
> >>                 --next-task='${acpi-task}' \                               
> >>                
> >>                 '$(task-create)' '$(task-resume)'                          
> >>                
> >>                                                                            
> >>                
> >>         module /hurd/acpi.static acpi \                                    
> >>                
> >>                 --next-task='${disk-task}' \                               
> >>                
> >>                 '$(acpi-task=task-create)'                                 
> >>                
> >>                                                                            
> >>                
> >>         module /hurd/rumpdisk.static rumpdisk \                            
> >>                
> >>                 --next-task='${fs-task}' \                                 
> >>                
> >>                 '$(disk-task=task-create)'                                 
> >>                
> >>                                                                            
> >>                
> >>         module /hurd/ext2fs.static ext2fs \                                
> >>                
> >>                 --multiboot-command-line='${kernel-command-line}' \        
> >>                
> >>                 --exec-server-task='${exec-task}' -T typed '${root}' \     
> >>                
> >>                 '$(fs-task=task-create)'                                   
> >>                
> >>                                                                            
> >>                
> >>         module /hurd/exec.static exec '$(exec-task=task-create)'
> >> }
> >> #+end_example
> >> 
> >> I have tried:
> >> 
> >> #+BEGIN_EXAMPLE shell
> >>  root=part:0:device:wd0
> >>  root=part:1:device:wd0
> >>  root=part:2:device:wd0
> >>  root=part:3:device:wd0
> >> #+END_EXAMPLE
> >> 
> >> But Mach get stuck and can't find part:1.  Now GNU Mach does say:
> >> 
> >> #+BEGIN_example
> >> vendor 8086 product 3b2f (SATA mass storage, AHCI 1.0, revision 0x06) at \
> >> pci0 dev 31 function 2 not configured
> >> ...  (It shows a lot of devices not configured)
> >> blakefs: self-test passed
> >> chacha: Portable C ChaCha
> >> ex2fs: part:1:device:wd0: No such device or address
> >> #+END_Example
> >> 
> >> So does that mean it detected my SATA SSD?  Also my SATA SSD is ancient.
> >> It has a max capacity of 180GB.  So it's a bit odd and old.  Maybe
> >> that's why I am having problems?  Debian GNU/Linux doesn't mind using
> >> it.
> >> 
> >> Here are some commands that I ran on Debian GNU/Linux on the T410 to try
> >> to double check my work.
> >> 
> >> #+BEGIN_SRC shell
> >>   joshua@gimli:~$ sudo fdisk -l
> >>   [sudo] password for joshua: 
> >>   Disk /dev/sda: 167.68 GiB, 180045766656 bytes, 351651888 sectors
> >>   Disk model: INTEL SSDSC2CW18
> >>   Units: sectors of 1 * 512 = 512 bytes
> >>   Sector size (logical/physical): 512 bytes / 512 bytes
> >>   I/O size (minimum/optimal): 512 bytes / 512 bytes
> >>   Disklabel type: dos
> >>   Disk identifier: 0x050ce17c
> >> 
> >>   Device     Boot     Start       End   Sectors  Size Id Type
> >>   /dev/sda1  *         2048 116017672 116015625 55.3G 83 Linux
> >>   /dev/sda2       116043776 233846783 117803008 56.2G 83 Linux
> >>   /dev/sda3       233846784 243611647   9764864  4.7G 83 Linux
> >>   /dev/sda4       243613694 351649791 108036098 51.5G  5 Extended
> >>   /dev/sda5       243613696 245565439   1951744  953M 82 Linux swap / 
> >> Solaris
> >>   /dev/sda6       245567488 351649791 106082304 50.6G 83 Linux
> >> 
> >> 
> >>   Disk /dev/mapper/sda6_crypt: 50.57 GiB, 54297362432 bytes, 106049536 
> >> sectors
> >>   Units: sectors of 1 * 512 = 512 bytes
> >>   Sector size (logical/physical): 512 bytes / 512 bytes
> >>   I/O size (minimum/optimal): 512 bytes / 512 bytes
> >>   joshua@gimli:~$
> >>   joshua@gimli:~$
> >>   joshua@gimli:~$ 
> >>   joshua@gimli:~$ sudo fsck.ext2 /dev/sda1
> >>   e2fsck 1.47.0 (5-Feb-2023)
> >>   /dev/sda1: clean, 4080/3629056 files, 201693/14501953 blocks
> >>   joshua@gimli:~$ 
> >>   joshua@gimli:~$ sudo fsck.ext2 /dev/sda2
> >>   e2fsck 1.47.0 (5-Feb-2023)
> >>   /dev/sda2: clean, 11/3686400 files, 129431/14725376 blocks
> >>   joshua@gimli:~$ 
> >>   joshua@gimli:~$ mount | grep sda
> >>   /dev/mapper/sda6_crypt on / type xfs 
> >> (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)
> >>   /dev/sda3 on /boot type ext4 (rw,relatime)
> >>   joshua@gimli:~$ 
> >>   joshua@gimli:~$ 
> >>   joshua@gimli:~$ sudo mount /dev/sda1 /mnt
> >>   joshua@gimli:~$ sudo mount /dev/sda2 /mnt/home
> >>   joshua@gimli:~$ 
> >>   joshua@gimli:~$ mount | grep sda
> >>   /dev/mapper/sda6_crypt on / type xfs 
> >> (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)
> >>   /dev/sda3 on /boot type ext4 (rw,relatime)
> >>   /dev/sda1 on /mnt type ext2 (rw,relatime)
> >>   /dev/sda2 on /mnt/home type ext2 (rw,relatime)
> >>   
> >> #+END_SRC
> >> 
> >> Any thoughts?
> >> 
> >> Thanks,
> >> 
> >> Joshua
> >> 
> >> P.S.  So the help email ends here, but if you feel like reading/editing my 
> >> draft
> >> of this blog post for extra credit, then feel free!
> >> 
> >> BEGIN THE DRAFT BLOG POST:
> >> 
> >> 
> >> So, I have been told that Debian GNU/Hurd can run on a T410 with a
> >> SATA SSD.  It gets its disk drivers from a 
> >> [[https://github.com/rumpkernel][rumpkernel]]. That's pretty
> >> awesome.  I downloaded the 
> >> [[https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/20230608/iso-cd/][Debian
> >>  netinstaller iso image,]] but I could
> >> not get it to completely install.  It appeared that the installer
> >> created the ext2 partition, but the partition was readable, not
> >> writable.  So of course no packages definitions could be stored on
> >> disk. Odd.
> >> 
> >> Luckily, I can use Debian GNU/Linux to install Debian GNU/Hurd on a
> >> spare partition via 
> >> [[https://www.gnu.org/software/hurd/hurd/running/debian/CrossInstall][CrossInstall]].
> >>   That is pretty slick!  Well we
> >> might as well try it!
> >> 
> >> Here is my partition scheme for the T410:
> >> 
> >> |------------+---------+-----------------+------------------|
> >> | #1 primary | 59.4 GB | hurd-root /     | /dev/wd0 #1      |
> >> | #2 primary | 60.3 GB | hurd-home /home | /dev/wd0 #2      |
> >> | #3 primary | 5 GB    | linux /boot     | bootable flag on |
> >> | #4 logical |         |                 |                  |
> >> | #5 logical | 999.3MB | hurd-swap       |                  |
> >> | #6 logical | 54.3 GB | crypto  linux / |                  |
> >> |------------+---------+-----------------+------------------|
> >> 
> >> #+BEGIN_SRC
> >>   # mke2fs -o hurd /dev/sda1
> >>   # mke2fs -o hurd /dev/sda2
> >> #+END_SRC
> >> 
> >> Next I needed to install the latest and greatest crossinstall. I added
> >> this to ~/etc/apt/sources.list~
> >> 
> >> ~deb http://ftp.us.debian.org/debian sid main~
> >> 
> >> #+BEGIN_SRC shell
> >>   # apt update
> >>   $ apt search crosshurd # let's install the latest version
> >>   crosshurd/unstable 1.7.60 all
> >>   # apt install crosshurd
> >> #+END_SRC
> >> 
> >> Now let's mount my two newly re-created Hurd partitions, and run
> >> crosshurd!
> >> 
> >> #+BEGIN_SRC shell
> >>   # mount /dev/sda1 /mnt
> >>   # mkdir /mnt/home
> >>   # mount /dev/sda2 /mnt/home
> >>   $ mount 
> >> #+END_SRC
> >> 
> >> #+RESULTS:
> >> 
> >> : blah blah blah
> >> : blah blah blah
> >> : /dev/sda1 on /mnt type ext2
> >> : /dev/sda2 on /mnt/home type ext2
> >> 
> >> Now we can do our crosshurd command!
> >> 
> >> #+BEGIN_SRC shell
> >>   # cd /mnt
> >>   # crosshurd
> >> #+END_SRC
> >> 
> >> The crosshurd command is kind of cool.  I answered ~/mnt~, ~gnu~,
> >> ~i386~.  Apparently you can use crosshurd to install kfreebsd, which
> >> is Debian but using the FreeBSD kernel.  That's fairly cool!  But the
> >> command failed fairly quickly, because I do not have some gpg keys.
> >> Well let's fix that!
> >> 
> >> Please note that the below is the proper way to do it.  I found an
> >> easier deprecated way to do it, and that's what I did.
> >> 
> >> #+BEGIN_SRC shell
> >>   $ gpg --recv-keys LONGKEYSTRINGNMUBERS
> >>   $ gpg --recv-keys LONGKEYSTRINGNMUBERS2
> >>   $ gpg -a --export LONGKEYSTRINGNMUBERS > 
> >> debian-ports-archive-automatic-signing-key.asc
> >>   # mv debian-ports-archive-automatic-signing-key.asc 
> >> /etc/apt/trusted.gpg.d/
> >>   # crosshurd
> >> #+END_SRC
> >> 
> >> What I actually did:
> >> 
> >> #+BEGIN_SRC shell
> >>   $ gpg --recv-keys LONGKEYSTRINGNMUBERS
> >>   $ gpg --recv-keys LONGKEYSTRINGNMUBERS2
> >>   $ gpg -a --export LONGKEYSTRINGNMUBERS | sudo apt-key add -
> >>   # crosshurd
> >> #+END_SRC
> >> 
> >> It looked like everything was installed, then it said, copying this
> >> machine's resolve.conf to the new partition.  If not correct, then
> >> please edit.  Hopefully it is!
> >> 
> >> So now I need to add a boot entry to =/etc/grub.d/custom.cfg=.
> >> Apparently whatever you add in that file, will automatically appear in
> >> Grub on the next boot!  Note that I have to add the ~-s~ to the kernel
> >> args.  After I run ./native-install twice, I can remove it.
> >> 
> >> #+begin_example
> >> menuentry "pci-arbiter + acpi + rumpdisk" {                                
> >>                
> >>         set root=(hd0,msdos1)                                              
> >>                
> >>         multiboot /boot/gnumach-1.8-486.gz root=part:1:device:wd0 noide -s
> >>                                                                            
> >>                
> >>         module /hurd/pci-arbiter.static pci-arbiter \                      
> >>                
> >>                 --host-priv-port='${host-port}' \                          
> >>                
> >>                 --device-master-port='${device-port}' \                    
> >>                
> >>                 --next-task='${acpi-task}' \                               
> >>                
> >>                 '$(task-create)' '$(task-resume)'                          
> >>                
> >>                                                                            
> >>                
> >>         module /hurd/acpi.static acpi \                                    
> >>                
> >>                 --next-task='${disk-task}' \                               
> >>                
> >>                 '$(acpi-task=task-create)'                                 
> >>                
> >>                                                                            
> >>                
> >>         module /hurd/rumpdisk.static rumpdisk \                            
> >>                
> >>                 --next-task='${fs-task}' \                                 
> >>                
> >>                 '$(disk-task=task-create)'                                 
> >>                
> >>                                                                            
> >>                
> >>         module /hurd/ext2fs.static ext2fs \                                
> >>                
> >>                 --multiboot-command-line='${kernel-command-line}' \        
> >>                
> >>                 --exec-server-task='${exec-task}' -T typed '${root}' \     
> >>                
> >>                 '$(fs-task=task-create)'                                   
> >>                
> >>                                                                            
> >>                
> >>         module /hurd/exec.static exec '$(exec-task=task-create)'
> >> }
> >> #+end_example
> >> 
> >> 
> >> 
> >> -- 
> >> 
> >> Joshua Branson
> >> Sent from the Hurd
> >> 
> >>
> 
> -- 
> 
> Joshua Branson
> Sent from the Hurd
>

-- 
Enviado desde mi dispositivo Sailfish

reply via email to

[Prev in Thread] Current Thread [Next in Thread]