1 USING: bootstrap.image.private help.markup help.syntax io io.files
2 io.pathnames quotations strings words ;
5 ARTICLE: "bootstrap.image" "Bootstrapping new images"
6 "A new image can be built from source; this is known as " { $emphasis "bootstrap" } ". Bootstrap is a two-step process. The first stage is the creation of a bootstrap image from a running Factor instance:"
7 { $subsections make-image }
8 "The second bootstrapping stage is initiated by running the resulting bootstrap image:"
9 { $code "./factor -i=boot.x86.32.image" }
10 "This stage loads additional code, compiles all words, and dumps a final " { $snippet "factor.image" } "."
12 "The bootstrap process can be customized with command-line switches."
13 { $see-also "runtime-cli-args" "bootstrap-cli-args" } ;
15 ABOUT: "bootstrap.image"
18 { $var-description "Bootstrap architecture name" } ;
20 HELP: bootstrap-startup-quot
21 { $var-description "This image's startup quotation or " { $link f } ". " } ;
23 HELP: define-sub-primitive
24 { $values { "quot" quotation } { "word" word } }
25 { $description "Defines a sub primitive by running the quotation which is supposed to output assembler code. The word is then used to call the assembly." } ;
28 { $values { "arch" string } }
29 { $description "Creates a bootstrap image from sources, where " { $snippet "architecture" } " is one of the following:"
30 { $code "\"x86.32\"" "\"unix-x86.64\"" "\"windows-x86.64\"" "\"linux-ppc\"" }
31 "The new image file is written to the " { $link resource-path } " and is named " { $snippet "boot." { $emphasis "architecture" } ".image" } "." } ;