タイトルの通りです。インテルアーキ用i2s出力怪造カードとsmpd AoEのために何が何でもarchlinuxにしがみつくためのスレッドです(^^;;;。
yoさん
>このscriptコマンドを埋め込んだものでインストールテストしているところですが…
うまくいかないですね(^^;やはり、scriptコマンドは手動起動した方が良いでしょうね。
まあ、history(.zsh_history)でもある程度は追えますね。
yoさん
今更なんですが…
システムをインストール後に初めて再起動した時には、実機でネットワーク関連のサービス起動が必要なので、apu2単独でインストールする場合は、シリアルケーブルはやはり必須ですね。今頃気が付いたのかと云われそうですが(笑)
ちなみに、grubにシリアル設定を加えずデフォルトのままにして出来上がったものを、古いノートパソコン(core2duo)で起動させてネットワーク関連の設定を行ってみました。
このような形でもapu2で問題なく起動しますね。
頑張って作ったisoも、何か徒労だったような気がしてきました(^^;
えふ さん
> 頑張って作ったisoも、何か徒労だったような気がしてきました(^^;
何もしなくてもSSHでログイン出来るのはメリットだと思います。シリアルケーブル無しで、インストールが出来るわけですから。残して置かれると良いのではないでしょうか。
> ちなみに、grubにシリアル設定を加えずデフォルトのままにして出来上がったものを、古いノートパソコン(core2duo)で起動させてネットワーク関連の設定を行ってみました。
> このような形でもapu2で問題なく起動しますね。
この辺りは今回やってみて分かりました。APUって、基本的にはx86_64互換だということですね。
このスレッドに書いていいのか迷ったのですが、
ジャイアンさんのブログ
http://create.cocolog-nifty.com/blog/2019/11/post-74944d.html" target="_blank">http://create.cocolog-nifty.com/blog/2019/11/post-74944d.html
のコメント欄を引用します。
--引用開始--
symphonic-mpdの固定IPでの運用。
音の解像度が上がります。パパリウスさんも「systemd-networkdとsystemd-resolvedを停止でき、mpd再生時はさらにavahi-daemonも停止しています」と言われていて、裏で走るタスクを削れるんだそうです。
--引用ここまで--
これをもとにarchlinuxで、起動時にipコマンドをsystemd経由で走らせるスクリプトを
書いて追試してみました。
--シェルスクリプト 例 net-up.sh--
#!/bin/sh
. $1
ip link set "${interface}" up
ip addr add "${address}"/"${netmask}" broadcast "${broadcast}" dev "${interface}"
ip route add default via "${gateway}"
--シェルスクリプトここまで--
--設定ファイル 例 network-config.txt--
interface="インターフェイス名(例 enp0s30)"
address="プライベートipaddress"
netmask=24
broadcast="ブロードキャストアドレス(例 192.168.1.255)"
gateway="ルーターのアドレス"
--設定ファイルここまで--
--systemdのサービスファイル 例 network-up.service--
[Unit]
Description=network-up service
Before=mpd.target
[Service]
Type=idle
WorkingDirectory=/usr/bin
ExecStart=/usr/bin/sh -c "/path/to/directory/net-up.sh /path/to/directory/network-config.txt"
[Install]
WantedBy=multi-user.target
--systemdのサービスファイルここまで--
--systemdに反映--
sudo systemctl disable systemd-networkd
sudo systemctl disable systemd-resolved
sudo mv /path/to/directory/network-up.service /etc/systemd/system/network-up.service
sudo systemctl enable network-up.service
--/etc/resolve.conf--
nameserver ルーターのアドレス
--/etc/resolve.confここまで--
感想としては確かに解像度が上がって、低音が今まで聞こえなかったものが、聞こえるようになっています。パパリウスさんに感謝ですね。
もしご存知でしたら、このスレッドを汚してしまって申し訳ないです。
すみません。
誤 sudo mv /path/to/directory/network-up.service /etc/systemd/system/network-up.service
正 sudo mv /path/to/directory/network-up.service /etc/systemd/system/
誤--/etc/resolve.conf--
正--/etc/resolv.conf--
でした。
voice さん
スクリプト情報ありがとうございます。
smpdのR&Dクラブで公開されたイメージではipアドレスはdhcpを使った自動割り当てですので、このスクリプトは便利に使えそうです。
aoeによる2台構成の場合はフロントエンド側の設定は不要ですが、ハードを直結方式に接続を変える必要はありますので、ご注意を。
こんばんは
最小限カーネルのコンパイル方法です。
接続しているデバイスのドライバしか組み込みませんから汎用性は無いので、それぞれコンパイルしてください。
SMPDのvsoundを組み込むとエラーが発生しましたので、こちらに書き込むことにしました。
MPDは動きますし、音も出ています。
rootでは作業が出来ないので、ユーザーを作ります。
useradd -m xxx
パスワードの設定
passwd xxx
sudo で行ったり来たりも良いですが、rootと一般ユーザーの両方でsshログインしておいたほうが便利です。
kernel build を始めます。(一般ユーザーで)
linux-rt-ltsで進めます。(linux-rtの場合もほぼ同様です。)
git clone https://aur.archlinux.org/linux-rt-lts.git" target="_blank">https://aur.archlinux.org/linux-rt-lts.git
cd linux-rt-lts
PKGBUILD を編集します。
vi PKGBUILD
56行 make olddefconfig
57行 #make nconfig
となっていますが。
# make olddefconfig
make nconfig
としてnconfigで止まる様にしておきます。
makepkg
カーネルソースを取得してnconfigで止まります。
*キー・エラーが出た場合 FAILED (unknown public key 7258734B41C31549)
gpg --recv-key 7258734B41C31549 でキーを取得してください。
ctl-cでnconfigから抜けます。
最小限コンフィグの作成とコピー、リンクの作成
cd src/linux-rt-lts
make localmodconfig
cp .config ../../config-mini
cd ../
ln -s ../config-mini
cd ../
PKGBUILDの編集
vi PKGBUILD
55行 cp ../config .config
cp ../config-mini .config
再コンパイル
makepkg
nconfigで停止しますが、escで続行します。
これで出来上がるはずです。
こんにちは
先の書き込みの通り別のPCでコンパイルしてみました。
linux-rt-ltsではエラーが出るようです。
linux-rtの方では問題なくコンパイル出来ています。
linux-rtから make localmodconfig で作成したコンフィグをlinux-rt-ltsへ持っていきコンパイルしたやつは正常に作動します。
2台のPCで確認しましたが、双方問題ありませんでした。
こうして作成したカーネルを使って、SMPDのAOEもコンパイルしましたがこちらも正常に作動しています。
音がかなりすっきりした様に感じます。
皆様
moctさんの情報をそのまま流用して、linux-rtをコンパイルしてみました。
makepkgをしたあと
error: index-pack died of signal 9
fatal: index-pack failed
とでました。色々調べてみると、https://stackoverflow.com/questions/56901367/git-clone-error-index-pack-died-of-signal-9" target="_blank">https://stackoverflow.com/questions/56901367/git-clone-error-index-pack-died-of-signal-9
のサイトに行き着きgrubの設定をメモリが
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 mem=2G"
に変更していたのを忘れていました。こういう事するのは
自分だけでしょうが、報告致します。
こんばんは
なんて馬鹿なんだ。
最小限コンフィグの作成とコピー、リンクの作成
cd src/linux-rt-lts
make localmodconfig
とやって.configを生成した後
cd ../
PKGBUILDの編集
vi PKGBUILD
55行 cp ../config .config
#cp ../config .config
とやって.configにコーピーさせなければ良いんです。
わざわざ面倒なことをやってました。修行が足りません。
最小限カーネルのコンパイル方法について、
昨日からもっと簡単な方法はないかといろいろ調べていました。
その成果と言ってはなんですがこういうのを見つけました。
https://wiki.archlinux.jp/index.php/Modprobed-db" target="_blank">https://wiki.archlinux.jp/index.php/Modprobed-db
英語版本家のサイトも貼っておきます。
https://wiki.archlinux.org/index.php/Modprobed-db" target="_blank">https://wiki.archlinux.org/index.php/Modprobed-db
申し訳ありません。日本語サイトは情報が古くコンパイルはできたんですが、起動が失敗します。
英語版サイトでお願い致します。
moct さん
voice さん
やっと2台目のapu2が届いたのでmodprobed-dbによる最小カーネルの作成を試してみました。
英語サイトの方の情報を元にすればlinux-rt-ltsだけでうまく動くカーネルがビルドされました。
ポイントは
linux-rt-lts(目的のカーネルと同じもの)で行う
(aoeを使うならaoeも入れておく)
です。
あとは出来上がったdbにnetmapとvsoundも記録されているので、ビルド前にそれは削除すれば余計なエラーは見なくて済みます。
aoeは通常版のnetmapとvsoundはロードは出来るのですがまともには動かず、新しく専用にビルドしたものが必要でした。
apu1d用のシステムを作ろうと、カーネルのビルドを実機でやったのですが、カーネルソース(deltas)のダウンロードで
==> Retrieving sources...
-> Cloning linux-rt-lts git repo...
Cloning into bare repository '/home/yo/linux-rt-lts/linux-rt-lts'...
remote: Enumerating objects: 10309398, done.
remote: Total 10309398 (delta 0), reused 0 (delta 0), pack-reused 10309398
Receiving objects: 100% (10309398/10309398), 2.01 GiB | 4.10 MiB/s, done.
fatal: fetch-pack: invalid index-pack output
==> ERROR: Failure while downloading linux-rt-lts git repo
Aborting...
というエラーとなり、先にすすめませんでした。
同じシステム(ssd)をapu2c4で起動し、試したら、上手くいきましたので、apu2 4G環境では問題ないようです。
2G環境だとこのエラーになるということですかね。それとも、apu1でカーネルビルドなんて無謀なことをやったのが悪かったのかしら。
yoさん
swapを追加で割り当てる方法は、如何でしょうか。
もし現状、swap領域を割り当てる余裕がないのであれば、緊急避難的には、余ったUSBメモリを挿してそれをswapに割り当てることも出来たと思います。
yoさん
2GBメモリーのマシンでは最初のcloneは失敗します。えふさんも仰っておられますが、swapを作ることで回避できます。
継続的にそのマシンでビルドを行うのでしたら/etc/makepkg.confでSRCDESTを指定することにより、次回からは差分になるのでswapが必要なくなります。
えふ さん、udosan さん
アドバイスありがとうございました。
実は、最初、8GBのssdを使っていたのですが、これでディスクも使い切っていたのでした。今時、8GBのssdなんて売っていないと思いますので、骨董品ですね(まあ、apu1もそうですが)。
結局、素直に128GBのssd、apu2 4GBでビルドは出来て、作成したカーネルはapu1でも動作しましたので、取り敢えずはこれで使うつもりです。