お気づきの方もいらっしゃると思います。
コメント欄に、わたくしの苦悶を見かねて、
nekoさんがヒントを寄せてくださっています。
コメント欄に書くより、こちらに書いたほうが
読まれるとの思いから、こちらに投稿のかたちで
記載することにしました。
fuse-x86_64.xzm、06-crippled_sources-5.9.8-64bit.xzm。
この2つをダウンロードさせていただき、
activateし、例のソフトで./configureした結果は、
残念ながら、これまでと変わらない同じエラー表示が
でる状況でした。
mkaplコマンドで、作成できる
devel.xzm(05-devel-20.11.11-64bit.xzmも
ダウンロード。多分同じもの)の
中身を見てみますと、linux-headersに、
kernel-headers-musl-4.19.88-x86_64-1new
というのが含まれます。これが
どういう意味なのか。広範に使える
ヘッダーなのか、というのはあります。
make menuconfigして設定を見たかったので、
結果的にカーネルを上げて、5.9.9にしています。
ヘッダーも合わせて、オーバーライトする?
かたちで、archからのlinux-heaers-5.9.9を
ダウンロード、xzm化して、activateさせていますが、
無事に機能しているかどうか、判断できません。
この辺りくらいしか、解決の切り口が
この辺りしか残されていない感じです。gccのバージョンが
前すぎるとかでしょうか。こっちは、確かめられる
のでやってみるつもりです。
→最新archlinuxで、問題なく./configureできました。
当該ソフトウェアは、up0664.zipでネット検索すれば
出てくるものです。
$ ./configure && make && sudo make install
的なC言語の小さなソフトウェアです。
ブログ開設者様の精力的な取り組に、いつも圧倒されています。
自分の力不足を痛感しています。
カーネルビルドに関してのコメントです。
ご参考に成れば幸いです。
[カーネルビルド]
APorteusに基本ツールとして"Kernelビルダー"を収容しています。
1.devel.xzmモジュール
"Kernelビルダー"の主な機能を使用する為にはコンパイラー等を含むdevel.xzmモジュールが必要です。
ISOサイズ縮小目的で基本ツールとしては収容していません。
"ArchLinuxパッケージ簡易管理コマンド"で取得できます。
"システム"--->"ArchLinuxパッケージ簡易管理コマンド"
「ArchLinux簡易パッケージ管理CUIコマンド用GUIラッパー」画面で
収容場所、サイト、実行場所、を自環境に設定し、
コマンドに"mkdevel"を選択し実行すれば取得できます。
2."Kernelビルダー"使用方法
"Kernelビルダー"はビルド手順を記述したシェルスクリプトを生成しこれを実行します。
/カーネルビルダー用ディレクトリ/vカーネル版数/(32又は64)/ ディレクトリ配下に
lib, vmlinuz, XXbit.config, repo_getFW_XX, 06-crippled_sources-XX
等が生成されます。
ビルドの各種パラメータ
カーネルビルダー用ディレクトリ、カーネル版数、32Bit/64Bit指定等GUI画面から入力します。
又ビルド作業を分割して(又は複数)指定実行できます。
カーネルビルド(実行ステップ)で
(1)"ソース取得"だけチェックして"OK"押下すると該当ソースファイル(tar後圧縮したファイル)を取得します。
(2)ソースファイルの展開は
(該当作業無し、)単純展開、展開後AUFSパッチ適用、展開後個別自作パッチ適用から選びます。
(3)"コンパイル"をチェックして"OK"押下すると展開されたソースにmakeを実行します。
(4)"FW生成"をチェックして"OK"押下するとビルド済のlibのファームウエア設定をします。
===カーネルのビルドを独自調整する方法===
"Kernelビルダー"が使用するコンフィギュはある特定のユーザ環境を想定して作成されたものです。
個々のユーザにとって不要なものも入っています。
又サイズを小さくする為足りないものもあります。
ソース取得ソースファイルの展開作業だけで"Kernelビルダー"終わり、
次に
/カーネルビルダー用ディレクトリ/vカーネル版数/(32又は64)/ソースファイル展開済ディレクトリ
へ行き、"make menuconfig"コマンドでコンフィギュを修正し、
次に
"Kernelビルダー"を再起動して "コンパイル"、"FW生成"をチェックして"OK"押下します。
===カーネル版数選択拡張===
版数選択でピックアップされものは
ttps://www.kernel.org/finger_banner
から取得した情報と
/カーネルビルダー用ディレクトリ/vカーネル版数
のカーネル版数から得ています。
現在サポート対象版数は
/usr/local/share/mkKernel/lib
配下のv版数です。
例えば、
/カーネルビルダー用ディレクトリ/v5.1.1
ディレクトリを作成すれば版数5.1系列も選択対象に成ります。
===crippled_sources取得===
"コンパイル"、"FW生成"作業が終わった後(又は連続指定で)
「crippled_sources又は000-kernelモジュール生成」枠で
"crippled_sources"をチェックして"OK"押下します。
===ISOのカーネル更新===
生成されたlib, vmlinuzは別のディストリでも使用できますが、
ISO内部のカーネル更新はAPorteus, PorteusのISOのみ対象です。
"コンパイル"、"FW生成"作業が終わった後(又は連続指定で)
「カーネルを更新するISO」枠で
/カーネルビルダー用ディレクトリ
以外に在るISOを選択して"OK"押下します。
/カーネルビルダー用ディレクトリ/UP.選択ISO
が生成されます。
===機能詳細===
"OK"押下の代わりに"ヘルプ"押下すると
/カーネルビルダー用ディレクトリ/perform
が生成されます。
内容は"OK"押下時実行されシェルスクリプトです。
何をするのかの詳細を理解できます。
以上
明後日の方向の説明に成って恐縮しております。
APorteusはカーネルビルド以外のソースファイルからのビルドを想定していません。
この為ISOサイズ縮小化目的でパッケージからモジュールを作成する過程で不要な部分を削除しています。
ロケールデータでは自言語以外の他言語を削除しています。
更に、この不要部分にコンパイル時に必要になるヘッダーファイル等も削除しています。
例えば、ArchLinuxのパッケージfuse2-2.9.9-4-x86_64.pkg.tar.zstは
パケージ簡易管理ツールで取り出すと以下の2ファイルを生成します。
fuse2-2.9.9-x86_64-4.xzm :.....APorteusで使用する部分
fuse2-2.9.9-x86_64-4.xzm.sep :...不要部分として分離された部分
[fuse_b25のビルド]
./configure; make
ビルドエラーから、
従属パッケージとしてfuse2、pcscliteが必要です。
"ArchLinuxパッケージ簡易管理コマンド"からfuse2、pcsclite取得します。
指定収容場所に
fuse2-2.9.9-x86_64-4.xzm
fuse2-2.9.9-x86_64-4.xzm.sep
pcsclite-1.9.0-x86_64-1.xzm
pcsclite-1.9.0-x86_64-1.xzm.sep
APKG_CACHE
が生成されます。
APKG_CACHE下には
fuse2-2.9.9-4-x86_64.pkg.tar.zst
pcsclite-1.9.0-1-x86_64.pkg.tar.zst
がキャッシュ用にセーブされています。
fuse2、pcscliteを纏めてfuse_b25用ライブラリモジュールを作成します。
% su
# mkdir pkgs.lib4fuse_b25-0.4.8-x86_64-1
# cd pkgs.lib4fuse_b25-0.4.8-x86_64-1
# arch2dir /YourStoreDir/APKG_CACHE/fuse2-2.9.9-4-x86_64.pkg.tar.zst
# arch2dir /YourStoreDir/APKG_CACHE/pcsclite-1.9.0-1-x86_64.pkg.tar.zst
# cd ..
# pkgs2xzm pkgs.lib4fuse_b25-0.4.8-x86_64-1
# ls -1
lib4fuse_b25-0.4.8-x86_64-1.xzm
pkgs.lib4fuse_b25-0.4.8-x86_64-1
# activate
# cd /fuse_b25-build-place
# ./configure; make
# ls src/fuse_b25
src/fuse_b25
結果を纏めたファイルをアップしました。
FUSEB25-20.11.23.tar (532 K)
ttp://www.mediafire.com/file/i0z5btq5b40f38b/FUSEB25-20.11.23.tar
md5sum: 43c47003ce719212533344753755d075 FUSEB25-20.11.23.tar
# tar -xf FUSEB25-20.11.23.tar
fuse_b25
lib4fuse_b25-0.4.8-x86_64-1.xzm
# dXZM
# sep2pkg lib4fuse_b25-0.4.8-x86_64-1
# ls -1
fuse_b25
lib4fuse_b25-0.4.8-x86_64-1.xzm
pkgs.lib4fuse_b25-0.4.8-x86_64-1
以上ご参考に成れば幸いです。
追記1.
vlcとfuse_b25の使用方法ご教示頂ければ幸いです。
fuse_b25をAPorteusの基本部分に収容すべきか、vlcのみに収容すべきか判断ができていません。
追記2.
以前アップした06-crippled_sourcesモジュールをISO/porteus/modules配下に追加収容したISOを
再作して仮想PCで走行させれば走行するかもしれません(未確認)。
じぶんがやっていて、こうじゃないかなあ、と投稿したことがすでにnekoさんより、コメントをいただいていてびっくりいたしました。失礼したしました。先に読でいれば、すぐに腑に落ちていたはずのことでした。いつものトンチンカン男の軽薄さが出てしまい、相すみません。
fuse_b25は、pt3(pci_expressx1スロット)ないしpt2(pciスロット)というテレビ視聴テストを用途としていまして、まずもってpciのハード在りきのプログラムですね(テレビのアンテナ線の接続要)。b-casカードを挿入するカードリーダーとの連携に必要で、視聴までの概要は、
ttp://fedoranize.seesaa.net/article/416060810.html
にあります。fuse_b25を使う意図を知るには、archの場合で、/etc/rc.d/rc.localへの記述がわかりやすいと思います。
#!/bin/sh
for ADAPTER in 0 1 2 3 ; do
NEW_ADAPTER=`expr $ADAPTER + 10`
mkdir /dev/dvb/adapter$NEW_ADAPTER
chown root:root /dev/dvb/adapter$NEW_ADAPTER
chmod 0755 /dev/dvb/adapter$NEW_ADAPTER
/usr/bin/nice --4 /usr/local/bin/fuse_b25 --target /dev/dvb/adapter$ADAPTER /dev/dvb/adapter$NEW_ADAPTER -o allow_other
done
exit 0
専門家であられるnekoさんがご覧になれば、
何を意図しているか
お察しいただけると思います。
設定がすべて完了したときは、
$ tune 12 1 &
などで受信し、vlcを開いて、
メニューバーのプルダウン、
メディア→キャプチャーデバイスを開く→Video Cameraをプルダウンし、TV-デジタルに改める、チュナーカードの欄の/dev/dvb/adapter0を/dev/dvb/adapter12に変更し、再生ボタンクリックで視聴開始という段取りです。
ご案内したurlは5年ほども前の投稿です。今日ではパッケージがなかったりするようです。プログラムを精査なさるとかご希望でしたら、ダウンロードできるよう、どこかにアップロードいたします。tuneコマンドを適正に使うには、居住地でテレビアンテナを介して帯域をスキャニングする必要があったりします。tune.cの書き換え、再コンパル(make)が必要だったりします。けっこう面倒な仕組みで、初心者には、結果的によい勉強になりました。
vlcとfuse_b25の使用方法ご教示ありがとうございました。
残念ながら、教えて頂いた機器が無く追随できません。
取り敢えずfuse_b25はvlcモジュールに収容致します(/usr/bin/fuse_b25)。
[新APorteus]
カーネル5.9.10版の64Bit APorteus をアップしました。
お時間あれば試して頂ければ幸いです。
(ISOサイズ 1.1 M が大きく成って、お勧めを躊躇しています。)
以下の投稿記事中にAPorteus-MULT_ja-v20.11.24-x86_64.isoをアップしてあります。
ttps://forum.porteus.org/viewtopic.php?p=36689#p36689
ブログ開設者様ご愛用のモジュール
vlc (/usr/bin/fuse_b25含み)
gimp
kpatience
カーネルビルド用モジュール
devel
仮想PCで走行試験用に
crippled_sources
等を入れました。
又全デスクトップを入れました。
fuse2とpcscliteの、xzm.sepの切り離しなしの統合を、ご指導の通り、やってみました。すでにarchbangから持ってきたバイナリのべた貼りで、pt3が使えている環境になっており、そこで試しましたので、間違いなく行けた、とは言い切れませんが、どうやら上手くいったようです。xzm.sep部分切り離しのpcscliteのxzmとfuse2のxzmをextraから外してシステムを再起動し、./configureできないことを確かめた上で、出来上がったlib4fuse_b25-0.4.8-x86_64.xzmをactivateしましたら、無事./configureが通りました。
あと、5.9.10-porteusのビルドに一度目失敗しましたが、カーネルモジュールがロードしない、という症状が出ました。/usr/lib/5.9.10-porteusは存在し、中身もあったのですが。システム起動しますと、画面表示はするものの、800x600っぽくなったり、ネットにつながらない等、全面的にロードすべきカーネルモジュールがロードしていない感じでした。お気づきの点等ありましたら、ご教示いただけますか。お時間の許すとき、いつでもけっこうですので、よろしくお願いいたします。
カーネルビルダーに関する
ご質問応答遅れお許し下さい。
「2020年11月23日の記事」へのコメントに関して
同じスペックで追試しました。結果OKでした。
1,"AUFSパッチを指定"の件
--->パッチエラーで再展開し結果パッチ無し展開と同じ状態でコンパイルしました。
2.「crippled_sources...」枠で"000-kernel"にチェックの件
--->/home/guest/kernel_build/v5.9.10/64/000-kernel.xzmが生成されました。
これは使用しません。更新済ISOが生成され既に新000-kernel.xzmに成っています。
/home/guest/kernel_build/UP.APorteus-ENLIGHT_ja-v20.11.11-x86_64.iso
3.更新済ISO(UP.APorteus-ENLIGHT_ja-v20.11.11-x86_64.iso)がboot失敗する件
環境再現できず、推測である事をご了承下さい。
原因は新カーネル(vmlinuz, 000-kernel.xzm)が正しくできてない様な現象です。
ビルド不正原因は通常リソース不足が考えられます。
[不正原因1]
ビルド不正原因で考えられるのは作業領域(/home/guest/kernel_build/)の不足です。
ファイルシステムext4の大きなサイズの別パーティションを作業領域として再度実行する価値はあります。
余っているUSBスティックが有ればext4でフォーマットし(APorteusから/mnt/sdc1等で見える場合)、
そこ/mnt/sdc1を作業領域と指定し実行します。
[不正原因2]
不正原因1で修正されない場合、
次の不正原因はメモリ不足ですが、お使いのPCにLINUXのスワップパーティションがあれば、
これが活用されるので、通常は処理低下はしますが大丈夫だとおもいます。
スワップパーティションを追加して下さい。
以上、スバリの回答にならず情けないですが、5.9.11版でお試し頂ければ幸いです。
ありがとうございました。
おかげさまで投稿の通り、
上手くカーネルビルドできました。