Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
.\"	$NetBSD: contents,v 1.25 2020/08/07 00:43:47 snj Exp $
.\"
.\" Copyright (c) 1999-2005 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.
.Ss2 NetBSD/\*M subdirectory structure
The \*M-specific portion of the
.Nx
\*V release is found in the
.Pa \*M
subdirectory of the distribution:
.Pa \&.../NetBSD-\*V/\*M/ .
It contains the following files and directories:
.Pp
.(tag INSTALL.html -compact \" top level
.	It Pa INSTALL.html
.	It Pa INSTALL.ps
.	It Pa INSTALL.txt
.	It Pa INSTALL.more
Installation notes in various file formats, including this file.
The
.Pa \&.more
file contains underlined text using the
.Xr more 1
conventions for indicating italic and bold display.
.
.\" MD binary and installation directories ---------------------------
.
.	It Pa binary/
.
.	(tag kernel/ -compact \" binary/
.
.		It Pa kernel/
.
.		(tag netbsd.gz -compact \" binary/kernel
.
.			It Pa netbsd-SMALL030.gz
.
A kernel for memory-tight 68030 Falcon and TT030 machines.
This is the kernel supplied on the boot.fs floppy.
.
.			It Pa netbsd-ATARITT.gz
.
A kernel for the Atari TT030.
.
.			It Pa netbsd-FALCON.gz
.
A kernel for the Atari Falcon, including support for 68060
processor cards.
.
.			It Pa netbsd-HADES.gz
.
A kernel for 68040 or 68060 Hades.
.
.			It Pa netbsd-MILAN-ISAIDE.gz
.
A kernel for 68040 or 68060 MILAN using IDE in ISA mode - for
use with disks not marked byteswapped by HDDRIVER.
.
.			It Pa netbsd-MILAN-PCIIDE.gz
.
A kernel for 68040 or 68060 MILAN using IDE in PCI mode - for
use with disks marked byteswapped by HDDRIVER.
.
.		tag) \" binary/kernel/
.
.		It Pa sets/
.
\*M binary distribution sets;
see below.
.
.	tag) \" binary/
.
.	It Pa installation/
.
.	(tag miniroot/ -compact \" installation/
.
.		It Pa floppy/
.
\*M boot and installation floppies; see below.
.
.		It Pa miniroot/
.
\*M miniroot file system image; see below.
.
.		It Pa misc/
.
Miscellaneous \*M installation utilities; see
installation section below.
.
.	tag) \" installation/
.
.tag) \" top level
.
.\" ------------------------------------------------------------------
.
.
.Ss2 Binary distribution sets
.\"
.\" ------------------------------------------------------------------
.\" XXX: most sets except kern and xserver should be in notes/common
.\"
The
.Nx
\*M
binary distribution sets contain the binaries which
comprise the
.Nx
\*V release for \*M.
The binary distribution sets can be found in the
.Pa \*M/binary/sets
subdirectory
of the
.Nx
\*V
distribution tree, and are as follows:
.(tag xserver \" sets
.
.It Sy base
The
.Nx
\*V
\*M
.Sy base
binary distribution.
You
.Em must
install this distribution set.
It contains the base
.Nx
utilities that are necessary for the
system to run and be minimally functional.
.
.It Sy comp
Things needed for compiling programs.
This set includes the system include files
.Pq Pa /usr/include
and the various system libraries (except the shared
libraries, which are included as part of the
.Sy base
set).
This set also includes the manual pages for
all of the utilities it contains, as well as the
system call and library manual pages.
.
.It Sy debug
This distribution set contains debug information for
all base system utilities.
It is useful when reporting issues with binaries or during
development.
This set is huge, if the target disk is small, do not install it.
.
.It Sy etc
This distribution set contains the system
configuration files that reside in
.Pa /etc
and in several other places.
This set
.Em must
be installed if you are installing the system from scratch, but should
.Em not
be used if you are upgrading.
.
.It Sy games
This set includes the games and their manual pages.
.
.\" MD kernel set(s) -------------------------------------------------
.
.It Sy kern-SMALL030, kern-ATARITT, kern-FALCON, kern-HADES , kern-MILAN-ISAIDE , kern-MILAN-PCIIDE
These sets contain a
.Nx*M
\*V
kernel, named
.Pa /netbsd .
You
.Em must
install the kernel that matches your hardware.
.
.\" ------------------------------------------------------------------
.
.It Sy man
This set includes all of the manual pages for the
binaries and other software contained in the
.Sy base
set.
Note that it does not include any of the manual pages
that are included in the other sets.
.
.It Sy misc
This set includes the system dictionaries,
the typesettable document set, and other files from
.Pa /usr/share .
.
.It Sy modules
This set includes kernel modules to add functionality to a running system.
.
.It Sy rescue
This set includes the statically linked emergency recover binaries installed
in
.Pa /rescue .
.
.It Sy text
This set includes
.Nx Ns 's
text processing tools, including
.Xr groff 1 ,
all related programs, and their manual pages.
.
.tag) \" sets
.
.
.\" X sets -----------------------------------------------------------
.\" XXX: XOrg vs XFree
.\" XXX: ports without xserver
.Pp
.Nx
maintains its own set of sources for the X Window System in order to
assure tight integration and compatibility.
These sources are based on
X.Org.
Binary sets for the X Window System are distributed with
.Nx .
The sets are:
.(tag xserver \" x sets
.
.It Sy xbase
The basic files needed for a complete X
client environment.
This does not include the X servers.
.
.It Sy xcomp
The extra libraries and include files needed to compile X source code.
.
.It Sy xdebug
This distribution set contains debug information for
all X11 binaries.
It is useful when reporting issues with these binaries or during
development.
This set is huge, if the target disk is small, do not install it.
.
.It Sy xfont
Fonts needed by the X server and by X clients.
.
.It Sy xetc
Configuration files for X which could be locally modified.
.
.It Sy xserver
The X server.
.
.tag) \" x sets
.
.\" ------------------------------------------------------------------
.
.
.\" MI DISCUSSION OF BINARY SETS -------------------------------------
.\" XXX: should be in notes/common
.
.Pp
The \*M binary distribution sets are distributed as gzipped tar files
named with the extension
.Sy .\*[setsuffix] ,
e.g.
.Pa base.\*[setsuffix] .
.
.
.Pp
The instructions given for extracting the source sets work equally
well for the binary sets, but it is worth noting that if you use that
method, the filenames stored in the sets are relative and therefore
the files are extracted
.Em below the current directory .
Therefore, if you want to extract the binaries into your system, i.e.
replace the system binaries with them, you have to run the
.Ic "tar -xzpf"
command from the root directory (
.Pa /
) of your system.
.
.
.\" MD DISCUSSION ----------------------------------------------------
.
.Pp
Additional kernels to those included in the distribution sets may be found
in the
.Pa atari/binary/kernel
subdirectory of the
.Nx
\*V distribution tree.
These kernels are generally named something like
.Pa netbsd-BOOT.gz
or some other suitable name.
Please note that these kernels are simply gzipped and are not in tar archives.
.Pp
There are six atari floppy images to be found in the
.Pa atari/installation/floppies
subdirectory of the
.Nx
\*V distribution.
Three of them are bootable
.Tn TOS
kernel floppies and the other
three are installation floppies.
They are described in more detail below.
There are gzipped versions of each available, for easier downloading.
(The gzipped versions have the
.Pa \&.gz
extension added to their names.)
.(tag indent \" atari
.It Em Bootable\ Kernel\ floppies
These
.Tn TOS
disks contains the
.Tn TOS
support programs (like
.Ic loadbsd.ttp
and
.Ic chg_pid.ttp
\(em see below) and a kernel.
They are setup such that you can insert them into
your floppy drive, and start the programs from GEM.
.Pp
For the TT030 and Falcon, the (720 KB) floppy is named
.Pa boot.fs
and
the kernel supplied is
.Li BOOT .
For the Hades, you need the
.Pa hades-boot.fs
floppy (1.44 MB), the kernel is
.Li HADES .
For the Milan, you need the
.Pa milan-boot.fs
floppy (1.44 MB), the kernel is MILAN-PCIIDE.
.It Em Installation\ floppy:
This disk contains a
.Bx
root file system setup to help
you install the rest of
.Nx .
This includes formatting
and mounting your
.Pa /
(root) and
.Pa /usr
partitions and getting
ready to extract (and possibly first fetching) the distribution
sets.
There is enough on this file system to allow you to
make a slip connection, configure an ethernet, mount an NFS
file system or ftp.
You can also load distribution sets from a SCSI tape or from one of
your existing
.Tn GEMDOS
partitions.
.Pp
The floppies meant for 720 KB disks are named
.Pa miniroot.fs.1
and
.Pa miniroot.fs.2 .
There is also an image for an 1.44 MB disk:
.Pa miniroot.fs .
.tag) \" atari
.Pp
There are also
.Tn TOS
utilities in the
.Pa atari/installation/misc
subdirectory, which you will need to get
.Nx*M
up-and-running.
.(bullet
The
.Ic gzip.ttp
program allows you to uncompress .gz images.
The usage is:
.Pp
.Dl Ic "gzip.ttp -d filename.gz"
.It
The
.Ic rawwrite.ttp
program allows you to create the installation
floppy disks from the files in the
.Pa atari/floppies
directory.
.It
The
.Ic aptck.ttp
program reads the partition tables present on a
given disk and tries to interpret then the same way the
.Nx
kernel does.
If you have a disk on which
.Tn GEMDOS
and
.Nx
are to co-exist, It is a good idea to run this before you begin the
.Nx*M
installation just to check that the kernel's view
of the partition tables agree with
.Tn GEMDOS Ns 's
view.
If you have more than 3 partitions defined on a disk you will notice that the
.Nx*M
partition starts one sector after the
.Tn GEMDOS
partition.
This is to allow space for the auxiliary root for
the 4th and subsequent partitions.
.It
The
.Ic loadbsd.ttp
program loads the
.Nx*M
kernel from
.Tn TOS
(or
.Tn MiNT ,
.Tn MultiTOS ,
etc.).
.It
The
.Ic chg_pid.ttp
program can be used to change the id of an
.Tn AHDI
compatible partition.
This allows you to reserve a partition for use by
.Nx*M
(id: NBD), or for use as a swap (id: SWP) partition.
.It
The
.Ic file2swp.ttp
program can be used to transfer an installation file system image, like
.Pa sysinst.fs
to a partition with id SWP.
In this way, you can run the installation from the swap partition
instead of a memory disk.
This is a necessity for small memory systems.
.bullet)