Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
W
White Rabbit Switch - Software
Manage
Activity
Members
Labels
Plan
Issues
87
Issue boards
Milestones
Wiki
Code
Merge requests
4
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Projects
White Rabbit Switch - Software
Commits
d0f89c30
Commit
d0f89c30
authored
13 years ago
by
Alessandro Rubini
Browse files
Options
Downloads
Patches
Plain Diff
doc: documented new build steps
parent
4f3a3245
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/wrs-build.in
+117
-29
117 additions, 29 deletions
doc/wrs-build.in
with
117 additions
and
29 deletions
doc/wrs-build.in
+
117
−
29
View file @
d0f89c30
...
...
@@ -349,35 +349,47 @@ save @i{stdout} to a file, like this:
/path/to/wr-switch-sw/build/wrs
_
build-all > logfile
@end example
The progress messages look like what is shown here below. The log
file will be rather big, as all the compilation steps are quite
verbose.
Please note that there are also a number of warning messages being
printed to @i
{
stderr
}
. It's a few hundred lines over the few dozen
minutes it takes to build @i
{
buildroot
}
, but you can safely ignore them,
trusting the build process will complete successfully.
@b
{
Warning:
}
there is especially one hairy message being returned
by @i
{
wget
}
if you are using the @i
{
ohwr
}
repository: @code
{
ERROR 500:
Internal Server Error
}
. Please ignore this message, as it is about
a file that is not being used (nor explicitly looked for, actually).
Arranging for the message to be removed would have unpleasant side
effects, and you are not expected to lack a local copy in any case.
The progress messages look like what is shown here below. The log
file will be rather big, as all the compilation steps are quite
verbose.
@smallexample
2011-05-11 20:05:57: --- Buildroot compiler and filesystem
2011-05-11 20:05:57: Looking for file buildroot-2009.11.tar.bz2
2011-05-11 20:05:57: Skip download of buildroot-2009.11.tar.bz2
2011-05-11 20:06:10: Copied packages from /opt/ohwr-svn/white-rabbit/trunk/pkg/buildroot-pkg
2011-05-11 20:06:10: Hardlinked packages from downloads to build place
2011-05-11 20:23:51: --- AT91Boot
2011-05-11 20:23:51: Looking for file AT91Bootstrap1.11.zip
2011-05-11 20:23:51: Skip download of AT91Bootstrap1.11.zip
2011-05-11 20:23:51: Patching AT91Boot
2011-05-11 20:23:51: Building AT91Boot
2011-05-11 20:23:51: --- U-Boot
2011-05-11 20:23:51: Looking for file u-boot-1.3.4.tar.bz2
2011-05-11 20:23:52: Skip download of u-boot-1.3.4.tar.bz2
2011-05-11 20:23:55: Patching U-Boot
2011-05-11 20:23:58: Building U-Boot
2011-05-11 20:24:17: --- Linux kernel for switch
2011-05-11 20:24:17: Looking for file buildroot-pkg/linux-2.6.35.tar.bz2
2011-05-11 20:24:19: Skip download of buildroot-pkg/linux-2.6.35.tar.bz2
2011-05-11 20:26:42: Complete build succeeded, apparently
2011-05-18 00:26:45: --- Buildroot compiler and filesystem
2011-05-18 00:26:45: Looking for file buildroot-2009.11.tar.bz2
2011-05-18 00:26:45: Skip download of buildroot-2009.11.tar.bz2
2011-05-18 00:26:58: Copied packages from /opt/ohwr-svn/white-rabbit/trunk/pkg/buildroot-pkg
2011-05-18 00:26:58: Hardlinked packages from downloads to build place
2011-05-18 00:43:41: --- AT91Boot
2011-05-18 00:43:41: Looking for file AT91Bootstrap1.11.zip
2011-05-18 00:43:42: Skip download of AT91Bootstrap1.11.zip
2011-05-18 00:43:42: Patching AT91Boot
2011-05-18 00:43:42: Building AT91Boot
2011-05-18 00:43:42: --- U-Boot
2011-05-18 00:43:42: Looking for file u-boot-1.3.4.tar.bz2
2011-05-18 00:43:43: Skip download of u-boot-1.3.4.tar.bz2
2011-05-18 00:43:45: Patching U-Boot
2011-05-18 00:43:49: Building U-Boot
2011-05-18 00:44:05: --- Linux kernel for switch
2011-05-18 00:44:05: Looking for file buildroot-pkg/linux-2.6.35.tar.bz2
2011-05-18 00:44:07: Skip download of buildroot-pkg/linux-2.6.35.tar.bz2
2011-05-18 00:46:38: --- Kernel modules from this package
2011-05-18 00:46:43: --- PTP daemon (noposix repository)
2011-05-18 00:46:43: Using local git repository
2011-05-18 00:46:45: --- User space tools
2011-05-18 00:46:46: --- Wrapping filesystem
2011-05-18 00:46:47: Complete build succeeded, apparently
@end smallexample
You may prefer to save @i
{
stderr
}
with @i
{
stdout
}
to the log file
...
...
@@ -398,7 +410,10 @@ you've found a bug in the build scripts; most likely because your
setup differs from the ones we have been testing on.
In order to re-run the build from the beginning, please remove (or
rename) the output directory and re-run.
rename) the output directory and reissue the command. To only
redo one step, you can remove the marker in @code
{
build/
_
done
}
(the markers are empty files with name like @code
{
00-buildroot
}
and @code
{
03-kernel
}
).
@c ##########################################################################
@node The Compiler
...
...
@@ -518,17 +533,89 @@ package. The step depends on the kernel being available in the
build directory. The modules are then copied into the @code
{
images
}
subdirectory of the main build directory.
Please note that modules (and later user-space) are compiled in-place,
not in the output directory. The disadvantage is that your repository
becomes dirty with output and intermediate files; the advantage is that
any modification you make to the code is already in the repository
for your to commit.
@c ##########################################################################
@node PTPd
@chapter PTPd
The Precision Time Protocol Daemon being used is host in a different
repository. It's the code base that has been ported to compile in a
freestanding environment, downloaded from
@code
{
git://gnudd.com/ptp-noposix.git
}
.
A plain @i
{
make
}
in the directory will fail, because after building
@i
{
ptpd
}
other steps are tried, but they are only needed for
the freestanding environment (i.e., LM32 with supporting code) and will
fail for this @i
{
arm-linux
}
hosted build.
Additionally, the script installs the header and library for
@i
{
wr
_
ipc
}
, which are needed for later steps and are now part of the
@i
{
ptp
}
repository. Similarly, the script installs headers for the hal
and @i
{
libptpnetif
}
.
The script is known to work with version @code
{
fea09f7
}
of the @i
{
git
}
repository, but the script checks out the @i
{
master
}
branch, being
confident newer versions will be at least as good as the current one
(for example, the current version as I write this has some concerning
warning messages).
@c ##########################################################################
@node User Space
Tool
s
@chapter User Space
Tool
s
@node User Space
Application
s
@chapter User Space
Application
s
Not compiled by this package, yet.
The build of user space is concerned about the following steps:
@table @i
@item 3rdparty
The directory includes the @i
{
lua
}
tool, used in the switch
to parse the configuration file.
@item libswitchhw
This is a library of functions needed by the next
step. @code
{
libswitchhw.a
}
is thus installed in @code
{
images/wr/lib
}
.
@item wrsw
_
hal
This is the main application program for the White Rabbit Switch
operation. The script installs the executable in @code
{
images/wr/bin
}
.
@item wrsw
_
rtud
This is the daemon for the routing table unit, installed in
@code
{
images/wr/bin
}
.
@end table
@c ##########################################################################
@node VHDL Binaries
@chapter VHDL Binaries
The binaries are currently missing from the filesystem-making procedures.
@c ##########################################################################
@node The Complete Filesystem
@chapter The Complete Filesystem
Not compiled by this package, yet.
The final step in compiling the filesystem is making the CPIO archive
to be used as @i
{
ramdisk
}
in the switch. The name of the file
@code
{
images/ramdisk.ext2
}
within the @code
{
WRS
_
BUILD
_
DIR
}
, even if
it has nothing to do with an @i
{
ext2
}
filesystem. The name, however,
is the predefined one in @i
{
u-boot
}
configuration; so until we
change @i
{
u-boot
}
, it's easier for the image to keep this older name.
The filesystem is built by copying the @i
{
buildroot
}
file tree and
overlaying it with @code
{
userspace/rootfs
_
override/
}
; device files
are extracted from @code
{
userspace/devices.tar.gz
}
.
The @i
{
root
}
user has an empty password (set forth in
@code
{
userspace/rootfs
_
override/
}
) and authorizes a few @i
{
ssh
}
keys,
to allow @i
{
ssh
}
login (and @i
{
scp
}
) without the need to provide a
password -- though empty. The script authorizes the key of the user
running the script and all keys listed in the file @code
{
authorized
_
keys
}
in the main directory of this package, if present.
@c ##########################################################################
@iftex
...
...
@@ -542,4 +629,5 @@ Not compiled by this package, yet.
@c LocalWords: LocalWords ietf timestamp misc timestamps ttstamp onestamp
@c LocalWords: Tomasz Wlostowski buildroot distclean defconfig wrswitch REPO
@c LocalWords: menuconfig config dataflash whiterabbit stdout stderr svnsync
@c LocalWords: filesystem diff ohwr http mkdir linux rubini itemize
@c LocalWords: filesystem diff ohwr http mkdir linux rubini itemize PTPd VHDL
@c LocalWords: noposix ptpd userspace libswitchhw
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment