この記事は、 NetBSD Advent Calendar 2018の5日目の記事です。
はじめに
2018年7月のJapan NetBSD Users' GroupのBoFの際には、いろいろ動かないものばかり だったのだが、2018年12月現在では、HP Spectre x360 13-inch ae019TUも多くの 機能がちゃんと動くようになっている。 今日から2日間は、HP Spectre x360 13-inch ae019TUで、快適にNetBSDデスクトップを 使用する方法について書いていきたい。 ちなみにこの記事は、おおしまさんのU-EFI bootで起動するNetBSD USBメモリを作ってみるの記事を 読んだ方にはほぼ不要だと思います。
NetBSDのインストール
このマシンには、当然のようにDVDドライブなどは内蔵されていない。
それにUEFIな環境で使用したい。
と言うことで、今日の時点で最新なNetBSD-8.99.26-amd64-uefi-install.img.gz
をnycdn.NetBSD.orgから
ディスクイメージをダウンロードして
USBスティックに書き込み、インストールに使用することにする。
NetBSDの環境があれば、そこでdd
コマンドで書き込むのが良いのだが、
今回は、Windows 10 Proの環境で書き込んでみた。rawrite32.exe
を使う。
rawrite32.exe
は、a href="https://www.netbsd.org/~martin/rawrite32/">
lNetBSD.orgにある
martin@
のウェブページからダウンロードすることができる。
ちなみに、既にGPTなパーティショニングがされていると、rawrite32.exe
では
どうやってもエラーになってディスクイメージを書き込めないことがある。
どうにかしたいのだが、何も行動できていない。
実際のインストールは、インストーラーであるsysinst
は使用しなかった。
おそらくsysinst
は、GPTパーティショニングな環境へのインストールに
まだ対応していないのではないかと思う。これについても何もできていない。
今回は、sysinst
が起動したら、すぐにCtrl-C
を押して
シェルに移行し、そこでインストールを行なった。
このマシンのストレージはNVMeなSSDであり、ld0
として認識される。
容量は1 TBである。
以下のようにしてパーティションを設定する。
# gpt create ld0 # gpt add -s 128m -t efi -l EFI ld0 # gpt add -s 50G -t ffs -l ROOT ld0 # gpt add -s 32G -t swap -l SWAP ld0 # gpt add -s 250G -t ffs -l USR ld0 # gpt -t ffs -l HOME ld0以下のようにそれぞれのパーティションを
newfs
する。
ここで、ld0
に作成した各GPTパーティションはdk2
移行に
割り振られているものとする。今のdk2
が実際に使用する際には
dk0
となる。
# newfs_msdos /dev/rdk2 # newfs -O2 /dev/rdk3 # newfs -O2 /dev/rdk4 # newfs -O2 /dev/rdk5 # newfs -O2 /dev/rdk6 # gpt set -a bootme -i 2 ld0ここで注意すべき点があるとすれば、
gpt biosboot
コマンドを使ってはいけない
ということである。
これを実行してしまうと、このマシンではUEFIでもCSMでも起動しなくなる
(そもそも純粋なUEFIモードというのが、このマシンのBIOS設定では不可能なようであるが)。
以下のようにUEFIブートローダーを配置する。
# mkdir /efiboot # mount_msdos /dev/dk2 /efiboot # mkdir -p /efiboot/EFI/boot # cp /usr/mdec/boot*.efi /efiboot/EFI/boot # umount /efibootこれにより、
bootia32.efi
とbootx64.efi
が配置され、
bootx64.efi
が使用されることとなる。
あとは、パーティションを実際の使用時と同じ構造で/mnt
以下に
にmount
して例えば以下のように配布物を展開しておく。
# tar zxvfp base.tgz -C /mnt # tar zxvfp etc.tgz -C /mntここで、他の配布物も展開しておいて良いが、X Window Systemに関しては、
xsrc
からビルドしたものでは快適なデスクトップ環境は実現できないので、
X Window System関連のものは展開しない。
忘れてはいけないのが、/dev
以下のノードの作成である。
このタイミングでちゃんとやっておかないとtmpfs
が使われてしまい。
直すのが面倒である。
他にも必要なものを準備しておく。
# cp / mnt/usr/mdec/boot /mnt # mkdir /mnt/kern # mkdir /mnt/proc # cd /mnt/dev # ./MAKEDEV all後は設定ファイル類を準備すれば良い。
# vi /etc/fstab NAME=ROOT / ffs rw,log 1 1 NAME=SWAP none swap sw,dp 0 0 NAME=USR /usr ffs rw,log 1 1 NAME=HOME /home ffs rw,log 1 1 kernfs /kern kernfs rw ptyfs /dev/pts ptyfs rw procfs /proc procfs rw tmpfs /var/shm tmpfs rw,-m1777,-sram%25 # vi /etc/rc.conf (snip) rc_configured=YES (snip)
ここまで来れば、後はいつものNetBSD環境である。 dmesgは、dmesgdに投稿してある。 一つ残念なこととして、USB Type-CポートがUSB 3のデバイスを認識しないというのがある。 どうにか直したいのだが…。
明日は、pkgsrc
と
pkgsrc-wip
を使って(私的に)快適なデスクトップ環境を構築する話を書きます。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。