📄 mknbi.1
字号:
.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13.\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...de Sp \" Vertical space (when we can't use .PP).if t .sp .5v.if n .sp...de Vb \" Begin verbatim text.ft CW.nf.ne \\$1...de Ve \" End verbatim text.ft R.fi...\" Set up some character translations and predefined strings. \*(-- will.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left.\" double quote, and \*(R" will give a right double quote. | will give a.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'.\" expand to `' in nroff, nothing in troff, for use with C<>..tr \(*W-|\(bv\*(Tr.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'.ie n \{\. ds -- \(*W-. ds PI pi. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch. ds L" "". ds R" "". ds C` "". ds C' ""'br\}.el\{\. ds -- \|\(em\|. ds PI \(*p. ds L" ``. ds R" '''br\}.\".\" If the F register is turned on, we'll generate index entries on stderr for.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index.\" entries marked with X<> in POD. Of course, you'll have to process the.\" output yourself in some meaningful fashion..if \nF \{\. de IX. tm Index:\\$1\t\\n%\t"\\$2"... nr % 0. rr F.\}.\".\" For nroff, turn off justification. Always turn off hyphenation; it makes.\" way too many mistakes in technical documents..hy 0.if n .na.\".\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2)..\" Fear. Run. Save yourself. No user-serviceable parts.. \" fudge factors for nroff and troff.if n \{\. ds #H 0. ds #V .8m. ds #F .3m. ds #[ \f1. ds #] \fP.\}.if t \{\. ds #H ((1u-(\\\\n(.fu%2u))*.13m). ds #V .6m. ds #F 0. ds #[ \&. ds #] \&.\}. \" simple accents for nroff and troff.if n \{\. ds ' \&. ds ` \&. ds ^ \&. ds , \&. ds ~ ~. ds /.\}.if t \{\. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u". ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'.\}. \" troff and (daisy-wheel) nroff accents.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'.ds 8 \h'\*(#H'\(*b\h'-\*(#H'.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#].ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#].ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#].ds ae a\h'-(\w'a'u*4/10)'e.ds Ae A\h'-(\w'A'u*4/10)'E. \" corrections for vroff.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'. \" for low resolution devices (crt and lpr).if \n(.H>23 .if \n(.V>19 \\{\. ds : e. ds 8 ss. ds o a. ds d- d\h'-1'\(ga. ds D- D\h'-1'\(hy. ds th \o'bp'. ds Th \o'LP'. ds ae ae. ds Ae AE.\}.rm #[ #] #H #V #F C.\" ========================================================================.\".IX Title "MKNBI 1".TH MKNBI 1 "2003-12-04" "Mknbi 1.4.3" "Etherboot tools".SH "NAME"mknbi \- make network bootable image.SH "SYNOPSIS".IX Header "SYNOPSIS"\&\fBmknbi\fR \-\-version.PP\&\fBmknbi\fR \-\-format=\fIformat\fR \-\-target=\fItarget\fR [\-\-output=\fIoutputfile\fR] \fItarget-specific-arguments\fR.PP\&\fBmkelf-linux\fR [\-\-output=\fIoutputfile\fR] \fIkernelimage\fR [\fIramdisk\fR].PP\&\fBmknbi-linux\fR [\-\-output=\fIoutputfile\fR] \fIkernelimage\fR [\fIramdisk\fR].PP\&\fBmknbi-rom\fR [\-\-output=\fIoutputfile\fR] \fI.z?rom\-file\fR.PP\&\fBmkelf-img\fR [\-\-output=\fIoutputfile\fR] \fI.z?img\-file\fR.PP\&\fBmkelf-menu\fR [\-\-output=\fIoutputfile\fR] [\fIdataimage\fR].PP\&\fBmknbi-menu\fR [\-\-output=\fIoutputfile\fR] [\fIdataimage\fR].PP\&\fBmkelf-nfl\fR [\-\-output=\fIoutputfile\fR] [\fIdataimage\fR].PP\&\fBmknbi-nfl\fR [\-\-output=\fIoutputfile\fR] [\fIdataimage\fR].PP\&\fBmkelf-lua\fR [\-\-output=\fIoutputfile\fR] \fIluabin\fR.PP\&\fBmknbi-fdos\fR [\-\-output=\fIoutputfile\fR] \fIkernel.sys floppyimage\fR.PP\&\fBmknbi-dos\fR [\-\-output=\fIoutputfile\fR] \fIfloppyimage\fR.SH "DESCRIPTION".IX Header "DESCRIPTION"\&\fBmknbi\fR is a program that makes network bootable images for variousoperating systems suitable for network loading by Etherboot or Netboot,which are \s-1ROM\s0 boot loaders. If you are looking to boot using \s-1PXE\s0, lookno further, mknbi is not what you want. You probably want something like\&\s-1PXELINUX\s0 which is part of the \s-1SYSLINUX\s0 package..PP\&\fBmknbi\fR \-\-version prints the current version. Use this before reportingproblems..PP\&\fBmknbi\fR can be invoked with the \fB\-\-format\fR and \fB\-\-target\fR options orlinks can be made to it under format and target specific names. E.g.mkelf-linux is the same as mknbi \-\-format=elf \-\-target=linux..PP\&\fB\-\-format\fR=\fIformat\fR Specify the format of the output. Currentlyavailable are nbi and elf. \s-1ELF\s0 format only works with linux and menu.Otherwise the invocation is the same as for mknbi. In discussions below,the mknbi form is used..PP\&\fB\-\-target\fR=\fItarget\fR Specify the target binary. Currently available arelinux, menu, rom, fdos and dos. \fBmknbi\fR is not needed for bootingFreeBSD..PP\&\fB\-\-output=\fR\fIoutputfile\fR Specify the output file, can be used withall variants. Stdout is the default..PPThe package must be installed in the destination location before theexecutables can be run, because it looks for library files..PPEach of the variants will be described separately..SH "MKELF-LINUX".IX Header "MKELF-LINUX"\&\fBmkelf-linux\fR and \fBmknbi-linux\fR makes a boot image from a Linux kernelimage, either a zImage or a bzImage..SH "MKELF-LINUX OPTIONS".IX Header "MKELF-LINUX OPTIONS"\&\fB\-\-param=\fR\fIstring\fR Replace the default parameter string with thespecified one. This option overrides all the following options so youshould know what you are doing..PP\&\fB\-\-append\fR=\fIstring\fR Appends the specified string to the existingparameter string. This option operates after the other parameter optionshave been evaluated..PP\&\fB\-\-rootdir\fR=\fIrootdir\fR Define name of directory to mount via \s-1NFS\s0 fromthe boot server..PPIn the absence of this option, the default is to use the directory\&\f(CW\*(C`/tftpboot/\*(C'\fR\fI%s\fR, with the \fI%s\fR representing the hostname orIP-address of the booting system, depending on whether the hostnameattribute is present in the \s-1BOOTP/DHCP\s0 reply..PPIf \f(CW\*(C`rom\*(C'\fR is given, and if the \s-1BOOTP/DHCP\s0 server is able to handle the \s-1RFC\s0 1497extensions, the value of the rootpath option is used as the root directory..PPIf the name given to the option starts with \f(CW\*(C`/dev/\*(C'\fR, the correspondingdevice is used as the root device, and no \s-1NFS\s0 directory will be mounted..PP\&\fB\-\-rootmode\fR=\f(CW\*(C`ro|rw\*(C'\fR Defines whether the root device will be mountedread-only or read-write respectively. Without this parameter, thedefault is \f(CW\*(C`rw\*(C'\fR..PP\&\fB\-\-ip=\fR\fIstring\fR Define client and server \s-1IP\s0 addresses..PPIn the absence of this option no \s-1IP\s0 addresses are defined, and thekernel will determine the \s-1IP\s0 addresses by itself, usually by using \s-1DHCP\s0,\&\s-1BOOTP\s0 or \s-1RARP\s0. Note that the kernel's query is \fIin addition to\fR thequery made by the bootrom, and requires the \s-1IP:\s0 kernel levelautoconfiguration (\s-1CONFIG_IP_PNP\s0) feature to be included in the kernel..PPImportant note: In Linux kernels 2.2.x where x >= 18, and 2.4.x where x>= 5, it is \fBnecessary\fR to specify one of the enabling options in thenext paragraph to cause the \s-1IP\s0 autoconfiguration to be activated.Unlike in previous kernels, \s-1IP\s0 autoconfiguration does not happen bydefault. Also note that \s-1IP\s0 autoconfiguration and NFSroot are likely togo away in Linux 2.6 and that userspace \s-1IP\s0 configuration methods usingramdisk and userspace \s-1DHCP\s0 daemons are preferred now..PPIf one of the following: \f(CW\*(C`off, none, on, any, dhcp, bootp, rarp, both\*(C'\fR,is given, then the option will be passed unmodified to the kernel andcause that autoconfig option to be chosen..PPIf \f(CW\*(C`rom\*(C'\fR is given as the argument to this option, all necessary \s-1IP\s0addresses for \s-1NFS\s0 root mounting will be inherited from the \s-1BOOTP/DHCP\s0answer the bootrom got from the server..PPIt's also possible to define the addresses during compilation of the bootimage. Then, all addresses must be separated by a colon, and ordered inthe following way:.PP\&\f(CW\*(C`\-\-ip=\*(C'\fR\fIclient:server:gateway:netmask:hostname[:dev[:proto]]\fR.PPUsing this option \fBmkelf-linux\fR will automatically convert system namesinto decimal \s-1IP\s0 addresses for the first three entries in this string.The \fBhostname\fR entry will be used by the kernel to set the host name ofthe booted Linux diskless client. When more than one network interfaceis installed in the diskless client, it is possible to specify the nameof the interface to use for mounting the root directory via \s-1NFS\s0 bygiving the optional value \f(CW\*(C`dev\*(C'\fR. This entry has to start with thestring \f(CW\*(C`eth\*(C'\fR followed by a number from 0 to 9. However, if only oneinterface is installed in the client, this \fIdev\fR entry including thepreceding semicolon can be left out. The \fIproto\fR argument is one of the\&\s-1IP\s0 autoconfiguration enabling options listed above. (Author: it's notclear to me what the \s-1IP\s0 autoconfiguration does when the parameters arealready specified. Perhaps it's to obtain parameters not specified,e.g. \s-1NIS\s0 domain.).PP\&\fB\-\-rdbase=\fR\fItop|asis|0xNNNNNNNN\fR Set the ramdisk load address. \f(CW\*(C`top\*(C'\fRmoves the ramdisk to the top of memory before jumping to the kernel.This is the default if rdbase is not specified. This option requiresthat first\-linux's kernel sizing work correctly. \f(CW\*(C`asis\*(C'\fR loads it at0x100000 (1MB) if the kernel is loaded low; or leaves it just after thekernel in memory, if the kernel is loaded high. For this option to work,the kernel must be able to handle ramdisks at these addresses.\&\fI0xNNNNNNNN\fR moves the ramdisk to the hex address specified. The onusis on the user to specify a suitable address that is acceptable to thekernel and doesn't overlap with any other segments. It will have to bealigned to a 4k byte boundary so you should ensure that this is so. (Thelast three hex digits must be 0.).PP\&\fB\-\-first32=\fR\fIprogram\fR Override the default first stage setupprogram. It can be used to call extensions to the Etherboot code, whichpaves the way for additional useful functionality without enlarging thesize of the Etherboot footprint. \-\-first32 is implied by the \s-1ELF\s0format..PP\&\fB\-\-progreturns\fR This option is used in conjunction with and only validwith the \-\-first32 option to indicate to the Etherboot loader that thecalled program will return to loader and hence Etherboot should notdisable the network device as is the case when the program will neverreturn to Etherboot..PP\&\fB\-\-relocseg=\fR\fIsegaddr\fR This option is used to specify a relocation ofthe Linux first, boot, setup, and parameter segments to another 64kband. Currently the only valid values are 0x9000 and 0x8000,corresponding to linear addresses of 0x90000 and 0x80000 upwards. Thedefault is 0x9000. Usually you use this option if you have relocatedEtherboot to 0x84000 to avoid other code in the 0x90000 segment like\&\s-1DOC\s0. The Linux kernel must support relocation which implies a 2.4 kernelor later. \-\-relocseg only works reliably with \s-1ELF\s0 or \-\-first32=..PP\&\fBmem=\fR\fImemsize\fR This is not a command line option but a kernelparameter that is intercepted by the first32 stage and used as the topof memory, to match Linux's interpretation. \fImemsize\fR can be suffixedby \f(CW\*(C`G\*(C'\fR to indicate gibibytes (times 2^30), \f(CW\*(C`M\*(C'\fR to indicate mebibytes(times 2^20) or \f(CW\*(C`K\*(C'\fR to indicate kibibytes (times 2^10). Note that thesuffixes are uppercase. This kernel parameter can be specified in\&\-\-append= or option\-129 of the \s-1DHCP/BOOTP\s0 record..PPRun the program thus:.PPmkelf-linux \fIkernel-image\fR [\fIramdisk-image\fR] > linux.nb.PPThen move \fIlinux.nb\fR to where the network booting process expects tofind it..SH "MKELF-LINUX BOOTP/DHCP VENDOR TAGS".IX Header "MKELF-LINUX BOOTP/DHCP VENDOR TAGS"\&\fBmkelf-linux\fR includes a startup code at the beginning of the Linuxkernel which is able to detect certain \s-1DHCP\s0 vendor defined options.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -