Skip to content

Commit

Permalink
Embedded Linux: explain what happens with an initramfs without /init
Browse files Browse the repository at this point in the history
Update the "booting with initramfs" diagram.
Linux falls back to mounting the root device specified by root=
Tested on ARM on Linux 5.10

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
  • Loading branch information
michaelopdenacker committed Nov 12, 2021
1 parent 88ef7ec commit b56c33f
Showing 1 changed file with 43 additions and 42 deletions.
85 changes: 43 additions & 42 deletions slides/boot-sequence-initramfs/initramfs-boot-sequence.dia
Expand Up @@ -87,13 +87,13 @@
<dia:layer name="Arrière-plan" visible="true" connectable="true" active="true">
<dia:object type="Standard - Box" version="0" id="O0">
<dia:attribute name="obj_pos">
<dia:point val="17,11.05"/>
<dia:point val="17,12.1"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="16.95,11;41.05,19.35"/>
<dia:rectangle val="16.95,12.05;41.05,20.4"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="17,11.05"/>
<dia:point val="17,12.1"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="24"/>
Expand Down Expand Up @@ -154,7 +154,7 @@
<dia:point val="18,5.1"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="17.95,5.05;40.05,10.15"/>
<dia:rectangle val="17.95,5.05;40.05,11"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="18,5.1"/>
Expand All @@ -163,7 +163,7 @@
<dia:real val="22"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="5"/>
<dia:real val="5.8500000000000014"/>
</dia:attribute>
<dia:attribute name="border_width">
<dia:real val="0.10000000149011612"/>
Expand All @@ -183,13 +183,13 @@
</dia:object>
<dia:object type="Standard - Box" version="0" id="O3">
<dia:attribute name="obj_pos">
<dia:point val="18,11.7"/>
<dia:point val="18,12.75"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="17.95,11.65;40.05,17.95"/>
<dia:rectangle val="17.95,12.7;40.05,19"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="18,11.7"/>
<dia:point val="18,12.75"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="22"/>
Expand All @@ -215,10 +215,10 @@
</dia:object>
<dia:object type="Standard - Text" version="1" id="O4">
<dia:attribute name="obj_pos">
<dia:point val="28.85,18.9"/>
<dia:point val="28.85,19.95"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="21.8912,17.9229;35.8088,19.1616"/>
<dia:rectangle val="21.8912,18.9729;35.8088,20.2116"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
Expand All @@ -232,7 +232,7 @@
<dia:real val="1.0583332926034927"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="28.85,18.9"/>
<dia:point val="28.85,19.95"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000ff"/>
Expand All @@ -248,10 +248,10 @@
</dia:object>
<dia:object type="Standard - Text" version="1" id="O5">
<dia:attribute name="obj_pos">
<dia:point val="28.95,12.8"/>
<dia:point val="28.95,13.85"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="28.0912,11.8399;29.8087,13.0515"/>
<dia:rectangle val="28.0912,12.8899;29.8087,14.1015"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
Expand All @@ -265,7 +265,7 @@
<dia:real val="1.0583332926034927"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="28.95,12.8"/>
<dia:point val="28.95,13.85"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000ff"/>
Expand All @@ -281,10 +281,10 @@
</dia:object>
<dia:object type="Standard - Text" version="1" id="O6">
<dia:attribute name="obj_pos">
<dia:point val="29,14.1996"/>
<dia:point val="29,15.2496"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="19.4213,13.2924;38.6066,19.2533"/>
<dia:rectangle val="19.4213,14.3703;38.5787,20.2476"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
Expand All @@ -303,7 +303,7 @@ Mounts the root filesystem and switches to it (switch_root)
<dia:real val="0.95249996334314346"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="29,14.1996"/>
<dia:point val="29,15.2496"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000ff"/>
Expand Down Expand Up @@ -422,14 +422,15 @@ Loads DTB + kernel to RAM, starts the kernel#</dia:string>
<dia:point val="28.8513,7.4875"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="20.9363,6.60815;36.7663,9.62796"/>
<dia:rectangle val="18.5863,6.58028;39.1442,10.6362"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Initializes hardware devices and kernel subsystems
Extracts the initramfs archive to the file cache
Starts the /init executable if found#</dia:string>
Starts the /init executable if found
(otherwise falls back to mounting the device specified by root=)#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="Latin Modern Sans" style="0" name="Courier"/>
Expand Down Expand Up @@ -482,14 +483,14 @@ Starts the /init executable if found#</dia:string>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O12">
<dia:attribute name="obj_pos">
<dia:point val="29,10.1"/>
<dia:point val="29,10.95"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="28.6382,10.05;29.3618,11.75"/>
<dia:rectangle val="28.6382,10.9;29.3618,12.8"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="29,10.1"/>
<dia:point val="29,11.7"/>
<dia:point val="29,10.95"/>
<dia:point val="29,12.75"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
Expand All @@ -510,13 +511,13 @@ Starts the /init executable if found#</dia:string>
</dia:object>
<dia:object type="Standard - Box" version="0" id="O13">
<dia:attribute name="obj_pos">
<dia:point val="17.05,20.425"/>
<dia:point val="17.05,21.475"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="17,20.375;41.1,25.1742"/>
<dia:rectangle val="17,21.425;41.1,26.2242"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="17.05,20.425"/>
<dia:point val="17.05,21.475"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="24"/>
Expand All @@ -542,13 +543,13 @@ Starts the /init executable if found#</dia:string>
</dia:object>
<dia:object type="Standard - Box" version="0" id="O14">
<dia:attribute name="obj_pos">
<dia:point val="18.05,21.075"/>
<dia:point val="18.05,22.125"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="18,21.025;40.1,23.725"/>
<dia:rectangle val="18,22.075;40.1,24.775"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="18.05,21.075"/>
<dia:point val="18.05,22.125"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="22"/>
Expand All @@ -574,10 +575,10 @@ Starts the /init executable if found#</dia:string>
</dia:object>
<dia:object type="Standard - Text" version="1" id="O15">
<dia:attribute name="obj_pos">
<dia:point val="29.05,24.7496"/>
<dia:point val="29.05,25.7996"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="26.335,23.7725;31.765,25.0112"/>
<dia:rectangle val="26.335,24.8225;31.765,26.0612"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
Expand All @@ -591,7 +592,7 @@ Starts the /init executable if found#</dia:string>
<dia:real val="1.0583332926034927"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="29.05,24.7496"/>
<dia:point val="29.05,25.7996"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000ff"/>
Expand All @@ -607,10 +608,10 @@ Starts the /init executable if found#</dia:string>
</dia:object>
<dia:object type="Standard - Text" version="1" id="O16">
<dia:attribute name="obj_pos">
<dia:point val="29,22.175"/>
<dia:point val="29,23.225"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="27.1462,21.2149;30.8537,22.4265"/>
<dia:rectangle val="27.1462,22.2649;30.8537,23.4765"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
Expand All @@ -624,7 +625,7 @@ Starts the /init executable if found#</dia:string>
<dia:real val="1.0583332926034927"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="29,22.175"/>
<dia:point val="29,23.225"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000ff"/>
Expand All @@ -640,10 +641,10 @@ Starts the /init executable if found#</dia:string>
</dia:object>
<dia:object type="Standard - Text" version="1" id="O17">
<dia:attribute name="obj_pos">
<dia:point val="28.9362,23.2725"/>
<dia:point val="28.9362,24.3225"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="25.2912,22.3932;32.5812,23.508"/>
<dia:rectangle val="25.2912,23.4432;32.5812,24.558"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
Expand All @@ -657,7 +658,7 @@ Starts the /init executable if found#</dia:string>
<dia:real val="0.95249996334314346"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="28.9362,23.2725"/>
<dia:point val="28.9362,24.3225"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000ff"/>
Expand All @@ -673,14 +674,14 @@ Starts the /init executable if found#</dia:string>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O18">
<dia:attribute name="obj_pos">
<dia:point val="29,19.3"/>
<dia:point val="29,20.35"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="28.668,19.2486;29.3913,21.1264"/>
<dia:rectangle val="28.668,20.2986;29.3913,22.1764"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="29,19.3"/>
<dia:point val="29.05,21.075"/>
<dia:point val="29,20.35"/>
<dia:point val="29.05,22.125"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
Expand Down

0 comments on commit b56c33f

Please sign in to comment.