কারণ এই প্রোগ্রামগুলি কার্নেল শিরোনামে সংজ্ঞায়িত জিনিসগুলি ব্যবহার করতে নির্মিত:
busybox-1.22.1]$ egrep -RHn '^#include <linux'
modutils/modutils-24.c:194:#include <linux/elf-em.h>
include/fix_u32.h:17:#include <linux/types.h>
libbb/loop.c:11:#include <linux/version.h>
console-tools/openvt.c:23:#include <linux/vt.h>
console-tools/kbd_mode.c:23:#include <linux/kd.h>
console-tools/showkey.c:19:#include <linux/kd.h>
util-linux/blockdev.c:36:#include <linux/fs.h>
util-linux/mkfs_ext2.c:50:#include <linux/fs.h>
util-linux/mkfs_vfat.c:28:#include <linux/hdreg.h> /* HDIO_GETGEO */
util-linux/mkfs_vfat.c:29:#include <linux/fd.h> /* FDGETPRM */
....
প্রতিটি নির্দিষ্ট সরঞ্জামের জন্য, ঠিক কী কী তা নির্ধারণ করার জন্য আপনাকে সরঞ্জামটির উত্স এবং প্রাসঙ্গিক কার্নেল শিরোনাম পড়তে হবে।
এটিকে সহজ করার জন্য আপনি কয়েকটি জিনিস মন্তব্য করা দেখতে পাচ্ছেন।
উদাহরণস্বরূপ, পেতে mkfs_vfat
অন্তর্ভুক্ত :linux/fd.h
FDGETPRM
$ egrep -RHn FDGETPRM util-linux/mkfs_vfat.c
util-linux/mkfs_vfat.c:29:#include <linux/fd.h> /* FDGETPRM */
util-linux/mkfs_vfat.c:351: int not_floppy = ioctl(dev, FDGETPRM, ¶m);
আপনি সম্ভবত প্রাসঙ্গিক অপসারণ করতে #include
এবং সহজতর করার জন্য সংকলক ত্রুটিগুলি দেখতে পারেন, আপনি সতর্কতা পাবেন যে কিছু জিনিস সংজ্ঞায়িত নয় are এই জিনিসগুলি সম্ভবত কার্নেল শিরোনাম থেকে আসে।