[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