292 lines
15 KiB
HTML
292 lines
15 KiB
HTML
<!DOCTYPE HTML>
|
|
<html lang="en" class="sidebar-visible no-js light">
|
|
<head>
|
|
<!-- Book generated using mdBook -->
|
|
<meta charset="UTF-8">
|
|
<title>Filesystem Layout - Minimal Linux Live</title>
|
|
|
|
|
|
|
|
|
|
<!-- Custom HTML head -->
|
|
|
|
|
|
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
|
<meta name="description" content="">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="theme-color" content="#ffffff" />
|
|
|
|
|
|
<link rel="icon" href="favicon.svg">
|
|
|
|
|
|
<link rel="shortcut icon" href="favicon.png">
|
|
|
|
<link rel="stylesheet" href="css/variables.css">
|
|
<link rel="stylesheet" href="css/general.css">
|
|
<link rel="stylesheet" href="css/chrome.css">
|
|
<link rel="stylesheet" href="css/print.css" media="print">
|
|
|
|
<!-- Fonts -->
|
|
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
|
|
|
|
<link rel="stylesheet" href="fonts/fonts.css">
|
|
|
|
|
|
<!-- Highlight.js Stylesheets -->
|
|
<link rel="stylesheet" href="highlight.css">
|
|
<link rel="stylesheet" href="tomorrow-night.css">
|
|
<link rel="stylesheet" href="ayu-highlight.css">
|
|
|
|
<!-- Custom theme stylesheets -->
|
|
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<!-- Provide site root to javascript -->
|
|
<script type="text/javascript">
|
|
var path_to_root = "";
|
|
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "navy" : "light";
|
|
</script>
|
|
|
|
<!-- Work around some values being stored in localStorage wrapped in quotes -->
|
|
<script type="text/javascript">
|
|
try {
|
|
var theme = localStorage.getItem('mdbook-theme');
|
|
var sidebar = localStorage.getItem('mdbook-sidebar');
|
|
|
|
if (theme.startsWith('"') && theme.endsWith('"')) {
|
|
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
|
|
}
|
|
|
|
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
|
|
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
|
|
}
|
|
} catch (e) { }
|
|
</script>
|
|
|
|
<!-- Set the theme before any content is loaded, prevents flash -->
|
|
<script type="text/javascript">
|
|
var theme;
|
|
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
|
|
if (theme === null || theme === undefined) { theme = default_theme; }
|
|
var html = document.querySelector('html');
|
|
html.classList.remove('no-js')
|
|
html.classList.remove('light')
|
|
html.classList.add(theme);
|
|
html.classList.add('js');
|
|
</script>
|
|
|
|
<!-- Hide / unhide sidebar before it is displayed -->
|
|
<script type="text/javascript">
|
|
var html = document.querySelector('html');
|
|
var sidebar = 'hidden';
|
|
if (document.body.clientWidth >= 1080) {
|
|
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
|
|
sidebar = sidebar || 'visible';
|
|
}
|
|
html.classList.remove('sidebar-visible');
|
|
html.classList.add("sidebar-" + sidebar);
|
|
</script>
|
|
|
|
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
|
|
<div class="sidebar-scrollbox">
|
|
<ol class="chapter"><li class="chapter-item expanded "><a href="architecture.html"><strong aria-hidden="true">1.</strong> Architecture</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="boot_process.html"><strong aria-hidden="true">1.1.</strong> Boot Process</a></li><li class="chapter-item expanded "><a href="filesystem_layout.html" class="active"><strong aria-hidden="true">1.2.</strong> Filesystem Layout</a></li></ol></li><li class="chapter-item expanded "><a href="overview.html"><strong aria-hidden="true">2.</strong> Initial Workspace</a></li><li class="chapter-item expanded "><a href="build_scripts.html"><strong aria-hidden="true">3.</strong> Build Process</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="common.html"><strong aria-hidden="true">3.1.</strong> Common Properties And Functions</a></li><li class="chapter-item expanded "><a href="00_clean.html"><strong aria-hidden="true">3.2.</strong> Step 00 - Clean Workspace</a></li><li class="chapter-item expanded "><a href="01_get_kernel.html"><strong aria-hidden="true">3.3.</strong> Step 01 - Get Kernel</a></li><li class="chapter-item expanded "><a href="02_build_kernel.html"><strong aria-hidden="true">3.4.</strong> Step 02 - Build Kernel</a></li></ol></li></ol>
|
|
</div>
|
|
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
|
|
</nav>
|
|
|
|
<div id="page-wrapper" class="page-wrapper">
|
|
|
|
<div class="page">
|
|
|
|
<div id="menu-bar-hover-placeholder"></div>
|
|
<div id="menu-bar" class="menu-bar sticky bordered">
|
|
<div class="left-buttons">
|
|
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
|
|
<i class="fa fa-bars"></i>
|
|
</button>
|
|
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
|
|
<i class="fa fa-paint-brush"></i>
|
|
</button>
|
|
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
|
|
<li role="none"><button role="menuitem" class="theme" id="light">Light (default)</button></li>
|
|
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
|
|
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
|
|
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
|
|
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
|
|
</ul>
|
|
|
|
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
|
|
<i class="fa fa-search"></i>
|
|
</button>
|
|
|
|
</div>
|
|
|
|
<h1 class="menu-title">Minimal Linux Live</h1>
|
|
|
|
<div class="right-buttons">
|
|
<a href="print.html" title="Print this book" aria-label="Print this book">
|
|
<i id="print-button" class="fa fa-print"></i>
|
|
</a>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div id="search-wrapper" class="hidden">
|
|
<form id="searchbar-outer" class="searchbar-outer">
|
|
<input type="search" name="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
|
|
</form>
|
|
<div id="searchresults-outer" class="searchresults-outer hidden">
|
|
<div id="searchresults-header" class="searchresults-header"></div>
|
|
<ul id="searchresults">
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
|
|
<script type="text/javascript">
|
|
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
|
|
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
|
|
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
|
|
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
|
|
});
|
|
</script>
|
|
|
|
<div id="content" class="content">
|
|
<main>
|
|
<h1><a class="header" href="#filesystem-layout-of-mlls-iso-image" id="filesystem-layout-of-mlls-iso-image">Filesystem Layout of MLL's ISO image</a></h1>
|
|
<ul>
|
|
<li><a href="#bios">BIOS</a></li>
|
|
<li><a href="#uefi">UEFI</a></li>
|
|
</ul>
|
|
<hr />
|
|
<p>The default build process generates a bootable ISO image file named <code>minimal_linux_live.iso</code>.</p>
|
|
<h3><a class="header" href="#bios" id="bios">BIOS</a></h3>
|
|
<p>When the property <code>FIRMWARE_TYPE</code> in the configuration file <code>.config</code> is set to <code>bios</code>, the generated ISO image has the following structure.</p>
|
|
<pre><code># FIRMWARE_TYPE=bios
|
|
|
|
minimal_linux_live.iso
|
|
├── boot/
|
|
│ ├── kernel.xz
|
|
│ ├── rootfs.xz
|
|
│ └── syslinux/
|
|
├── EFI/
|
|
└── minimal/
|
|
</code></pre>
|
|
<h4><a class="header" href="#boot" id="boot">boot/</a></h4>
|
|
<p>This folder contains all files that are necessary for the proper BIOS boot process. More precisely, you can find the Linux kernel, the initial RAM filesystem (initramfs) and the boot loader.</p>
|
|
<h4><a class="header" href="#bootkernelxz" id="bootkernelxz">boot/kernel.xz</a></h4>
|
|
<p>This is the Linux kernel. The kernel detects the available hardware, loads necessary drivers and then it passes the execution control to the initramfs.</p>
|
|
<h4><a class="header" href="#bootrootfsxz" id="bootrootfsxz">boot/rootfs.xz</a></h4>
|
|
<p>This is the initial RAM filesystem. The initramfs file is an archive, automatically unpacked by the kernel in the RAM. The actual execution control is passed to the shell script file <code>/init</code>, which must be present in the initramfs file.</p>
|
|
<h4><a class="header" href="#bootsyslinux" id="bootsyslinux">boot/syslinux/</a></h4>
|
|
<p>This folder contains the <a href="https://wiki.syslinux.org/wiki/index.php?title=ISOLINUX">ISOLINUX</a> boot loader (binaries and configuration files), part of the <a href="https://syslinux.org">Syslinux</a> project.</p>
|
|
<h4><a class="header" href="#efi" id="efi">EFI/</a></h4>
|
|
<p>This folder contains a simple <code>.nsh</code> script which allows MLL to boot on EFI based machines, provided that these machines support UEFI shell.</p>
|
|
<h4><a class="header" href="#minimal" id="minimal">minimal/</a></h4>
|
|
<p>This folder contains all MLL overlay bundles (i.e. additional software prepared during the build process).</p>
|
|
<h3><a class="header" href="#uefi" id="uefi">UEFI</a></h3>
|
|
<p>When the property <code>FIRMWARE_TYPE</code> in the configuration file <code>.config</code> is set to <code>uefi</code>, the generated ISO image has the following structure.</p>
|
|
<pre><code># FIRMWARE_TYPE=uefi
|
|
|
|
minimal_linux_live.iso
|
|
├── boot/
|
|
│ └── uefi.img
|
|
└── minimal/
|
|
</code></pre>
|
|
<h4><a class="header" href="#boot-1" id="boot-1">boot/</a></h4>
|
|
<p>This folder contains all files that are necessary for the proper UEFI boot process. More precisely, you can find the EFI boot image.</p>
|
|
<h4><a class="header" href="#bootuefiimg" id="bootuefiimg">boot/uefi.img</a></h4>
|
|
<p>This is the EFI boot image. It contains the <a href="https://github.com/ivandavidov/systemd-boot">systemd-boot</a> UEFI boot manager, corresponding boot configurations, the Linux kernel and the initramfs.</p>
|
|
<h4><a class="header" href="#minimal-1" id="minimal-1">minimal/</a></h4>
|
|
<p>This folder contains all MLL overlay bundles (i.e. additional software prepared during the build process).</p>
|
|
|
|
</main>
|
|
|
|
<nav class="nav-wrapper" aria-label="Page navigation">
|
|
<!-- Mobile navigation buttons -->
|
|
|
|
<a rel="prev" href="boot_process.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
|
<i class="fa fa-angle-left"></i>
|
|
</a>
|
|
|
|
|
|
|
|
<a rel="next" href="overview.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
|
<i class="fa fa-angle-right"></i>
|
|
</a>
|
|
|
|
|
|
<div style="clear: both"></div>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
|
|
<nav class="nav-wide-wrapper" aria-label="Page navigation">
|
|
|
|
<a rel="prev" href="boot_process.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
|
<i class="fa fa-angle-left"></i>
|
|
</a>
|
|
|
|
|
|
|
|
<a rel="next" href="overview.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
|
<i class="fa fa-angle-right"></i>
|
|
</a>
|
|
|
|
</nav>
|
|
|
|
</div>
|
|
|
|
|
|
<!-- Livereload script (if served using the cli tool) -->
|
|
<script type="text/javascript">
|
|
var socket = new WebSocket("ws://localhost:3000/__livereload");
|
|
socket.onmessage = function (event) {
|
|
if (event.data === "reload") {
|
|
socket.close();
|
|
location.reload();
|
|
}
|
|
};
|
|
|
|
window.onbeforeunload = function() {
|
|
socket.close();
|
|
}
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
window.playground_copyable = true;
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
|
|
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
|
|
<script src="searcher.js" type="text/javascript" charset="utf-8"></script>
|
|
|
|
|
|
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
|
|
<script src="highlight.js" type="text/javascript" charset="utf-8"></script>
|
|
<script src="book.js" type="text/javascript" charset="utf-8"></script>
|
|
|
|
<!-- Custom JS scripts -->
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|