3.79. rootdirs

We create package with all required directories. Later it must be installed first into newly created root filesystem.

#!/bin/sh
# Copyright © 1999-2022 Gerard Beekmans
# Copyright © 2017-2022 Random Crew
# Distributed under the terms of MIT License.

Configuration

src_config()
{
    return
}

Compilation

src_compile()
{
    return
}

Installation

src_install()
{
    mkdir -p \
        ${D}/bin/ \
        ${D}/boot/ \
        ${D}/etc/opt/ \
        ${D}/etc/sysconfig/ \
        ${D}/home/ \
        ${D}/lib/firmware/ \
        ${D}/mnt/ \
        ${D}/opt/ \
        ${D}/media/floppy/ \
        ${D}/media/cdrom/ \
        ${D}/sbin/ \
        ${D}/srv/ \
        ${D}/var/
    install -d 0750 ${D}/root/
    install -d -m 1777 ${D}/tmp/ ${D}/var/tmp/
    mkdir -p \
        ${D}/usr/local/bin/ \
        ${D}/usr/local/include/ \
        ${D}/usr/local/lib/ \
        ${D}/usr/local/sbin/ \
        ${D}/usr/local/src/ \
        ${D}/usr/local/share/color/ \
        ${D}/usr/local/share/dict/ \
        ${D}/usr/local/share/doc/ \
        ${D}/usr/local/share/info/ \
        ${D}/usr/local/share/locale/ \
        ${D}/usr/local/share/man/man1/ \
        ${D}/usr/local/share/man/man2/ \
        ${D}/usr/local/share/man/man3/ \
        ${D}/usr/local/share/man/man4/ \
        ${D}/usr/local/share/man/man5/ \
        ${D}/usr/local/share/man/man6/ \
        ${D}/usr/local/share/man/man7/ \
        ${D}/usr/local/share/man/man8/ \
        ${D}/usr/local/share/misc/ \
        ${D}/usr/local/share/terminfo/ \
        ${D}/usr/local/share/zoneinfo/ \
        ${D}/usr/bin/ \
        ${D}/usr/include/ \
        ${D}/usr/lib/ \
        ${D}/usr/sbin/ \
        ${D}/usr/src/ \
        ${D}/usr/share/color/ \
        ${D}/usr/share/dict/ \
        ${D}/usr/share/doc/ \
        ${D}/usr/share/info/ \
        ${D}/usr/share/locale/ \
        ${D}/usr/share/man/man1/ \
        ${D}/usr/share/man/man2/ \
        ${D}/usr/share/man/man3/ \
        ${D}/usr/share/man/man4/ \
        ${D}/usr/share/man/man5/ \
        ${D}/usr/share/man/man6/ \
        ${D}/usr/share/man/man7/ \
        ${D}/usr/share/man/man8/ \
        ${D}/usr/share/misc/ \
        ${D}/usr/share/terminfo/ \
        ${D}/usr/share/zoneinfo/ \
        ${D}/usr/libexec/

    if ause 'cap64' ; then
        mkdir -p ${D}/lib64
    fi

    mkdir -p \
        ${D}/var/log/ \
        ${D}/var/mail/ \
        ${D}/var/spool/ \
        ${D}/var/opt/ \
        ${D}/var/cache/ \
        ${D}/var/lib/color/ \
        ${D}/var/lib/misc/ \
        ${D}/var/lib/locate/ \
        ${D}/var/local/

    mkdir -p ${D}/run/ ${D}/sys/
    ln -s ../run /var/run
    ln -s ../run/lock /var/lock
}

Build code

pass1.sh
rootdirs.build

Other files

meta.txt
text

Links

url.lfs: https://linuxfromscratch.org/lfs/view/11.2/chapter07/creatingdirs.html
url.lfs.stage1: https://linuxfromscratch.org/lfs/view/11.2/chapter07/creatingdirs.html