Skip to content

[pkcl M5] BusyBox のビルド統合(--busybox-source)と最初の applet、ash/hush の調査、setjmp 対応 #170

Open

Description

@src3453

doc/spec_pkcl.md §8、§7 G7。BusyBox は GPL-2.0 のため同梱せず、利用者が用意した外部ソースのパスを指定してビルドする(Newlib の --newlib-source 方式)。tools/pkcl/busybox.py で pkcl・libc とともに busybox.wax を作り、/bin に applet を置く(1 MiB の FND_EXEC_IMAGE_MAX 内。applet を絞る)。NOMMU+NOFORK 構成の .config を管理し、BusyBox へのパッチは同梱しない。最初の対象は cat/echo/ls/cp/mv/rm/mkdir/head/tail/wc/sort/grep/sed 等。ash は setjmp/longjmp が必須なので llvm-src32 の対応状況を調べ、未対応なら runtime のアセンブリで実装する。hush と ash のどちらが NOMMU+posix_spawn で成立するかを調査する。

Activity

  1. added this to the Foundation OS milestone on Oct 25, 2026
  2. src3453 commented on Oct 25, 2026

    @src3453
    OwnerAuthor

    PR #172 で、BusyBox 1.36.1 を pkcl と Newlib で組み、Foundation 上で busybox echo/printf/ls/cat/mkdir/wc などが動くところまで入れました(busybox.wax は 1.04 MB で、1 MiB の上限に収まっています)。

    残りは、ash/hush の調査と setjmp/longjmp(G7)、pipe(#169)、waitpid/posix_spawn(#167)、環境変数と pid(#168)です。シェルは含めていません。詳細は doc/spec_pkcl.md §8〜§10 と memory/2026-10-25-issue-170-busybox-on-foundation.md を参照してください。


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions