Где находится папка init d

Вайбер на компьютер 14.04.2019
Вайбер на компьютер

В Android возможно встроить различные скрипты и твики которые начнут работать еще в процессе загрузки системы, для это нужна поддержка ядром init.d, но как ее добавить? Очень просто!

Более детально про init.d можете прочитать в wiki , если коротко, то с помощью данной системы инициализации, можно улучшить с помощью скриптов скорость работы 3G интернета, продлить время работы устройства от одного заряда аккумулятора, влиять на работу процессора и многое другое. Скрипты можно найти в интернет…

Что необходимо чтобы добавить поддержку init.d в Android?

Способ 1. ОС Windows

  • Компьютер на ОС Windows (7/8/10)
  • Ядро boot.img
  • Скачать и распаковать архив с утилитой Android Image Kitchen
  • Скачать и установить Notepad ++
  • Способ 2. ОС UBUNTU (Linux)

  • Компьютер с ОС UBUNTU
  • Ядро boot.img от вашего смартфона или планшета Android
  • Инструкция как в ядро Android добавить поддержку init.d Способ 1. ОС Windows

    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. Через любой терминал (с помощью ПК или приложение) введите команду:

    grep busybox /init.rc

    3. Если появиться ответ со строкой:

    service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d

    Значит все работает как надо, ядро поддерживает init.d

    Где должна быть создана папка init.d в Android для добавления скриптов?

    1 . Скачайте приложение

    Если Вы сам деятель науки или просто любознательный человек, и Вы частенько смотрите или читаете последние новости в сфере науки или техники. Именно для Вас мы создали такой раздел, где освещаются последние новости мира в сфере новых научных открытий, достижений, а также в сфере техники. Только самые свежие события и только проверенные источники.


    В наше прогрессивное время наука двигается быстрыми темпами, так что не всегда можно уследить за ними. Какие-то старые догмы рушатся, какие-то выдвигаются новые. Человечество не стоит на месте и не должно стоять, а двигателем человечества, являются ученые, научные деятели. И в любой момент может произойти открытие, которое способно не просто поразить умы всего населения земного шара, но и в корне поменять нашу жизнь.


    Особая роль в науке выделяется медицине, так как человек, к сожалению не бессмертен, хрупок и очень уязвим к всякого рода заболеваниям. Многим известно, что в средние века люди в среднем жили лет 30, а сейчас 60-80 лет. То есть, как минимум вдвое увеличилась продолжительность жизни. На это повлияло, конечно, совокупность факторов, однако большую роль привнесла именно медицина. И, наверняка 60-80 лет для человека не предел средней жизни. Вполне возможно, что когда-нибудь люди перешагнут через отметку в 100 лет. Ученые со всего мира борются за это.


    В сфере и других наук постоянно ведутся разработки. Каждый год ученые со всего мира делаю маленькие открытия, потихоньку продвигая человечество вперед и улучшая нашу жизнь. Исследуется не тронутые человеком места, в первую очередь, конечно на нашей родной планете. Однако и в космосе постоянно происходят работы.


    Среди техники особенно рвется вперед робототехника. Ведется создание идеального разумного робота. Когда-то давно роботы – были элементом фантастики и не более. Но уже на данный момент некоторые корпорации имеют в штате сотрудников настоящих роботов, которые выполняют различные функции и помогают оптимизировать труд, экономить ресурсы и выполнять за человека опасные виды деятельности.


    Ещё хочется особое внимание уделить электронным вычислительным машинам, которые ещё лет 50 назад занимали огромное количество места, были медленными и требовали для своего ухода целую команду сотрудников. А сейчас такая машина, практически, в каждом доме, её уже называют проще и короче – компьютер. Теперь они не только компактны, но и в разы быстрее своих предшественников, а разобраться в нем может уже каждый желающий. С появлением компьютера человечество открыло новую эру, которую многие называют «технологической» или «информационной».


    Вспомнив о компьютере, не стоит забывать и о создании интернета. Это дало тоже огромный результат для человечества. Это неиссякаемый источник информации, который теперь доступен практически каждому человеку. Он связывает людей с разных континентов и молниеносно передает информацию, о таком лет 100 назад невозможно было даже мечтать.


    В этом разделе, Вы, безусловно, найдете для себя что-то интересное, увлекательное и познавательное. Возможно, даже когда-нибудь Вы сможете одним из первых узнать об открытии, которое не просто изменит мир, а перевернет Ваше сознание.

    Версия 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", который лежал в архиве. ВНИМАНИЕ!!! Если в этой папке…

    Слово автора:
    Это статья написана мной, т.е. , с использованием , которая не претендует на универсальность и открытие «Америки».Скорее она предназначена для ознакомления и в качестве деления личным опытом и размышлениями, ну и чутку для науки))))

    Введение:
    Данные скрипты-твики для 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"



    Назначение скриптов, помеченных вопросительным знаком, точно не знаю или их работа под вопросом!
    В прикрепленном архиве лежат готовые скрипты-твики, которые осталось только закинуть в папку init.d. Нумерация скриптов сохранена!

    p.s. Повторяюсь, все манипуляции над вашим аппаратом лежат на вашей совести! При использовании программ-твикеров типа mcTweaker удаляйте свои пользовательские скрипты да бы избежать неприятныз ситуаций и всегда делайте бэкап!
    p.p.s. Статья будет пополняться новой информацией по мере возможности! Вопросы задаем в комментариях!

    Прикрепленный файл #1:

    Внимание! У вас нет прав, для просмотра скрытого текста.



    Рекомендуем почитать

    Наверх