1 votos

¿Qué es el archivo "fstab" por defecto en Android?

Como ya sé, en Android 9, system y vendor se montan en la primera etapa de init mediante el análisis sintáctico fstab del árbol de dispositivos. Pero, hay otro fstab analizado en init proceso, es device default fstab que es analizado por ReadDefaultFstab función de abajo. Me encuentro con un error "failed to find device default fstab" en el registro de arranque. ¿Puede alguien explicar para mí este default fstab ¿archivo? ¿Qué es y cuál es su función?

// Loads the fstab file and combines with fstab entries passed in from device tree.
bool ReadDefaultFstab(Fstab* fstab) {
    Fstab dt_fstab;
    ReadFstabFromDt(&dt_fstab, false);

    *fstab = std::move(dt_fstab);

    std::string default_fstab_path;
    // Use different fstab paths for normal boot and recovery boot, respectively
    if (access("/system/bin/recovery", F_OK) == 0) {
        default_fstab_path = "/etc/recovery.fstab";
    } else {  // normal boot
        default_fstab_path = GetFstabPath();
    }

    Fstab default_fstab;
    if (!default_fstab_path.empty()) {
        ReadFstabFromFile(default_fstab_path, &default_fstab);
    } else {
        LINFO << __FUNCTION__ << "(): failed to find device default fstab";
    }

    for (auto&& entry : default_fstab) {
        fstab->emplace_back(std::move(entry));
    }

    return !fstab->empty();
}

0voto

Jack Wade Puntos 231

Puede ser en / (ramdisk), /odm/etc/ o /vendor/etc/ .

Almacenamiento en Android Configuración :

Para las versiones de Android 4.3 y posteriores, los distintos archivos fstab utilizados por init, vold y recovery se unificaron en el /fstab.<device> archivo

El siguiente cambio se produjo con Treble cuando se separó el código específico del proveedor/SoC del código genérico de AOSP. Así que fstab se trasladó a /odm o /vendor .

default_fstab_path lee GetFstabPath() :

// Identify path to fstab file. Lookup is based on pattern fstab.<hardware>,
// fstab.<hardware.platform> in folders /odm/etc, /vendor/etc, or /.

Compromiso estados:

fstab contiene contenido específico de dispositivos y soc que debe residir en /odm o en la partición /vendor. Este cambio busca en el archivo fstab.${ro.hardware} de /odm/etc, /vendor/etc y /, y luego utiliza el primero que se encuentre.

fstab contiene entradas para todos los sistemas de archivos que deben montarse en el arranque o en la recuperación de particiones, incluyendo system , vendor , userdata , cache , misc , persist , modem , dsp etc. Ver detalles en Particiones y sistemas de archivos de Android .

Algunas de las entradas de fstab se trasladan a la DTB. Véase "¿DÓNDE ESTÁ FSTAB?" en ¿Cómo desactivar dm-verity en Android?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X