Skip to content
  • Stefan Agner's avatar
    a477fcd7
    busybox: avoid circular dependency when using initramfs · a477fcd7
    Stefan Agner authored
    
    
    The kernel does not automatically mount devtmpfs when using initramfs
    based booting (even when using CONFIG_DEVTMPFS_MOUNT). If the rootfs
    is built with USE_DEVFS=1 (which is the default), the system ends up
    with a completely empty /dev to begin with.
    
    Busybox uses the first entry in inittab slightly different than
    other init systems:
    <id>: WARNING: This field has a non-traditional meaning for BusyBox init!
    
    The id field is used by BusyBox init to specify the controlling tty for
    the specified process to run on.  The contents of this field are
    appended to "/dev/" and used as-is.
    
    Since /dev/null is not there yet, Busybox throws errors instead of
    executing the commands, and hence never mounts devtmpfs:
    init started: BusyBox v1.24.1 (2016-09-04 11:53:14 PDT)
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    
    Avoid this circular dependency by not specifing <id>. With that
    Busybox ends up using the stdio of the init process and executes
    the inittab just fine.
    
    (From OE-Core rev: 82de49b899bca915259ea7ea149f50e1401c2426)
    
    Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
    Signed-off-by: default avatarRoss Burton <ross.burton@intel.com>
    Signed-off-by: default avatarRichard Purdie <richard.purdie@linuxfoundation.org>
    a477fcd7
    busybox: avoid circular dependency when using initramfs
    Stefan Agner authored
    
    
    The kernel does not automatically mount devtmpfs when using initramfs
    based booting (even when using CONFIG_DEVTMPFS_MOUNT). If the rootfs
    is built with USE_DEVFS=1 (which is the default), the system ends up
    with a completely empty /dev to begin with.
    
    Busybox uses the first entry in inittab slightly different than
    other init systems:
    <id>: WARNING: This field has a non-traditional meaning for BusyBox init!
    
    The id field is used by BusyBox init to specify the controlling tty for
    the specified process to run on.  The contents of this field are
    appended to "/dev/" and used as-is.
    
    Since /dev/null is not there yet, Busybox throws errors instead of
    executing the commands, and hence never mounts devtmpfs:
    init started: BusyBox v1.24.1 (2016-09-04 11:53:14 PDT)
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    can't open /dev/null: No such file or directory
    
    Avoid this circular dependency by not specifing <id>. With that
    Busybox ends up using the stdio of the init process and executes
    the inittab just fine.
    
    (From OE-Core rev: 82de49b899bca915259ea7ea149f50e1401c2426)
    
    Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
    Signed-off-by: default avatarRoss Burton <ross.burton@intel.com>
    Signed-off-by: default avatarRichard Purdie <richard.purdie@linuxfoundation.org>
Loading