আমরা বিভিন্ন Flashable টুইক ব্যবহার করি। টুইক (Tweak) গুলোর বেশিরভাগই Shell Scripts আর Build.prop টুইক দিয়ে তৈরি।
## বলে রাখা ভালো এখানে মেইন কাজটি করে এই Shell/Root Scripts যেগুলো system/etc/init.d ফোল্ডারে থাকে।
## আমরা যখন টুইকগুলো ইনস্টল করি তখন system/etc/init.d ফোল্ডারে অনেকগুলো স্ক্রিপ্ট ফাইল আসে। যেগুলো ফোন প্রত্যেকবার বুট হবার সময়ই Execute হয়। আপনাকে আলাদা করে টুইকগুলো বারবার Execute করতে হয় না।
## বিভিন্ন থার্ড পার্টি এপ যেমন, LSpeed যে টুইক ব্যবহার করে তা ফোন বুট হবার পর Execute হয়। এতে ফোন অন হবার পর Lspeed সক্রিয় হয়। ব্যাকগ্রাউন্ডে থেকে টুইকগুলো Execute করে এবং করার পর ব্যাকগ্রাউন্ডেই থেকে যায় আর র্যামের জায়গা দখল করে নেয়।
## এই জন্যই আগে Lsp3ed ব্যবহার করলেও এখন আর এটি ব্যবহার করি না। ভাবতে থাকি, ঠিক কি করলে টুইকগুলো বুটের সময়ই Execute হবে। এরপর পরিচিত হই init.d সম্পর্কে।
Q# আচ্ছা, সব ফোনে কি init.d সাপোর্ট করে?
## অবশ্যই। কিন্তু বিল্ট ইন নয়। সাপোর্ট করিয়ে নিতে হয়। যদি কার্নেলের কথা বলি তাহলে CM কার্নেলে আগে থেকেই init.d সাপোর্ট করে। নিজে থেকে করতে হয় না। তার মানে CM রমে প্রতিবার বুট হবার সময় system/etc/init.d ফোল্ডারের টুইকগুলো অটো Execute হয়। এটা শোনা কথা। আপনাকে অবশ্যই টেস্ট করে দেখতে হবে।
Q1# আর যারা স্টক রমে আছে কিংবা কার্নেল Aosp, Miui তারা কি করবে?
## তাদের ফোনে init.d সাপোর্ট করানো যাবে। এরজন্য আপনাকে কিছু কাজ করতে হবে। আজকের পোস্টে পাবেন।
Q2# আমি একটা ফ্লাশেবল টুইক Zip ইনস্টল করেছি। ফোন আগের থেকে বেটার কাজ করছে। তার মানে কি আমার ফোনে init.d সাপোর্ট করে?
## Not sure! আগেই বলেছি এসব টুইকে Build.prop এর টুইকও ব্যবহার করা হয়। শুধু এই কারণে ফোন একটু বেটার কাজ করছে। কিন্তু মেইন টুইক এক্সিকিউট হচ্ছে কিনা এটা বলা মুশকিল্।
Q3# কিভাবে বুঝব আমার ফোনে init.d আদৌ সাপোর্ট করে কিনা?
## এরজন্য একটা এক্সপেরিমেন্ট করা যাক। যদি আপনার ফোনে system/etc ফোল্ডারে init.d নামক কোনো ফোল্ডার খুঁজে না পান, তাহলে “YOU HAVE NO INIT.D suPPORT”
## আর যদি init.d ফোল্ডার খুঁজে পান তবে সাপোর্ট করে, কিন্তু বুটের সময় স্ক্রিপ্ট Execute হয় কিনা এটা বোঝার জন্য এই জিপ ফাইলটি Extract করে ভিতরের 11pdbdata ফাইলটি system/etc/init.d ফোল্ডারে কপি করুন। পারমিশন নিচের মত করে দিন।
## ফোন একবার রিবুট দিন। রিবুট হলে /data ফোল্ডারে দেখুন কোনো /swap/swap.img তৈরি হয়েছে কিনা। যদি হয় তবে আপনার ফোনে init.d সাপোর্টেড তাও আবার পুরোপুরিভাবে। না তৈরি হলে আপনার ফোন init.d সাপোর্ট করেনা।
Q4# আমার ফোনে init.d নামক কোনো ফোল্ডার নেই আমি কি করব?
## এর মানে তো ক্লিয়ার আপনার ফোনে init.d সাপোর্ট করে না। সাপোর্ট করাতে হবে। এরজন্য system/etc এর ভিতর init.d নামক ফোল্ডার তৈরি করুন। এরপর নিচের কাজগুলো করুন।
কিভাবে যেকোনো রুটেড ফোনে init.d সাপোর্ট করাবেন?
## প্রথমে Busybox ইনস্টল করে নিন। যদি না করা থাকে। (Must)
## এই term-init.sh ফাইলটি ডাউনলোড করে Sdcard এ রাখুন।
Mixplorer দিয়ে Properties এ গিয়ে Path এ লং প্রেস করে Copy করুন।
## এবার Terminal Emulator ওপেন করুন।
## su লিখে এন্টার দিন। তার পর কপি করা Path পেস্ট করে Enter দিন।
## Execution শুরু হবে। শেষ হলে রিবুট দিন।
## এবার Q3 এর মেথড ট্রাই করে চেক করুন সাপোর্ট করছে কি না!
এরপরেও সাপোর্ট না করলে বা বুটের সময় অটো এক্সিকিউট না হলে কি করব?
## তাহলে কার্নেলের সমস্যা। এটা ফিক্স করতে boot.img Unpack করে ramdisk/init.rc ফাইলে নিচের দুটি কমান্ড একবারে নিচে পেস্ট করুন।
# Run init.d scripts service sysinit /system/bin/logwrapper /sbin/run-parts /system/etc/init.d class main user root group shell oneshot # Run init.d scripts service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d class main user rootgroup shell oneshot
## এরপর boot.img Repack করে ফ্লাশ করুন। প্রথম রিবুট এ একটু সময় লাগবে। আমার ফোনে এভাবেই সাপোর্ট করাইছি।
Extra: প্রতিবার ফোন বুট হওয়ার সময় স্ক্রিপ্ট এক্সিকিউটে কি কি হয় তা চেক করতে Terminal Emulator এ su লিখে এন্টার দিন। তারপর লিখুন sysinit তারপর আবার Enter চাপুন
যারা এডভান্সড ইউজার তারাই বুঝবে এই পোস্টটি কত গুরুত্বপূর্ণ!! অদ্যাবে!
############################################
ধন্যবাদ।
??❤????⏰???⚽?⚾????✈??????????????????
## by Riadrox
যোগাযোগঃ
ই-মেইলঃ riadrox@gmail.com
Facebook:Riadrox