kobapan@wiLiki
Login
Debian

Debian:Debian最小構成をusbにインストール(EFI対応)

linux-kernel-4で、broadcomのwifiがサポートされるようになったという話なので、Debian8(Jessie)をUSBにインストールして試す。

目次

概要

Debian8をUSBにインストールして、Windows8-EFI-Lenovoノートを母艦として動かす。

通常版(grub版)のDebianインストーラでインストールしたものは、BIOSでセキュアブートをオフにして、レガシーを対応にしても起動しなかった。真っ黒な画面にカーソルが表示されるだけ。

EFI版のDebinインストーラを使ってOSインストールしたら、やっと起動してくれた。EFI対応していないPCでこのUSBを動かしたいときはどうすればいいのか、その辺はおいおい対応する。

結果:あっさりwifiにつながった。

EFI とか ESP ってなに?

EFI System Partition (ESP や EFISYS とも呼ばれます) は FAT32 でフォーマットされた物理パーティション (ディスクのメインのパーティションディスクで、LVM やソフトウェア RAID などとは異なります) でここから UEFI ファームウェアは UEFI ブートローダやアプリケーションを起動します。OS とは独立したパーティションであり、UEFI ブートには必須のパーティションになります。

警告: UEFI/GPT 環境で既存の Windows とデュアルブートする場合、UEFI パーティションを再フォーマットしてはいけません。Windows を起動するために必要な Windows の .efi ファイルが含まれています。既存のパーティションを利用して、パーティションをマウントしてください。

EFI システムパーティション - ArchWiki

インストラーUSB(A)の作成

手元にあった4GBのUSBを使う。

linuxでの場合

USBを挿す
$ dmesg | tail -50 # で認識場所を見つける。/dev/sdb1 だったとして、
$ df # マウントされてるか確認
$ sudo umount /dev/sdb1 # マウントされてたら解除
$ sudo mkfs -t ext4 /dev/sdb1 # フォーマット。vfat ext4 なんでもいい
$ sudo mount /dev/sdb1 # マウント
$ wget http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/8.7.1+nonfree/amd64/iso-cd/firmware-8.7.1-amd64-netinst.iso
$ cp firmware-8.7.1-amd64-netinst.iso /dev/sdb1

windowsでの場合

MiniTool Partition で USBをFAT32でフォーマット

wget的なことをやるには、コマンドプロンプトでbitsadmin.exeを使う

C:\> bitsadmin.exe /TRANSFER htmlget http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/8.7.1+nonfree/amd64/iso-cd/firmware-8.7.1-amd64-netinst.iso C:\Users\hoge\Downloads\Debian\firmware-8.7.1-amd64-netinst.iso

Win32 Disk Imager を使って、isoイメージをUSBにコピー

注意点

Debian や Debian Live のイメージの一部、特に i386, amd64 と arm64 の全イメージは isohybrid 技術を使って作成されており、
Linux 上でイメージを USB flash ドライブにコピーするには単に "cp" コマンドを使ってください:
この作業に "unetbootin" を使わないよう忠告します。ブート時やインストール時に原因究明の難しい問題を引き起こすことがあるため非推奨です。 
[https://www.debian.org/CD/faq/index.ja.html#write-usb Debian CD のよくある質問]

アーキテクチャ の Debian での名称

AMD64 & Intel 64 → amd64

2.1.1. サポートするアーキテクチャ

インストール先のUSBメモリ(B)を準備

32GBのUSBを購入した。

フォーマットは、OSインストール時に行えるので事前に行う必要ない。

(A)のUSBをブートして(B)にOSインストール

こっから 母艦(EFI-Lenovoノート) での作業。インスト中は無線につながらない可能性大なので、有線環境で行う。

むにゃむにゃとやってリブートでDebianが立ち上がった。wifiも繋がった!

(B)USBブートでOSを起動

Debian 8 のカーネルをアップグレードする

$ su -
# apt-get install sudo
# gpasswd -a ユーザ名 sudo
$ sudo vi /etc/apt/sources.list.d/sources.list
deb http://ftp.jp.debian.org/debian jessie-backports main contrib non-free
$ sudo apt-get update 
$ sudo apt-get dist-upgrade
$ sudo apt-get install -t jessie-backports linux-image-amd64 # -t で release を指定する
$ sudo apt-get clean
$ sudo reboot

最小構成を入れる

$ sudo apt-get install gcc make fonts-vlgothic

ログアウト ログイン

$ sudo apt-get install linux-headers-`uname -r` zlib1g-dev ntpdate ibus ibus-anthy lxde emacs imagemagickgit sylpheed gimp zlibc flashplugin-nonfree vlc xfce4-screenshooter lhasa

wicd kasumi は勝手に入った

PCManFM は既に最新だった

PCManFM の設定

https://wiki.archlinux.org/title/PCManFM

一旦シャットダウンして、usbを抜き差ししてしまうと、次回から起動できない問題

osが消え去っているわけではない。他のlinux-pcなどから起動できる場合もある

それでも起動できない場合は、ブートメニューから リカバリ を選択して起動、rootログインして以下のようにブートローダを再登録、

$ sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian_grub --recheck

debian_grubのところは、任意の文字列でいい

pc起動時にF12を押して、ブートメニューを出し、さきほど設定した、debian_grubを選択すると起動できる。

「ダウンロード」などの表記を英語化

$ sudo apt-get install xdg-user-dirs-gtk
$ LANG=C xdg-user-dirs-gtk-update
「don't ask me again」にチェックを入れ、「Update Names」 をクリック
ログインし直す

Dropboxを入れる

-インストール - Dropbox

$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
$ ~/.dropbox-dist/dropboxd &

自動起動の設定/.config/autostart/dropbox.desktop を設置する

[Desktop Entry]
Name=Dropbox
Exec=/home/ユーザ名/.dropbox-dist/dropboxd
Type=Application

以下失敗例

これだと自動起動しなかった
→パネル内のdropboxアイコンを右クリック>基本設定>「システム起動時にdropboxを開始」にチェック>OK

デスクトップパネルのシステムトレイにdropboxが表示されなかった。
The Unofficial Dropbox WikiからDebian用のinit.dスクリプトをコピーして、/etc/init.d/dropboxを作成。

Beep音を消す

$ sudo sh -c "echo 'blacklist pcspkr' > /etc/modprobe.d/pcspkr-blacklist.conf"
$ lsmod|grep pcspkr
pcspkr                 16384  0 
$ sudo modprobe -r pcspkr
$ lsmod|grep pcspkr

lxde-rc の編集

$ emacs ~/.config/openbox/lxde-rc.xml で以下編集。

$ openbox --reconfigure で反映される。OSにログインしなおしでも良い。

Shortcut Keys の変更

W- は Windows キー

<!-- Keybindings for running applications --> の下に以下追記
    <keybind key="W-i">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>image viewer</name>
        </startupnotify>
        <command>geeqie</command>
      </action>
    </keybind>
    <keybind key="W-f">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>PCManFM</name>
        </startupnotify>
        <command>pcmanfm</command>
      </action>
    </keybind>
    <keybind key="W-e">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Editor</name>
        </startupnotify>
        <command>emacs</command>
      </action>
    </keybind>
    <keybind key="W-w">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Web</name>
        </startupnotify>
        <command>firefox</command>
      </action>
    </keybind>
    <keybind key="W-m">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Mail</name>
        </startupnotify>
        <command>sylpheed</command>
      </action>
    </keybind>
    <keybind key="W-t">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Termianl</name>
        </startupnotify>
        <command>lxterminal</command>
      </action>
    </keybind>
    <keybind key="W-k">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Kasumi</name>
        </startupnotify>
        <command>kasumi</command>
      </action>
    </keybind>
    <keybind key="Print">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>print-screen</name>
        </startupnotify>
        <command>xfce4-screenshooter -s ~/Downloads</command>
      </action>
    </keybind>

LXTerminal を起動時に最大化

<applications> ディレクトリに以下を追加

   <application name="lxterminal">
     <maximized>yes</maximized>
   </application>

スワップ領域やっぱり欲しい

Windows PC のハードディスクを使う場合

1.Windows側の作業

1.1 スワップ用に未使用領域を確保

コンパネをカテゴリ表示>システムとセキュリティ>ハードディスクパーティションの作成とフォーマット

CドライブかDドライブあたり余裕のあるところを右クリックして、ボリュームの縮小をする。

※回復パーティションは、システムリカバリの為に使われる予約領域。EFIとOEMも予約領域。

1.2. 高速スタートアップを切る

コントロールパネル>ハードウェアとサウンド>エネルギーオプション>電源ボタンの機能>現在利用できない設定の変更

「高速スタートアップを有効にする」のチェックを外す。

2. debian側での作業

$ sudo cfdisk # パーティション作成 
select "Free space"
press "n" for createnew partition from free space
select "type" and select "Linux swap"
select "write" and answer "yes"
quite

$ sudo fdisk -l # デバイスの名前を探す
/dev/sda8  589309952 599549951  10240000   4.9G Linux swap

$ sudo mkswap /dev/sda8 # フォーマット
mkswap: /dev/sda8: warning: wiping old ntfs signature.
Setting up swapspace version 1, size = 4.9 GiB (5242875904 bytes)
no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

$ sudo swapon /dev/sda8 # swap 起動
$ sudo swapon -s # swap状態を確認

$ sudo emacs /etc/fstab # 自動でマウントする設定
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx       swap    swap    defaults        0       0

SDカードを使う場合

$ df
/dev/sdc1         15650840  2996768 12654072   20% /media/hogehoge/xxxx-xxxx
$ sudo umount /dev/sdc1
$ sudo fdisk /dev/sdc
コマンド (m でヘルプ): p  ←現在の状態を確認
コマンド (m でヘルプ): t  ←Partition type を変更する場合は「t」を入力
16進数コード (L コマンドでコードリスト表示): 82  ←Linuxスワップ領域用の82を入力
コマンド (m でヘルプ): p ←再度状態を確認する。領域のシステムIDが82のLinuxスワップに変更されている。
「w」で変更内容を保存する。

$ sudo mkswap /dev/sdc1
$ sudo swapon /dev/sdc1
$ sudo swapon -s # ←swap状態を確認
$ sudo blkid -o list # ←UUIDを確認
$ sudo emacs /etc/fstab # 自動でマウント
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  swap   swap    defaults   0 0

音がちっちゃい問題

サウンドドライバ入れる

$ sudo apt-get install alsa
$ sudo apt install alsa-utils
$ alsamixer
Master , Headphone , Spearker のレベルを 100 にする
ボリュームバーの下に MM となっているのは、ミュート(消音)という意味。ミュートの解除はキーボードのmを押す。

ついでに、タスクバーのパネルに音量調節を追加

$ sudo apt-get install volumecontrol.app

タスクバー右クリック>パネルのアイテムの追加>追加>音量コントロール

スクリーンショットが取りたい

$ sudo apt-get install xfce4-screenshooter

$ emacs ~/.config/openbox/lxde-rc.xml

<!-- Keybindings for running applications --> の下に以下追記
  <keybind key="Print">
    <action name="Execute">
      <startupnotify>
        <enabled>true</enabled>
        <name>print-screen</name>
      </startupnotify>
      <command>xfce4-screenshooter -r -s /home/ほげほげ/Downloads</command>
    </action>
  </keybind>

gnome-screenshot用のkeybindディレクティブはコメントアウト

以上の設定でキーボードの PrtSc を押すと起動する

コマンドラインオプションを使用すると、スクリーンショットの撮影を速やかに行えます。これらを Print Screen キー (多くのキーボードの右上部にあります) に割り当ててスクリーンショットを撮ることができます。デスクトップ環境のキーバインド設定で、xfce4-screenshooter コマンドに以下のいくつかのオプションをつけて設定してください。

電源管理できるようにする

sudo apt install xfce4-power-manager

メニューからGUIを立ち上げると、初回のみ、「起動しますか」と聞かれる。

デスクトップセッションの設定に項目が追加され、次回OS起動時からは、自動起動。

「ディスプレイの輝度キーを扱う」にチェックを入れると、キーボード内の輝度キーを使えるようになる。

「ラップトップの蓋が閉じられたとき」の項目で、「ディスプレイの電源を切る」にしておくと、蓋を閉じても音楽が止まらないので気分がよい。

sylpheed の受信が遅い問題

迷惑メールフィルターに、bogofilter や bsfilter を使うと遅くなるので、sylfilter を使う。

Debian
Emacs
Firefox
Gauche
JavaScript
Linux
Scheme
org-mode/latex

More ...