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 ファイルが含まれています。既存のパーティションを利用して、パーティションをマウントしてください。
インストラー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
インストール先のUSBメモリ(B)を準備
32GBのUSBを購入した。
フォーマットは、OSインストール時に行えるので事前に行う必要ない。
(A)のUSBをブートして(B)にOSインストール
こっから 母艦(EFI-Lenovoノート) での作業。インスト中は無線につながらない可能性大なので、有線環境で行う。
- F12 でブートメニューを呼び出し、EFI版のインストーラを選択。
- パーティションの設定でインストール先USBを選択
※母体PCもデバイスとして表示されるので、ビビる。しかしルートマウントポジションを間違わなければ、母体PCがぶっ飛ぶことはない。 - ガイドによるパーティションを選択すると、空き領域、ESP(536.5MB)、ext4(31GB)、スワップ(1MB)、空き領域の順で作成される。
- USBへの書き込みを減らすために、スワップ領域は作らないので、手動でパーティションやり直し。
しかし、ESP(537MB)、ext4(max)で完了させると、先頭と最後にやはり空き領域が勝手にできる。 - ソフトウェアの選択 で、チェックをすべて外す
むにゃむにゃとやってリブートでDebianが立ち上がった。wifiも繋がった!
(B)USBブートでOSを起動
Debian 8 のカーネルをアップグレードする
- Upgrade linux kernel 3 to 4 in Debian 8 - Unix & Linux Stack Exchange
- How to upgrade the Linux Kernel of debian 8 jessie · GitHub
- Debian JP Project - その他のリリース情報
$ 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を抜き差ししてしまうと、次回から起動できない問題
- hddを切り離すとやはり消えるgrubx64.efi
- MacBook をEFIブートするUSBディスク作成してubuntuを起動する
- GRUBとEFIの組み合わせで使うときのメモ またはEFI全般のtips
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を入れる
$ 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 コマンドに以下のいくつかのオプションをつけて設定してください。
- -w オプションは、アクティブウィンドウのスクリーンショットを撮影します。
- -f オプションは、画面全体のスクリーンショットを撮影します。
- -r オプションは、画面の一点をクリックおよびそこからドラッグし、マウスボタンを離したところまでの矩形領域を撮ります。
- -d オプションは、-f、 -w、または -r オプションのいずれかが指定された際に、続く正の整数の秒数分経過した後にスクリーンショットを撮影します。
- -s オプションは続く既存のフォルダへのパスに、撮影したスクリーンショットを保存します。このオプションは -f、-w、または -r オプションのいずれかが指定されている場合のみ機能します。-h オプション (後述) との組み合わせで、保存ダイアログを表示せずに指定したパスに保存します。
- -h オプションを指定した場合、スクリーンショットは保存ダイアログを表示せずに保存されます。このオプションは -f、-w、または -r オプションのいずれかが指定されている場合のみ機能します。必要であれば -s オプションで保存場所を指定できます。
- -o オプションが指定された場合、スクリーンショットはシステムの作業ディレクトリに保存され、-o オプションの後に指定されたアプリケーションで開きます。このオプションは -f、-w、または -r オプションのいずれかが指定されている場合のみ機能します。
- -u オプションを設定した場合、スクリーンショットは ZimageZ にアップロードされます。詳細は前述の説明を参照してください。このオプションは -f、-w または -r オプションのいずれかが指定されている場合のみ機能します。
電源管理できるようにする
sudo apt install xfce4-power-manager
メニューからGUIを立ち上げると、初回のみ、「起動しますか」と聞かれる。
デスクトップセッションの設定に項目が追加され、次回OS起動時からは、自動起動。
「ディスプレイの輝度キーを扱う」にチェックを入れると、キーボード内の輝度キーを使えるようになる。
「ラップトップの蓋が閉じられたとき」の項目で、「ディスプレイの電源を切る」にしておくと、蓋を閉じても音楽が止まらないので気分がよい。
sylpheed の受信が遅い問題
迷惑メールフィルターに、bogofilter や bsfilter を使うと遅くなるので、sylfilter を使う。