0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ubuntu 22.04 LTS で困ったからDebian 11に移行したけど困ったからDockerでkernelをビルドした。

Last updated at Posted at 2022-06-08

概略

結構新しいラックサーバーをubuntu22.04にアップグレードしたらモニターが映らなくなった。
GPUは Matrox G200xxx なんだけど、枯れすぎたらしい。
ssh経由でkernelのフレーバーを変更したら写ったけど、新規にインストールできない(何かあっても再現できない)環境になってしまった。インストールUSBで立ち上げてもログインする前にモニターに映らなくなる。幸い立ち上げたばかりなので色々かえてもいい。

仕様

ベンダーはubuntuをサポートしているらしいが、canonicalのカーネル開発チームがベンダーを裏切ったので意味がない。

いつの時代もサポートなんて最小限にされてしまうよなと感慨深げに。

処置 & 新たな問題

debianに変更した。ubuntuよりもシンプルでsidからパッケージを持ってくることもできるしやった〜!!
あ、コンフリクトするやん。。。

家ではarchを使っていて、職場では長らくubuntuだったのでパッケージを管理してコンフリクトがものすごいエモかったです。

サーバーは主にdockerでデプロイされる環境なのでカーネルを比較的新しく保っておけばいい。だが、debianだと、sidからカーネルをインストールはできるが、他のツールのバージョンは古くなって他に入れたいソフトがビルドできない。。。

Dockerでビルドしたろ!!!!!!

Dockerでsidのイメージを持ってきてビルドするとシステムがクリーンなまま保てて、カスタマイズできてとても良い。

kernelはKCFLAGS=-march=nativeでビルドすると品質があがるらしい。

Dockerfile
FROM debian:unstable-slim

RUN echo "deb-src http://deb.debian.org/debian unstable main" >> /etc/apt/sources.list
RUN sed -i 's@deb.debian.org@ftp.riken.jp/Linux/debian@g' /etc/apt/sources.list
RUN apt-get -y update && apt-get -y upgrade && apt-get -y install build-essential libncurses-dev fakeroot dpkg-dev && apt-get -y build-dep linux
RUN apt-get -y install linux-source
RUN ls -l /usr/src/linux-config-5.18
RUN tar xf /usr/src/linux-source* && cd linux-source* && mv /usr/src/linux-config-*/config.amd64_none_amd64.xz . && xz -d config.amd64_none_amd64.xz && mv config.amd64_none_amd64 .config && echo "CONFIG_PROCESSOR_SELECT=y" >> .config
RUN cd linux-source* && nice make -j 65 KCFLAGS=-march=native bindeb-pkg
RUN mkdir data

CMD mv linux-headers* ./data/ && mv linux-image* ./data/ && mv linux-libc-dev* ./data/

dataディレクトリをマウントしたら良い。

結論

えっ!5分でビルド終わった。。。。。
コンフリクトはDockerに丸投げする。本番ディストリはお固くまとめる。新旧一体でどや。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?