..

ماونت کردن فایل سیستم Ext4 روی wsl2 ویندوز

این اولین مطلب از سری مطالب HomeLab محسوب میشه که یه مقدمه خوبه برای همه کسایی که با rpi روی ویندوز کار میکنن

ههمون طور که میدونید برخلاف روزمره که از سیستم عامل لینوکس برای کاراستفاده میکنم سیستم عامل سیستم خونگی من ویندوزه اونم به چند دلیل

  1. من کار کردن با سیستم عامل های مختلف رو به خاطر تنوع و تغیییری که میده دوست دارم
  2. بازی کردن بخش بزرگی از تفریح من خارج از محیط کار محسوب میشه و ویندوز با ساپورت خوب درایور ها و بازی ها پلتفرم عالی برای بازی کردنه. لینوکس هم تو سال های اخیر مخصوصا با پشتیبانی steam خیلی بهتر شده ولی هنوز فاصله داره

اما ویندوز یه ضعف بزرگ داره اونم ساپورت به شدت ضعیفش از فایل سیستم Ext4 هستش که یکی از محبوب ترین فایل سیستم های متن باز و آزاد هستش

بعد از کلی گشتن تو فروم های مختلف و تست کردن نرم افزارهای مختلف میتونم بگم هیچ نرم افزار رایگانی حداقل روی ویندوز وجود نداره که بشه به راحتی باهاش فایل سیستم Ext4 رو mount کرد و فایل ها رو ادیت کرد

این خبر بد بود ولی خبر خوب اینه که میشه drive ها رو از windows به وسیله نرم افزار usbipd-win به wsl2 متصل کرد اما نیازمند یه سری ژانگولر بازیه.

این آموزش رسمی خود usbpid برای چگونه کامپایل کردن کرنل برای لینوکسه ( من نمیدونم چرا به صورت دیفالت این درایور ها رو فعال نمیکنن واقعا احمقانه است که از همه کاربرا انتظار داشته باشیم که فیچری مثل usb mass storage رو خودشون فعال کنن )

اینم یه آموزش دیگه که ویدئو یوتوبم داره

آموزش رسمی یه نواقصی رو هم داره مثلا بعضی از پیش نیاز ها ممکنه وجود نداشته باشه یا فایل bzImage تو شاخه arch/x86_64/boot/bzImage وجود داره

این پیش نیاز گمشده است

sudo apt install dwarves

من به صورت کامل vmlinux که کرنل کامپایل شده هستش رو به مسیر ` /mnt/c/Users/` انتقال دادم و فایل کانفیگ wsl من به این صورته

# cat /mnt/c/Users/<user>/.wslconfig

[wsl2]
localhostForwarding=true
kernel=C:\\Users\\<user>\\vmlinux%

و اما برای ماونت کردن یه sdcard مثلا که از sdcard reader هستش کافیه که لیست دیواس های فعلی رو روی سیستم ویندوزی خودمون بگیریم و بعدش دیوایسی که میخوایم رو به wsl اتچ کنیم

usbipd list
usbipd wsl attach --busid 4-3

اگه خوش شانس بوده باشید و همه چیز بر وفق مراد پیش رفته باشه حالا باید بتونید با استفاده از کامند lsblk دیسک مورد نظر و پارتیشن هاش رو ببینید برای ماونت کردن پارتیشن های Ext4 کافیه تو مسیر mnt یه دایرکتوری بسازین و پارتیشن رو به اون ماونت کنید به این صورت

sudo mkdir /mnt/rpi
sudo mount /dev/sdd1 rpi

حالا میشه به وسیله dd از image نسخه پشتیبان تهیه کرد و از اینکه روی ویندوز بود سوگواری نکرد.