اول باید از سالم بودن پارتیشن های نند مطمئن بشیم، به خاطر همین بهترین راه نصب آندروید روی نند هست که با آموزش گفته شده در لینک زیر آن را انجام میدیم.
مرحله بعدی ساخت یک
uSD
حاوی لینوکس هست که آموزش آن در لینک زیر هست.
ساخت
uSD
لینوکس لینارو برای مارس بورد
حالا یک سری فایل و برنامه لازم داریم که من همه ی آنها را در فایل زیر روی سایت آپلود کردم. فایل زیر را دانلود کنید.
فایل
Uenv.txt
و فایل
u-boot.bin
و پوشه
sunxi-tools
را در آدرس
Home/linaro
کوپی می کنیم و فایل
uImage
را با
uImage
قبلی جایگزین می کنیم.
خوب حالا برد را با
uSD
بوت می کنیم.
حالا دستور زیر را انجام می دهیم
./home/linaro/sunxi-tools/nand-part /dev/nand 'linux 8000000'
این دستور حافظه نند را به دو پارتیشن تبدیل میکن
حالا دستورات زیر را انجام بدید و منتظر بمونید تا برد ریست بشه
sync reboot
بعد از اینکه برد کامل بوت شد با دستور زیر پارتیشن ها را بررسی می کنیم
root@linaro-alip:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nand 93:0 0 3.7G 0 disk ├─nand1 93:1 0 16M 0 part └─nand2 93:2 0 3.7G 0 part nanda 93:8 0 16M 0 disk nandb 93:16 0 3.7G 0 disk mmcblk0 179:0 0 1.9G 0 disk ├─mmcblk0p1 179:1 0 64M 0 part └─mmcblk0p2 179:2 0 1.8G 0 part /
با دستور زیر پارتیشن nandb را فرمت می کنیم
mke2fs -t ext4 /dev/nandb
حالا می خواهیم اطلاعات
rootfs
را از
uSD
روی نند بریزیم. برای اینکار از برنامه
rsync
استفاده می کنیم. پس ابتدا این برنامه را دانلود می کنیم.
apt-get install rsync
حالا با دستور زیر یک فایل متنی درست کنید
nano install-exclude
و این ادرس ها را داخل اون تایپ کنید
/dev/*
/proc/*
/sys/*
/media/*
/mnt/*
/run/*
/tmp/*
برای استفاده از
nandb
اول ان را با دستور زیر
mount
می کنیم.
mount /dev/nandb /mnt
با دستور زیر همه محتویات
rootfs
بجز آدرس های زیر داخل
nandb
کوپی می شود. این مرحله حدود 5 دقیقه یا بیشتر طول می کشه. پس منتظر بمونید.
rsync -aH --exclude-from=install-exclude / /mnt
برای امیدوار کردنتون بگم که من این مرحله را حدود 10 تا 15 بار تکرار کردم تا در پایان تونستم لینوکس را روی نند بالا بیارم، پس تا تموم شدن این مرحله صبور باشید و لطفا کلید اضافه ای نزنید.
الان ما تونستیم
rootfs
را روی نند بریزیم. الان می تونیم کرنل و تنظیمات را روی
sd
بزاریم و کرنل را طوری تنظیم کنیم تا
rootfs
را از روی نند بخونه، این تنظیمات داخل یک فایل متنی به اسم
Uenv.txt
قرار دارد که محتویات اون بصورت زیر است
setargs=setenv bootargs mem=1024M@0x40000000 console=ttyS0,115200 root=/dev/nandb init=/init loglevel=4 rootfstype=ext4 rootwait
به خاطر همین فایل تنظیمات را با دستورات زیر کنار کرنل کوپی می کنیم.
umount /mnt mount /dev/mmcblk0p1 /boot cp /home/linaro/Uenv.txt /boot/ reboot
پس از بالا اومد سیستم با دستور زیر بررسی می کنیم که
rootfs
کجا هست.
cat /proc/cmdline mem=1024M@0x40000000 console=ttyS0,115200 root=/dev/nandb init=/init loglevel=4 rootfstype=ext4 rootwait
خوب تا حالا همه چیز درسته. حالا می خواهیم کرنل را هم روی نند بریزیم تا بدون
uSD
هم بتونیم بوت بکنیم. دستورات زیر را انجام می دهیم.
mount /dev/nanda /mnt mount /dev/mmcblk0p1 /boot cp /boot/uImage /mnt/linux sync cp /boot/script.bin /mnt sync cp /boot/Uenv.txt /mnt/linux sync cp /home/linaro/u-boot.bin /mnt/linux sync shutdown now
بعد از خاموش شدن
uSD
را از برد جدا می کنیم و برد را دوباره روشن می کنیم.
حالا می تونید از لینوکس روی نند لذت ببرید.
با سلام خدمت شما دوستان عزیز . اگه امکان داشته باشین یک شماتیک ساده تر از پایه های هدر برد رو اساتید بزارن تا بتونیم ما هم استفاده بکنیم . چون من و بچه های مثل من تازه کار هستند و دقیقا نمی شه از فایل شماتیک برد که در دسترس هستش زیاد سر در آورد . فقط شماره پین های روی برد و همچنین مربوط به کدوم پین هستند . ممنون از شما اساتید عزیز .
خدا قوت حیلی عالی بود
مهنذس سرعت لینوکس روی نند چجوریاست؟؟؟
مثل اندروید خودش هست؟
عملکرد و سرعت ؟؟؟؟؟؟
خیلی ممنون
سرعت لینوکس روی نند خیلی از آندروید بیشتره
نسبت به SD هم خیلی سریعتر هست.
ولی کار کردن با SD خیلی راحتر هست و خودم به شخصه با SD کار می کنم.
سلام
من برای نصب لینوکس بر روی نند یک usd ساختم و قایلهای مورد نظر رو کپی کردم ولی نمیتونم از روی sd برد رو بوت کنم
من مارس برد دارم
با تشکر
با سلام
اگه بوت نمیکنه این روش را امتحان کنید
فایل uImage را جایگزین نکنید و اون را داخل پوشه Home/linaro بریزید.
وقتی به دستور زیر رسیدید
cp /home/linaro/Uenv.txt /boot/
این دستور را هم اجرا کنید
cp /home/linaro/uImage /boot/
امیدوارم جواب بده.
سلام
ممنونم از راهنماییتون.
متاسفانه باز هم مشکلم حل نشد. واقعا موندم مشکل از کجاست!!!؟
سلام ممنون از آموزشتون
مشکل من اینجاست نمی دونم کدوم پورت را وصل لپتاپ کنم که به حافظه nand دسترسی داشته باشم که بخوام حالا یا پارتیشن بندی کنم یا لینوکسی برنامه ای چیزی بریزم روش :( سیستم عامل من فدورا19 هست و /dev/nand را نمی شناسه otg و هم پاورش به usb لپتاپم زدم
سلام
دوست عزیز، dev/nand مربوط به خود برده و ربطی به لبتاپ نداره،
این جور نیست که شما فکر می کنید وصل لبتاپ کنید به عنوان یه حافظه باهاش رفتار می کنیم.
این بورد یک کامپیوتر کامله، این دستوراتی که تو آموزش هست، همشون تو خوده برد باید اجرا شوند.
سلام
وقتتون بخیر
می بخشید. من میخواستم یه تاچ نصب کنم به کوبی تراک. یه تاچ اسکرین 19 اینچ. میخواستم ببینم که آیا میتونم اینکارو بکنم؟
بعد اینکه درایور مخصوص این تاچ اسکرین لینوکس و ویندوز رو میتونه پشتیبانی کنه، و نسخه های لینوکس اون
Linux-32bit Redhat/Ubuntu/Fedora/Suse/CentOS/Debian
Rs232/USB
و Linux-64bit Redhat/Ubuntu/Fedora/Suse/CentOS/Debian
Rs232/USB
هست. آیا ایمیج این هست؟ من میتونم روی کوبی نصبش کنم؟
ممنون میشم اگه جوابمو بدید