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

Bug#428329: Bug in debian-Installer/initramfs when I use "GUID Partition Table (GPT)" with a crypted root filesystem



Package: debian-installer
Version: Debian 4.0r0 DVD1 "etch"

Hello,

I can setup a crypted root filesystem when I select
the Partition table type "msdos". But then I can not
use the whole disk (2.3 TB).

The debian-installer/initramfs is buggy when I
use the "GUID Partition Table (GPT)" and I want to use
a crypted root filesystem. (Not with md!).

I can setup a running system with "gpt" when I setup an
uncrypted root filesystem (and then I can use the whole
2.3 TB).

-----------------------------------------------------

The details:
============

1. Hardware what I use
2. Preperation
3. What works! (First situation)
4. What NOT works! (Second situation)
5. Result


-----------------------------------------------------


1. Hardware what I use:
=======================

Motherboard with AMD-K7 (Sokel-A) 1 GHz.
1.3 GB RAM.

ICP Vortex RAID-Controller with
4 * 750 GB drives: In a RAID-5
configuration I have a drive with 2.3 TB.
The controller is used by the kernel module "gdth".
The Firmware in the controller is the newest.
In "etch" the version of the kernel driver "gdth"
is 3.05.

The producer "ICP vortex" tells me in an
email that I have to use the GUID Partition Table (GPT)
to use the full size of the Host Drive (/dev/sda).
The Kernel module "gdth" must be version >= 3.04 .

I have only a DVD-ROM on /dev/hdd. No other
drives (like /dev/hda, /dev/hdc or /dev/sdb ...).

>From /dev/hdd I boot the etch-DVD.
 

2. Preparation:
===============

Bevor the two situations which I describe
here I fill the begin of the Host drive
/dev/sda with zeros:

    dd if=/dev/zero of=/dev/sda
    (CTRL-C after 10 seconds)
 


3. What works! (First situation):
=================================

I start "etch" with expert modus.

At the "Partition method" I select "Manual".

  +------------------------& [!!] Partition disks +-------------------------+
  &                                                                         &
  & This is an overview of your currently configured partitions and mount   &
  & points. Select a partition to modify its settings (file system, mount   &
  & point, etc.), a free space to create partitions, or a device to         &
  & initialise its partition table.                                         &
  &                                                                         &
  &           Guided partitioning                                           &
  &           Help on partitioning                                          &
  &                                                                         &
  &       --> SCSI1 (0,1,0) (sda) - 2.3 TB ICP Host Drive #01               &
  &                                                                         &
  &           Undo changes to partitions                                    &
  &           Finish partitioning and write changes to disk                 &
  &                                                                         &
  &     <Go Back>                                                           &
  &                                                                         &
  +-------------------------------------------------------------------------+

( "-->" means that I select this option)

   +-----------------------& [!!] Partition disks +------------------------+
   &                                                                       &
   & You have selected an entire device to partition. If you proceed with  &
   & creating a new partition table on the device, then all current        &
   & partitions will be removed.                                           &
   &                                                                       &
   & Note that you will be able to undo this operation later if you wish.  &
   &                                                                       &
   & Create new empty partition table on this device?                      &
   &                                                                       &
   &     <Go Back>                                  ---> <Yes>    <No>     &
   &                                                                       &
   +-----------------------------------------------------------------------+

In the following screen the debian installer give me per default
for the "Partition table type" the "gpt". That's the right choise but in this
first situation I select "msdos":

              +-------------& [.] Partition disks +--------------+
              &                                                  &
              & Select the type of partition table to use.       &
              &                                                  &
              & Partition table type:                            &
              &                                                  &
              &                     amiga                        &
              &                     bsd                          &
              &                     dvh                          &
              &                     gpt                          &
              &                     mac                          &
              &                 --> msdos                        &
              &                     pc98                         &
              &                     s390                         &
              &                     sun                          &
              &                     loop                         &
              &                                                  &
              &     <Go Back>                                    &
              &                                                  &
              +--------------------------------------------------+
 
...
In the following screens I setup the following disk structure:

 /boot       SWAP           /
,--------, ,--------,   ,--------,
| BOOT   | | SWAP   |   |  ROOT  |
`---*----4 `---*----4   `----*---4
    |          |             |
    |          |             |
    |          |             |
    |      ,---*------, ,----*-------,
    |      |sda2_crypt| |sda3_crypt  |
    |      | key      | | Key        |
    |      | random   | | Passphrase |
    |      `---*------4 `-------*----4
    |          |                |
    |          |                |
  ,-*--,     ,-*--,        ,----*-,
  |sda1|     |sda2|        | sda3 |    /dev/sda
  `----4     `----4        `------4
  (Host drive of the ICP Vortex RAID controller)

remark: In a system for production I would setup a LVM over sda3_crypt
        For testing I use only one Partition for "/".


In partman:

  +------------------------& [!!] Partition disks +-------------------------+
  &                                                                         &
  & This is an overview of your currently configured partitions and mount   &
  & points. Select a partition to modify its settings (file system, mount   &
  & point, etc.), a free space to create partitions, or a device to         &
  & initialise its partition table.                                         &
  &                                                                         &
  &   Configure encrypted volumes                                           &
  &   Guided partitioning                                                   &
  &   Help on partitioning                                                  &
  &                                                                         &
  &   Encrypted volume (sda2_crypt) - 1.0 GB Linux device-mapper            &
  &   >      #1   1.0 GB   f swap       swap                                &
  &   Encrypted volume (sda3_crypt) - 5.5 GB Linux device-mapper            &
  &   >      #1   5.5 GB   f ext3       /                                   &
  &   SCSI1 (0,1,0) (sda) - 2.3 TB ICP Host Drive #01                       &
  &   >      #1 primary   65.8 MB B F ext3       /boot                      &
  &   >      #2 primary    1.0 GB   K crypto     (sda2_crypt)               &
  &   >      #3 primary    5.5 GB   K crypto     (sda3_crypt)               &
  &   >         pri/log    2.2 TB     FREE SPACE                            &
  &                                                                         &
  &   Undo changes to partitions                                            &
  & ->Finish partitioning and write changes to disk  <--                    &
  &                                                                         &
  &                                                                         &
  &                                                                         &
  +-------------------------------------------------------------------------+

Then I made the following:

           +----------& [?] Debian installer main menu +-----------+
           &                                                       &
           & This is the main menu for the Debian installer.       &
           &                                                       &
           & Choose the next step in the install process:          &
           &                                                       &
           &    Choose language                                    &
           &    Select a keyboard layout                           &
           &    Detect and mount CD-ROM                            &
           &    Load installer components from CD                  &
           &    Detect network hardware                            &
           &    Configure the network                              &
           &    Detect disks                                       &
           &    Partition disks                                    &
           & -->Configure time zone                                &
           & -->Configure the clock                                &
           & -->Set up users and passwords                         &
           & -->Install the base system                            &
           & -->Configure the package manager                      &
           & -->Select and install software                        &
           & -->Install the GRUB boot loader on a hard disk        &
           &    Install the LILO boot loader on a hard disk        &
           &    Continue without boot loader                       &
           & -->Finish the installation                            &
           &    Change debconf priority                            &
           &    Check the CD-ROM(s) integrity                      &
           &    Save debug logs                                    &
           &    Execute a shell                                    &
           &    Abort the installation                             &
           &                                                       &
           &                                                       &
           &                                                       &
           +-------------------------------------------------------+

   +-------------------& [!!] Finish the installation +--------------------+
  +&                         Installation complete                         &
  && Installation is complete, so it is time to boot into your new system. &
  && Make sure to remove the installation media (CD-ROM, floppies), so     &
  && that you boot into the new system rather than restarting the          &
  && installation.                                                         &
  &&                                                                       &
  +&     <Go Back>                                     -->  <Continue>     &
   &                                                                       &
   +-----------------------------------------------------------------------+


Restart the system:
-------------------

Grub works.

The bootup routine asks me for the Passphrase for sda3_crypt.
All work fine.

Login in rotkehlchen (over the net):
---------------------------------------------------------------
login as: root
root@192.168.1.3's password:
Linux rotkehlchen 2.6.18-4-k7 #1 SMP Mon Mar 26 17:57:15 UTC 2007 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
rotkehlchen:~#
rotkehlchen:~# aptitude updated
rotkehlchen:~# aptitude install hex
rotkehlchen:~#
------------------------------------------------------------------




4. What NOT works! (Second situation):
======================================

Now I will use the GUID Partition Table (GPT).

At "Partition disks" I select "Manual"

   +-----------------------& [!!] Partition disks +------------------------+
   &                                                                       &
   & You have selected an entire device to partition. If you proceed with  &
   & creating a new partition table on the device, then all current        &
   & partitions will be removed.                                           &
   &                                                                       &
   & Note that you will be able to undo this operation later if you wish.  &
   &                                                                       &
   & Create new empty partition table on this device?                      &
   &                                                                       &
   &     <Go Back>                                   --> <Yes>    <No>     &
   &                                                                       &
   +-----------------------------------------------------------------------+

              +-------------& [.] Partition disks +--------------+
              &                                                  &
              & Select the type of partition table to use.       &
              &                                                  &
              & Partition table type:                            &
              &                                                  &
              &                     amiga                        &
              &                     bsd                          &
              &                     dvh                          &
              &                 --> gpt                          &
              &                     mac                          &
              &                     msdos                        &
              &                     pc98                         &
              &                     s390                         &
              &                     sun                          &
              &                     loop                         &
              &                                                  &
              &     <Go Back>                                    &
              &                                                  &
              +--------------------------------------------------+

I select "gpt" for Partition table type.

...
In the following screens I setup the same like in the first situation:

 /boot       SWAP           /
,--------, ,--------,   ,--------,
| BOOT   | | SWAP   |   |  ROOT  |
`---*----' `---*----'   `----*---'
    |          |             |
    |          |             |
    |          |             |
    |      ,---*------, ,----*-------,
    |      |sda2_crypt| |sda3_crypt  |
    |      | key      | | Key        |
    |      | random   | | Passphrase |
    |      `---*------' `-------*----'
    |          |                |
    |          |                |
  ,-*--,     ,-*--,        ,----*-,
  |sda1|     |sda2|        | sda3 |    /dev/sda
  `----'     `----'        `------'
  (Host drive of the ICP Vortex RAID controller)


It shows in partman:

  +------------------------& [!!] Partition disks +-------------------------+
  &                                                                         &
  & This is an overview of your currently configured partitions and mount   &
  & points. Select a partition to modify its settings (file system, mount   &
  & point, etc.), a free space to create partitions, or a device to         &
  & initialise its partition table.                                         &
  &                                                                         &
  &  Configure encrypted volumes                                            &
  &  Guided partitioning                                                    &
  &  Help on partitioning                                                   &
  &                                                                         &
  &  Encrypted volume (sda2_crypt) - 1.0 GB Linux device-mapper             &
  &  >      #1   1.0 GB   f swap       swap                                 &
  &  Encrypted volume (sda3_crypt) - 5.5 GB Linux device-mapper             &
  &  >      #1   5.5 GB   f ext3       /                                    &
  &  SCSI1 (0,1,0) (sda) - 2.3 TB ICP Host Drive #01                        &
  &  >      #1  64.0 MB B F ext3       BOOT         /boot                   &
  &  >      #2   1.0 GB   K crypto                  (sda2_crypt)            &
  &  >      #3   5.5 GB   K crypto                  (sda3_crypt)            &
  &  >      #4   2.2 TB                SPACE                                &
  &                                                                         &
  &  Undo changes to partitions                                             &
  &  Finish partitioning and write changes to disk  <---                    &
  &                                                                         &
  &                                                                         &
  &                                                                         &
  +-------------------------------------------------------------------------+

Then I made the following:

           +----------& [?] Debian installer main menu +-----------+
           &                                                       &
           & This is the main menu for the Debian installer.       &
           &                                                       &
           & Choose the next step in the install process:          &
           &                                                       &
           &    Choose language                                    &
           &    Select a keyboard layout                           &
           &    Detect and mount CD-ROM                            &
           &    Load installer components from CD                  &
           &    Detect network hardware                            &
           &    Configure the network                              &
           &    Detect disks                                       &
           &    Partition disks                                    &
           & -->Configure time zone                                &
           & -->Configure the clock                                &
           & -->Set up users and passwords                         &
           & -->Install the base system                            &
           & -->Configure the package manager                      &
           & -->Select and install software                        &
           & -->Install the GRUB boot loader on a hard disk        &
           & -->Install the LILO boot loader on a hard disk        &
           &    Continue without boot loader                       &
           & -->Finish the installation                            &
           &    Change debconf priority                            &
           &    Check the CD-ROM(s) integrity                      &
           &    Save debug logs                                    &
           &    Execute a shell                                    &
           &    Abort the installation                             &
           &                                                       &
           &                                                       &
           &                                                       &
           +-------------------------------------------------------+

It it necessary to go through GRUB before select LILO !!!
I put the LILO in /dev/sda (in the MBR).


   +-------------------& [!!] Finish the installation +--------------------+
  +&                         Installation complete                         &
  && Installation is complete, so it is time to boot into your new system. &
  && Make sure to remove the installation media (CD-ROM, floppies), so     &
  && that you boot into the new system rather than restarting the          &
  && installation.                                                         &
  &&                                                                       &
  +&     <Go Back>                                     -->  <Continue>     &
   &                                                                       &
   +-----------------------------------------------------------------------+


Restart the system:
-------------------

LILO 22.6.1 Loading Linux ......

the Linux-Kernel starts up ...

...

Setting up cryptographic volume sda3_crypt (based on /dev/sda3)
Enter LUKS passphrase: _  <-- I give the passphrase here
key slot 0 unlocked.
Command successfull.
Done.
/init: /init: 1: cannot open /dev/root: No such device or address
Begin: Running /scripts/lcoal-premount ...
Done.
Usage: modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-b] [-o <modname>]
[ --dump-modversions ] <modname> [parameters...]
modporobe -r [-n] [-i] [-v] <modulename> ...
modprobe -l -t <dirname> [ -a <modulename> ...]
mount: Cannot read /etc/fstab: No such file or directory
Begin: Running /scripts/local-bottom ...
Done.
Done.
Begin: Running /scripts/init-bottom ...
mount: Mounting /root/dev on /dev/.static/dev failed: No such file or directory
Done.
mount: Mounting /sys on /root/sys failed: No such file or directory
mount: Mounting /proc on /root/proc failed: No such file or directory
Target filesystem doesn't habe /sbin/init


BusyBox v1.1.3 .... Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty: job control turned off
(initramfs) _

-----------------------------------------------------------------------------

5. Result:
==========

With a "msdos" Partition table type I can setup a crypted root-filesystem
all works well, but I can not use the whole disk size. :-/

With a "gpt" Partition table type I can setup a crypted root filesystem.
But at boot time initramfs fails. :-(

I can setup a running system with "gpt" when I setup an uncrypted root
filesystem.

-----------------------------------------------------------------------------

With kind regards
Andreas Gerlich
-- 
Dipl.-Ing.(FH) Andreas Gerlich
D-86956 Schongau
Germany (Europe)

project (Z80 emulator) --> http://www.mathematik.uni-ulm.de/users/ag/yaze-ag/

Mitspielen strengstens erlaubt!


-- 
To UNSUBSCRIBE, email to debian-boot-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: