Установим пакет встраивающий открытие терминала в файловом менеджере
1. Открываем терминал и вводим следующую команду (с версии Ubuntu 15.10 терминал уже встроен в файловый менеджер Nautilus)
Для 32х разрядных систем:
sudo apt-get install nautilus-open-terminal:i386
Для 64х разрядных систем:
sudo apt-get install nautilus-open-terminal
2. После чего выполнить команду перезапуска файлового менеджера
3. Установить пакет необходимый для работы с ядром Android
sudo apt-get install abootimg
В текстовом редакторе Gedit снять галочку с параметра «создание резервной копии»
Работа с ядром1. Создайте в папке home (Домашняя папка) папку с любым удобным именем и переместите туда ядро Android — boot.img
. (В примере будет указана папка kernel)
2. Перейдите в папку kernel , в любом пустом месте нажмите правую кнопку мыши и выбрать «Открыть в терминале»
3. В открывшемся терминале введите команду:
abootimg -x boot.img
После чего в папке kernel вы увидите что появились новые файлы (ядро распаковано)
4. Создадим новую папку (назовем ее rw ) внутри папки kernel , в терминале пишем
5. Пишем команду в терминале для дальнейшей распаковки раздела initrd.img
zcat ../initrd.img | cpio -i
6. После чего в папке rw
вы обнаружите множество файлов
7. Найдите и откройте файл init.rc
8. В конце файла добавьте следующие строки
# Execute files in /etc/init.d during boot
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d
class late_start
user root
group root
oneshot
и сохраните файл и выйдете с него
9. В терминале выполняем сборку файла initrd.img, пишем команду
find . | cpio -o -H newc | gzip > ../initrd.img
10. Возвращаемся обратно в папку kernel, для этого в терминале пишем
11. Собираем ядро Android с внесенными изменениями
и после еще одну команду
abootimg --create boot.img -f bootimg.cfg -k zImage -r initrd.img
Если получаете ошибку что ядро стало большим:
boot.img: updated is too big for the Boot Image
тогда собираем с такой командой
abootimg --create boot.img -k zImage -r initrd.img
abootimg --create boot.img -f bootimg.cfg -k zImage -r initrd.img -c "bootsize=размер_что_в_ошибке"
Ядро Android с поддержкой init.d собрано! Далее вам необходимо прошить!
В Android возможно встроить различные скрипты и твики которые начнут работать еще в процессе загрузки системы, для это нужна поддержка ядром init.d, но как ее добавить? Очень просто!
Более детально про init.d можете прочитать в wiki , если коротко, то с помощью данной системы инициализации, можно улучшить с помощью скриптов скорость работы 3G интернета, продлить время работы устройства от одного заряда аккумулятора, влиять на работу процессора и многое другое. Скрипты можно найти в интернет…
Что необходимо чтобы добавить поддержку init.d в Android?Способ 1. ОС Windows
Способ 2. ОС UBUNTU (Linux)
1. Ядро boot.img поместить рядом в папку Android Image Kitchen
2. Перетянуть ядро на BAT-скрипт unpackimg.bat , после чего ядро будет разобрано
3. Открыть папку ramdisk и найти файл init.rc , после чего открыть его через Notepad ++
Добавить после service bootanim /system/bin/bootanimation …. следующие стороки:
# Execute files in /etc/init.d during boot
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d
class late_start
user root
group root
oneshot
6. Запустить Bat-скрипт repackimg.bat после чего будет созданно новое ядро image-new.img
Способ 2. ОС UbuntuПодготовка
Установим пакет встраивающий открытие терминала в файловом менеджере
1 . Открываем терминал и вводим следующую команду (с версии Ubuntu 15.10 терминал уже встроен в файловый менеджер Nautilus)
Для 32х разрядных систем :
sudo apt-get install nautilus-open-terminal:i386Для 64х разрядных систем :
Sudo apt-get install nautilus-open-terminal
2 . После чего выполнить команду перезапуска файлового менеджера
Nautilus -q
3 . Установить пакет необходимый для работы с ядром Android
Sudo apt-get install abootimg
В текстовом редакторе Gedit снять галочку с параметра «создание резервной копии»
Работа с ядром1 . Создайте в папке home (Домашняя папка) папку с любым удобным именем и переместите туда ядро Android - boot.img. (В примере будет указана папка kernel)
2 . Перейдите в папку kernel , в любом пустом месте нажмите правую кнопку мыши и выбрать «Открыть в терминале»
3 . В открывшемся терминале введите команду:
Abootimg -x boot.img
После чего в папке kernel вы увидите что появились новые файлы (ядро распаковано)
4 . Создадим новую папку (назовем ее rw ) внутри папки kernel, в терминале пишем
5 . Пишем команду в терминале для дальнейшей распаковки раздела initrd.img
Zcat ../initrd.img | cpio -i
6 . После чего в папке rw вы обнаружите множество файлов
7 . Найдите и откройте файл init.rc
8 . В конце файла добавьте следующие строки
# Execute files in /etc/init.d during boot service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d class late_start user root group root oneshot
и сохраните файл и выйдете с него
9 . В терминале выполняем сборку файла initrd.img, пишем команду
Find . | cpio -o -H newc | gzip > ../initrd.img
10 . Возвращаемся обратно в папку kernel, для этого в терминале пишем
11 . Собираем ядро Android с внесенными изменениями
Abootimg --create boot.img -k zImage -r initrd.img
и после еще одну команду
Abootimg --create boot.img -f bootimg.cfg -k zImage -r initrd.img
Если получаете ошибку что ядро стало большим:
boot.img: updated is too big for the Boot Image
тогда собираем с такой командой
Abootimg --create boot.img -k zImage -r initrd.img abootimg --create boot.img -f bootimg.cfg -k zImage -r initrd.img -c "bootsize=размер_что_в_ошибке"
Ядро Android с поддержкой init.d собрано! Далее вам необходимо прошить!
Как проверить поддерживает ли ядро init.d?1. Установите Busybox
2. Через любой терминал (с помощью ПК или приложение) введите команду:
3. Если появиться ответ со строкой:
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.dЗначит все работает как надо, ядро поддерживает init.d
Где должна быть создана папка init.d в Android для добавления скриптов?1 . Скачайте приложение
Слово автора:
Это статья написана мной, т.е. , с использованием , которая не претендует на универсальность и открытие «Америки».Скорее она предназначена для ознакомления и в качестве деления личным опытом и размышлениями, ну и чутку для науки))))
Введение:
Данные скрипты-твики для init.d
призванны улучшить работу гуглофона и настроить его под свои нужды.
Для работы твиков необходима поддержка init.d
прошивкой вашего аппарата, а также .
Однако, поддержку init.d
можно эмулировать с помощью таких программ как или , включив соответствующие пункты в программах. Причем в mcTweaker
реализовано множество твиков для вашего аппарата.
Напомню, что в кастомных прошивках BusyBox может быть установлен, да и многие твики уже реализованы!
Все Вы делаете на свой страх и риск! Для манипуляций нужен root-доступ!
Общая информация:
Скрипты-твики необходимо класть по пути /system/etc/init.d/
:
Для редактирования/добавления/удаления скриптов я пользовался .
Если у Вас нет папки init.d
, то значит скрипты работать не будут 100%
!
Каждый файл скрипта начинается со строчки:
#!/system/bin/sh
Далее вставляется код твика, например: echo "500" >
echo "1000" >
Образец файла скрипта
#!/system/bin/sh
echo "500" > /proc/sys/vm/dirty_expire_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_centisecs
Файл скрипта называем по-любому, но так чтобы сами могли распознать их, например, Battery_tweak - твик аккумулятора.
Твики:
1)Твики скорости интернет-соединения
echo "0" > /proc/sys/net/ipv4/tcp_timestamps;
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse;
echo "1" > /proc/sys/net/ipv4/tcp_sack;
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle;
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling;
echo "5" > /proc/sys/net/ipv4/tcp_keepalive_probes;
echo "30" > /proc/sys/net/ipv4/tcp_keepalive_intvl;
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout;
echo "404480" > /proc/sys/net/core/wmem_max;
echo "404480" > /proc/sys/net/core/rmem_max;
echo "256960" > /proc/sys/net/core/rmem_default;
echo "256960" > /proc/sys/net/core/wmem_default;
echo "4096, 16384, 404480" > /proc/sys/net/ipv4/tcp_wmem;
echo "4096, 87380, 404480" > /proc/sys/net/ipv4/tcp_rmem;
2)Твики управления памятью виртуальной машины
echo "4096" > /proc/sys/vm/min_free_kbytes
echo "0" > /proc/sys/vm/oom_kill_allocating_task;
echo "0" > /proc/sys/vm/panic_on_oom;
echo "0" > /proc/sys/vm/laptop_mode;
echo "0" > /proc/sys/vm/swappiness
echo "50" > /proc/sys/vm/vfs_cache_pressure
echo "90" > /proc/sys/vm/dirty_ratio
echo "70" > /proc/sys/vm/dirty_background_ratio
3)Твики ядра
echo "8" > /proc/sys/vm/page-cluster;
echo "64000" > /proc/sys/kernel/msgmni;
echo "64000" > /proc/sys/kernel/msgmax;
echo "10" > /proc/sys/fs/lease-break-time;
echo "500, 512000, 64, 2048" > /proc/sys/kernel/sem;
4)Увеличиваем время жизни аккумулятора
echo "500" > /proc/sys/vm/dirty_expire_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_centisecs
5)Твик скорости чтения sd-карты(увеличение кеша карты)
echo "2048" > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
6)Дефрагментация файлов баз данных?
for i in \
`find /data -iname "*.db"`
do \
sqlite3 $i "VACUUM;";
done
7)Отключаем логгеры(не будут записываться лог-файлы)
rm /dev/log/main
8)Настраиваем пороги, при которых будет происходить выгрузка приложений при нехватке памяти
echo "2048, 3072, 6144, 15360, 17920, 20480" > /sys/module/lowmemorykiller/parameters/minfree
9)Твики управления кэша
LOOP=`ls -d /sys/block/loop*`;
RAM=`ls -d /sys/block/ram*`;
MMC=`ls -d /sys/block/mmc*`;
for j in $LOOP $RAM
do
echo "0" > $j/queue/rotational;
echo "2048" > $j/queue/read_ahead_kb;
done
10)Твики процессора?
SAMPLING_RATE=$(busybox expr `cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency` \* 750 / 1000)
echo 95 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo $SAMPLING_RATE > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
11)Перенос dalvik-кеша в раздел cache, чтобы разгрузить раздел data
CACHESIZE=$(df -k /cache | tail -n1 | tr -s " " | cut -d " " -f2)
if [ $CACHESIZE -gt 80000 ]
then
echo "Large cache detected, moving dalvik-cache to /cache"
if [ ! -d /cache/dalvik-cache ]
then
busybox rm -rf /cache/dalvik-cache /data/dalvik-cache
mkdir /cache/dalvik-cache /data/dalvik-cache
fi
Busybox chown 1000:1000 /cache/dalvik-cache
busybox chmod 0771 /cache/dalvik-cache
# bind mount dalvik-cache so we can still boot without the sdcard
busybox mount -o bind /cache/dalvik-cache /data/dalvik-cache
busybox chown 1000:1000 /data/dalvik-cache
busybox chmod 0771 /data/dalvik-cache
else
echo "Small cache detected, dalvik-cache will remain on /data"
fi
12)Удаление кэша, tmp-файлов и прочего мусора
#remove cache, tmp, and unused files
rm -f /cache/*.apk
rm -f /cache/*.tmp
rm -f /data/dalvik-cache/*.apk
rm -f /data/dalvik-cache/*.tmp
if [ -e /data/system/userbehavior.db ]
then
rm -f /data/system/userbehavior.db
fi
if [ -d /data/system/usagestats ]
then
chmod 400 /data/system/usagestats
fi
if [ -d /data/system/appusagestats ]
then
chmod 400 /data/system/appusagestats
fi
#remove main log
if [ -e /dev/log/main ]
then
rm -f /dev/log/main
fi
13)Изменение приоритета процессов-только стандартных. Желательно перед использованием проверить название процессов на вашем аппарате. Призвано увеличить плавность работы аппарата и сделать отклик более приятным)
renice -20 "pidof com.android.phone"
renice -19 "pidof com.android.inputmethod.latin"
renice -19 "pidof com.swype.android.inputmethod"
renice -17 "pidof com.android.systemui"
renice -9 "pidof com.android.settings"
renice -9 "pidof com.android.vending"
renice -6 "pidof com.sec.android.app.camera"
renice -6 "pidof com.sec.android.app.fm"
renice -6 "pidof com.google.android.apps.maps"
renice -4 "pidof com.google.android.apps.googlevoice"
renice -3 "pidof android.process.media"
p.s. Повторяюсь, все манипуляции над вашим аппаратом лежат на вашей совести! При использовании программ-твикеров типа mcTweaker
удаляйте свои пользовательские скрипты да бы избежать неприятныз ситуаций и всегда делайте бэкап!
p.p.s. Статья будет пополняться новой информацией по мере возможности! Вопросы задаем в комментариях!
Прикрепленный файл #1:
Внимание! У вас нет прав, для просмотра скрытого текста.
Версия Android : Android 2.2 и выше
Русский язык : нет
Разработчик : broodplank
Цена Google play : бесплатно
Скриншоты Init.d Toggler для АндроидInit.d Toggler является очень простым в пользовании программой, которое позволяет включить или отключить поддержку init.d. Init.d представляет собой каталог,который может содержать скрипты и твики, которые будут выполняться во время загрузки системы. ROOT и Busybox обязательны для запуска сценариев init.d.
Подробная инструкция по проверки включился ли init.dСкрипт, который позволит понять поддерживает ли ваша прошивка init.d (естественно, нужен ROOT, и если вы не уверены в своих силах сделайте nandroid backup через CWM.
1. Скачиваем это: Прикрепленный файл initd_testing.zip (631 байт)
2. Разархивируем.
3. Идем в папку «/system/etc/init.d/ » и кладем туда файл «initd_testing «, который лежал в архиве. ВНИМАНИЕ!!! Если в этой папке уже есть файл с таким же наименованием, меняем наименование файла на любое, которого нет в этой папке.
4. Выставляем ему права (разрешения), как на скриншоте (rwxr-x—).
5. Перезагружаем аппарат.
6. Идем в папку «/data/ «, если там есть файл с наименованием «initd_testing.txt «, в котором написано: «Hello from Bobko_904», значит прошивка поддерживает init.d, если нет такого файла, то прошивка, соответственно, не поддерживает.
7. Не забываем после всех, перечисленных действий обратно удалять файлы «/system/etc/init.d/initd_testind.txt » (или аналогичный, если вы меня наименование в пункте 3) и «/data/initd_testing.txt «
Init.d Toggler является очень простым в пользовании программой, которое позволяет включить или отключить поддержку init.d. Init.d представляет собой каталог,который может содержать скрипты и твики, которые будут выполняться во время загрузки системы. ROOT и Busybox обязательны для запуска сценариев init.d. Подробная инструкция по проверки включился ли init.d Скрипт, который позволит понять поддерживает ли ваша прошивка init.d (естественно, нужен ROOT, и если вы не уверены в своих силах сделайте nandroid backup через CWM. 1. Скачиваем это: Прикрепленный файл initd_testing.zip (631 байт)2. Разархивируем.3. Идем в папку "/system/etc/init.d/" и кладем туда файл "initd_testing", который лежал в архиве. ВНИМАНИЕ!!! Если в этой папке…
Если Вы сам деятель науки или просто любознательный человек, и Вы частенько смотрите или читаете последние новости в сфере науки или техники. Именно для Вас мы создали такой раздел, где освещаются последние новости мира в сфере новых научных открытий, достижений, а также в сфере техники. Только самые свежие события и только проверенные источники.
В наше прогрессивное время наука двигается быстрыми темпами, так что не всегда можно уследить за ними. Какие-то старые догмы рушатся, какие-то выдвигаются новые. Человечество не стоит на месте и не должно стоять, а двигателем человечества, являются ученые, научные деятели. И в любой момент может произойти открытие, которое способно не просто поразить умы всего населения земного шара, но и в корне поменять нашу жизнь.
Особая роль в науке выделяется медицине, так как человек, к сожалению не бессмертен, хрупок и очень уязвим к всякого рода заболеваниям. Многим известно, что в средние века люди в среднем жили лет 30, а сейчас 60-80 лет. То есть, как минимум вдвое увеличилась продолжительность жизни. На это повлияло, конечно, совокупность факторов, однако большую роль привнесла именно медицина. И, наверняка 60-80 лет для человека не предел средней жизни. Вполне возможно, что когда-нибудь люди перешагнут через отметку в 100 лет. Ученые со всего мира борются за это.
В сфере и других наук постоянно ведутся разработки. Каждый год ученые со всего мира делаю маленькие открытия, потихоньку продвигая человечество вперед и улучшая нашу жизнь. Исследуется не тронутые человеком места, в первую очередь, конечно на нашей родной планете. Однако и в космосе постоянно происходят работы.
Среди техники особенно рвется вперед робототехника. Ведется создание идеального разумного робота. Когда-то давно роботы – были элементом фантастики и не более. Но уже на данный момент некоторые корпорации имеют в штате сотрудников настоящих роботов, которые выполняют различные функции и помогают оптимизировать труд, экономить ресурсы и выполнять за человека опасные виды деятельности.
Ещё хочется особое внимание уделить электронным вычислительным машинам, которые ещё лет 50 назад занимали огромное количество места, были медленными и требовали для своего ухода целую команду сотрудников. А сейчас такая машина, практически, в каждом доме, её уже называют проще и короче – компьютер. Теперь они не только компактны, но и в разы быстрее своих предшественников, а разобраться в нем может уже каждый желающий. С появлением компьютера человечество открыло новую эру, которую многие называют «технологической» или «информационной».
Вспомнив о компьютере, не стоит забывать и о создании интернета. Это дало тоже огромный результат для человечества. Это неиссякаемый источник информации, который теперь доступен практически каждому человеку. Он связывает людей с разных континентов и молниеносно передает информацию, о таком лет 100 назад невозможно было даже мечтать.
В этом разделе, Вы, безусловно, найдете для себя что-то интересное, увлекательное и познавательное. Возможно, даже когда-нибудь Вы сможете одним из первых узнать об открытии, которое не просто изменит мир, а перевернет Ваше сознание.