{
    "content": [
        {
            "type": "text",
            "text": "# SYSTEMD-CRYPTSETUP-GENERATOR (info)\n\n## NAME\n\nsystemd-cryptsetup-generator - Unit generator for /etc/crypttab\n\n## SYNOPSIS\n\n/lib/systemd/system-generators/systemd-cryptsetup-generator\n\n## DESCRIPTION\n\nsystemd-cryptsetup-generator is a generator that translates\n/etc/crypttab into native systemd units early at boot and when\nconfiguration of the system manager is reloaded. This will create\nsystemd-cryptsetup@.service(8) units as necessary.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **KERNEL COMMAND LINE**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "SYSTEMD-CRYPTSETUP-GENERATOR",
        "section": "",
        "mode": "info",
        "summary": "systemd-cryptsetup-generator - Unit generator for /etc/crypttab",
        "synopsis": "/lib/systemd/system-generators/systemd-cryptsetup-generator",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "systemd",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/systemd/1/json"
            },
            {
                "name": "crypttab",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/crypttab/5/json"
            },
            {
                "name": ".service",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/.service/8/json"
            },
            {
                "name": "cryptenroll",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/cryptenroll/1/json"
            },
            {
                "name": "cryptsetup",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/cryptsetup/8/json"
            },
            {
                "name": "systemd-fstab-generator",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/systemd-fstab-generator/8/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "KERNEL COMMAND LINE",
                "lines": 123,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 4,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "systemd-cryptsetup-generator - Unit generator for /etc/crypttab\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "/lib/systemd/system-generators/systemd-cryptsetup-generator\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "systemd-cryptsetup-generator is a generator that translates\n/etc/crypttab into native systemd units early at boot and when\nconfiguration of the system manager is reloaded. This will create\nsystemd-cryptsetup@.service(8) units as necessary.\n\nsystemd-cryptsetup-generator implements systemd.generator(7).\n",
                "subsections": []
            },
            "KERNEL COMMAND LINE": {
                "content": "systemd-cryptsetup-generator understands the following kernel command\nline parameters:\n\nluks=, rd.luks=\nTakes a boolean argument. Defaults to \"yes\". If \"no\", disables the\ngenerator entirely.  rd.luks= is honored only by initial RAM disk\n(initrd) while luks= is honored by both the main system and the\ninitrd.\n\nluks.crypttab=, rd.luks.crypttab=\nTakes a boolean argument. Defaults to \"yes\". If \"no\", causes the\ngenerator to ignore any devices configured in /etc/crypttab\n(luks.uuid= will still work however).  rd.luks.crypttab= is honored\nonly by initial RAM disk (initrd) while luks.crypttab= is honored\nby both the main system and the initrd.\n\nluks.uuid=, rd.luks.uuid=\nTakes a LUKS superblock UUID as argument. This will activate the\nspecified device as part of the boot process as if it was listed in\n/etc/crypttab. This option may be specified more than once in order\nto set up multiple devices.  rd.luks.uuid= is honored only by\ninitial RAM disk (initrd) while luks.uuid= is honored by both the\nmain system and the initrd.\n\nIf /etc/crypttab contains entries with the same UUID, then the\nname, keyfile and options specified there will be used. Otherwise,\nthe device will have the name \"luks-UUID\".\n\nIf /etc/crypttab exists, only those UUIDs specified on the kernel\ncommand line will be activated in the initrd or the real root.\n\nluks.name=, rd.luks.name=\nTakes a LUKS super block UUID followed by an \"=\" and a name. This\nimplies rd.luks.uuid= or luks.uuid= and will additionally make the\nLUKS device given by the UUID appear under the provided name.\n\nThis parameter is the analogue of the first crypttab(5) field\nvolume-name.\n\nrd.luks.name= is honored only by initial RAM disk (initrd) while\nluks.name= is honored by both the main system and the initrd.\n\nluks.data=, rd.luks.data=\nTakes a LUKS super block UUID followed by a \"=\" and a block device\nspecification for device hosting encrypted data.\n\nFor those entries specified with rd.luks.uuid= or luks.uuid=, the\ndata device will be set to the one specified by rd.luks.data= or\nluks.data= of the corresponding UUID.\n\nLUKS data device parameter is useful for specifying encrypted data\ndevices with detached headers specified in luks.options entry\ncontaining \"header=\" argument. For example,\nrd.luks.uuid=b40f1abf-2a53-400a-889a-2eccc27eaa40\nrd.luks.options=b40f1abf-2a53-400a-889a-2eccc27eaa40=header=/path/to/luks.hdr\nrd.luks.data=b40f1abf-2a53-400a-889a-2eccc27eaa40=/dev/sdx. Hence,\nin this case, we will attempt to unlock LUKS device assembled from\ndata device \"/dev/sdx\" and LUKS header (metadata) put in\n\"/path/to/luks.hdr\" file. This syntax is for now only supported on\na per-device basis, i.e. you have to specify LUKS device UUID.\n\nThis parameter is the analogue of the second crypttab(5) field\nencrypted-device.\n\nrd.luks.data= is honored only by initial RAM disk (initrd) while\nluks.data= is honored by both the main system and the initrd.\n\nluks.key=, rd.luks.key=\nTakes a password file name as argument or a LUKS super block UUID\nfollowed by a \"=\" and a password file name.\n\nFor those entries specified with rd.luks.uuid= or luks.uuid=, the\npassword file will be set to the one specified by rd.luks.key= or\nluks.key= of the corresponding UUID, or the password file that was\nspecified without a UUID.\n\nIt is also possible to specify an external device which should be\nmounted before we attempt to unlock the LUKS device.\nsystemd-cryptsetup will use password file stored on that device.\nDevice containing password file is specified by appending colon and\na device identifier to the password file path. For example,\nrd.luks.uuid=b40f1abf-2a53-400a-889a-2eccc27eaa40\nrd.luks.key=b40f1abf-2a53-400a-889a-2eccc27eaa40=/keyfile:LABEL=keydev.\nHence, in this case, we will attempt to mount file system residing\non the block device with label \"keydev\". This syntax is for now\nonly supported on a per-device basis, i.e. you have to specify LUKS\ndevice UUID.\n\nThis parameter is the analogue of the third crypttab(5) field\nkey-file.\n\nrd.luks.key= is honored only by initial RAM disk (initrd) while\nluks.key= is honored by both the main system and the initrd.\n\nluks.options=, rd.luks.options=\nTakes a LUKS super block UUID followed by an \"=\" and a string of\noptions separated by commas as argument. This will override the\noptions for the given UUID.\n\nIf only a list of options, without an UUID, is specified, they\napply to any UUIDs not specified elsewhere, and without an entry in\n/etc/crypttab.\n\nThis parameter is the analogue of the fourth crypttab(5) field\noptions.\n\nIt is possible to specify an external device which should be\nmounted before we attempt to unlock the LUKS device.\nsystemd-cryptsetup will assemble LUKS device by combining data\ndevice specified in luks.data with detached LUKS header found in\n\"header=\" argument. For example,\nrd.luks.uuid=b40f1abf-2a53-400a-889a-2eccc27eaa40\nrd.luks.options=b40f1abf-2a53-400a-889a-2eccc27eaa40=header=/luks.hdr:LABEL=hdrdev\nrd.luks.data=b40f1abf-2a53-400a-889a-2eccc27eaa40=/dev/sdx. Hence,\nin this case, we will attempt to mount file system residing on the\nblock device with label \"hdrdev\", and look for \"luks.hdr\" on that\nfile system. Said header will be used to unlock (decrypt) encrypted\ndata stored on /dev/sdx. This syntax is for now only supported on a\nper-device basis, i.e. you have to specify LUKS device UUID.\n\nrd.luks.options= is honored only by initial RAM disk (initrd) while\nluks.options= is honored by both the main system and the initrd.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "systemd(1), crypttab(5), systemd-cryptsetup@.service(8), systemd-\ncryptenroll(1), cryptsetup(8), systemd-fstab-generator(8)\n\nsystemd 249                                    SYSTEMD-CRYPTSETUP-GENERATOR(8)",
                "subsections": []
            }
        }
    }
}