.TH MKFS.JFFS2 1 .SH "نام (NAME)" mkfs.jffs2 \- ایجاد یک ایمیج سیستم‌فایل JFFS2 از یک دایرکتوری .SH "خلاصه دستور (SYNOPSIS)" .B mkfs.jffs2 [ .B -p,--pad[=SIZE] ] [ .B -r,-d,--root .I directory ] [ .B -s,--pagesize=SIZE ] [ .B -e,--eraseblock=SIZE ] [ .B -c,--cleanmarker=SIZE ] [ .B -n,--no-cleanmarkers ] [ .B -o,--output .I image.jffs2 ] [ .B -l,--little-endian ] [ .B -b,--big-endian ] [ .B -D,--devtable=FILE ] [ .B -f,--faketime ] [ .B -q,--squash ] [ .B -U,--squash-uids ] [ .B -P,--squash-perms ] [ .B --with-xattr ] [ .B --with-selinux ] [ .B --with-posix-acl ] [ .B -m,--compression-mode=MODE ] [ .B -x,--disable-compressor=NAME ] [ .B -X,--enable-compressor=NAME ] [ .B -y,--compressor-priority=PRIORITY:NAME ] [ .B -L,--list-compressors ] [ .B -t,--test-compression ] [ .B -h,--help ] [ .B -v,--verbose ] [ .B -V,--version ] [ .B -i,--incremental .I image.jffs2 ] .SH "توضیحات (DESCRIPTION)" برنامهٔ .B mkfs.jffs2 یک ایمیج سیستم‌فایل JFFS2 (نسخهٔ دوم سیستم‌فایل ژورنالی فلش) ایجاد می‌کند و ایمیج حاصل را در فایل مشخص‌شده توسط گزینهٔ .B -o یا به‌طور پیش‌فرض در خروجی استاندارد می‌نویسد، مگر اینکه خروجی استاندارد یک دستگاه ترمینال باشد که در این صورت mkfs.jffs2 متوقف خواهد شد. ایمیج سیستم‌فایل با استفاده از فایل‌ها و دایرکتوری‌های موجود در دایرکتوری مشخص‌شده توسط گزینهٔ .B -r یا در صورت مشخص نشدن گزینهٔ .BR -r ، از دایرکتوری فعلی ساخته می‌شود. هر بلوک از فایل‌هایی که قرار است در ایمیج سیستم‌فایل قرار گیرند، بسته به حالت فشرده‌سازی انتخاب‌شده، با استفاده از یکی از فشرده‌سازهای موجود فشرده می‌شود. سیستم‌های فایل با ترتیب بایت (endianness) یکسان با میزبان ایجاد می‌شوند، مگر اینکه گزینه‌های .B -b یا .B -l مشخص شده باشند. درایور JFFS2 در هستهٔ لینوکس ۲.۴ فقط از ایمیج‌هایی با ترتیب بایت مشابه با CPU پشتیبانی می‌کرد. از نسخهٔ ۲.۵.۴۸، هسته می‌تواند با یک #define تغییر داده شود تا ایمیج‌هایی با ترتیب بایت غیربومی را بپذیرد. پشتیبانی کامل از هر دو حالت بایت (bi-endian) در هسته برنامه‌ریزی نشده است. بعید است ایمیج‌های JFFS2 به‌جز در ترکیب با درایورهای MTD (Memory Technology Device) در هستهٔ لینوکس کاربردی داشته باشند، زیرا درایور سیستم‌فایل JFFS2 در هسته به دستگاه‌های MTD نیاز دارد. .SH "گزینه‌ها (OPTIONS)" گزینه‌هایی که آرگومان SIZE می‌پذیرند می‌توانند به‌صورت ده‌دهی (مانند 65536)، هشت‌هشتی (0200000) یا شانزده‌شانزدهی (0x1000) مشخص شوند. .TP .B -p, --pad[=SIZE] خروجی را تا اندازهٔ SIZE بایت با 0xFF پر (pad) می‌کند. اگر SIZE مشخص نشود، خروجی تا انتهای آخرین بلوک پاک‌سازی (erase block) پر می‌شود. .TP .B -r, -d, --root=DIR سیستم‌فایل را از دایرکتوری DIR می‌سازد. مقدار پیش‌فرض دایرکتوری فعلی است. .TP .B -s, --pagesize=SIZE از اندازهٔ صفحهٔ SIZE استفاده می‌کند. مقدار پیش‌فرض 4 KiB است. این مقدار حداکثر اندازهٔ یک گره داده (data node) است. آن را مطابق با اندازهٔ صفحهٔ مدیریت حافظهٔ سیستم مقصد تنظیم کنید (توجه: این مقدار ارتباطی با اندازهٔ صفحهٔ NAND ندارد). .TP .B -e, --eraseblock=SIZE از اندازهٔ بلوک پاک‌سازی SIZE استفاده می‌کند. مقدار پیش‌فرض 64 KiB است. اگر از اندازه‌ای متفاوت با اندازهٔ بلوک پاک‌سازی دستگاه MTD مقصد استفاده کنید، ممکن است JFFS2 عملکرد بهینه‌ای نداشته باشد. اگر مقدار SIZE مشخص‌شده کمتر از ۴۰۹۶ باشد، واحد آن KiB فرض می‌شود. .TP .B -c, --cleanmarker=SIZE گره‌های \(aqCLEANMARKER\(aq را با اندازهٔ مشخص‌شده می‌نویسد. معمولاً تعیین اندازه‌ای غیر از مقدار پیش‌فرض ۱۲ بایت مناسب نیست. .TP .B -n, --no-cleanmarkers گره‌های \(aqCLEANMARKER\(aq را در ابتدای هر بلوک پاک‌سازی نمی‌نویسد. این گزینه می‌تواند برای ایجاد ایمیج‌های JFFS2 جهت استفاده روی حافظه‌های فلش NAND، و همچنین برای ساخت ایمیج‌هایی که قرار است روی سخت‌افزارهای گوناگون با اندازه‌های مختلف eraseblock استفاده شوند، مفید باشد. .TP .B -o, --output=FILE ایمیج JFFS2 را در فایل FILE می‌نویسد. مقدار پیش‌فرض خروجی استاندارد است. .TP .B -l, --little-endian یک ایمیج JFFS2 از نوع little-endian ایجاد می‌کند. پیش‌فرض ساخت ایمیجی با همان ترتیب بایت میزبان است. .TP .B -b, --big-endian یک ایمیج JFFS2 از نوع big-endian ایجاد می‌کند. پیش‌فرض ساخت ایمیجی با همان ترتیب بایت میزبان است. .TP .B -D, --devtable=FILE از FILE مشخص‌شده به‌عنوان فایل جدول دستگاه (device table) برای گنجاندن دستگاه‌ها و تغییر دسترسی‌ها در ایمیج ایجاد‌شده استفاده می‌کند؛ به‌ویژه زمانی که کاربر دسترسی لازم را برای ساخت آن‌ها روی سیستم‌فایل مبدأ ندارد. .TP .B -f, --faketime تمام برچسب‌های زمانی (timestamp) فایل‌ها را جهت آزمون رگرسیون به \(aq0\(aq تغییر می‌دهد. .TP .B -q, --squash مجوزها و مالکان را یکدست می‌کند (squash)؛ به‌طوری‌که مالکیت همهٔ فایل‌ها به root واگذار شده و دسترسی نوشتن برای \(aqgroup\(aq و \(aqother\(aq حذف می‌شود. .TP .B -U, --squash-uids مالکان را یکدست می‌کند به‌طوری‌که مالکیت همهٔ فایل‌ها به root تعلق می‌گیرد. .TP .B -P, --squash-perms مجوزها را یکدست کرده و دسترسی نوشتن را برای \(aqgroup\(aq و \(aqother\(aq حذف می‌کند. .TP .B --with-xattr ویژگی‌های xattr را فعال می‌کند و تمامی مدخل‌های xattr را درون فایل ایمیج jffs2 قرار می‌دهد. .TP .B --with-selinux ویژگی‌های xattr را فعال می‌کند و تنها برچسب‌های SELinux را درون فایل ایمیج jffs2 قرار می‌دهد. .TP .B --with-posix-acl ویژگی‌های xattr را فعال می‌کند و تنها مدخل‌های POSIX ACL را درون فایل ایمیج jffs2 قرار می‌دهد. .TP .B -m, --compression-mode=MODE حالت فشرده‌سازی پیش‌فرض را تنظیم می‌کند. حالت پیش‌فرض .B priority است که فشرده‌سازها را با ترتیبی از پیش تعیین‌شده امتحان کرده و نخستین مورد موفق را برمی‌گزیند. گزینه‌های جایگزین عبارتند از: .B none (دستور mkfs فشرده‌سازی انجام نمی‌دهد) و .B size (دستور mkfs تمام فشرده‌سازها را امتحان کرده و گزینه‌ای را که کوچک‌ترین نتیجه را تولید کند برمی‌گزیند). .TP .B -x, --disable-compressor=NAME یک فشرده‌ساز را غیرفعال می‌کند. از .B -L برای مشاهدهٔ فهرست فشرده‌سازهای موجود و وضعیت پیش‌فرض آن‌ها استفاده کنید. .TP .B -X, --enable-compressor=NAME یک فشرده‌ساز را فعال می‌کند. از .B -L برای مشاهدهٔ فهرست فشرده‌سازهای موجود و وضعیت پیش‌فرض آن‌ها استفاده کنید. .TP .B -y, --compressor-priority=PRIORITY:NAME اولویت یک فشرده‌ساز را تعیین می‌کند. از .B -L برای مشاهدهٔ فهرست فشرده‌سازهای موجود و اولویت پیش‌فرض آن‌ها استفاده کنید. اولویت‌ها در حالت فشرده‌سازی priority به کار می‌روند. .TP .B -L, --list-compressors فهرست فشرده‌سازهای موجود و وضعیت آن‌ها را نمایش می‌دهد. .TP .B -t, --test-compression پس از هر بار فشرده‌سازی، عمل خروج از فشرده‌سازی را فراخوانی کرده و نتیجه را با دادهٔ اصلی مقایسه می‌کند، و همچنین برخی بررسی‌های دیگر را انجام می‌دهد. .TP .B -h, --help متن راهنما را نمایش می‌دهد. .TP .B -v, --verbose اجرای پرجزئیات. .TP .B -V, --version اطلاعات نسخه را نمایش می‌دهد. .TP .B -i, --incremental=FILE یک ایمیج الحاقی برای FILE تولید می‌کند. اگر FILE روی حافظهٔ فلش نوشته شده باشد و خروجی به انتهای آن الحاق گردد، به نظر می‌رسد که گویی یک ایمیج یکپارچه بوده است. .SH "محدودیت‌ها (LIMITATIONS)" قالب و قواعد دستوری فایل جدول دستگاه (device table) این امکان را نمی‌دهد که پیوندهای نمادین (symbolic links) را در صورتی که از قبل در دایرکتوری کاری ریشه وجود نداشته باشند، ایجاد کند. با این حال، می‌توان پیوندهای نمادین را با نوع \fIl\fR در فایل جدول دستگاه مشخص کرد تا مجوزها و مالکیت آن‌ها تنظیم شود. .SH "گزارش باگ‌ها (BUGS)" سیستم‌فایل JFFS2 شماره‌های major و minor دستگاه را به ۸ بیت برای هر کدام محدود می‌کند. برخی این موضوع را یک اشکال می‌دانند. دستور .B mkfs.jffs2 پیوندهای سخت (hard links) را در ساختار دایرکتوری ورودی به‌درستی مدیریت نمی‌کند. در حال حاضر، فایل‌های دارای پیوند سخت در ایمیج خروجی به چندین فایل یکسان گسترش می‌یابند. .SH "نویسندگان (AUTHORS)" David Woodhouse .br صفحهٔ راهنما توسط David Schleef نوشته شده است. .SH "همچنین ببینید (SEE ALSO)" .BR mkfs (8), .BR mkfs.jffs (1), .BR fakeroot (1)