Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Ryzen APU (Picasso) PCにDebian 10を入れてデュアルブートにする+各種環境整備(Dropbox, Qt)

常用のデスクトップPC(Ryzen 5 3400G / Windows10)にSSDを増設して、Debian 10を入れてデュアルブートにしたので備忘録

事前準備〜インストール

SSDを増設する

マザーボードの空いているM.2スロットに適当なSSDを入れる。今回はPlextorのMP9eGNを選択。
BIOSから増設したSSDが認識されていることを確認する。

起動ディスクを用意する

Windows上で、Linuxインストール用のUSBメモリを用意する。
Debian公式からnetinst用のisoイメージをダウンロードしてきて、USBメモリに焼く。
マザーボードがUEFIのときはGPTでフォーマットしておく。

インストール

USBメモリを挿したままBIOSメニューに入り、起動順序をUSBメモリ優先にする。 USBメモリのドライブ名にUEFIとかGPTとか表示されていることを確認しておく。
Debianのグラフィカルインストーラが立ち上がるので普通にインストールする。増設したSSDをまるごとDebian用にし、Windows環境には影響がないようにする。

Picasso向けの設定

Debian 10 (buster)のカーネルは4.19で、PicassoのCPU内蔵GPUをサポートしているのはカーネル4.20からなので、そのままでは内蔵GPUを認識できず、Xが起動しない。
また、DebianでAMDのGPUを利用するにはnon-freeのファームウェアが必要で、これもデフォルト設定ではインストールされない。

そのため、backportsから最新のカーネルを組み込み、AMDのファームウェアもインストールできるようにしておく。

最初はXが起動しないのでコンソールログインして、/etc/apt/sources.listを編集する(好みに応じてvimでもemacsでも適当なエディタをインストールしておく)

以下の記述を追加

sources.list
deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free

deb http://deb.debian.org/debian/ buster-backports main

カーネルをバックポートされた5.9に更新する。

$ sudo apt update
$ sudo apt install linux-image-5.9.0-0.bpo.5-rt-amd64

再起動後、AMD GPU向けのファームウェアを入れる

$ sudo apt install firmware-linux firmware-linux-nonfree libdrm-amdgpu1 xserver-xorg-video-amdgpu 

これでXが起動するはず。
今回は好みのKDE Plasmaをインストールした。

デュアルブートの設定

Windowsが先にインストールされているシステムに後からDebianを入れた場合、自動的にgrubにWindows boot managerが追記されるため、BIOS的にはDebianがインストールされたSSDを優先起動に設定しておけば、DebianのgrubメニューでDebian/Windowsを選択できるようになる。
実用的には、Windowsはアップデートなどで自動再起動を行うことが多いのでgrubメニューのデフォルト設定を固定でなく「前回起動したOS」に設定し、さらに自動選択までの時間を10秒くらいに伸ばしておくほうが何かと便利だと思う。
/etc/default/grubを編集して以下の3行を追記する。

grub
GRUB_DEFAULT=saved
GRUB_TIMEOUT=10
GRUB_SAVEDEFAULT=true

GRUB_SAVEDEFAULTtrueGRUB_DEFAULTsavedにしておくと、前回起動したOSを記憶してデフォルトにする。これで、Windows Updateなどで自動再起動がかかったときにDebianが起動してしまいアップデートが中途半端になってしまう事態を回避できる。

ハマった各種設定

常用している各種アプリを入れる過程でハマったポイントをメモしておく。ハマったら随時追加予定

Qt

GUIアプリケーションの開発環境としてQtを利用しているが、最新のインストーラがインストールするQt公式IDEのQt Creator 4.14がそのままではDebian 10ではうまく起動しない。
Qt公式のbug reportによると、DebianはUbuntuとインストールされるライブラリのバージョンが異なるらしく、さらに現状ではDebianはサポート対象に含まれていないので対応予定はないらしい。

libxcb-util0 (0.3.8) on Debian
https://packages.debian.org/stretch/amd64/libxcb-util0/filelist
/usr/lib/x86_64-linux-gnu/libxcb-util.so.0
/usr/lib/x86_64-linux-gnu/libxcb-util.so.0.0.0

libxcb-util1 (0.4.0) on Ubuntu
https://packages.ubuntu.com/xenial/amd64/libxcb-util1/filelist
/usr/lib/x86_64-linux-gnu/libxcb-util.so.1
/usr/lib/x86_64-linux-gnu/libxcb-util.so.1.0.0

上記bug report上で議論されている通り、手っ取り早くlibxcb-util.so.1というシンボリックリンクを作ってlibxcb-util.so.0.0.0からリンクを張れば回避できる。

Dropbox

DropboxのLinux版デスクトップアプリを使ってファイルを同期しようとしたが、ある時点からさっぱり同期が進まなくなってしまった。
色々調べたところ、Linuxのデフォルト設定では10000以上のディレクトリを監視対象にすることができないらしい。

Dropboxディレクトリ以下のサブディレクトリが10000以上あるとその制限に引っかかる。
サブディレクトリ数は以下のようにカウント可能。

$ find Dropbox -type d | wc -l

これで10000以上のディレクトリがある場合は、上記制限により同期が進まなくなっている。
回避策として、とりあえずシステム設定を100000程度に引き上げることで回避可能。

echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf; sudo sysctl -p
y_uehara1011
歌って潜れる組み込み系エンジニア
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away