follow me

smack(busybox)準備

busyboxパッチを利用し、lsコマンドをSmackに対応させてみます。
提供されているパッチは、busybox-1.7.2用ですが、busybox-1.7.5でも問題ありません。

busyboxにパッチ適用し、make menuconfigで以下Smackオプションを有効化。
CONFIG_SMACK:

Enable support for Smack in applets ls, ps, and id.  Also provide
the option of compiling in Smack applets.

Symbol: SMACK [=y]
Prompt: Support Smack
  Defined at Config.in:225
  Location:
    -> Busybox Settings
      -> General Configuration

Vine5では以下エラーとなる。
今回は、ipsvd utilities機能は不要なので、ipsvd utilitiesのオプションをmenuconfigで外す事で回避。
In file included from /usr/include/linux/netfilter_ipv4.h:8,
                 from ipsvd/tcpudp.c:33:
/usr/include/linux/netfilter.h:45: error: field ‘in’ has incomplete type
/usr/include/linux/netfilter.h:46: error: field ‘in6’ has incomplete type
ipsvd/tcpudp.c: In function ‘tcpudpsvd_main’:
ipsvd/tcpudp.c:314: 警告: ignoring return value of ‘write’, declared with attribute warn_unused_result
make[1]: *** [ipsvd/tcpudp.o] エラー 1
make: *** [ipsvd] エラー 2
作成されたbusyboxのlsで-Zオプションを付ければ、SMACK64のラベルが表示されます。
まじめにやりだすと面倒なので、x86用に提供されているstaticバイナリが存在しますので、そちらを使ったほうがラクかも。
提供されてるバイナリでは、-Mオプションです。

-Mオプションを使うには、coreutils-6.9.patch側の様です。
ネットで調べるより、パッチの中身を見る方がはやかった。。。

関連情報

smack(busybox)準備 | 0 件のコメント | アカウント登録
サイト管理者はコメントに関する責任を負いません。