コンテキスト:上記のコメントから、BSDish libc
と仮定すると
調べてあると思いますが libc
特定のカーネル (glibc
には抽象化レイヤーがあり、ある程度の移植性はありますが、抽象化レイヤーが引き起こす通常の問題を引き起こします)、BSD を libc
にします。 Linux カーネルで作業するには、ほぼ完全に書き直す必要があります。主要なシステム サービスは、2 つのシステム間で大きく異なります (一例:BSD libc
BSD は代わりにソケットペアを使用するため、パイプ/FIFO がないと仮定します。逆に、Linux はパイプ互換のソケットペアをサポートしていません)。
glibc
により、別の方向に進むことができます (Debian は FreeBSD カーネル上に実験的な Linux ユーザー空間を持っていると思います)。 の移植層。
多くの libc 実装があります。 uClibc または EGLIBC を使用してシステムを構築することは可能であり、非常に一般的です。特に難しいことはありません。Buildroot を試してみてください。