Kryptert root og swap, på en macbook med Ubuntu 6.10

Hvordan man installerer ubuntu på en macbook finnes det veldig gode veiledninger for andre steder, så jeg kommer ikke til å ta alt like detaljert. Er det egentlig det du ser etter så sjekk referanselinken i bånn. Her er det derimot oppsettet av krypteringen som er i fokus, så det vil jeg ta punkt for punkt.
MERK: Denne veiledningen krever at du har nettverkstilkobling. Alle data på harddisken blir slettet.

Dette skulle vise seg å være en oppgave som både macbooken og jeg så vidt skulle komme igjennom med livet i behold. Var vel ingen direkte fare for livet mitt, men det gikk definitivt på helsa løs. Macbooken var nær ved å fly i veggen ett par ganger, så faren var definitivt mer reel der. Problemet ligger i EFI implementasjonen til Apple som jeg ikke forstår noe som helst av. Har lagt inn spm i forumet både på linux1, mac1 og ubuntuforums, men det er ingen som i skrivende stund har svart noe informativt på noen av dem. Løsningen jeg til slutt endte opp med er nok ikke den peneste, men det var den eneste måten jeg fikk alt til å fungere skikkelig. Selve gangen i hvordan man setter opp krypteringen burde være lik uansett HW.

Som sagt hadde jeg store problemet med EFI/GPT og MBR. Har ikke tenkt å utdype noe videre hva de besto av, men det står beskrevet her hvis du er interessert. Jeg valgte til slutt en metode hvor jeg har rEFIt installert på en liten hfs+ partisjon ved siden av ubuntu.

Del 1: Installasjon av rEFIt
rEFIt er kort forklart en grafisk boot meny til funksjonene i EFI - Extensible Firmware Interface.

    Boot installasjons DVD til osX. Start disk utility og sett opp to partisjoner. Partisjon 1: 15 MB Partisjon 2: Størrelsen spiller ingen rolle så lenge den har plass til osx. Den vil slettes etterpå. Installere osx, og boot. Last ned rEFIt-0.8. Installer en custom install av rEFIt (hvor alt blir installert) på den lille partisjonen. Start en terminal og skriv følgende:
    /efi/refit/enable-always.sh
    Editér /efi/refit/refit.conf. Sett timeout til 3 sekunder og fjern # foran legacyfirst.
    Boot og sjekk at rEFIt starter osx etter 3 sekunder.

Del 2: Installasjon av Ubuntu
Boot liveCd'n. Last ned og installer refit-pakken. Start installasjonen og sett opp som du ellers ville gjort helt til du kommer til partisjonering av disken. Her velger du manually edit:

  • Slett osx partisjonen, så du kun sitter igjen med EFI-system partisjonen og den lille hvor du har installert rEFIt
  • Lag en primary partisjon med ext3 på 100 MB. Dette skal bli /boot - vil heretter omtales som sda3
  • Lag en primary partisjon unallocted og la det være igjen 3000MB på disken. Dette vil etterhvert bli /root, men skal foreløpig ikke brukes. - vil heretter omtales som sda4
  • Lag en primary paritsjon med ext3 på de resterende 3000 MB. Her skal vi nå installere Ubuntu, men dette vil til slutt bli din krypterte swap partisjon. vil heretter omtales som sda5
  • Sett opp mountpoints på sda3 til /boot og sda5 til /
  • Trykk videre til oversikten. Her skal det stå at sda3 og sda5 vil bli formatert.
    Du vil nå ha en partisjonstabell som ser ut som dette:
    Partisjon: Mountpoint: Filtype:
    sda1 EFI-system FAT
    sda2 "refitmeny" hfs+
    sda3 /boot ext3
    sda4 none unallocated
    sda5 / ext3

Start installasjonen. Det vil komme en advarslen om at du ikke har definert noe swap område. Ignorer denne og trykk continue. Mens installasjoen står med status "Copying Files" start en terminal og skriv inn følgende commando.
sudo gptsync /dev/sda && sudo sfdisk -c /dev/sda 3 83
Svar y til spm om den kan synkronisere MBR.

Del 3: Første boot:
Nå kan man strengt tatt starte med å sette opp krypteringen med en gang, men jeg syntes det var praktisk å få gjort ett par ting først.

  • Opprett ~/.xmodmap for å få fiksa tastatur og høyre musknapp.
    Min ser sånn ut:
    keycode 49 = less greater
    keycode 94 = bar section brokenbar paragraph
    keycode 96 = Delete
    keycode 108 = Pointer_Button3 Pointer_Button2
    keycode 116 = ISO_Level3_Shift

    Setter F12 til delete, "lower-enter" til høyremusknapp, Shift+"lower enter" til miderste. Høyre command til AltGr og bytter om på <> og|§ så de stemmer med tastaturet. Gå inn på system ->preferences -> keyboard -> accessibilty, Kryss av for Enable keyboard accessibility features og under mouse keys velg enable mouse keys for at musknappene skal funke.

  • Installere 915resolution
  • Installere ndiswrapper og få opp trådløst.
    (reboot)
  • Last ned alle oppdatering og reboot.

Del 4: Krytpering av root og swap

  • Installasjon av krypterings pakkene:
    sudo apt-get install cryptsetup hashalot initramfs-tools aes-pipe loop-aes-utils
  • Legg til følgende linjer i /etc/initramfs-tools/modules:
    dm_mod
    dm_crypt
    sha256
    aes_i586
  • Oppdater initrd-image:
    update-initramfs -u all
  • Last inn nødvendige moduler:
    modprobe dm_crypt
    modprobe sha256
    modprobe aes_i586
  • Opprette den krypterte /root partisjonen:
    cryptsetup luksFormat /dev/sda4
    Du får nå en advarsel om at alle data på disken blir slettet. Svar YES. Så må du skrive inn en "LUKS passphrase" 2 ganger. Denne må du siden skrive inn hver gang du booter maskinen din, så velg den med omhu.
  • Opprett et nytt device for det krypterte filsystemet:
    cryptsetup luksOpen /dev/sda4 root
    Tast inn din LUKS passphrase, og det opprettes en device /dev/mapper/root
  • Denne må nå formateres:
    mkfs.ext3 -j -O dir_index -m 0 -v /dev/mapper/root
  • Mount det nye filsystemet, og kopiere hele Ubuntu installasjonen på plass:
    mount /dev/mapper/root /mnt
    cp -avx / /mnt
  • Når kopieringen er ferdig change root til det nye krypterte systemet:
    mount -o bind /dev /mnt/dev
    mount -o bind /proc /mnt/proc
    mount -o bind /sys /mnt/sys
    chroot /mnt
    mount /dev/sda3 /boot
  • Editer /etc/fstab, og sett linjen under #sda5 hvor det står UUID= til:
    /dev/mapper/root / ext3 defaults,errors=remount-ro 0 1
  • Editer /etc/crypttab og legg til:
    root /dev/sda4 none cipher=aes-cbc-essiv:sha256
  • Editer /boot/grub/menu.lst og legg til følgende etter linjen ### END DEBIAN AUTOMAGIC KERNELS LIST
    title Ubuntu, encrypted root
    root (hd0,2)
    kernel /vmlinuz-2.6.17-11-generic root=/dev/mapper/root ro quiet
    initrd /initrd.img-2.6.17-11-generic
    quiet
    savedefault
    boot

    Bla deg deretter oppover til den første kernelen under ## ## End Default Options ## og sett den til å være helt lik, men la den beholde sin opprinnelige title: Ubuntu, kernel 2.6.17-11-generic.
    Etter oppdateringen så hadde jeg 2.6.17-11 hvis du har en annen versjon, så må det selvfølgelig endres.

    MERK: Dette er ingen god måte å gjøre dette på. Hvis det kommer en ny kernel versjon siden, så vil enringene gjort på Ubuntu, kernel 2.6.17-11-generic overskrives, og maskinen vil ikke boote uten at én går inn i grub menyen og velger "Ubuntu, encrypted root". Jeg vet ikke hvordan man gjør det så nye kernelversjoner som blir installert senere automatisk får root=/dev/mapper/root og uten splash. Tar gjerne i mot en instruks på dette!!

  • Oppdater initrd-image:
    update-initramfs -u all
  • Reboot

    Når maskinen nå starter blir du bedt om å taste inn din LUKS Passphrase, og maskinen starter med på det krypterte root filsystemet.

    Da er det bare swap igjen.

  • Legg til linjen i /etc/fstab:
    /dev/mapper/swap none swap sw 0 0
  • Legg til linjen i /etc/crypttab:
    swap /dev/sda5 /dev/urandom swap
  • Nå kommer punktet som gjorde at jeg måtte reinstallere å prøve på gang på gang. For at swap området skal fungere, så må det ha status unallocated dvs. ikke noe filsystem. Jeg fikk til slutt til dette med gparted. De første gangene gjort gparted hele partisjonstabellen korrupt, så ingen ting fungerte etterpå.. men dette fungerte:
    sudo apt-get install gparted
    sudo gparted /dev/sda5

    Makér partisjonen, og velg formater som linux-swap. Dette vil feile, og det skal den.. Det er pga GPT og MBR osv, men partisjonen får nå status unallocated, og det er det vi er ute etter.

  • Reboot.

    Nå ordner maskinen resten selv, og kommer opp med den siste partisjonen som et kryptert swap område.

Referanser:
En stor takk til Thomas Damgaard for en veldig god veiledning på hvordan man setter opp kryptering av root og swap. Jeg har kun gjort et par små endringer i forhold til hans veiledning.
http://thomasdamgaard.dk/blog
https://help.ubuntu.com/community/MacBook

  • Skriv ut artikkel
  • Abonner med RSS

Siste kommentarer