ماونت کردن فایل سیستم Ext4 روی wsl2 ویندوز
این اولین مطلب از سری مطالب HomeLab محسوب میشه که یه مقدمه خوبه برای همه کسایی که با rpi روی ویندوز کار میکنن
ههمون طور که میدونید برخلاف روزمره که از سیستم عامل لینوکس برای کاراستفاده میکنم سیستم عامل سیستم خونگی من ویندوزه اونم به چند دلیل
- من کار کردن با سیستم عامل های مختلف رو به خاطر تنوع و تغیییری که میده دوست دارم
- بازی کردن بخش بزرگی از تفریح من خارج از محیط کار محسوب میشه و ویندوز با ساپورت خوب درایور ها و بازی ها پلتفرم عالی برای بازی کردنه. لینوکس هم تو سال های اخیر مخصوصا با پشتیبانی 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/
# 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
نسخه پشتیبان تهیه کرد و از اینکه روی ویندوز بود سوگواری نکرد.