source: chapter06/devices.xml@ b5b61fd

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since b5b61fd was 9dfc02f, checked in by Zack Winkles <winkie@…>, 20 years ago

Current BE-LFS (but w/ GCC 3.3.3) merged -> 6.0 branch

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3445 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 2.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 %general-entities;
5]>
6<sect1 id="ch-system-devices" xreflabel="devices">
7<title>Populating /dev with device nodes</title>
8<?dbhtml filename="devices.html"?>
9
10<indexterm zone="ch-system-devices"><primary sortas="a-Devices">Devices</primary></indexterm>
11
12<sect2>
13<title>Creating initial device nodes</title>
14
15<para>When the kernel boots the system, it requires the presence of a few device
16nodes, in particular the console and null devices:</para>
17
18<screen><userinput>mknod -m 600 /dev/console c 5 1
19mknod -m 666 /dev/null c 1 3</userinput></screen>
20</sect2>
21
22<sect2>
23<title>Mounting ramfs and populating /dev</title>
24
25<para>The ideal way to populate /dev is to mount a ramfs onto /dev (like tmpfs, but it
26cannot be swapped) and create the devices on there during each bootup. Since we haven't
27booted the system, we have to do what the bootscripts would otherwise do for us, and
28populate /dev ourselves. Begin by mounting /dev:</para>
29
30<screen><userinput>mount -n -t ramfs none /dev</userinput></screen>
31
32<para>Now use the provided udevstart utility to create the initial devices based on
33all the information in /sys:</para>
34
35<screen><userinput>/tools/sbin/udevstart</userinput></screen>
36
37<para>There are some symlinks and directories required by LFS that are not created by
38Udev, so we create those ourselves here:</para>
39
40<screen><userinput>ln -s /proc/self/fd /dev/fd
41ln -s /proc/self/fd/0 /dev/stdin
42ln -s /proc/self/fd/1 /dev/stdout
43ln -s /proc/self/fd/2 /dev/stderr
44ln -s /proc/kcore /dev/core
45mkdir /dev/pts
46mkdir /dev/shm</userinput></screen>
47
48<para>Finally, mount the proper virtual (kernel) file systems on the directories we just
49created:</para>
50
51<screen><userinput>mount -t devpts -o gid=4,mode=620 none /dev/pts
52mount -t tmpfs none /dev/shm</userinput></screen>
53</sect2>
54
55
56</sect1>
Note: See TracBrowser for help on using the repository browser.