init=
có thể thực hiện bất kỳ thực thi
init=
có thể thực hiện bất kỳ thực thi, bao gồm các kịch bản shell .
Ví dụ ở đây tôi trình bày cách tạo một C tối thiểu tùy ý được biên dịch init
: Làm thế nào để tạo một bản phân phối Linux tùy chỉnh chỉ chạy một chương trình và không có gì khác?
Vậy tại sao nó không chấp nhận /bin/bash
, trong tất cả mọi thứ, vốn chỉ là một thực thi thông thường, và thực sự có thể hữu ích? :-)
Tiếp theo, bạn cũng nên cố gắng hiểu sự đánh đổi sẽ là gì với thông thường của bạn init
như systemd hoặc Busybox '
Về cơ bản, với một nguyên /bin/bash
, bạn:
Kiểm soát công việc có thể được khôi phục trên init của Busybox và các mục tương tự khác với vị trí dẫn đầu -
trong inittab
:
tty3::respawn:-/bin/sh
Các inittab
mục bình thường hơn , sử dụng đăng nhập và giữ vỏ sinh sản nếu bạn thực hiện Ctrl + D là:
::respawn:/sbin/getty -L ttyS0 0 vt100
sử dụng getty
tệp thực thi, nhưng TODO: Tôi chưa thể tự sinh ra chúng mà không cần Busybox init
: getty bắt đầu từ dòng lệnh?
Bạn có thể sử dụng thiết lập này để chơi xung quanh nó và đạt được kết luận ở trên.