diff options
612 files changed, 54306 insertions, 0 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt new file mode 100644 index 0000000..5c06233 --- /dev/null +++ b/CHANGELOG.txt @@ -0,0 +1,9 @@ +2019-02-02 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20190202. + + [ Daniel Baumann ] + * Adding system-boot version 20180915. + * Adding system-build version 20161115. + * Adding system-config version 20161101. + * Adding system-images version 20161115. diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/VERSION.txt b/VERSION.txt new file mode 100644 index 0000000..dc65e4f --- /dev/null +++ b/VERSION.txt @@ -0,0 +1 @@ +20190202 diff --git a/system-boot/CHANGELOG.txt b/system-boot/CHANGELOG.txt new file mode 100644 index 0000000..c7af538 --- /dev/null +++ b/system-boot/CHANGELOG.txt @@ -0,0 +1,142 @@ +2018-09-15 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20180915. + + [ Raphaël Hertzog ] + * Fixing typo in nls_ascii module (nls_asci -> nls_ascii). + * Improving removable_dev() in 9990-misc-helpers.sh when /sys/block/ is empty (#847802). + * Only copying /etc/live/boot if it exists. + * Do not duplicate files in /lib/live/boot/ and /bin/boot/ in the initrd, thanks to Daniel Reichelt <debian@nachtgeist.net> (#864385). + * Fixing spelling errors in live-boot(7). + + [ Ronny Standtke ] + * Fixing read-only persistence mode with overlayfs, thanks to Ronny Standtke <ronny.standtke@fhnw.ch> (Closes: #877776). + + [ Benjamin Drung ] + * Don't replace busybox's wget by the true wget (#885455). + * Avoiding double slashes in some paths (#885453). + * Support setting upperdir tmpfs size with overlay-size boot parameter (#885466). + * Simplify mount point handling by using /run/live instead of /lib/live/mount (#886328). + * Adding configuration variables to build a stripped down initrd (#886337). + + [ Daniel Reichelt ] + * Using klibc's mount again for fuse mounts (#868559). + + [ Raphaël Hertzog ] + * Stripping comments from checksums files passed to "shaXsum -c" (#856482). + + [ raizo62] + * Updating DNSFILE even if DNSFILE contains only commented or empty lines. + + [ Sameer Agrawal ] + * Fixing ifconfig parsing (#892772). + + [ Chas Williams ] + * Adding back persistance fsck option. + + [ Luca Boccassi ] + * Using true|false instead of y|n for environment variables. + + [ Charles Williams ] Removing workaround for ipconfig issues. + * Fixing custom mounts after switch to /run/live. + + [ Luca Boccassi ] + * Fixing fromiso after switch to /run/live. + + [ Benjamin Drung ] + * Fixing overlay mount after switch to /run/live. + * Removing sourcing /scripts/functions in components. + * Support live-{top,premount,bottom} hooks (#884355). + + [ Luca Boccassi ] + * Adding backward compatibility rbind mount /lib/live/mount -> /run/live. + + [ Erik Ziegenbalg ] + * Adding support for local ISO in fromiso (ONIE). + + [ Luca Boccassi ] + * Clarify fromiso documentation in live-boot manpage. + * Fixing typos in recently added manpage changes. + + [ Benjamin Drung ] + * Fixing resolving FQDN given by DHCP. + * Double quoting to prevent globbing and word splitting. + +2016-11-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20161101. + + [ Kristian Klausen ] + * Adding FAT ascii iocharset support. + * Adding option to override UUID embedded in the initramfs (live-media-uuid). + * Adding option to specific alternative mount opts for live-media (live-media-mount-opts). + + [ Gaudenz Steinlin ] + * Immediately detecting medium from live-media parameter. + * Fixing removable device flag handling for live-medium. + * Adding plymouth support for LUKS password prompt. + * Using human readable device label for LUKS prompt. + * Using build UUID in initramfs. + +2016-07-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160701. + + [ Kristian Klausen ] + * Copying /etc/live/boot{,.conf} to initramfs. + * Checking /etc/live/boot.conf exist before trying copy. + + [ Daniel Baumann ] + * Adding commit messages to previous changelog. + +2016-06-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160601. + + [ trebmuh ] + * Adding French manpage translations. + + [ Carlos Zuferri ] + * Using 'Live Systems Project' as default project in .pot files. + + [ Evgeni Golov ] + * Updating manpages with default overlay filesystem. + + [ Michael Prokop ] + * Reverting toram bootoption to expected behaviour. + * Supporting dns bootoption. + + [ Ulrich Dangel ] + * Adding kms modules to initramfs. + + [ Michael Prokop ] + * Try loading phram module twice to fix loading issue. + * Ignoring "unknown" filesystems in is_supported_fs(). + * Enabling write-mode for persistency related devices in readonly/forensic mode. + + [ Evgeni Golov ] + * Making copying libnss_dns.so.* unconditionally. + * Fixing nodhcp option to actually force DHCP off (Closes: #832734). + + [ Wolfgang Scheicher ] + * Enabling multiple lower layers for overlayfs. + + [ Russell Stuart ] + * Setting default host in fetch urls to be ROOTSERVER if it is blank (Closes: #832735). + + [ Evgeni Golov ] + * Fixing detection of (no)persistence option in read-only mode. + + [ Daniel Baumann ] + * Correcting spelling typo in variable name in live-boot frontend, thanks to Gianfranco Costamagna <locutusofborg@debian.org>. + + [ Raphaël Hertzog ] + * No longer modifying PATH to point to /root and thus stop using executables from /root (Closes: #823069). + * Some fixups to ensure we work with busybox/klibc-utils. + + [ Daniel Baumann ] + * Correcting version string in changelog. + +2016-05-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160501. diff --git a/system-boot/COPYING b/system-boot/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/system-boot/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/system-boot/Makefile b/system-boot/Makefile new file mode 100644 index 0000000..e3f3946 --- /dev/null +++ b/system-boot/Makefile @@ -0,0 +1,132 @@ +# Makefile + +SHELL := sh -e + +LANGUAGES = $(shell cd manpages/po && ls) + +SCRIPTS = backend/*/* frontend/* components/* + +all: build + +test: + @echo -n "Checking for syntax errors" + + @for SCRIPT in $(SCRIPTS); \ + do \ + sh -n $${SCRIPT}; \ + echo -n "."; \ + done + + @echo " done." + + @# We can't just fail yet on bashisms (FIXME) + @if [ -x "$$(which checkbashisms 2>/dev/null)" ]; \ + then \ + echo -n "Checking for bashisms"; \ + for SCRIPT in $(SCRIPTS); \ + do \ + checkbashisms -f -x $${SCRIPT} || true; \ + echo -n "."; \ + done; \ + echo " done."; \ + else \ + echo "W: checkbashisms - command not found"; \ + echo "I: checkbashisms can be obtained from: "; \ + echo "I: http://git.debian.org/?p=devscripts/devscripts.git"; \ + echo "I: On Debian based systems, checkbashisms can be installed with:"; \ + echo "I: apt-get install devscripts"; \ + fi + +build: + @echo "Nothing to build." + +install: + # Installing components + mkdir -p $(DESTDIR)/lib/live/boot + cp components/* $(DESTDIR)/lib/live/boot + + # Installing executables + mkdir -p $(DESTDIR)/usr/share/initramfs-tools/hooks + cp backend/initramfs-tools/live.hook $(DESTDIR)/usr/share/initramfs-tools/hooks/live + mkdir -p $(DESTDIR)/usr/share/initramfs-tools/scripts + cp backend/initramfs-tools/live.script $(DESTDIR)/usr/share/initramfs-tools/scripts/live + + mkdir -p $(DESTDIR)/bin + cp frontend/* $(DESTDIR)/bin + + # Installing docs + mkdir -p $(DESTDIR)/usr/share/doc/live-boot + cp -r COPYING $(DESTDIR)/usr/share/doc/live-boot + + # Installing manpages + for MANPAGE in manpages/en/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | sed -e 's|\.|\n|g' | tail -n1)"; \ + install -D -m 0644 $${MANPAGE} $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${MANPAGE}); \ + done + + for LANGUAGE in $(LANGUAGES); \ + do \ + for MANPAGE in manpages/$${LANGUAGE}/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | sed -e 's|\.|\n|g' | tail -n1)"; \ + install -D -m 0644 $${MANPAGE} $(DESTDIR)/usr/share/man/$${LANGUAGE}/man$${SECTION}/$$(basename $${MANPAGE} .$${LANGUAGE}.$${SECTION}).$${SECTION}; \ + done; \ + done + +uninstall: + # Uninstalling executables + rm -f $(DESTDIR)/bin/live-boot + rm -f $(DESTDIR)/bin/live-swapfile + rmdir --ignore-fail-on-non-empty $(DESTDIR)/bin > /dev/null 2>&1 || true + + rm -f $(DESTDIR)/usr/share/initramfs-tools/hooks/live + rm -f $(DESTDIR)/usr/share/initramfs-tools/scripts/live + + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools/hooks > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools/scripts > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr > /dev/null 2>&1 || true + + # Uninstalling docs + rm -rf $(DESTDIR)/usr/share/doc/live-boot + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/doc > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr > /dev/null 2>&1 || true + + # Uninstalling manpages + for MANPAGE in manpages/en/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | sed -e 's|\.|\n|g' | tail -n1)"; \ + rm -f $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${MANPAGE} .en.$${SECTION}).$${SECTION}; \ + done + + for LANGUAGE in $(LANGUAGES); \ + do \ + for MANPAGE in manpages/$${LANGUAGE}/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | sed -e 's|\.|\n|g' | tail -n1)"; \ + rm -f $(DESTDIR)/usr/share/man/$${LANGUAGE}/man$${SECTION}/$$(basename $${MANPAGE} .$${LANGUAGE}.$${SECTION}).$${SECTION}; \ + done; \ + done + + for SECTION in $(for MANPAGE in $(ls manpages/en/*); do basename $${MANPAGE} | sed -e 's|\.|\n|g' | tail -n1; done | sort -u); \ + do \ + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/man$${SECTION} > /dev/null 2>&1 || true; \ + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/*/man$${SECTION} > /dev/null 2>&1 || true; \ + done + + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr > /dev/null 2>&1 || true + + rmdir --ignore-fail-on-non-empty $(DESTDIR) > /dev/null 2>&1 || true + +clean: + @echo "Nothing to clean." + +distclean: clean + @echo "Nothing to distclean." + +reinstall: uninstall install diff --git a/system-boot/VERSION b/system-boot/VERSION new file mode 100644 index 0000000..aeee441 --- /dev/null +++ b/system-boot/VERSION @@ -0,0 +1 @@ +20180915 diff --git a/system-boot/backend/dracut/live.script b/system-boot/backend/dracut/live.script new file mode 100755 index 0000000..0774bfb --- /dev/null +++ b/system-boot/backend/dracut/live.script @@ -0,0 +1,11 @@ +#!/bin/sh + +#set -e + +. /bin/live-boot + +DRACUT_FIXME () +{ + # dracut entry point for live-boot is FIXME(); function + Live +} diff --git a/system-boot/backend/initramfs-tools/kms.hook b/system-boot/backend/initramfs-tools/kms.hook new file mode 100644 index 0000000..7302c12 --- /dev/null +++ b/system-boot/backend/initramfs-tools/kms.hook @@ -0,0 +1,25 @@ +#!/bin/sh +# hook for adding kms modules + +set -e + +# initramfs-tools header + +PREREQ="" +prereqs() +{ + echo "${PREREQ}" +} + +case "${1}" in + prereqs) + prereqs + exit 0 + ;; +esac + +. /usr/share/initramfs-tools/hook-functions + +for module in i915 radeon nouveau ; do + manual_add_modules $module +done diff --git a/system-boot/backend/initramfs-tools/live.hook b/system-boot/backend/initramfs-tools/live.hook new file mode 100755 index 0000000..a5444c5 --- /dev/null +++ b/system-boot/backend/initramfs-tools/live.hook @@ -0,0 +1,254 @@ +#!/bin/sh + +set -e + +. /usr/share/initramfs-tools/hook-functions + +[ "${QUIET}" ] || echo -n "live-boot:" + +# Reading configuration file from filesystem and live-media +for _FILE in /etc/live/boot.conf /etc/live/boot/* \ + /run/live/medium/live/boot.conf /run/live/medium/live/boot/* +do + if [ -e "${_FILE}" ] + then + . "${_FILE}" + fi +done + +# Checking live-boot +if [ ! -e /bin/live-boot ] +then + echo + echo "W: live-boot-initramfs-tools (backend) installed without live-boot," + echo "W: this initramfs will *NOT* have live support." + exit 0 +fi + +[ "${QUIET}" ] || echo -n " core" + +mkdir -p "${DESTDIR}/bin" +cp -a /bin/live-boot "${DESTDIR}/bin" + +mkdir -p "${DESTDIR}/lib/live" +cp -a /lib/live/boot "${DESTDIR}/lib/live" + +mkdir -p "${DESTDIR}/etc/live" +if [ -e /etc/live/boot.conf ] +then + cp -a /etc/live/boot.conf "${DESTDIR}/etc/live" +fi +if [ -e /etc/live/boot ] +then + cp -a /etc/live/boot "${DESTDIR}/etc/live" +fi + +# klibc dependencies +for FILE in /lib/libacl* /lib/libblkid* /lib/libuuid* /lib/libdevmapper* /lib/libattr* +do + if [ ! -e "${DESTDIR}/${FILE}" ] && ls "${FILE}" > /dev/null 2>&1 + then + cp -a "${FILE}" "${DESTDIR}/${FILE}" + fi +done + +# udev dependencies +if [ "${MINIMAL:-}" != "true" ] && [ "${MINIMAL:-}" != "yes" ] +then + for FILE in /lib/udev/*_id + do + copy_exec "${FILE}" + done +fi + +if [ -e /lib/udev/rules.d/60-cdrom_id.rules ] && [ "${DISABLE_CDROM:-}" != "true" ] && \ + [ "${DISABLE_CDROM:-}" != "yes" ] +then + mkdir -p "${DESTDIR}/lib/udev/rules.d" + cp -p /lib/udev/rules.d/60-cdrom_id.rules "${DESTDIR}/lib/udev/rules.d" +fi + +[ "${QUIET}" ] || echo -n " filesystems" + +# Configuration: keymap (usefull when using encryption) +if [ -x /bin/loadkeys ] && [ -r /etc/console/boottime.kmap.gz ] +then + copy_exec /bin/loadkeys + + mkdir -p "${DESTDIR}/etc" + cp /etc/console/boottime.kmap.gz "${DESTDIR}/etc" +fi + +# Configuration: Unique ID +if [ -r /etc/live/uuid.conf ] +then + mkdir -p "${DESTDIR}/conf" + cp /etc/live/uuid.conf ${DESTDIR}/conf +fi + +# Filesystem: btrfs +manual_add_modules btrfs + +# Filesystem: cifs +if [ -x /sbin/mount.cifs ] +then + copy_exec /sbin/mount.cifs + manual_add_modules cifs +fi + +# Filesystem: ext3/ext4 +manual_add_modules ext3 +manual_add_modules ext4 + +# Filesystem: hfs/hfsplus +manual_add_modules hfs +manual_add_modules hfsplus + +# Filesystem: jffs2 +manual_add_modules jffs2 + +if [ -x /usr/bin/rsync ] && [ "${MINIMAL:-}" != "true" ] && [ "${MINIMAL:-}" != "yes" ] +then + copy_exec /usr/bin/rsync /bin +fi + +# Filesystem: squashfs +copy_exec /sbin/losetup +manual_add_modules loop +manual_add_modules squashfs +manual_add_modules sqlzma +manual_add_modules unlzma + +# Filesystem: aufs/overlay +manual_add_modules aufs +manual_add_modules overlay + +# Filesystem: vfat +if [ "${DISABLE_FAT:-}" != "true" ] && [ "${DISABLE_FAT:-}" != "yes" ] +then + manual_add_modules nls_cp437 + manual_add_modules nls_iso8859-1 + manual_add_modules nls_utf8 + manual_add_modules nls_ascii + manual_add_modules vfat +fi + +# Filesystem: ntfs +if [ "${DISABLE_NTFS:-}" != "true" ] && [ "${DISABLE_NTFS:-}" != "yes" ] +then + manual_add_modules ntfs +fi + +[ "${QUIET}" ] || echo -n " devices" +# Hardware: cdrom +if [ "${DISABLE_CDROM:-}" != "true" ] && [ "${DISABLE_CDROM:-}" != "yes" ] +then + manual_add_modules ide-cd + manual_add_modules ide-generic + manual_add_modules ohci1394 + manual_add_modules sbp2 + manual_add_modules sr_mod +fi + +# Hardware: usb +if [ "${DISABLE_USB:-}" != "true" ] && [ "${DISABLE_USB:-}" != "yes" ] +then + manual_add_modules sd_mod +fi + +# Hardware: network +auto_add_modules net + +# Program: eject +if [ -x /usr/bin/eject ] +then + copy_exec /usr/bin/eject /bin +fi + +[ "${QUIET}" ] || echo -n " utils" + +# Feature: Verify Checksums +if [ -e /etc/progress-linux_version ] +then + copy_exec /usr/bin/sha256sum /bin +else + copy_exec /usr/bin/md5sum /bin +fi + +# Program: memdisk +if [ -x /usr/bin/memdiskfind ] +then +[ "${QUIET}" ] || echo -n " memdisk" + copy_exec /usr/bin/memdiskfind + manual_add_modules phram + manual_add_modules mtdblock +fi + +# Program: udev +if [ -x /sbin/udevadm ] +then + [ "${QUIET}" ] || echo -n " udev" + copy_exec /sbin/udevadm +fi + +# Program: blockdev +if [ -x /sbin/blockdev ] +then + [ "${QUIET}" ] || echo -n " blockdev" + copy_exec /sbin/blockdev +fi + +# FUSE kernel module +if [ "${DISABLE_FUSE:-n}" != "true" ] && [ "${DISABLE_FUSE:-n}" != "yes" ] +then + manual_add_modules fuse + + # FUSE filesystem: httpfs2 + if [ -x /usr/bin/httpfs2_ssl ] + then + [ "${QUIET}" ] || echo -n " httpfs:ssl" + copy_exec /usr/bin/httpfs2_ssl /bin/httpfs + elif [ -x /usr/bin/httpfs2 ] + then + [ "${QUIET}" ] || echo -n " httpfs" + copy_exec /usr/bin/httpfs2 /bin/httpfs + fi + + # FUSE filesystem: curlftpfs + if [ -x /usr/bin/curlftpfs ] + then + [ "${QUIET}" ] || echo -n " ftpfs" + copy_exec /usr/bin/curlftpfs /bin + fi +fi + +# iSCSI +if [ -x /usr/sbin/iscsistart ] +then + [ "${QUIET}" ] || echo -n " iscsi" + copy_exec /usr/sbin/iscsistart /bin + #manual_add_modules ib_iser + manual_add_modules iscsi_tcp + manual_add_modules crc32c +fi + +# Some experimental stuff + +[ "${QUIET}" ] || echo -n " dns" + +# /lib/libnss_dns.so.*:a DNS +# /lib/libnss_files.so.*: /etc/hosts and /etc/passwd +# /lib/libnss_compat.so.*: /etc/passwd + +for _SHLIB in $(find /lib -name 'libnss_dns.so.*' -o -name 'libnss_files.so.*') +do + copy_exec "${_SHLIB}" +done + +if [ ! -e "${DESTDIR}/etc/nsswitch.conf" ] +then + # Needed to make "hostname -f" honor the domainname provided by DHCP + echo "hosts: files dns" > "${DESTDIR}/etc/nsswitch.conf" +fi + +[ "${QUIET}" ] || echo . diff --git a/system-boot/backend/initramfs-tools/live.script b/system-boot/backend/initramfs-tools/live.script new file mode 100755 index 0000000..5bec741 --- /dev/null +++ b/system-boot/backend/initramfs-tools/live.script @@ -0,0 +1,59 @@ +# Live system filesystem mounting -*- shell-script -*- + +. /bin/live-boot + +live_top() +{ + if [ "${live_top_used}" != "yes" ]; then + [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/live-top" + run_scripts /scripts/live-top + [ "$quiet" != "y" ] && log_end_msg + fi + live_top_used=yes +} + +live_premount() +{ + if [ "${live_premount_used}" != "yes" ]; then + [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/live-premount" + run_scripts /scripts/live-premount + [ "$quiet" != "y" ] && log_end_msg + fi + live_premount_used=yes +} + +live_bottom() +{ + if [ "${live_premount_used}" = "yes" ] || [ "${live_top_used}" = "yes" ]; then + [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/live-bottom" + run_scripts /scripts/live-bottom + [ "$quiet" != "y" ] && log_end_msg + fi + live_premount_used=no + live_top_used=no +} + + +mountroot() +{ + # initramfs-tools entry point for live-boot is mountroot(); function + Live +} + +mount_top() +{ + # Note, also called directly in case it's overridden. + live_top +} + +mount_premount() +{ + # Note, also called directly in case it's overridden. + live_premount +} + +mount_bottom() +{ + # Note, also called directly in case it's overridden. + live_bottom +} diff --git a/system-boot/components/0001-init-vars.sh b/system-boot/components/0001-init-vars.sh new file mode 100755 index 0000000..603cf43 --- /dev/null +++ b/system-boot/components/0001-init-vars.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +mountpoint="/run/live/medium" +alt_mountpoint="/media" +LIVE_MEDIA_PATH="live" +HOSTNAME="host" +custom_overlay_label="persistence" +persistence_list="persistence.conf" + +mkdir -p "${mountpoint}" +mkdir -p /var/lib/live/boot diff --git a/system-boot/components/0010-debug b/system-boot/components/0010-debug new file mode 100755 index 0000000..cfb2fc8 --- /dev/null +++ b/system-boot/components/0010-debug @@ -0,0 +1,27 @@ +#!/bin/sh + +#set -e + +Debug () +{ + for _PARAMETER in ${LIVE_BOOT_CMDLINE} + do + case "${_PARAMETER}" in + live-boot.debug|debug) + LIVE_BOOT_DEBUG="true" + ;; + esac + done + + case "${LIVE_BOOT_DEBUG}" in + true) + ;; + + *) + return 0 + ;; + esac + + # Write the trace output + set -x +} diff --git a/system-boot/components/0020-read-only b/system-boot/components/0020-read-only new file mode 100755 index 0000000..f56b8cf --- /dev/null +++ b/system-boot/components/0020-read-only @@ -0,0 +1,72 @@ +#!/bin/sh + +#set -e + +Read_only () +{ + for _PARAMETER in ${LIVE_BOOT_CMDLINE} + do + case "${_PARAMETER}" in + live-boot.read-only=*|read-only=*) + LIVE_READ_ONLY="true" + LIVE_READ_ONLY_DEVICES="${_PARAMETER#*read-only=}" + ;; + + live-boot.read-only|read-only) + LIVE_READ_ONLY="true" + ;; + esac + done + + case "${LIVE_READ_ONLY}" in + true) + ;; + + *) + return 0 + ;; + esac + + # Marking some block devices as read-only to ensure that nothing + # gets written as linux still writes to 'only' read-only mounted filesystems. + LIVE_READ_ONLY_DEVICES="${LIVE_READ_ONLY_DEVICES:-/dev/sd* /dev/vd*}" + + for _DEVICE in $(echo ${LIVE_READ_ONLY_DEVICES} | sed -e 's|,| |g') + do + if [ ! -b "${_DEVICE}" ] + then + continue + fi + + echo -n "live-boot: Setting ${_DEVICE} read-only..." > /dev/console + + blockdev --setro ${_DEVICE} + _RETURN="${?}" + + case "${_RETURN}" in + 0) + echo " done, use 'blockdev --setrw ${_DEVICE}' to set read-write." > /dev/console + ;; + + *) + echo " failed." > /dev/console + ;; + esac + done + + if grep -qw persistence /proc/cmdline + then + printf " * Persistence mode enabled, searching for persistency related devices to unlock\n" >/dev/console + + for label in custom-ov home-rw home-sn live-rw live-sn persistence + do + if blkid -t LABEL="$label" | grep -q '.' + then + device=$(blkid -t LABEL="$label" | awk -F: '{print $1}') + printf " - Setting device %-9s with label '%s' to write mode for persistence mode: " "$device" "$label" >/dev/console + blockdev --setrw $device && printf "done\n" >/dev/console || printf "failed\n" >/dev/console + fi + done + fi + +} diff --git a/system-boot/components/0030-verify-checksums b/system-boot/components/0030-verify-checksums new file mode 100755 index 0000000..4453558 --- /dev/null +++ b/system-boot/components/0030-verify-checksums @@ -0,0 +1,89 @@ +#!/bin/sh + +#set -e + +Verify_checksums () +{ + for _PARAMETER in ${LIVE_BOOT_CMDLINE} + do + case "${_PARAMETER}" in + live-boot.verify-checksums=*|verify-checksums=*) + LIVE_VERIFY_CHECKSUMS="true" + LIVE_VERIFY_CHECKSUMS_DIGESTS="${_PARAMETER#*verify-checksums=}" + ;; + + live-boot.verify-checksums|verify-checksums) + LIVE_VERIFY_CHECKSUMS="true" + ;; + esac + done + + case "${LIVE_VERIFY_CHECKSUMS}" in + true) + ;; + + *) + return 0 + ;; + esac + + _MOUNTPOINT="${1}" + + LIVE_VERIFY_CHECKSUMS_DIGESTS="${LIVE_VERIFY_CHECKSUMS_DIGESTS:-sha512 sha384 sha256 sha224 sha1 md5}" + _TTY="/dev/tty8" + + log_begin_msg "Verifying checksums" + + cd "${_MOUNTPOINT}" + + for _DIGEST in $(echo ${LIVE_VERIFY_CHECKSUMS_DIGESTS} | sed -e 's|,| |g') + do + _CHECKSUMS="$(echo ${_DIGEST} | tr [a-z] [A-Z])SUMS ${_DIGEST}sum.txt" + + for _CHECKSUM in ${_CHECKSUMS} + do + if [ -e "${_CHECKSUM}" ] + then + echo "Found ${_CHECKSUM}..." > "${_TTY}" + + if [ -e "/bin/${_DIGEST}sum" ] + then + echo "Checking ${_CHECKSUM}..." > "${_TTY}" + + # Verify checksums + grep -v '^#' "${_CHECKSUM}" | /bin/${_DIGEST}sum -c > "${_TTY}" + _RETURN="${?}" + + # Stop after first verification + break + else + echo "Not found /bin/${_DIGEST}sum..." > "${_TTY}" + fi + fi + done + done + + log_end_msg + + case "${_RETURN}" in + 0) + log_success_msg "Verification successfull, rebooting in 10 seconds." + sleep 10 + + # Unmount live-media + cd / + umount -f "${_MOUNTPOINT}" > /dev/null 2>&1 + sync + + # Attempt to remount all mounted filesystems read-only + echo u > /proc/sysrq-trigger + + # Immediately reboot the system without syncing or unmounting filesystems + echo b > /proc/sysrq-trigger + ;; + + *) + panic "Verification failed, $(basename ${_TTY}) for more information." + ;; + esac +} diff --git a/system-boot/components/2010-remove-persistence b/system-boot/components/2010-remove-persistence new file mode 100755 index 0000000..717a408 --- /dev/null +++ b/system-boot/components/2010-remove-persistence @@ -0,0 +1,31 @@ +#!/bin/sh + +#set -e + +Remove_persistence () +{ + for _PARAMETER in ${LIVE_BOOT_CMDLINE} + do + case "${_PARAMETER}" in + live-boot.persistence-remove=*|persistence-remove=*) + LIVE_PERSISTENCE_REMOVE="${_PARAMETER#*persistence-remove=}" + ;; + + live-boot.persistence-remove|persistence-remove) + LIVE_PERSISTENCE_REMOVE="true" + ;; + esac + done + + case "${LIVE_PERSISTENCE_REMOVE}" in + true) + ;; + + *) + return 0 + ;; + esac + + # Remove persistence + cd /run/live/overlay && find . -not -name 'persistence.conf' | xargs rm -rf +} diff --git a/system-boot/components/3020-swap b/system-boot/components/3020-swap new file mode 100755 index 0000000..345b9a0 --- /dev/null +++ b/system-boot/components/3020-swap @@ -0,0 +1,62 @@ +#!/bin/sh + +#set -e + +Swap () +{ + for _PARAMETER in ${LIVE_BOOT_CMDLINE} + do + case "${_PARAMETER}" in + live-boot.swap=*|swap=*) + LIVE_SWAP="true" + LIVE_SWAP_DEVICES="${_PARAMETER#*swap=}" + ;; + + live-boot.swap|swap) + LIVE_SWAP="true" + ;; + esac + done + + case "${LIVE_SWAP}" in + true) + ;; + + *) + return 0 + ;; + esac + + LIVE_SWAP_DEVICES="${LIVE_SWAP_DEVICES:-/dev/sd* /dev/vd*}" + + for _DEVICE in $(echo ${LIVE_SWAP_DEVICES} | sed -e 's|,| |g') + do + if [ ! -b "${_DEVICE}" ] + then + continue + fi + + blkid -o udev -p ${_DEVICE%%[0-9]*} | grep -q "^ID_FS_USAGE=raid" && continue + + _MAGIC="$(/bin/dd if=${_DEVICE} bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null)" || continue + + case "${_MAGIC}" in + SWAPSPACE2|SWAP-SPACE) + _SWAP_DEVICES="${_SWAP_DEVICES} ${_DEVICE}" + ;; + esac + done + + # Remove all auto swap entries + if grep -qs "swap swap" /root/etc/fstab + then + grep -v "swap swap" /root/etc/fstab > /root/etc/fstab.tmp + mv /root/etc/fstab.tmp /root/etc/fstab + fi + + # Add new swap entries + for _DEVICE in ${_SWAP_DEVICES} + do + echo "${_DEVICE} swap swap defaults 0 0" >> /root/etc/fstab + done +} diff --git a/system-boot/components/9990-cmdline-old b/system-boot/components/9990-cmdline-old new file mode 100755 index 0000000..dad5ecb --- /dev/null +++ b/system-boot/components/9990-cmdline-old @@ -0,0 +1,327 @@ +#!/bin/sh + +#set -e + +Cmdline_old () +{ + for _PARAMETER in ${LIVE_BOOT_CMDLINE} + do + case "${_PARAMETER}" in + skipconfig) + NOFSTAB="true" + NONETWORKING="true" + + export NOFSTAB NONETWORKING + ;; + + BOOTIF=*) + BOOTIF="${_PARAMETER#BOOTIF=}" + ;; + dns=*) + DNS=${_PARAMETER#dns=} + DNSSERVERS=$(echo ${DNS} | sed 's/,/ /g') + export DNSSERVERS + unset DNS + ;; + dhcp) + # Force dhcp even while netbooting + # Use for debugging in case somebody works on fixing dhclient + DHCP="true"; + export DHCP + ;; + + nodhcp) + DHCP="" + export DHCP + NODHCP="true" + export NODHCP + ;; + + ethdevice=*) + DEVICE="${_PARAMETER#ethdevice=}" + ETHDEVICE="${DEVICE}" + export DEVICE ETHDEVICE + ;; + + ethdevice-timeout=*) + ETHDEV_TIMEOUT="${_PARAMETER#ethdevice-timeout=}" + export ETHDEV_TIMEOUT + ;; + + fetch=*) + FETCH="${_PARAMETER#fetch=}" + export FETCH + ;; + + findiso=*) + FINDISO="${_PARAMETER#findiso=}" + export FINDISO + ;; + + ftpfs=*) + FTPFS="${_PARAMETER#ftpfs=}" + export FTPFS + ;; + + httpfs=*) + HTTPFS="${_PARAMETER#httpfs=}" + export HTTPFS + ;; + + iscsi=*) + ISCSI="${_PARAMETER#iscsi=}" + #ip:port - separated by ; + ISCSI_PORTAL="${ISCSI%;*}" + if echo "${ISCSI_PORTAL}" | grep -q , ; then + ISCSI_SERVER="${ISCSI_PORTAL%,*}" + ISCSI_PORT="${ISCSI_PORTAL#*,}" + fi + #target name + ISCSI_TARGET="${ISCSI#*;}" + export ISCSI ISCSI_PORTAL ISCSI_TARGET ISCSI_SERVER ISCSI_PORT + ;; + + isofrom=*|fromiso=*) + FROMISO="${_PARAMETER#*=}" + export FROMISO + ;; + + ignore_uuid) + IGNORE_UUID="true" + export IGNORE_UUID + ;; + + ip=*) + STATICIP="${_PARAMETER#ip=}" + + if [ -z "${STATICIP}" ] + then + STATICIP="frommedia" + fi + + export STATICIP + ;; + + live-media=*|bootfrom=*) + LIVE_MEDIA="${_PARAMETER#*=}" + export LIVE_MEDIA + ;; + + live-media-uuid=*) + LIVE_MEDIA_UUID="${_PARAMETER#*=}" + export LIVE_MEDIA_UUID + ;; + + live-media-mount-opts=*) + LIVE_MEDIA_MOUNT_OPTS="${_PARAMETER#*=}" + export LIVE_MEDIA_MOUNT_OPTS + ;; + + live-media-encryption=*|encryption=*) + LIVE_MEDIA_ENCRYPTION="${_PARAMETER#*=}" + export LIVE_MEDIA_ENCRYPTION + ;; + + live-media-offset=*) + LIVE_MEDIA_OFFSET="${_PARAMETER#live-media-offset=}" + export LIVE_MEDIA_OFFSET + ;; + + live-media-path=*) + LIVE_MEDIA_PATH="${_PARAMETER#live-media-path=}" + export LIVE_MEDIA_PATH + ;; + + live-media-timeout=*) + LIVE_MEDIA_TIMEOUT="${_PARAMETER#live-media-timeout=}" + export LIVE_MEDIA_TIMEOUT + ;; + + module=*) + MODULE="${_PARAMETER#module=}" + export MODULE + ;; + + netboot=*) + NETBOOT="${_PARAMETER#netboot=}" + export NETBOOT + ;; + + nfsopts=*) + NFSOPTS="${_PARAMETER#nfsopts=}" + export NFSOPTS + ;; + + nfsoverlay=*) + NFS_COW="${_PARAMETER#nfsoverlay=}" + export NFS_COW + ;; + + nofstab) + NOFSTAB="true" + export NOFSTAB + ;; + + nonetworking) + NONETWORKING="true" + export NONETWORKING + ;; + + ramdisk-size=*) + ramdisk_size="${_PARAMETER#ramdisk-size=}" + ;; + + overlay-size=*) + OVERLAY_SIZE="${_PARAMETER#overlay-size=}" + export OVERLAY_SIZE + ;; + + persistence) + PERSISTENCE="true" + export PERSISTENCE + ;; + + persistence-encryption=*) + PERSISTENCE_ENCRYPTION="${_PARAMETER#*=}" + export PERSISTENCE_ENCRYPTION + ;; + + persistence-media=*) + PERSISTENCE_MEDIA="${_PARAMETER#*=}" + export PERSISTENCE_MEDIA + ;; + persistence-method=*) + PERSISTENCE_METHOD="${_PARAMETER#*=}" + export PERSISTENCE_METHOD + ;; + + persistence-path=*) + PERSISTENCE_PATH="${_PARAMETER#persistence-path=}" + export PERSISTENCE_PATH + ;; + persistence-read-only) + PERSISTENCE_READONLY="true" + export PERSISTENCE_READONLY + ;; + + persistence-storage=*) + PERSISTENCE_STORAGE="${_PARAMETER#persistence-storage=}" + export PERSISTENCE_STORAGE + ;; + + persistence-label=*) + custom_overlay_label="${_PARAMETER#persistence-label=*}" + ;; + + nopersistence) + NOPERSISTENCE="true" + export NOPERSISTENCE + ;; + + quickusbmodules) + QUICKUSBMODULES="true" + export QUICKUSBMODULES + ;; + + todisk=*) + TODISK="${_PARAMETER#todisk=}" + export TODISK + ;; + + toram) + TORAM="true" + export TORAM + ;; + + toram=*) + TORAM="true" + MODULETORAM="${_PARAMETER#toram=}" + export TORAM MODULETORAM + ;; + + exposedroot) + EXPOSED_ROOT="true" + export EXPOSED_ROOT + ;; + + plainroot) + PLAIN_ROOT="true" + export PLAIN_ROOT + ;; + + skipunion) + SKIP_UNION_MOUNTS="true" + export SKIP_UNION_MOUNTS + ;; + + root=*) + ROOT="${_PARAMETER#root=}" + export ROOT + ;; + + union=*) + UNIONTYPE="${_PARAMETER#union=}" + export UNIONTYPE + ;; + esac + done + + # sort of compatibility with netboot.h from linux docs + if [ -z "${NETBOOT}" ] + then + if [ "${ROOT}" = "/dev/nfs" ] + then + NETBOOT="nfs" + export NETBOOT + elif [ "${ROOT}" = "/dev/cifs" ] + then + NETBOOT="cifs" + export NETBOOT + fi + fi + + if [ -z "${MODULE}" ] + then + MODULE="filesystem" + export MODULE + fi + + if [ -z "${UNIONTYPE}" ] + then + UNIONTYPE="overlay" + export UNIONTYPE + fi + + if [ -z "${PERSISTENCE_ENCRYPTION}" ] + then + PERSISTENCE_ENCRYPTION="none" + export PERSISTENCE_ENCRYPTION + elif is_in_comma_sep_list luks ${PERSISTENCE_ENCRYPTION} + then + if ! modprobe dm-crypt + then + log_warning_msg "Unable to load module dm-crypt" + PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g') + export PERSISTENCE_ENCRYPTION + fi + + if [ ! -x /lib/cryptsetup/askpass ] || [ ! -x /sbin/cryptsetup ] + then + log_warning_msg "cryptsetup is unavailable" + PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g') + export PERSISTENCE_ENCRYPTION + fi + fi + + if [ -z "${PERSISTENCE_METHOD}" ] + then + PERSISTENCE_METHOD="overlay" + export PERSISTENCE_METHOD + fi + + if [ -z "${PERSISTENCE_STORAGE}" ] + then + PERSISTENCE_STORAGE="filesystem,file" + export PERSISTENCE_STORAGE + fi +} diff --git a/system-boot/components/9990-fstab.sh b/system-boot/components/9990-fstab.sh new file mode 100755 index 0000000..ba579de --- /dev/null +++ b/system-boot/components/9990-fstab.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +#set -e + +Fstab () +{ + if [ -n "${NOFSTAB}" ] + then + return + fi + + log_begin_msg "Configuring fstab" + + if ! grep -qs "^${UNIONTYPE}" /root/etc/fstab + then + echo "${UNIONTYPE} / ${UNIONTYPE} rw 0 0" >> /root/etc/fstab + fi + + if ! grep -qs "^tmpfs /tmp" /root/etc/fstab + then + echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> /root/etc/fstab + fi + + log_end_msg +} diff --git a/system-boot/components/9990-initramfs-tools.sh b/system-boot/components/9990-initramfs-tools.sh new file mode 100755 index 0000000..eb11d23 --- /dev/null +++ b/system-boot/components/9990-initramfs-tools.sh @@ -0,0 +1,75 @@ +#!/bin/sh + +#set -e + +log_wait_msg () +{ + # Print a message and wait for enter + if [ -x /bin/plymouth ] && plymouth --ping + then + plymouth message --text="$@" + plymouth watch-keystroke | read nunya + fi + + _log_msg "Waiting: ${@} ... \n" +} + +# Override maybe_break from scripts/functions +maybe_break() +{ + if [ "${break}" = "$1" ]; then + # Call original panic + . /scripts/functions + panic "Spawning shell within the initramfs" + fi +} + +# Override panic from scripts/functions +panic() +{ + for _PARAMETER in ${LIVE_BOOT_CMDLINE} + do + case "${_PARAMETER}" in + panic=*) + panic="${_PARAMETER#*panic=}" + ;; + esac + done + + DEB_1="\033[1;31m .''\`. \033[0m" + DEB_2="\033[1;31m: :' : \033[0m" + DEB_3="\033[1;31m\`. \`'\` \033[0m" + DEB_4="\033[1;31m \`- \033[0m" + + LIVELOG="\033[1;37m/boot.log\033[0m" + DEBUG="\033[1;37mdebug\033[0m" + + # Reset redirections to avoid buffering + exec 1>&6 6>&- + exec 2>&7 7>&- + kill ${tailpid} + + printf "\n\n" + printf " \033[1;37mBOOT FAILED!\033[0m\n" + printf "\n" + printf " This Live System image failed to boot.\n\n" + + printf " Please file a bug against the 'live-boot' package or email the Live Systems\n" + printf " mailing list at <debian-live@lists.debian.org>, making sure to note the\n" + printf " exact version, name and distribution of the image you were attempting to boot.\n\n" + + printf " The file ${LIVELOG} contains some debugging information but booting with the\n" + printf " ${DEBUG} command-line parameter will greatly increase its verbosity which is\n" + printf " extremely useful when diagnosing issues.\n\n" + + if [ -n "${panic}" ]; then + printf " live-boot will now restart your system. " + else + printf " live-boot will now start a shell. " + fi + printf "The error message was:\n\n " + + # Call original panic + . /scripts/functions + panic "$@" +} diff --git a/system-boot/components/9990-main.sh b/system-boot/components/9990-main.sh new file mode 100755 index 0000000..ed48be3 --- /dev/null +++ b/system-boot/components/9990-main.sh @@ -0,0 +1,195 @@ +#!/bin/sh + +# set -e + +Live () +{ + if [ -x /scripts/local-top/cryptroot ] + then + /scripts/local-top/cryptroot + fi + + exec 6>&1 + exec 7>&2 + exec > boot.log + exec 2>&1 + tail -f boot.log >&7 & + tailpid="${!}" + + LIVE_BOOT_CMDLINE="${LIVE_BOOT_CMDLINE:-$(cat /proc/cmdline)}" + Cmdline_old + + Debug + + Read_only + + Select_eth_device + + if [ -e /conf/param.conf ] + then + . /conf/param.conf + fi + + # Needed here too because some things (*cough* udev *cough*) + # changes the timeout + + if [ ! -z "${NETBOOT}" ] || [ ! -z "${FETCH}" ] || [ ! -z "${HTTPFS}" ] || [ ! -z "${FTPFS}" ] + then + if do_netmount + then + livefs_root="${mountpoint}" + else + panic "Unable to find a live file system on the network" + fi + else + if [ -n "${ISCSI_PORTAL}" ] + then + do_iscsi && livefs_root="${mountpoint}" + elif [ -n "${PLAIN_ROOT}" ] && [ -n "${ROOT}" ] + then + # Do a local boot from hd + livefs_root=${ROOT} + else + if [ -x /usr/bin/memdiskfind ] + then + MEMDISK=$(/usr/bin/memdiskfind) + + if [ $? -eq 0 ] + then + # We found a memdisk, set up phram + modprobe phram phram=memdisk,${MEMDISK} + modprobe phram phram=memdisk,${MEMDISK} + + # Load mtdblock, the memdisk will be /dev/mtdblock0 + modprobe mtdblock + fi + fi + + # Scan local devices for the image + i=0 + while [ "$i" -lt 60 ] + do + livefs_root=$(find_livefs ${i}) + + if [ -n "${livefs_root}" ] + then + break + fi + + sleep 1 + i="$(($i + 1))" + done + fi + fi + + if [ -z "${livefs_root}" ] + then + panic "Unable to find a medium containing a live file system" + fi + + Verify_checksums "${livefs_root}" + + if [ "${TORAM}" ] + then + live_dest="ram" + elif [ "${TODISK}" ] + then + live_dest="${TODISK}" + fi + + if [ "${live_dest}" ] + then + log_begin_msg "Copying live media to ${live_dest}" + copy_live_to "${livefs_root}" "${live_dest}" + log_end_msg + fi + + # if we do not unmount the ISO we can't run "fsck /dev/ice" later on + # because the mountpoint is left behind in /proc/mounts, so let's get + # rid of it when running from RAM + if [ -n "$FROMISO" ] && [ "${TORAM}" ] + then + losetup -d /dev/loop0 + + if is_mountpoint /run/live/fromiso + then + umount /run/live/fromiso + rmdir --ignore-fail-on-non-empty /run/live/fromiso \ + >/dev/null 2>&1 || true + fi + fi + + if [ -n "${MODULETORAMFILE}" ] || [ -n "${PLAIN_ROOT}" ] + then + setup_unionfs "${livefs_root}" "${rootmnt}" + else + mac="$(get_mac)" + mac="$(echo ${mac} | sed 's/-//g')" + mount_images_in_directory "${livefs_root}" "${rootmnt}" "${mac}" + fi + + if [ -n "${ROOT_PID}" ] + then + echo "${ROOT_PID}" > "${rootmnt}"/lib/live/root.pid + fi + + log_end_msg + + # aufs2 in kernel versions around 2.6.33 has a regression: + # directories can't be accessed when read for the first the time, + # causing a failure for example when accessing /var/lib/fai + # when booting FAI, this simple workaround solves it + ls /root/* >/dev/null 2>&1 + + # if we do not unmount the ISO we can't run "fsck /dev/ice" later on + # because the mountpoint is left behind in /proc/mounts, so let's get + # rid of it when running from RAM + if [ -n "$FINDISO" ] && [ "${TORAM}" ] + then + losetup -d /dev/loop0 + + if is_mountpoint /run/live/findiso + then + umount /run/live/findiso + rmdir --ignore-fail-on-non-empty /run/live/findiso \ + >/dev/null 2>&1 || true + fi + fi + + if [ -L /root/etc/resolv.conf ] ; then + # assume we have resolvconf + DNSFILE="${rootmnt}/etc/resolvconf/resolv.conf.d/base" + else + DNSFILE="${rootmnt}/etc/resolv.conf" + fi + if [ -f /etc/resolv.conf ] && ! grep -E -q -v '^[[:space:]]*#|^[[:space:]]*$' ${DNSFILE} + then + log_begin_msg "Copying /etc/resolv.conf to ${DNSFILE}" + cp -v /etc/resolv.conf ${DNSFILE} + log_end_msg + fi + + if ! [ -d "/lib/live/boot" ] + then + panic "A wrong rootfs was mounted." + fi + + # avoid breaking existing user scripts that rely on the old path + # this includes code that checks what is mounted on /lib/live/mount/* + # (eg: grep /lib/live /proc/mount) + # XXX: to be removed before the bullseye release + mkdir -p ${rootmnt}/lib/live/mount + mount --rbind /run/live ${rootmnt}/lib/live/mount + + Fstab + Netbase + + Swap + + exec 1>&6 6>&- + exec 2>&7 7>&- + kill ${tailpid} + [ -w "${rootmnt}/var/log/" ] && mkdir -p "${rootmnt}/var/log/live" && ( \ + cp boot.log "${rootmnt}/var/log/live" 2>/dev/null; \ + cp fsck.log "${rootmnt}/var/log/live" 2>/dev/null ) +} diff --git a/system-boot/components/9990-misc-helpers.sh b/system-boot/components/9990-misc-helpers.sh new file mode 100755 index 0000000..2811aaa --- /dev/null +++ b/system-boot/components/9990-misc-helpers.sh @@ -0,0 +1,1713 @@ +#!/bin/sh + +#set -e + +is_live_path() +{ + DIRECTORY="${1}/${LIVE_MEDIA_PATH}" + for FILESYSTEM in squashfs ext2 ext3 ext4 xfs dir jffs + do + if ls "${DIRECTORY}/"*.${FILESYSTEM} > /dev/null 2>&1 + then + return 0 + fi + done + return 1 +} + +matches_uuid () +{ + if [ "${IGNORE_UUID}" ] || ([ ! -e /conf/uuid.conf ] && [ ! "${LIVE_MEDIA_UUID}" ]) + then + return 0 + fi + + path="${1}" + uuid="$(cat /conf/uuid.conf)" + uuid="${LIVE_MEDIA_UUID:-${uuid}}" + + for try_uuid_file in "${path}/.disk/live-uuid"* + do + [ -e "${try_uuid_file}" ] || continue + + try_uuid="$(cat "${try_uuid_file}")" + + if [ "${uuid}" = "${try_uuid}" ] + then + return 0 + fi + done + + return 1 +} + +get_backing_device () +{ + case "${1}" in + *.squashfs|*.ext2|*.ext3|*.ext4|*.jffs2) + echo $(setup_loop "${1}" "loop" "/sys/block/loop*" '0' "${LIVE_MEDIA_ENCRYPTION}" "${2}") + ;; + + *.dir) + echo "directory" + ;; + + *) + panic "Unrecognized live filesystem: ${1}" + ;; + esac +} + +mount_images_in_directory () +{ + directory="${1}" + rootmnt="${2}" + mac="${3}" + + if is_live_path "${directory}" + then + [ -n "${mac}" ] && adddirectory="${directory}/${LIVE_MEDIA_PATH}/${mac}" + setup_unionfs "${directory}/${LIVE_MEDIA_PATH}" "${rootmnt}" "${adddirectory}" + else + panic "No supported filesystem images found at /${LIVE_MEDIA_PATH}." + fi +} + +is_nice_device () +{ + sysfs_path="${1#/sys}" + + if udevadm info --query=all --path="${sysfs_path}" | egrep -q "DEVTYPE=disk" + then + return 0 + elif echo "${sysfs_path}" | grep -q '^/block/vd[a-z]$' + then + return 0 + elif echo ${sysfs_path} | grep -q "^/block/dm-" + then + return 0 + elif echo ${sysfs_path} | grep -q "^/block/mtdblock" + then + return 0 + fi + + return 1 +} + +check_dev () +{ + local force fix + sysdev="${1}" + devname="${2}" + skip_uuid_check="${3}" + mount_opts="${LIVE_MEDIA_MOUNT_OPTS:-ro,noatime}" + + # support for fromiso=.../isofrom=.... + if [ -n "$FROMISO" ] + then + ISO_DEVICE=$(dirname $FROMISO) + if ! [ -b $ISO_DEVICE ] + then + # to support unusual device names like /dev/cciss/c0d0p1 + # as well we have to identify the block device name, let's + # do that for up to 15 levels + i=15 + while [ -n "$ISO_DEVICE" ] && [ "$i" -gt 0 ] + do + ISO_DEVICE=$(dirname ${ISO_DEVICE}) + [ -b "$ISO_DEVICE" ] && break + i=$(($i -1)) + done + fi + + if [ "$ISO_DEVICE" = "/" ] + then + # not a block device, check if it's an iso file, for + # example an ISO when booting on an ONIE system + if echo "${FROMISO}" | grep -q "\.iso$" + then + fs_type=$(get_fstype "${FROMISO}") + if is_supported_fs ${fs_type} + then + mkdir /run/live/fromiso + mount -t $fs_type "${FROMISO}" /run/live/fromiso + if [ "$?" != 0 ] + then + echo "Warning: unable to mount ${FROMISO}." >>/boot.log + fi + devname="/run/live/fromiso" + fi + else + echo "Warning: device for bootoption fromiso= ($FROMISO) not found.">>/boot.log + fi + else + fs_type=$(get_fstype "${ISO_DEVICE}") + if is_supported_fs ${fs_type} + then + mkdir /run/live/fromiso + mount -t $fs_type "$ISO_DEVICE" /run/live/fromiso + ISO_NAME="$(echo $FROMISO | sed "s|$ISO_DEVICE||")" + loopdevname=$(setup_loop "/run/live/fromiso/${ISO_NAME}" "loop" "/sys/block/loop*" "" '') + devname="${loopdevname}" + else + echo "Warning: unable to mount $ISO_DEVICE." >>/boot.log + fi + fi + fi + + if [ -z "${devname}" ] + then + devname=$(sys2dev "${sysdev}") + fi + + if [ -d "${devname}" ] + then + mount -o bind "${devname}" $mountpoint || continue + + if is_live_path $mountpoint + then + echo $mountpoint + return 0 + else + umount $mountpoint + fi + fi + + IFS="," + for device in ${devname} + do + case "$device" in + *mapper*) + # Adding lvm support + if [ -x /scripts/local-top/lvm2 ] + then + ROOT="$device" resume="" /scripts/local-top/lvm2 >>/boot.log + fi + ;; + + /dev/md*) + # Adding raid support + if [ -x /scripts/local-top/mdadm ] + then + [ -r /conf/conf.d/md ] && cp /conf/conf.d/md /conf/conf.d/md.orig + echo "MD_DEVS=$device " >> /conf/conf.d/md + /scripts/local-top/mdadm >>/boot.log + [ -r /conf/conf.d/md.orig ] && mv /conf/conf.d/md.orig /conf/conf.d/md + fi + ;; + esac + done + unset IFS + + [ -n "$device" ] && devname="$device" + + [ -e "$devname" ] || continue + + if [ -n "${LIVE_MEDIA_OFFSET}" ] + then + loopdevname=$(setup_loop "${devname}" "loop" "/sys/block/loop*" "${LIVE_MEDIA_OFFSET}" '') + devname="${loopdevname}" + fi + + fstype=$(get_fstype "${devname}") + + if is_supported_fs ${fstype} + then + devuid=$(blkid -o value -s UUID "$devname") + [ -n "$devuid" ] && grep -qs "\<$devuid\>" /var/lib/live/boot/devices-already-tried-to-mount && continue + + for _PARAMETER in ${LIVE_BOOT_CMDLINE} + do + case "${_PARAMETER}" in + forcefsck) + FORCEFSCK="true" + ;; + esac + done + + if [ "${PERSISTENCE_FSCK}" = "true" ] || [ "${PERSISTENCE_FSCK}" = "yes" ] || [ "${FORCEFSCK}" = "true" ] + then + force="" + if [ "$FORCEFSCK" = "true" ] + then + force="-f" + fi + + fix="-a" + if [ "$FSCKFIX" = "true" ] || [ "$FSCKFIX" = "yes" ] + then + fix="-y" + fi + + fsck $fix $force ${devname} >> fsck.log 2>&1 + fi + + mount -t ${fstype} -o "${mount_opts}" "${devname}" ${mountpoint} || continue + [ -n "$devuid" ] && echo "$devuid" >> /var/lib/live/boot/devices-already-tried-to-mount + + if [ -n "${FINDISO}" ] + then + if [ -f ${mountpoint}/${FINDISO} ] + then + umount ${mountpoint} + mkdir -p /run/live/findiso + mount -t ${fstype} -o "${mount_opts}" "${devname}" /run/live/findiso + loopdevname=$(setup_loop "/run/live/findiso/${FINDISO}" "loop" "/sys/block/loop*" 0 "") + devname="${loopdevname}" + mount -t iso9660 -o "${mount_opts}" "${devname}" ${mountpoint} + else + umount ${mountpoint} + fi + fi + + if is_live_path ${mountpoint} && \ + ([ "${skip_uuid_check}" ] || matches_uuid ${mountpoint}) + then + echo ${mountpoint} + return 0 + else + umount ${mountpoint} 2>/dev/null + fi + fi + + if [ -n "${LIVE_MEDIA_OFFSET}" ] + then + losetup -d "${loopdevname}" + fi + + return 1 +} + +find_livefs () +{ + timeout="${1}" + + # first look at the one specified in the command line This is OK + # before the timeout has expired, if more than one device matches the + # criteria the outcome is undefined anyway, so we can pick the first + # one that appears. + case "${LIVE_MEDIA}" in + removable-usb|usb) + for sysblock in $(removable_usb_dev "sys") + do + for dev in $(subdevices "${sysblock}") + do + if check_dev "${dev}" + then + return 0 + fi + done + done + ;; + cdrom) + for sysblock in $(removable_cdrom_dev "sys") + do + for dev in $(subdevices "${sysblock}") + do + if check_dev "${dev}" + then + return 0 + fi + done + done + ;; + removable) + for sysblock in $(removable_dev "sys") + do + for dev in $(subdevices "${sysblock}") + do + if check_dev "${dev}" + then + return 0 + fi + done + done + ;; + + *) + if [ ! -z "${LIVE_MEDIA}" ] + then + if check_dev "null" "${LIVE_MEDIA}" "skip_uuid_check" + then + return 0 + fi + fi + ;; + esac + + # don't start autodetection before timeout has expired + if [ -n "${LIVE_MEDIA_TIMEOUT}" ] + then + if [ "${timeout}" -lt "${LIVE_MEDIA_TIMEOUT}" ] + then + return 1 + fi + fi + + # autodetection of live media + # prefer removable devices over non-removable devices, so scan them first + devices_to_scan="$(removable_dev 'sys') $(non_removable_dev 'sys')" + + for sysblock in $devices_to_scan + do + devname=$(sys2dev "${sysblock}") + [ -e "$devname" ] || continue + fstype=$(get_fstype "${devname}") + + if /lib/udev/cdrom_id ${devname} > /dev/null + then + if check_dev "null" "${devname}" + then + return 0 + fi + elif is_nice_device "${sysblock}" + then + for dev in $(subdevices "${sysblock}") + do + if check_dev "${dev}" + then + return 0 + fi + done + elif [ "${fstype}" = "squashfs" -o \ + "${fstype}" = "btrfs" -o \ + "${fstype}" = "ext2" -o \ + "${fstype}" = "ext3" -o \ + "${fstype}" = "ext4" -o \ + "${fstype}" = "jffs2" ] + then + # This is an ugly hack situation, the block device has + # an image directly on it. It's hopefully + # live-boot, so take it and run with it. + ln -s "${devname}" "${devname}.${fstype}" + echo "${devname}.${fstype}" + return 0 + fi + done + + return 1 +} + +is_in_list_separator_helper () +{ + local sep element list + sep=${1} + shift + element=${1} + shift + list=${*} + echo ${list} | grep -qe "^\(.*${sep}\)\?${element}\(${sep}.*\)\?$" +} + +is_in_space_sep_list () +{ + local element + element=${1} + shift + is_in_list_separator_helper "[[:space:]]" "${element}" "${*}" +} + +is_in_comma_sep_list () +{ + local element + element=${1} + shift + is_in_list_separator_helper "," "${element}" "${*}" +} + +sys2dev () +{ + sysdev=${1#/sys} + echo "/dev/$(udevadm info -q name -p ${sysdev} 2>/dev/null|| echo ${sysdev##*/})" +} + +subdevices () +{ + sysblock=${1} + r="" + + for dev in "${sysblock}"/* "${sysblock}" + do + if [ -e "${dev}/dev" ] + then + r="${r} ${dev}" + fi + done + + echo ${r} +} + +storage_devices() +{ + black_listed_devices="${1}" + white_listed_devices="${2}" + + for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "loop|ram|fd") + do + fulldevname=$(sys2dev "${sysblock}") + + if is_in_space_sep_list ${fulldevname} ${black_listed_devices} || \ + [ -n "${white_listed_devices}" ] && \ + ! is_in_space_sep_list ${fulldevname} ${white_listed_devices} + then + # skip this device entirely + continue + fi + + for dev in $(subdevices "${sysblock}") + do + devname=$(sys2dev "${dev}") + + if is_in_space_sep_list ${devname} ${black_listed_devices} + then + # skip this subdevice + continue + else + echo "${devname}" + fi + done + done +} + +is_supported_fs () +{ + fstype="${1}" + + # Validate input first + if [ -z "${fstype}" ] + then + return 1 + fi + + # get_fstype might report "unknown" or "swap", ignore it as no such kernel module exists + if [ "${fstype}" = "unknown" ] || [ "${fstype}" = "swap" ] + then + return 1 + fi + + # Try to look if it is already supported by the kernel + if grep -q ${fstype} /proc/filesystems + then + return 0 + else + # Then try to add support for it the gentle way using the initramfs capabilities + modprobe -q -b ${fstype} + if grep -q ${fstype} /proc/filesystems + then + return 0 + # Then try the hard way if /root is already reachable + else + kmodule="/root/lib/modules/`uname -r`/${fstype}/${fstype}.ko" + if [ -e "${kmodule}" ] + then + insmod "${kmodule}" + if grep -q ${fstype} /proc/filesystems + then + return 0 + fi + fi + fi + fi + + return 1 +} + +get_fstype () +{ + blkid -s TYPE -o value $1 2>/dev/null +} + +where_is_mounted () +{ + device=${1} + # return first found + grep -m1 "^${device} " /proc/mounts | cut -f2 -d ' ' +} + +trim_path () +{ + # remove all unnecessary /:s in the path, including last one (except + # if path is just "/") + echo ${1} | sed 's|//\+|/|g' | sed 's|^\(.*[^/]\)/$|\1|' +} + +what_is_mounted_on () +{ + local dir + dir="$(trim_path ${1})" + grep -m1 "^[^ ]\+ ${dir} " /proc/mounts | cut -d' ' -f1 +} + +chown_ref () +{ + local reference targets owner + reference="${1}" + shift + targets=${@} + owner=$(stat -c %u:%g "${reference}") + chown -h ${owner} ${targets} +} + +chmod_ref () +{ + local reference targets rights + reference="${1}" + shift + targets=${@} + rights=$(stat -c %a "${reference}") + chmod ${rights} ${targets} +} + +lastline () +{ + while read lines + do + line=${lines} + done + + echo "${line}" +} + +base_path () +{ + testpath="${1}" + mounts="$(awk '{print $2}' /proc/mounts)" + testpath="$(realpath ${testpath})" + + while true + do + if echo "${mounts}" | grep -qs "^${testpath}" + then + set -- $(echo "${mounts}" | grep "^${testpath}" | lastline) + echo ${1} + break + else + testpath=$(dirname $testpath) + fi + done +} + +fs_size () +{ + # Returns used/free fs kbytes + 5% more + # You could pass a block device as ${1} or the mount point as ${2} + + dev="${1}" + mountp="${2}" + used="${3}" + + if [ -z "${mountp}" ] + then + mountp="$(where_is_mounted ${dev})" + + if [ -z "${mountp}" ] + then + mountp="/mnt/tmp_fs_size" + + mkdir -p "${mountp}" + mount -t $(get_fstype "${dev}") -o ro "${dev}" "${mountp}" || log_warning_msg "cannot mount -t $(get_fstype ${dev}) -o ro ${dev} ${mountp}" + + doumount=1 + fi + fi + + if [ "${used}" = "used" ] + then + size=$(du -ks ${mountp} | cut -f1) + size=$(expr ${size} + ${size} / 20 ) # FIXME: 5% more to be sure + else + # free space + size="$(df -kP | grep -s ${mountp} | awk '{print $4}')" + fi + + if [ -n "${doumount}" ] + then + umount "${mountp}" || log_warning_msg "cannot umount ${mountp}" + rmdir "${mountp}" + fi + + echo "${size}" +} + +load_keymap () +{ + # Load custom keymap + if [ -x /bin/loadkeys -a -r /etc/boottime.kmap.gz ] + then + loadkeys --quiet /etc/boottime.kmap.gz + fi +} + +setup_loop () +{ + local fspath module pattern offset encryption readonly + fspath=${1} + module=${2} + pattern=${3} + offset=${4} + encryption=${5} + readonly=${6} + + # the output of setup_loop is evaluated in other functions, + # modprobe leaks kernel options like "libata.dma=0" + # as "options libata dma=0" on stdout, causing serious + # problems therefor, so instead always avoid output to stdout + modprobe -q -b "${module}" 1>/dev/null + + udevadm settle + + for loopdev in ${pattern} + do + if [ "$(cat ${loopdev}/size)" -eq 0 ] + then + dev=$(sys2dev "${loopdev}") + options='' + + if [ -n "${readonly}" ] + then + if losetup --help 2>&1 | grep -q -- "-r\b" + then + options="${options} -r" + fi + fi + + if [ -n "${offset}" ] && [ 0 -lt "${offset}" ] + then + options="${options} -o ${offset}" + fi + + if [ -z "${encryption}" ] + then + losetup ${options} "${dev}" "${fspath}" + else + # Loop AES encryption + while true + do + load_keymap + + echo -n "Enter passphrase for root filesystem: " >&6 + read -s passphrase + echo "${passphrase}" > /tmp/passphrase + unset passphrase + exec 9</tmp/passphrase + losetup ${options} -e "${encryption}" -p 9 "${dev}" "${fspath}" + error=${?} + exec 9<&- + rm -f /tmp/passphrase + + if [ 0 -eq ${error} ] + then + unset error + break + fi + + echo + echo -n "There was an error decrypting the root filesystem ... Retry? [Y/n] " >&6 + read answer + + if [ "$(echo "${answer}" | cut -b1 | tr A-Z a-z)" = "n" ] + then + unset answer + break + fi + done + fi + + echo "${dev}" + return 0 + fi + done + + panic "No loop devices available" +} + +try_mount () +{ + dev="${1}" + mountp="${2}" + opts="${3}" + fstype="${4}" + + old_mountp="$(where_is_mounted ${dev})" + + if [ -n "${old_mountp}" ] + then + if [ "${opts}" != "ro" ] + then + mount -o remount,"${opts}" "${dev}" "${old_mountp}" || panic "Remounting ${dev} ${opts} on ${old_mountp} failed" + fi + + mount -o bind "${old_mountp}" "${mountp}" || panic "Cannot bind-mount ${old_mountp} on ${mountp}" + else + if [ -z "${fstype}" ] + then + fstype=$(get_fstype "${dev}") + fi + mount -t "${fstype}" -o "${opts}" "${dev}" "${mountp}" || \ + ( echo "SKIPPING: Cannot mount ${dev} on ${mountp}, fstype=${fstype}, options=${opts}" > boot.log && return 0 ) + fi +} + +# Try to mount $device to the place expected by live-boot. If $device +# is already mounted somewhere, move it to the expected place. If $device +# ends with a "/" this is a directory path. +# If we're only probing $device (to check if it has custom persistence) +# $probe should be set, which suppresses warnings upon failure. On +# success, print the mount point for $device. +mount_persistence_media () +{ + local device probe backing old_backing fstype mount_opts + device=${1} + probe=${2} + + # get_custom_mounts() might call this with a directory path instead + # of a block device path. This means we have found sub-directory path + # underneath /run/live/persistence, so we're done + if [ -d "${device}" ] + then + echo "${device}" + return 0 + fi + + if [ ! -b "${device}" ] + then + return 1 + fi + + backing="/run/live/persistence/$(basename ${device})" + + mkdir -p "${backing}" + old_backing="$(where_is_mounted ${device})" + if [ -z "${old_backing}" ] + then + fstype="$(get_fstype ${device})" + mount_opts="rw,noatime" + if [ -n "${PERSISTENCE_READONLY}" ] + then + mount_opts="ro,noatime" + fi + if mount -t "${fstype}" -o "${mount_opts}" "${device}" "${backing}" >/dev/null + then + echo ${backing} + return 0 + else + [ -z "${probe}" ] && log_warning_msg "Failed to mount persistence media ${device}" + rmdir "${backing}" + return 1 + fi + elif [ "${backing}" != "${old_backing}" ] + then + if ! mount -o move ${old_backing} ${backing} >/dev/null + then + [ -z "${probe}" ] && log_warning_msg "Failed to move persistence media ${device}" + rmdir "${backing}" + return 1 + fi + mount_opts="rw,noatime" + if [ -n "${PERSISTENCE_READONLY}" ] + then + mount_opts="ro,noatime" + fi + if ! mount -o "remount,${mount_opts}" "${backing}" >/dev/null + then + log_warning_msg "Failed to remount persistence media ${device} writable" + # Don't unmount or rmdir the new mountpoint in this case + fi + echo ${backing} + return 0 + else + # This means that $device has already been mounted on + # the place expected by live-boot, so we're done. + echo ${backing} + return 0 + fi +} + +close_persistence_media () +{ + local device backing + device=${1} + backing="$(where_is_mounted ${device})" + + if [ -d "${backing}" ] + then + umount "${backing}" >/dev/null 2>&1 + rmdir "${backing}" >/dev/null 2>&1 + fi + + if is_active_luks_mapping ${device} + then + cryptsetup luksClose ${device} + fi +} + +open_luks_device () +{ + dev="${1}" + name="$(basename ${dev})" + opts="--key-file=-" + if [ -n "${PERSISTENCE_READONLY}" ] + then + opts="${opts} --readonly" + fi + + if cryptsetup status "${name}" >/dev/null 2>&1 + then + re="^[[:space:]]*device:[[:space:]]*\([^[:space:]]*\)$" + opened_dev=$(cryptsetup status ${name} 2>/dev/null | grep "${re}" | sed "s|${re}|\1|") + if [ "${opened_dev}" = "${dev}" ] + then + luks_device="/dev/mapper/${name}" + echo ${luks_device} + return 0 + else + log_warning_msg "Cannot open luks device ${dev} since ${opened_dev} already is opened with its name" + return 1 + fi + fi + + load_keymap + + # check for plymouth + [ -x /bin/plymouth ] && plymouth --ping && plymouth="y" + + # export udisk properties (used to get a nice device label) + unset ID_VENDOR_ENC ID_MODEL_ENC ID_PART_ENTRY_NUMBER + eval $(udevadm info --name=${dev} --query=property -x) + [ -z "${ID_VENDOR_ENC}" -a -z "${ID_MODEL_ENC}" ] && ID_MODEL_ENC="Unidentified device" + label="$(echo -e "${ID_VENDOR_ENC}${ID_MODEL_ENC}, Partition ${ID_PART_ENTRY_NUMBER} (${dev})")" + + if [ "${plymouth}" = "y" ] + then + cryptkeyscript="plymouth ask-for-password --prompt" + # Plymouth will add a : if it is a non-graphical prompt + cryptkeyprompt="Please unlock disk '${label}'" + else + cryptkeyscript="/lib/cryptsetup/askpass" + cryptkeyprompt="Please unlock disk '${label}': " + fi + + while true + do + $cryptkeyscript "$cryptkeyprompt" | \ + /sbin/cryptsetup -T 1 luksOpen ${dev} ${name} ${opts} + + if [ 0 -eq ${?} ] + then + luks_device="/dev/mapper/${name}" + echo ${luks_device} + return 0 + fi + + echo >&6 + retryprompt="There was an error decrypting '${label}' ... Retry? [Y/n]" + + if [ "${plymouth}" == "y" ] + then + plymouth display-message --text "${retryprompt}" + plymouth pause-progress + answer=$(plymouth watch-keystroke --keys="YNyn") + plymouth unpause-progress + else + echo -n "${retryprompt} " >&6 + read answer + fi + + if [ "$(echo "${answer}" | cut -b1 | tr A-Z a-z)" = "n" ] + then + [ "${plymouth}" = "y" ] && plymouth display-message --text "" + return 2 + fi + done +} + +get_gpt_name () +{ + local dev + dev="${1}" + blkid -s PART_ENTRY_NAME -p -o value ${dev} 2>/dev/null +} + +is_gpt_device () +{ + local dev + dev="${1}" + [ "$(blkid -s PART_ENTRY_SCHEME -p -o value ${dev} 2>/dev/null)" = "gpt" ] +} + +probe_for_gpt_name () +{ + local overlays dev gpt_dev gpt_name + overlays="${1}" + dev="${2}" + + gpt_dev="${dev}" + if is_active_luks_mapping ${dev} + then + # if $dev is an opened luks device, we need to check + # GPT stuff on the backing device + gpt_dev=$(get_luks_backing_device "${dev}") + fi + + if ! is_gpt_device ${gpt_dev} + then + return + fi + + gpt_name=$(get_gpt_name ${gpt_dev}) + for label in ${overlays} + do + if [ "${gpt_name}" = "${label}" ] + then + echo "${label}=${dev}" + fi + done +} + +probe_for_fs_label () +{ + local overlays dev + overlays="${1}" + dev="${2}" + + for label in ${overlays} + do + if [ "$(blkid -s LABEL -o value $dev 2>/dev/null)" = "${label}" ] + then + echo "${label}=${dev}" + fi + done +} + +probe_for_file_name () +{ + local overlays dev ret backing + overlays="${1}" + dev="${2}" + + ret="" + backing="$(mount_persistence_media ${dev} probe)" + if [ -z "${backing}" ] + then + return + fi + + for label in ${overlays} + do + path=${backing}/${PERSISTENCE_PATH}/${label} + if [ -f "${path}" ] + then + local loopdev + loopdev=$(setup_loop "${path}" "loop" "/sys/block/loop*") + ret="${ret} ${label}=${loopdev}" + fi + done + + if [ -n "${ret}" ] + then + echo ${ret} + else + # unmount and remove mountpoint + umount ${backing} > /dev/null 2>&1 || true + rmdir ${backing} > /dev/null 2>&1 || true + fi +} + +probe_for_directory_name () +{ + local overlays dev ret backing + overlays="${1}" + dev="${2}" + + ret="" + backing="$(mount_persistence_media ${dev} probe)" + if [ -z "${backing}" ] + then + return + fi + + for label in ${overlays} + do + path=${backing}/${PERSISTENCE_PATH}/${label} + if [ -d "${path}" ] + then + # in this case the "device" ends with a "/" + ret="${ret} ${label}=${backing}/${PERSISTENCE_PATH}/${label%%/}/" + fi + done + + if [ -n "${ret}" ] + then + echo ${ret} + else + # unmount and remove mountpoint + umount ${backing} > /dev/null 2>&1 || true + rmdir ${backing} > /dev/null 2>&1 || true + fi +} + +find_persistence_media () +{ + # Scans devices for overlays, and returns a whitespace + # separated list of how to use them. Only overlays with a partition + # label or file name in ${overlays} are returned. + # + # When scanning a LUKS device, the user will be asked to enter the + # passphrase; on failure to enter it, or if no persistence partitions + # or files were found, the LUKS device is closed. + # + # For all other cases (overlay partition and overlay file) the + # return value is "${label}=${device}", where ${device} a device that + # can mount the content. In the case of an overlay file, the device + # containing the file will remain mounted as a side-effect. + # + # No devices in ${black_listed_devices} will be scanned, and if + # ${white_list_devices} is non-empty, only devices in it will be + # scanned. + + local overlays white_listed_devices ret black_listed_devices + overlays="${1}" + white_listed_devices="${2}" + ret="" + + # + # The devices that are hosting the actual live rootfs should not be + # used for persistence storage since otherwise you might mount a + # parent directory on top of a sub-directory of the same filesystem + # in one union together. + # + black_listed_devices="" + for d in /run/live/rootfs/* /run/live/findiso /run/live/fromiso + do + black_listed_devices="${black_listed_devices} $(what_is_mounted_on d)" + done + + for dev in $(storage_devices "${black_listed_devices}" "${white_listed_devices}") + do + local result luks_device + result="" + + luks_device="" + # Check if it's a luks device; we'll have to open the device + # in order to probe any filesystem it contains, like we do + # below. activate_custom_mounts() also depends on that any luks + # device already has been opened. + if is_in_comma_sep_list luks ${PERSISTENCE_ENCRYPTION} && is_luks_partition ${dev} + then + if luks_device=$(open_luks_device "${dev}") + then + dev="${luks_device}" + else + # skip $dev since we failed/chose not to open it + continue + fi + elif ! is_in_comma_sep_list none ${PERSISTENCE_ENCRYPTION} + then + # skip $dev since we don't allow unencrypted storage + continue + fi + + # Probe for matching GPT partition names or filesystem labels + if is_in_comma_sep_list filesystem ${PERSISTENCE_STORAGE} + then + result=$(probe_for_gpt_name "${overlays}" ${dev}) + if [ -n "${result}" ] + then + ret="${ret} ${result}" + continue + fi + + result=$(probe_for_fs_label "${overlays}" ${dev}) + if [ -n "${result}" ] + then + ret="${ret} ${result}" + continue + fi + fi + + # Probe for files with matching name on mounted partition + if is_in_comma_sep_list file ${PERSISTENCE_STORAGE} + then + result=$(probe_for_file_name "${overlays}" ${dev}) + if [ -n "${result}" ] + then + local loopdevice + loopdevice=${result##*=} + if is_in_comma_sep_list luks ${PERSISTENCE_ENCRYPTION} && is_luks_partition ${loopdevice} + then + local luksfile + luksfile="" + if luksfile=$(open_luks_device "${loopdevice}") + then + result=${result%%=*} + result="${result}=${luksfile}" + else + losetup -d $loopdevice + result="" + fi + fi + ret="${ret} ${result}" + continue + fi + fi + + # Probe for directory with matching name on mounted partition + if is_in_comma_sep_list directory ${PERSISTENCE_STORAGE} + then + result=$(probe_for_directory_name "${overlays}" ${dev}) + if [ -n "${result}" ] + then + ret="${ret} ${result}" + continue + fi + fi + + # Close luks device if it isn't used + if [ -z "${result}" ] && [ -n "${luks_device}" ] && is_active_luks_mapping "${luks_device}" + then + cryptsetup luksClose "${luks_device}" + fi + done + + if [ -n "${ret}" ] + then + echo ${ret} + fi +} + +get_mac () +{ + mac="" + + for adaptor in /sys/class/net/* + do + status="$(cat ${adaptor}/iflink)" + + if [ "${status}" -eq 2 ] + then + mac="$(cat ${adaptor}/address)" + mac="$(echo ${mac} | sed 's/:/-/g' | tr '[a-z]' '[A-Z]')" + fi + done + + echo ${mac} +} + +is_luks_partition () +{ + device="${1}" + cryptsetup isLuks "${device}" 1>/dev/null 2>&1 +} + +is_active_luks_mapping () +{ + device="${1}" + cryptsetup status "${device}" 1>/dev/null 2>&1 +} + +get_luks_backing_device () +{ + device=${1} + cryptsetup status ${device} 2> /dev/null | \ + awk '{if ($1 == "device:") print $2}' +} + +removable_dev () +{ + output_format="${1}" + device_class="${2}" + ret= + + for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)") + do + if [ ! -d "${sysblock}" ]; then + continue + fi + + dev_ok= + if [ "${device_class}" = "usb" ] && readlink ${sysblock} | grep -Eq "/usb[0-9]+/" + then + # We only want USB and this is an USB device + dev_ok="true" + elif [ "${device_class}" = "cdrom" ] && echo ${sysblock} | grep -Eq "/sr[0-9]+$" + then + # We only want CD-ROM devices and this is such a device + dev_ok="true" + elif [ -z "${device_class}" ] + then + if readlink ${sysblock} | grep -Eq "/(usb[0-9]+|fw[0-9]+|mmc[0-9]+)/" || [ "$(cat ${sysblock}/removable)" = "1" ] + then + # Assume all USB, Firewire and SD cards are external, + # This is the best possible guess, eg. udisks has the same logic + # There is NO property which indicates with certainity if a device is + # removable or not. + # Devices that contain a removable medium are considered removable + # too. Many (older) USB sticks also set this property although it's + # technically wrong. The flash chips are NOT removable from the device. + dev_ok="true" + fi + fi + + if [ "${dev_ok}" = "true" ] + then + case "${output_format}" in + sys) + ret="${ret} ${sysblock}" + ;; + *) + devname=$(sys2dev "${sysblock}") + ret="${ret} ${devname}" + ;; + esac + fi + done + + echo "${ret}" +} + +removable_usb_dev () +{ + output_format="${1}" + + removable_dev "${output_format}" "usb" +} + +removable_cdrom_dev () +{ + output_format="${1}" + + removable_dev "${output_format}" "cdrom" +} + +non_removable_dev () +{ + output_format="${1}" + ret= + + for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)") + do + if [ ! -d "${sysblock}" ]; then + continue + fi + + if [ "$(cat ${sysblock}/removable)" = "0" ] + then + case "${output_format}" in + sys) + ret="${ret} ${sysblock}" + ;; + *) + devname=$(sys2dev "${sysblock}") + ret="${ret} ${devname}" + ;; + esac + fi + done + + echo "${ret}" +} + +link_files () +{ + # create source's directory structure in dest, and recursively + # create symlinks in dest to to all files in source. if mask + # is non-empty, remove mask from all source paths when + # creating links (will be necessary if we change root, which + # live-boot normally does (into $rootmnt)). + local src_dir dest_dir src_transform + + # remove multiple /:s and ensure ending on / + src_dir="$(trim_path ${1})/" + dest_dir="$(trim_path ${2})/" + src_transform="${3}" + + # This check can only trigger on the inital, non-recursive call since + # we create the destination before recursive calls + if [ ! -d "${dest_dir}" ] + then + log_warning_msg "Must link_files into a directory" + return + fi + + find "${src_dir}" -mindepth 1 -maxdepth 1 | \ + while read src + do + local dest final_src + dest="${dest_dir}$(basename "${src}")" + if [ -d "${src}" ] + then + if [ -z "$(ls -A "${src}")" ] + then + continue + fi + if [ ! -d "${dest}" ] + then + mkdir -p "${dest}" + chown_ref "${src}" "${dest}" + chmod_ref "${src}" "${dest}" + fi + link_files "${src}" "${dest}" "${src_transform}" + else + final_src=${src} + if [ -n "${src_transform}" ] + then + final_src="$(echo ${final_src} | sed "${src_transform}")" + fi + rm -rf "${dest}" 2> /dev/null + ln -s "${final_src}" "${dest}" + chown_ref "${src}" "${dest}" + fi + done +} + +do_union () +{ + local unionmountpoint unionrw unionro + unionmountpoint="${1}" # directory where the union is mounted + shift + unionrw="${1}" # branch where the union changes are stored + shift + unionro="${*}" # space separated list of read-only branches (optional) + + case "${UNIONTYPE}" in + aufs) + rw_opt="rw" + ro_opt="rr+wh" + noxino_opt="noxino" + + unionmountopts="-o noatime,${noxino_opt},dirs=${unionrw}=${rw_opt}" + if [ -n "${unionro}" ] + then + for rofs in ${unionro} + do + unionmountopts="${unionmountopts}:${rofs}=${ro_opt}" + done + fi + ;; + + overlay) + # XXX: can unionro be optional? i.e. can overlay skip lowerdir? + if [ -z "${unionro}" ] + then + panic "overlay needs at least one lower filesystem (read-only branch)." + fi + # Multiple lower layers can now be given using the the colon (":") as a + # separator character between the directory names. + unionro="$(echo ${unionro} | sed -e 's| |:|g')" + # overlayfs requires: + # + a workdir to become mounted + # + workdir and upperdir to reside under the same mount + # + workdir and upperdir to be in separate directories + mkdir "${unionrw}/rw" + mkdir "${unionrw}/work" + unionmountopts="-o noatime,lowerdir=${unionro},upperdir=${unionrw}/rw,workdir=${unionrw}/work" + ;; + esac + + mount -t ${UNIONTYPE} ${unionmountopts} ${UNIONTYPE} "${unionmountpoint}" +} + +get_custom_mounts () +{ + # Side-effect: leaves $devices with persistence.conf mounted in /run/live/persistence + # Side-effect: prints info to file $custom_mounts + + local custom_mounts devices bindings links + custom_mounts=${1} + shift + devices=${@} + + bindings="/tmp/bindings.list" + links="/tmp/links.list" + rm -rf ${bindings} ${links} 2> /dev/null + + for device in ${devices} + do + local device_name backing include_list + device_name="$(basename ${device})" + backing=$(mount_persistence_media ${device}) + if [ -z "${backing}" ] + then + continue + fi + + if [ -r "${backing}/${persistence_list}" ] + then + include_list="${backing}/${persistence_list}" + else + continue + fi + + if [ -n "${LIVE_BOOT_DEBUG}" ] && [ -e "${include_list}" ] + then + cp ${include_list} /run/live/persistence/${persistence_list}.${device_name} + fi + + while read dir options # < ${include_list} + do + if echo ${dir} | grep -qe "^[[:space:]]*\(#.*\)\?$" + then + # skipping empty or commented lines + continue + fi + + if trim_path ${dir} | grep -q -e "^[^/]" -e "^/lib" -e "^/run/live\(/.*\)\?$" -e "^/\(.*/\)\?\.\.\?\(/.*\)\?$" + then + log_warning_msg "Skipping unsafe custom mount ${dir}: must be an absolute path containing neither the \".\" nor \"..\" special dirs, and cannot be \"/lib\", or \"/run/live\" or any of its sub-directories." + continue + fi + + local opt_source opt_link source full_source full_dest + opt_source="" + opt_link="" + for opt in $(echo ${options} | tr ',' ' '); + do + case "${opt}" in + source=*) + opt_source=${opt#source=} + ;; + link) + opt_link="true" + ;; + union|bind) + ;; + *) + log_warning_msg "Skipping custom mount with unknown option: ${opt}" + continue 2 + ;; + esac + done + + source="${dir}" + if [ -n "${opt_source}" ] + then + if echo ${opt_source} | grep -q -e "^/" -e "^\(.*/\)\?\.\.\?\(/.*\)\?$" && [ "${opt_source}" != "." ] + then + log_warning_msg "Skipping unsafe custom mount with option source=${opt_source}: must be either \".\" (the media root) or a relative path w.r.t. the media root that contains neither comas, nor the special \".\" and \"..\" path components" + continue + else + source="${opt_source}" + fi + fi + + full_source="$(trim_path ${backing}/${source})" + full_dest="$(trim_path ${rootmnt}/${dir})" + if [ -n "${opt_link}" ] + then + echo "${device} ${full_source} ${full_dest} ${options}" >> ${links} + else + echo "${device} ${full_source} ${full_dest} ${options}" >> ${bindings} + fi + done < ${include_list} + done + + # We sort the list according to destination so we're sure that + # we won't hide a previous mount. We also ignore duplicate + # destinations in a more or less arbitrary way. + [ -e "${bindings}" ] && sort -k3 -sbu ${bindings} >> ${custom_mounts} && rm ${bindings} + + # After all mounts are considered we add symlinks so they + # won't be hidden by some mount. + [ -e "${links}" ] && cat ${links} >> ${custom_mounts} && rm ${links} + + # We need to make sure that no two custom mounts have the same sources + # or are nested; if that is the case, too much weird stuff can happen. + local prev_source prev_dest + prev_source="impossible source" # first iteration must not match + prev_dest="" + # This sort will ensure that a source /a comes right before a source + # /a/b so we only need to look at the previous source + [ -e ${custom_mounts} ] && sort -k2 -b ${custom_mounts} | + while read device source dest options + do + if echo ${source} | grep -qe "^${prev_source}\(/.*\)\?$" + then + panic "Two persistence mounts have the same or nested sources: ${source} on ${dest}, and ${prev_source} on ${prev_dest}" + fi + prev_source=${source} + prev_dest=${dest} + done +} + +activate_custom_mounts () +{ + local custom_mounts used_devices + custom_mounts="${1}" # the ouput from get_custom_mounts() + used_devices="" + + while read device source dest options # < ${custom_mounts} + do + local opt_bind opt_link opt_union + opt_bind="true" + opt_link="" + opt_union="" + for opt in $(echo ${options} | tr ',' ' '); + do + case "${opt}" in + bind) + opt_bind="true" + unset opt_link opt_union + ;; + link) + opt_link="true" + unset opt_bind opt_union + ;; + union) + opt_union="true" + unset opt_bind opt_link + ;; + esac + done + + if [ -n "$(what_is_mounted_on "${dest}")" ] + then + if [ "${dest}" = "${rootmnt}" ] + then + umount "${dest}" + else + log_warning_msg "Skipping custom mount ${dest}: $(what_is_mounted_on "${dest}") is already mounted there" + continue + fi + fi + + if [ ! -d "${dest}" ] + then + # create the destination and delete existing files in + # its path that are in the way + path="/" + for dir in $(echo ${dest} | sed -e 's|/\+| |g') + do + path=$(trim_path ${path}/${dir}) + if [ -f ${path} ] + then + rm -f ${path} + fi + if [ ! -e ${path} ] + then + mkdir -p ${path} + if echo ${path} | grep -qe "^${rootmnt}/*home/[^/]\+" + then + # if ${dest} is in /home try fixing proper ownership by assuming that the intended user is the first, which is usually the case + # FIXME: this should really be handled by live-config since we don't know for sure which uid a certain user has until then + chown 1000:1000 ${path} + fi + fi + done + fi + + # if ${source} doesn't exist on our persistence media + # we bootstrap it with $dest from the live filesystem. + # this both makes sense and is critical if we're + # dealing with /etc or other system dir. + if [ ! -d "${source}" ] + then + if [ -n "${PERSISTENCE_READONLY}" ] + then + continue + elif [ -n "${opt_union}" ] || [ -n "${opt_link}" ] + then + # unions and don't need to be bootstrapped + # link dirs can't be bootstrapped in a sensible way + mkdir -p "${source}" + chown_ref "${dest}" "${source}" + chmod_ref "${dest}" "${source}" + elif [ -n "${opt_bind}" ] + then + # ensure that $dest is not copied *into* $source + mkdir -p "$(dirname ${source})" + cp -a "${dest}" "${source}" + fi + fi + + # XXX: If CONFIG_AUFS_ROBR is added to the Debian kernel we can + # ignore the loop below and set rootfs_dest_backing=$dest + local rootfs_dest_backing + rootfs_dest_backing="" + if [ -n "${opt_link}" ] || [ -n "${opt_union}" ] + then + for d in /run/live/rootfs/* + do + if [ -n "${rootmnt}" ] + then + fs="${d}/$(echo ${dest} | sed -e "s|${rootmnt}||")" + else + fs="${d}/${dest}" + fi + if [ -d "${fs}" ] + then + rootfs_dest_backing="${rootfs_dest_backing} ${fs}" + fi + done + fi + + local cow_dir links_source + if [ -n "${opt_link}" ] && [ -z "${PERSISTENCE_READONLY}" ] + then + link_files ${source} ${dest} "" + elif [ -n "${opt_link}" ] && [ -n "${PERSISTENCE_READONLY}" ] + then + mkdir -p /run/live/persistence + links_source=$(mktemp -d /run/live/persistence/links-source-XXXXXX) + chown_ref ${source} ${links_source} + chmod_ref ${source} ${links_source} + # We put the cow dir in the below strange place to + # make it absolutely certain that the link source + # has its own directory and isn't nested with some + # other custom mount (if so that mount's files would + # be linked, causing breakage. + cow_dir="/run/live/overlay/run/live/persistence/$(basename ${links_source})" + mkdir -p ${cow_dir} + chown_ref "${source}" "${cow_dir}" + chmod_ref "${source}" "${cow_dir}" + do_union ${links_source} ${cow_dir} ${source} ${rootfs_dest_backing} + link_files ${links_source} ${dest} "s|^${rootmnt}||" + elif [ -n "${opt_union}" ] && [ -z "${PERSISTENCE_READONLY}" ] + then + do_union ${dest} ${source} ${rootfs_dest_backing} + elif [ -n "${opt_bind}" ] && [ -z "${PERSISTENCE_READONLY}" ] + then + mount -o bind "${source}" "${dest}" + elif [ -n "${opt_bind}" -o -n "${opt_union}" ] && [ -n "${PERSISTENCE_READONLY}" ] + then + # bind-mount and union mount are handled the same + # in read-only mode, but note that rootfs_dest_backing + # is non-empty (and necessary) only for unions + cow_dir="/run/live/overlay/${dest}" + if [ -e "${cow_dir}" ] && [ -z "${opt_link}" ] + then + # If an earlier custom mount has files here + # it will "block" the current mount's files + # which is undesirable + rm -rf "${cow_dir}" + fi + mkdir -p ${cow_dir} + chown_ref "${source}" "${cow_dir}" + chmod_ref "${source}" "${cow_dir}" + if [ "${UNIONTYPE}" = "overlay" ] + then + # When we use overlay we add the "/rw" postfix to our source when using it + # as upper layer. Therefore we also have to add it here when using it as + # the lower layer. + source="${source}/rw" + fi + do_union ${dest} ${cow_dir} ${source} ${rootfs_dest_backing} + fi + + PERSISTENCE_IS_ON="1" + export PERSISTENCE_IS_ON + + if echo ${used_devices} | grep -qve "^\(.* \)\?${device}\( .*\)\?$" + then + used_devices="${used_devices} ${device}" + fi + done < ${custom_mounts} + + echo ${used_devices} +} + +is_mountpoint () +{ + directory="$1" + + [ $(stat -fc%d:%D "${directory}") != $(stat -fc%d:%D "${directory}/..") ] +} diff --git a/system-boot/components/9990-mount-cifs.sh b/system-boot/components/9990-mount-cifs.sh new file mode 100755 index 0000000..8dd1818 --- /dev/null +++ b/system-boot/components/9990-mount-cifs.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +#set -e + +do_cifsmount () +{ + rc=1 + + if [ -x "/sbin/mount.cifs" ] + then + if [ -z "${NFSOPTS}" ] + then + CIFSOPTS="-o user=root,password=" + else + CIFSOPTS="-o ${NFSOPTS}" + fi + + log_begin_msg "Trying mount.cifs ${NFSROOT} ${mountpoint} ${CIFSOPTS}" + modprobe -q cifs + + if mount.cifs "${NFSROOT}" "${mountpoint}" ${CIFSOPTS} + then + rc=0 + fi + fi + + return ${rc} +} diff --git a/system-boot/components/9990-mount-http.sh b/system-boot/components/9990-mount-http.sh new file mode 100755 index 0000000..f58c3a3 --- /dev/null +++ b/system-boot/components/9990-mount-http.sh @@ -0,0 +1,93 @@ +#!/bin/sh + +#set -e + +do_httpmount () +{ + rc=1 + + for webfile in HTTPFS FTPFS FETCH + do + local url extension dest + url="$(eval echo \"\$\{${webfile}\}\")" + extension="$(echo "${url}" | sed 's/\(.*\)\.\(.*\)/\2/')" + + if [ -n "$url" ] + then + case "${extension}" in + iso|squashfs|tgz|tar) + if [ "${extension}" = "iso" ] + then + mkdir -p "${alt_mountpoint}" + dest="${alt_mountpoint}" + else + dest="${mountpoint}/${LIVE_MEDIA_PATH}" + mount -t ramfs ram "${mountpoint}" + mkdir -p "${dest}" + fi + case "${url}" in + *:///*) url="${url%%:///*}://${ROOTSERVER}/${url##*:///}" ;; + esac + if [ "${webfile}" = "FETCH" ] + then + case "$url" in + tftp*) + ip="$(dirname $url | sed -e 's|tftp://||g' -e 's|/.*$||g')" + rfile="$(echo $url | sed -e "s|tftp://$ip||g")" + lfile="$(basename $url)" + log_begin_msg "Trying tftp -g -b 65464 -r $rfile -l ${dest}/$lfile $ip" + tftp -g -b 65464 -r $rfile -l ${dest}/$lfile $ip + ;; + + *) + log_begin_msg "Trying wget ${url} -O ${dest}/$(basename ${url})" + wget "${url}" -O "${dest}/$(basename ${url})" + ;; + esac + else + log_begin_msg "Trying to mount ${url} on ${dest}/$(basename ${url})" + if [ "${webfile}" = "FTPFS" ] + then + FUSE_MOUNT="curlftpfs" + url="$(dirname ${url})" + else + FUSE_MOUNT="httpfs" + fi + + modprobe fuse + $FUSE_MOUNT "${url}" "${dest}" + ROOT_PID="$(minips h -C "$FUSE_MOUNT" | { read x y ; echo "$x" ; } )" + fi + [ ${?} -eq 0 ] && rc=0 + [ "${extension}" = "tgz" ] && live_dest="ram" + if [ "${extension}" = "iso" ] + then + isoloop=$(setup_loop "${dest}/$(basename "${url}")" "loop" "/sys/block/loop*" "" '') + mount -t iso9660 "${isoloop}" "${mountpoint}" + rc=${?} + fi + break + ;; + + *) + log_begin_msg "Unrecognized archive extension for ${url}" + ;; + esac + fi + done + + if [ ${rc} != 0 ] + then + if [ -d "${alt_mountpoint}" ] + then + umount "${alt_mountpoint}" + rmdir "${alt_mountpoint}" + fi + umount "${mountpoint}" + elif [ "${webfile}" != "FETCH" ] ; then + NETBOOT="${webfile}" + export NETBOOT + fi + + return ${rc} +} diff --git a/system-boot/components/9990-mount-iscsi.sh b/system-boot/components/9990-mount-iscsi.sh new file mode 100755 index 0000000..c9bab90 --- /dev/null +++ b/system-boot/components/9990-mount-iscsi.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +#set -e + +do_iscsi() +{ + do_netsetup + #modprobe ib_iser + modprobe iscsi_tcp + local debugopt + debugopt="" + [ "${LIVE_BOOT_DEBUG}" = "true" ] && debugopt="-d 8" + #FIXME this name is supposed to be unique - some date + ifconfig hash? + ISCSI_INITIATORNAME="iqn.1993-08.org.debian.live:01:$(echo "${HWADDR}" | sed -e s/://g)" + export ISCSI_INITIATORNAME + if [ -n "${ISCSI_SERVER}" ] ; then + iscsistart $debugopt -i "${ISCSI_INITIATORNAME}" -t "${ISCSI_TARGET}" -g 1 -a "${ISCSI_SERVER}" -p "${ISCSI_PORT}" + else + iscsistart $debugopt -i "${ISCSI_INITIATORNAME}" -t "${ISCSI_TARGET}" -g 1 -a "${ISCSI_PORTAL}" -p 3260 + fi + if [ $? != 0 ] + then + panic "Failed to log into iscsi target" + fi + local host + host="$(ls -d /sys/class/scsi_host/host*/device/iscsi_host:host* \ + /sys/class/scsi_host/host*/device/iscsi_host/host* | sed -e 's:/device.*::' -e 's:.*host::')" + if [ -n "${host}" ] + then + local devices i + devices="" + i=0 + while [ -z "${devices}" -a $i -lt 60 ] + do + sleep 1 + devices="$(ls -d /sys/class/scsi_device/${host}*/device/block:* \ + /sys/class/scsi_device/${host}*/device/block/* | sed -e 's!.*[:/]!!')" + i=$(expr $i + 1) + echo -ne $i\\r + done + for dev in $devices + do + if check_dev "null" "/dev/$dev" + then + NETBOOT="iscsi" + export NETBOOT + return 0; + fi + done + panic "Failed to locate a live device on iSCSI devices (tried: $devices)." + else + panic "Failed to locate iSCSI host in /sys" + fi +} diff --git a/system-boot/components/9990-mount-nfs.sh b/system-boot/components/9990-mount-nfs.sh new file mode 100755 index 0000000..6a3ae55 --- /dev/null +++ b/system-boot/components/9990-mount-nfs.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +#set -e + +do_nfsmount () +{ + rc=1 + + modprobe -q nfs + + if [ -n "${NFSOPTS}" ] + then + NFSOPTS="-o ${NFSOPTS}" + fi + + log_begin_msg "Trying nfsmount -o nolock -o ro ${NFSOPTS} ${NFSROOT} ${mountpoint}" + + # FIXME: This while loop is an ugly HACK round an nfs bug + i=0 + while [ "$i" -lt 60 ] + do + nfsmount -o nolock -o ro ${NFSOPTS} "${NFSROOT}" "${mountpoint}" && rc=0 && break + sleep 1 + i="$(($i + 1))" + done + + return ${rc} +} diff --git a/system-boot/components/9990-netbase.sh b/system-boot/components/9990-netbase.sh new file mode 100755 index 0000000..bae858a --- /dev/null +++ b/system-boot/components/9990-netbase.sh @@ -0,0 +1,139 @@ +#!/bin/sh + +#set -e + +Netbase () +{ + if [ -n "${NONETWORKING}" ] + then + return + fi + + log_begin_msg "Preconfiguring networking" + + IFFILE="/root/etc/network/interfaces" + if [ -L /root/etc/resolv.conf ] ; then + # assume we have resolvconf + DNSFILE="/root/etc/resolvconf/resolv.conf.d/base" + else + DNSFILE="/root/etc/resolv.conf" + fi + + if [ "${STATICIP}" = "frommedia" ] && [ -e "${IFFILE}" ] + then + # will use existent /etc/network/interfaces + log_end_msg + return + fi + +cat > "${IFFILE}" << EOF +auto lo +iface lo inet loopback + +EOF + + udevadm trigger + udevadm settle + + if [ -z "${NETBOOT}" ] && [ -n "${STATICIP}" ] && [ "${STATICIP}" != "frommedia" ] + then + parsed=$(echo "${STATICIP}" | sed -e 's|,| |g') + + for ifline in ${parsed} + do + ifname="$(echo ${ifline} | cut -f1 -d ':')" + ifaddress="$(echo ${ifline} | cut -f2 -d ':')" + ifnetmask="$(echo ${ifline} | cut -f3 -d ':')" + ifgateway="$(echo ${ifline} | cut -f4 -d ':')" + nameserver="$(echo ${ifline} | cut -f5 -d ':')" + +cat >> "${IFFILE}" << EOF +allow-hotplug ${ifname} +iface ${ifname} inet static + address ${ifaddress} + netmask ${ifnetmask} +EOF + + if [ -n "${ifgateway}" ] + then + +cat >> "${IFFILE}" << EOF + gateway ${ifgateway} + +EOF + + fi + + if [ -n "${nameserver}" ] + then + if [ -e "${DNSFILE}" ] + then + grep -v ^nameserver "${DNSFILE}" > "${DNSFILE}.tmp" + mv "${DNSFILE}.tmp" "${DNSFILE}" + fi + + echo "nameserver ${nameserver}" >> "${DNSFILE}" + fi + done + else + if [ -n "${NODHCP}" ] + then + # force DHCP off + method="manual" + elif [ -z "${NETBOOT}" ] || [ -n "${DHCP}" ] + then + # default, dhcp assigned + method="dhcp" + else + # make sure that the preconfigured interface would not get reassigned by dhcp + # on startup by ifup script - otherwise our root fs might be disconnected! + method="manual" + fi + + # iterate the physical interfaces and add them to the interfaces list and also add when ethdevice= called on cmdline + if [ "${method}" != dhcp ] || ([ ! -x /root/usr/sbin/NetworkManager ] && [ ! -x /root/usr/sbin/wicd ]) || [ ! -z "${ETHDEVICE}" ] + then + for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan* /sys/class/net/en* + do + [ -e ${interface} ] || continue + i="$(basename ${interface})" + +cat >> "${IFFILE}" << EOF +allow-hotplug ${i} +iface ${i} inet ${method} + +EOF + + done + fi + + if [ ! -f "${DNSFILE}" ] || [ -z "$(cat ${DNSFILE})" ] + then + if [ -f /netboot.config ] + then + # create a resolv.conf if it is not present or empty + cp /netboot.config /root/var/log/netboot.config + + rc_search=$(cat netboot.config | awk '/domain/ { print $3 }') + rc_server0="$(cat netboot.config | awk '/dns0/ { print $5 }')" + +cat > $DNSFILE << EOF +search ${rc_search} +domain ${rc_search} +nameserver ${rc_server0} +EOF + + rc_server1=$(cat netboot.config | awk '/dns0/ { print $8 }') + + if [ "${rc_server1}" != "0.0.0.0" ] + then + echo "nameserver ${rc_server1}" >> $DNSFILE + fi + + cat $DNSFILE >> /root/var/log/netboot.config + fi + fi + fi + + log_end_msg +} diff --git a/system-boot/components/9990-netboot.sh b/system-boot/components/9990-netboot.sh new file mode 100755 index 0000000..5054fb8 --- /dev/null +++ b/system-boot/components/9990-netboot.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +#set -e + +do_netmount() +{ + do_netsetup + + if [ "${NFSROOT}" = "auto" ] + then + NFSROOT=${ROOTSERVER}:${ROOTPATH} + fi + + rc=1 + + if ( [ -n "${FETCH}" ] || [ -n "${HTTPFS}" ] || [ -n "${FTPFS}" ] ) + then + do_httpmount + return $? + fi + + if [ "${NFSROOT#*:}" = "${NFSROOT}" ] && [ "$NETBOOT" != "cifs" ] + then + NFSROOT=${ROOTSERVER}:${NFSROOT} + fi + + log_begin_msg "Trying netboot from ${NFSROOT}" + + if [ "${NETBOOT}" != "nfs" ] && do_cifsmount + then + rc=0 + elif do_nfsmount + then + NETBOOT="nfs" + export NETBOOT + rc=0 + fi + + log_end_msg + return ${rc} +} diff --git a/system-boot/components/9990-networking.sh b/system-boot/components/9990-networking.sh new file mode 100755 index 0000000..9cc3674 --- /dev/null +++ b/system-boot/components/9990-networking.sh @@ -0,0 +1,179 @@ +#!/bin/sh + +#set -e + +Device_from_bootif () +{ + # support for Syslinux IPAPPEND parameter + # it sets the BOOTIF variable on the kernel parameter + + if [ -n "${BOOTIF}" ] + then + # pxelinux sets BOOTIF to a value based on the mac address of the + # network card used to PXE boot, so use this value for DEVICE rather + # than a hard-coded device name from initramfs.conf. this facilitates + # network booting when machines may have multiple network cards. + # pxelinux sets BOOTIF to 01-$mac_address + + # strip off the leading "01-", which isn't part of the mac + # address + temp_mac=${BOOTIF#*-} + + # convert to typical mac address format by replacing "-" with ":" + bootif_mac="" + IFS='-' + for x in $temp_mac + do + if [ -z "$bootif_mac" ] + then + bootif_mac="$x" + else + bootif_mac="$bootif_mac:$x" + fi + done + unset IFS + + # look for devices with matching mac address, and set DEVICE to + # appropriate value if match is found. + + for device in /sys/class/net/* + do + if [ -f "$device/address" ] + then + current_mac=$(cat "$device/address") + + if [ "$bootif_mac" = "$current_mac" ] + then + DEVICE=${device##*/} + break + fi + fi + done + fi +} + +do_netsetup () +{ + modprobe -q af_packet # For DHCP + + udevadm trigger + udevadm settle + + [ -n "$ETHDEV_TIMEOUT" ] || ETHDEV_TIMEOUT=15 + echo "Using timeout of $ETHDEV_TIMEOUT seconds for network configuration." + + if [ -z "${NETBOOT}" ] && [ -z "${FETCH}" ] && [ -z "${HTTPFS}" ] && [ -z "${FTPFS}" ] + then + # See if we can select the device from BOOTIF + Device_from_bootif + + # if ethdevice was not specified on the kernel command line + # make sure we try to get a working network configuration + # for *every* present network device (except for loopback of course) + if [ -z "$ETHDEVICE" ] + then + echo "If you want to boot from a specific device use bootoption ethdevice=..." + for device in /sys/class/net/* + do + dev=${device##*/} + if [ "$dev" != "lo" ] + then + ETHDEVICE="$ETHDEVICE $dev" + fi + done + fi + + # split args of ethdevice=eth0,eth1 into "eth0 eth1" + for device in $(echo "$ETHDEVICE" | sed 's/,/ /g') + do + devlist="$devlist $device" + done + + for dev in $devlist + do + echo "Executing ipconfig -t $ETHDEV_TIMEOUT $dev" + ipconfig -t "$ETHDEV_TIMEOUT" "$dev" | tee -a /netboot.config + + # if configuration of device worked we should have an assigned + # IP address, if so let's use the device as $DEVICE for later usage. + # simple and primitive approach which seems to work fine + if ifconfig "$dev" | grep -q -E 'inet.*addr:|inet [0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*' + then + export DEVICE="$dev" + break + fi + done + else + for interface in ${DEVICE}; do + ipconfig -t "$ETHDEV_TIMEOUT" "${interface}" | tee "/netboot-${interface}.config" + + [ -e "/run/net-${interface}.conf" ] && . "/run/net-${interface}.conf" + + if [ "$IPV4ADDR" != "0.0.0.0" ] + then + break + fi + done + fi + + for interface in ${DEVICE} + do + # source relevant ipconfig output + OLDHOSTNAME=${HOSTNAME} + + [ -e "/run/net-${interface}.conf" ] && . "/run/net-${interface}.conf" + + [ -z "${HOSTNAME}" ] && HOSTNAME="${OLDHOSTNAME}" + export HOSTNAME + + if [ -n "${interface}" ] + then + HWADDR="$(cat "/sys/class/net/${interface}/address")" + fi + + # Only create /etc/hosts if FQDN is known (to let 'hostname -f' query + # this file). Otherwise DNS will be queried to determine the FQDN. + if [ ! -e "/etc/hosts" ] && [ -n "${DNSDOMAIN}" ] + then + echo "Creating /etc/hosts" + cat > /etc/hosts <<EOF +127.0.0.1 localhost +127.0.1.1 ${HOSTNAME}.${DNSDOMAIN} ${HOSTNAME} + +# The following lines are desirable for IPv6 capable hosts +::1 localhost ip6-localhost ip6-loopback +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +EOF + fi + + if [ ! -e "/etc/resolv.conf" ] + then + echo "Creating /etc/resolv.conf" + + if [ -n "${DNSDOMAIN}" ] + then + echo "domain ${DNSDOMAIN}" > /etc/resolv.conf + echo "search ${DNSDOMAIN}" >> /etc/resolv.conf + fi + + for i in ${IPV4DNS0} ${IPV4DNS1} ${IPV4DNS1} ${DNSSERVERS} + do + if [ -n "$i" ] && [ "$i" != 0.0.0.0 ] + then + echo "nameserver $i" >> /etc/resolv.conf + fi + done + fi + + # Check if we have a network device at all + if ! ls /sys/class/net/"$interface" > /dev/null 2>&1 && \ + ! ls /sys/class/net/eth0 > /dev/null 2>&1 && \ + ! ls /sys/class/net/wlan0 > /dev/null 2>&1 && \ + ! ls /sys/class/net/ath0 > /dev/null 2>&1 && \ + ! ls /sys/class/net/ra0 > /dev/null 2>&1 + then + panic "No supported network device found, maybe a non-mainline driver is required." + fi + done +} diff --git a/system-boot/components/9990-overlay.sh b/system-boot/components/9990-overlay.sh new file mode 100755 index 0000000..61b1f26 --- /dev/null +++ b/system-boot/components/9990-overlay.sh @@ -0,0 +1,337 @@ +#!/bin/sh + +#set -e + +setup_unionfs () +{ + image_directory="${1}" + rootmnt="${2}" + addimage_directory="${3}" + + modprobe -q -b ${UNIONTYPE} + + if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$" + then + panic "${UNIONTYPE} not available." + fi + + croot="/run/live/rootfs" + + # Let's just mount the read-only file systems first + rootfslist="" + + if [ -z "${PLAIN_ROOT}" ] + then + # Read image names from ${MODULE}.module if it exists + if [ -e "${image_directory}/filesystem.${MODULE}.module" ] + then + for IMAGE in $(cat ${image_directory}/filesystem.${MODULE}.module) + do + image_string="${image_string} ${image_directory}/${IMAGE}" + done + elif [ -e "${image_directory}/${MODULE}.module" ] + then + for IMAGE in $(cat ${image_directory}/${MODULE}.module) + do + image_string="${image_string} ${image_directory}/${IMAGE}" + done + else + # ${MODULE}.module does not exist, create a list of images + for FILESYSTEM in squashfs ext2 ext3 ext4 xfs jffs2 dir + do + for IMAGE in "${image_directory}"/*."${FILESYSTEM}" + do + if [ -e "${IMAGE}" ] + then + image_string="${image_string} ${IMAGE}" + fi + done + done + + if [ -n "${addimage_directory}" ] && [ -d "${addimage_directory}" ] + then + for FILESYSTEM in squashfs ext2 ext3 ext4 xfs jffs2 dir + do + for IMAGE in "${addimage_directory}"/*."${FILESYSTEM}" + do + if [ -e "${IMAGE}" ] + then + image_string="${image_string} ${IMAGE}" + fi + done + done + fi + + # Now sort the list + image_string="$(echo ${image_string} | sed -e 's/ /\n/g' | sort )" + fi + + [ -n "${MODULETORAMFILE}" ] && image_string="${image_directory}/$(basename ${MODULETORAMFILE})" + + mkdir -p "${croot}" + + for image in ${image_string} + do + imagename=$(basename "${image}") + + export image devname + maybe_break live-realpremount + log_begin_msg "Running /scripts/live-realpremount" + run_scripts /scripts/live-realpremount + log_end_msg + + if [ -d "${image}" ] + then + # it is a plain directory: do nothing + rootfslist="${image} ${rootfslist}" + elif [ -f "${image}" ] + then + if losetup --help 2>&1 | grep -q -- "-r\b" + then + backdev=$(get_backing_device "${image}" "-r") + else + backdev=$(get_backing_device "${image}") + fi + fstype=$(get_fstype "${backdev}") + + case "${fstype}" in + unknown) + panic "Unknown file system type on ${backdev} (${image})" + ;; + + "") + fstype="${imagename##*.}" + log_warning_msg "Unknown file system type on ${backdev} (${image}), assuming ${fstype}." + ;; + esac + + mpoint=$(trim_path "${croot}/${imagename}") + rootfslist="${mpoint} ${rootfslist}" + + mkdir -p "${mpoint}" + log_begin_msg "Mounting \"${image}\" on \"${mpoint}\" via \"${backdev}\"" + mount -t "${fstype}" -o ro,noatime "${backdev}" "${mpoint}" || panic "Can not mount ${backdev} (${image}) on ${mpoint}" + log_end_msg + else + log_warning_msg "Could not find image '${image}'. Most likely it is listed in a .module file, perhaps by mistake." + fi + done + else + # we have a plain root system + mkdir -p "${croot}/filesystem" + log_begin_msg "Mounting \"${image_directory}\" on \"${croot}/filesystem\"" + mount -t $(get_fstype "${image_directory}") -o ro,noatime "${image_directory}" "${croot}/filesystem" || \ + panic "Can not mount ${image_directory} on ${croot}/filesystem" && \ + rootfslist="${croot}/filesystem ${rootfslist}" + # probably broken: + mount -o bind ${croot}/filesystem $mountpoint + log_end_msg + fi + + # tmpfs file systems + touch /etc/fstab + mkdir -p /run/live/overlay + + # Looking for persistence devices or files + if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ] + then + + if [ -z "${QUICKUSBMODULES}" ] + then + # Load USB modules + num_block=$(ls -l /sys/block | wc -l) + for module in sd_mod uhci-hcd ehci-hcd ohci-hcd usb-storage + do + modprobe -q -b ${module} + done + + udevadm trigger + udevadm settle + + # For some reason, udevsettle does not block in this scenario, + # so we sleep for a little while. + # + # See https://bugs.launchpad.net/ubuntu/+source/casper/+bug/84591 + for timeout in 5 4 3 2 1 + do + sleep 1 + + if [ $(ls -l /sys/block | wc -l) -gt ${num_block} ] + then + break + fi + done + fi + + local whitelistdev + whitelistdev="" + if [ -n "${PERSISTENCE_MEDIA}" ] + then + case "${PERSISTENCE_MEDIA}" in + removable) + whitelistdev="$(removable_dev)" + ;; + + removable-usb) + whitelistdev="$(removable_usb_dev)" + ;; + esac + if [ -z "${whitelistdev}" ] + then + whitelistdev="ignore_all_devices" + fi + fi + + if is_in_comma_sep_list overlay ${PERSISTENCE_METHOD} + then + overlays="${custom_overlay_label}" + fi + + local overlay_devices + overlay_devices="" + if [ "${whitelistdev}" != "ignore_all_devices" ] + then + for media in $(find_persistence_media "${overlays}" "${whitelistdev}") + do + media="$(echo ${media} | tr ":" " ")" + + case ${media} in + ${custom_overlay_label}=*) + device="${media#*=}" + overlay_devices="${overlay_devices} ${device}" + ;; + esac + done + fi + elif [ -n "${NFS_COW}" ] && [ -z "${NOPERSISTENCE}" ] + then + # check if there are any nfs options + if echo ${NFS_COW} | grep -q ',' + then + nfs_cow_opts="-o nolock,$(echo ${NFS_COW}|cut -d, -f2-)" + nfs_cow=$(echo ${NFS_COW}|cut -d, -f1) + else + nfs_cow_opts="-o nolock" + nfs_cow=${NFS_COW} + fi + + if [ -n "${PERSISTENCE_READONLY}" ] + then + nfs_cow_opts="${nfs_cow_opts},nocto,ro" + fi + + mac="$(get_mac)" + if [ -n "${mac}" ] + then + cowdevice=$(echo ${nfs_cow} | sed "s/client_mac_address/${mac}/") + cow_fstype="nfs" + else + panic "unable to determine mac address" + fi + fi + + if [ -z "${cowdevice}" ] + then + cowdevice="tmpfs" + cow_fstype="tmpfs" + cow_mountopt="rw,noatime,mode=755,size=${OVERLAY_SIZE:-50%}" + fi + + if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ] + then + mount -t tmpfs -o rw,noatime,mode=755,size=${OVERLAY_SIZE:-50%} tmpfs "/run/live/overlay" + root_backing="/run/live/persistence/$(basename ${cowdevice})-root" + mkdir -p ${root_backing} + else + root_backing="/run/live/overlay" + fi + + if [ "${cow_fstype}" = "nfs" ] + then + log_begin_msg \ + "Trying nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing}" + nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing} || \ + panic "Can not mount ${cowdevice} (n: ${cow_fstype}) on ${root_backing}" + else + mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} ${root_backing} || \ + panic "Can not mount ${cowdevice} (o: ${cow_fstype}) on ${root_backing}" + fi + + rootfscount=$(echo ${rootfslist} |wc -w) + + rootfs=${rootfslist%% } + + if [ -n "${EXPOSED_ROOT}" ] + then + if [ ${rootfscount} -ne 1 ] + then + panic "only one RO file system supported with exposedroot: ${rootfslist}" + fi + + mount -o bind ${rootfs} ${rootmnt} || \ + panic "bind mount of ${rootfs} failed" + + if [ -z "${SKIP_UNION_MOUNTS}" ] + then + cow_dirs='/var/tmp /var/lock /var/run /var/log /var/spool /home /var/lib/live' + else + cow_dirs='' + fi + else + cow_dirs="/" + fi + + for dir in ${cow_dirs}; do + unionmountpoint=$(trim_path "${rootmnt}${dir}") + mkdir -p ${unionmountpoint} + cow_dir=$(trim_path "/run/live/overlay${dir}") + rootfs_dir="${rootfs}${dir}" + mkdir -p ${cow_dir} + if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ] + then + do_union ${unionmountpoint} ${cow_dir} ${root_backing} ${rootfs_dir} + else + do_union ${unionmountpoint} ${cow_dir} ${rootfs_dir} + fi || panic "mount ${UNIONTYPE} on ${unionmountpoint} failed with option ${unionmountopts}" + done + + # Remove persistence depending on boot parameter + Remove_persistence + + # Correct the permissions of /: + chmod 0755 "${rootmnt}" + + # Correct the permission of /tmp: + if [ -d "${rootmnt}/tmp" ] + then + chmod 1777 "${rootmnt}"/tmp + fi + + # Adding custom persistence + if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ] + then + local custom_mounts + custom_mounts="/tmp/custom_mounts.list" + rm -f ${custom_mounts} + + # Gather information about custom mounts from devies detected as overlays + get_custom_mounts ${custom_mounts} ${overlay_devices} + + [ -n "${LIVE_BOOT_DEBUG}" ] && cp ${custom_mounts} "/run/live/persistence" + + # Now we do the actual mounting (and symlinking) + local used_overlays + used_overlays="" + used_overlays=$(activate_custom_mounts ${custom_mounts}) + rm -f ${custom_mounts} + + # Close unused overlays (e.g. due to missing $persistence_list) + for overlay in ${overlay_devices} + do + if echo ${used_overlays} | grep -qve "^\(.* \)\?${overlay}\( .*\)\?$" + then + close_persistence_media ${overlay} + fi + done + fi +} diff --git a/system-boot/components/9990-select-eth-device.sh b/system-boot/components/9990-select-eth-device.sh new file mode 100755 index 0000000..c8f36b0 --- /dev/null +++ b/system-boot/components/9990-select-eth-device.sh @@ -0,0 +1,108 @@ +#!/bin/sh + +Select_eth_device () +{ + # Boot type in initramfs's config + bootconf=$(egrep '^BOOT=' /conf/initramfs.conf | tail -1) + + # can be superseded by command line (used by Debian-Live's netboot for example) + for ARGUMENT in ${LIVE_BOOT_CMDLINE} + do + case "${ARGUMENT}" in + netboot=*) + NETBOOT="${ARGUMENT#netboot=}" + ;; + esac + done + + if [ "$bootconf" != "BOOT=nfs" ] && [ -z "$NETBOOT" ] && [ -z "$FETCH" ] && [ -z "$FTPFS" ] && [ -z "$HTTPFS" ] + then + # Not a net boot : nothing to do + return + fi + + # we want to do some basic IP + modprobe -q af_packet + + # Ensure all our net modules get loaded so we can actually compare MAC addresses... + udevadm trigger + udevadm settle + + # Available Ethernet interfaces ? + l_interfaces="" + + # See if we can derive the boot device + Device_from_bootif + + if [ -z "$DEVICE" ] + then + echo "Waiting for ethernet card(s) up... If this fails, maybe the ethernet card is not supported by the kernel `uname -r`?" + while [ -z "$l_interfaces" ] + do + l_interfaces="$(cd /sys/class/net/ && ls -d * 2>/dev/null | grep -v "lo")" + done + + if [ $(echo $l_interfaces | wc -w) -lt 2 ] + then + # only one interface : no choice + echo "DEVICE=$l_interfaces" >> /conf/param.conf + return + fi + + # If user force to use specific device, write it + for ARGUMENT in ${LIVE_BOOT_CMDLINE} + do + case "${ARGUMENT}" in + live-netdev=*) + NETDEV="${ARGUMENT#live-netdev=}" + echo "DEVICE=$NETDEV" >> /conf/param.conf + echo "Found live-netdev parameter, forcing to to use network device $NETDEV." + return + ;; + esac + done + else + l_interfaces="$DEVICE" + fi + + found_eth_dev="" + while true + do + echo -n "Looking for a connected Ethernet interface ..." + + for interface in $l_interfaces + do + # ATTR{carrier} is not set if this is not done + echo -n " $interface ?" + ipconfig -c none -d $interface -t 1 >/dev/null 2>&1 + done + + echo '' + + for step in 1 2 3 4 5 + do + for interface in $l_interfaces + do + carrier=$(cat /sys/class/net/$interface/carrier \ + 2>/dev/null) + # link detected + + case "${carrier}" in + 1) + echo "Connected $interface found" + # inform initrd's init script : + found_eth_dev="$found_eth_dev $interface" + ;; + esac + done + if [ -n "$found_eth_dev" ] + then + echo "DEVICE='$found_eth_dev'" >> /conf/param.conf + return + else + # wait a bit + sleep 1 + fi + done + done +} diff --git a/system-boot/components/9990-toram-todisk.sh b/system-boot/components/9990-toram-todisk.sh new file mode 100755 index 0000000..5b76d54 --- /dev/null +++ b/system-boot/components/9990-toram-todisk.sh @@ -0,0 +1,103 @@ +#!/bin/sh + +#set -e + +copy_live_to () +{ + copyfrom="${1}" + copytodev="${2}" + copyto="${copyfrom}_swap" + + if [ -z "${MODULETORAM}" ] + then + size=$(fs_size "" ${copyfrom}/ "used") + else + MODULETORAMFILE="${copyfrom}/${LIVE_MEDIA_PATH}/${MODULETORAM}" + + if [ -f "${MODULETORAMFILE}" ] + then + size=$( expr $(ls -la ${MODULETORAMFILE} | awk '{print $5}') / 1024 + 5000 ) + else + log_warning_msg "Error: toram-module ${MODULETORAM} (${MODULETORAMFILE}) could not be read." + return 1 + fi + fi + + if [ "${copytodev}" = "ram" ] + then + # copying to ram: + freespace=$(awk '/^MemFree:/{f=$2} /^Cached:/{c=$2} END{print f+c}' /proc/meminfo) + mount_options="-o size=${size}k" + free_string="memory" + fstype="tmpfs" + dev="/dev/shm" + else + # it should be a writable block device + if [ -b "${copytodev}" ] + then + dev="${copytodev}" + free_string="space" + fstype=$(get_fstype "${dev}") + freespace=$(fs_size "${dev}") + else + log_warning_msg "${copytodev} is not a block device." + return 1 + fi + fi + + if [ "${freespace}" -lt "${size}" ] + then + log_warning_msg "Not enough free ${free_string} (${freespace}k free, ${size}k needed) to copy live media in ${copytodev}." + return 1 + fi + + # Custom ramdisk size + if [ -z "${mount_options}" ] && [ -n "${ramdisk_size}" ] + then + # FIXME: should check for wrong values + mount_options="-o size=${ramdisk_size}" + fi + + # begin copying (or uncompressing) + mkdir "${copyto}" + log_begin_msg "mount -t ${fstype} ${mount_options} ${dev} ${copyto}" + mount -t "${fstype}" ${mount_options} "${dev}" "${copyto}" + + if [ "${extension}" = "tgz" ] + then + cd "${copyto}" + tar zxf "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})" + rm -f "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})" + mount -r -o move "${copyto}" "${rootmnt}" + cd "${OLDPWD}" + else + if [ -n "${MODULETORAMFILE}" ] + then + if [ -x /bin/rsync ] + then + echo " * Copying $MODULETORAMFILE to RAM" 1>/dev/console + rsync -a --progress ${MODULETORAMFILE} ${copyto} 1>/dev/console # copy only the filesystem module + else + cp ${MODULETORAMFILE} ${copyto} # copy only the filesystem module + fi + else + if [ -x /bin/rsync ] + then + echo " * Copying whole medium to RAM" 1>/dev/console + rsync -a --progress ${copyfrom}/* ${copyto} 1>/dev/console # "cp -a" from busybox also copies hidden files + else + cp -a ${copyfrom}/* ${copyto}/ + if [ -e ${copyfrom}/${LIVE_MEDIA_PATH}/.disk ] + then + cp -a ${copyfrom}/${LIVE_MEDIA_PATH}/.disk ${copyto} + fi + fi + fi + + umount ${copyfrom} + mount -r -o move ${copyto} ${copyfrom} + fi + + rmdir ${copyto} + return 0 +} diff --git a/system-boot/frontend/live-boot b/system-boot/frontend/live-boot new file mode 100755 index 0000000..2df56fe --- /dev/null +++ b/system-boot/frontend/live-boot @@ -0,0 +1,20 @@ +#!/bin/sh + +# set -e + +# Reading configuration file from filesystem and live-media +for _FILE in /etc/live/boot.conf /etc/live/boot/* +do + if [ -e "${_FILE}" ] + then + . "${_FILE}" + fi +done + +for _COMPONENT in /lib/live/boot/????-* +do + if [ -e "${_COMPONENT}" ] + then + . ${_COMPONENT} + fi +done diff --git a/system-boot/frontend/live-swapfile b/system-boot/frontend/live-swapfile new file mode 100755 index 0000000..745fa87 --- /dev/null +++ b/system-boot/frontend/live-swapfile @@ -0,0 +1,100 @@ +#!/bin/sh + +# File: live-swapfile - create and use a swap file +# Copyright: (C) 2009 Daniel Baumann <mail@daniel-baumann.ch> +# License: GPL-3+ + +set -e + +# Options +_SWAP_DIRECTORY="${_SWAP_DIRECTORY:-/live/swap}" +_SWAP_FILE="${_SWAP_FILE:-swapfile.img}" + +_SWAP_SIZE="${_SWAP_SIZE:-auto}" +_SWAP_FACTOR="${_SWAP_FACTOR:-2}" + +_SWAP_PURGE="${_SWAP_PURGE:-true}" +_FORCE="${_FORCE:-true}" + +case "${1}" in + add) + # Reading size of physical memory + _MEM_TOTAL_KB="$(awk '/^MemTotal: / { print $2 }' /proc/meminfo)" + _MEM_TOTAL_MB="$(expr ${_MEM_TOTAL_KB} / 1024)" + + echo "Found ${_MEM_TOTAL_MB} MB physical memory." + + # Setting size of new swapfile + if [ -z "${_SWAP_SIZE}" ] || [ "${_SWAP_SIZE}" = "auto" ] + then + _SWAP_SIZE_KB="$(expr ${_MEM_TOTAL_KB} '*' ${_SWAP_FACTOR})" + _SWAP_SIZE_MB="$(expr ${_SWAP_SIZE_KB} / 1024)" + else + _SWAP_SIZE_MB="${_SWAP_SIZE}" + fi + + echo "Requesting ${_SWAP_SIZE_MB} MB swapfile." + + # Reading size of old swapfile + if [ -e "${_SWAP_DIRECTORY}/${_SWAP_FILE}" ] + then + _SWAP_FILESIZE="$(ls -hl ${_SWAP_DIRECTORY}/${_SWAP_FILE} | awk '{ print $5 }')" + + echo "Found ${_SWAP_FILESIZE} MB swapfile." + fi + + # Creating new swap file + if [ "${_SWAP_FILESIZE}" != "${_SWAP_SIZE_MB}M" ] + then + if [ "${_FORCE}" = "true" ] + then + # Removing old swapfile + rm -f "${_SWAP_DIRECTORY}/${_SWAP_FILE}" + + echo "Creating ${_SWAP_SIZE_MB} MB swapfile." + + mkdir -p "${_SWAP_DIRECTORY}" + + # Unfortunately, swapon does not support files + # with holes, therefore we cannot preallocate. + dd if=/dev/zero of="${_SWAP_DIRECTORY}/${_SWAP_FILE}" bs=1024k count="${_SWAP_SIZE_MB}" + else + echo "Exit." + return 1 + fi + fi + + echo "Enabling ${_SWAP_DIRECTORY}/${_SWAP_FILE}." + + mkswap "${_SWAP_DIRECTORY}/${_SWAP_FILE}" + swapon "${_SWAP_DIRECTORY}/${_SWAP_FILE}" + ;; + + rm|remove) + if grep -qs "${_SWAP_DIRECTORY}/${_SWAP_FILE}" /proc/swaps + then + echo "Disabling ${_SWAP_DIRECTORY}/${_SWAP_FILE}." + + swapoff "${_SWAP_DIRECTORY}/${_SWAP_FILE}" + fi + + if [ "${_SWAP_PURGE}" = "true" ] + then + echo "Removing ${_SWAP_DIRECTORY}/${_SWAP_FILE}." + + rm -f "${_SWAP_DIRECTORY}/${_SWAP_FILE}" + + __DIRECTORY="${_SWAP_DIRECTORY}" + while [ "${__DIRECTORY}" != "/" ] + do + rmdir --ignore-fail-on-non-empty "${__DIRECTORY}" + __DIRECTORY="$(dirname ${__DIRECTORY})" + done + fi + ;; + + *) + echo "Usage: ${0} {add|remove}" + exit 1 + ;; +esac diff --git a/system-boot/manpages/Makefile b/system-boot/manpages/Makefile new file mode 100644 index 0000000..122e7d6 --- /dev/null +++ b/system-boot/manpages/Makefile @@ -0,0 +1,57 @@ +# Makefile + +SHELL := sh -e + +LANGUAGES = $(shell cd po && ls) + +all: build + +po4a.cfg: + echo "[po4a_langs] $(LANGUAGES)" > po4a.cfg + echo "[po4a_paths] pot/\$$master.pot \$$lang:po/\$$lang/\$$master.po" >> po4a.cfg + + for MANPAGE in en/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | sed -e 's|\.|\n|g' | tail -n1)"; \ + echo "[type: man] $${MANPAGE} \$$lang:\$$lang/$$(basename $${MANPAGE} .$${SECTION}).\$$lang.$${SECTION}" >> po4a.cfg; \ + done + +update: + ./bin/update-version.sh + +build: check po4a.cfg + @if [ ! -x "$$(which po4a 2>/dev/null)" ]; \ + then \ + echo "E: po4a - command not found"; \ + echo "I: po4a can be obtained from:"; \ + echo "I: http://po4a.alioth.debian.org/"; \ + echo "I: On Debian based systems, po4a can be installed with:"; \ + echo "I: apt-get install po4a"; \ + exit 1; \ + fi + + po4a --copyright-holder "Live Systems Project" --keep 0 --package-name live-boot --package-version $(shell cat ../VERSION) po4a.cfg + +clean: + rm -rf $(LANGUAGES) + +distclean: clean + rm -f po4a.cfg + +rebuild: distclean update build + +check: + @echo -n "Checking the integrity of .po files " + + @if [ -x /usr/bin/msgfmt ]; \ + then \ + for POFILE in po/*/*; \ + do \ + msgfmt --check --output-file=/dev/null $${POFILE}; \ + echo -n "."; \ + done; \ + else \ + echo "WARNING: skipping po integrity check. You must install gettext."; \ + fi + + @echo " done!" diff --git a/system-boot/manpages/bin/update-version.sh b/system-boot/manpages/bin/update-version.sh new file mode 100755 index 0000000..bfa6fbb --- /dev/null +++ b/system-boot/manpages/bin/update-version.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +## live-boot(7) - System Boot Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +PROGRAM="LIVE\\\-BOOT" +VERSION="$(cat ../VERSION)" + +DATE="$(LC_ALL=C date +%Y\\\\-%m\\\\-%d)" + +DAY="$(LC_ALL=C date +%d)" +MONTH="$(LC_ALL=C date +%m)" +YEAR="$(LC_ALL=C date +%Y)" + +echo "Updating version headers..." + +for MANPAGE in en/* +do + SECTION="$(basename ${MANPAGE} | awk -F. '{ print $2 }')" + + sed -i -e "s|^.TH.*$|.TH ${PROGRAM} ${SECTION} ${DATE} ${VERSION} \"Live Systems Project\"|" ${MANPAGE} +done + +# European date format +for _LANGUAGE in es fr it +do + if ls po/${_LANGUAGE}/*.po > /dev/null 2>&1 + then + for _FILE in po/${_LANGUAGE}/*.po + do + sed -i -e "s|^msgstr .*.2015-.*$|msgstr \"${DAY}.${MONTH}.${YEAR}\"|g" \ + -e "s|^msgstr .*.2015\"$|msgstr \"${DAY}.${MONTH}.${YEAR}\"|g" \ + "${_FILE}" + done + fi +done + +# Brazilian date format +if ls po/pt_BR/*.po > /dev/null 2>&1 +then + for _FILE in po/pt_BR/*.po + do + sed -i -e "s|^msgstr .*.2015-.*$|msgstr \"${DAY}-${MONTH}-${YEAR}\"|g" \ + -e "s|^msgstr .*-2015\"$|msgstr \"${DAY}-${MONTH}-${YEAR}\"|g" \ + "${_FILE}" + done +fi diff --git a/system-boot/manpages/en/live-boot.7 b/system-boot/manpages/en/live-boot.7 new file mode 100644 index 0000000..0a45bb4 --- /dev/null +++ b/system-boot/manpages/en/live-boot.7 @@ -0,0 +1,214 @@ +.TH LIVE\-BOOT 7 2015\-09\-22 5.0~a5-1 "Live Systems Project" + +.SH NAME +\fBlive\-boot\fR \- System Boot Components + +.SH DESCRIPTION +\fBlive\-boot\fR contains the components that configure a live system during the boot process (early userspace). +.PP +.\" FIXME +live\-boot is a hook for the initramfs\-tools, used to generate a initramfs capable to boot live systems, such as those created by \fIlive\-helper\fR(7). This includes the Live systems ISOs, netboot tarballs, and usb stick images. +.PP +At boot time it will look for a (read\-only) medium containing a "/live" directory where a root filesystems (often a compressed filesystem image like squashfs) is stored. If found, it will create a writable environment, using aufs, to boot the system from. +.\" FIXME + +.SH CONFIGURATION +\fBlive\-boot\fR can be configured through a boot parameter or a configuration file. +.PP +To configure the live\-boot parameters used by default in a live image, see the \-\-bootappend\-live option in the \fIlb_config\fR(1) manual page. + +.SS Kernel Parameters +\fBlive\-boot\fR is only activated if 'boot=live' was used as a kernel parameter. +.PP +In addition, there are some more boot parameters to influence the behaviour, see below. + +.SS Configuration Files +\fBlive\-boot\fR can be configured (but not activated) through configuration files. Those files can be placed either in the root filesystem itself (/etc/live/boot.conf, /etc/live/boot/*), or on the live media (live/boot.conf, live/boot/*). +These environment variables can only be set in the configuration files: + +.TP +\fBDISABLE_CDROM\fR=[\fItrue\fR|\fIfalse\fR] +Disable support for booting from CD-ROMs. If set to '\fIy\fR' mkinitramfs will build an initramfs without the kernel modules for reading CD-ROMs. + +.TP +\fBDISABLE_FAT\fR=[\fItrue\fR|\fIfalse\fR] +Disable support for booting from FAT file systems. If set to '\fIy\fR' mkinitramfs will build an initramfs without the kernel module vfat and some nls_* modules. + +.TP +\fBDISABLE_FUSE\fR=[\fItrue\fR|\fIfalse\fR] +Disable support for booting from FUSE-based file systems. If set to '\fIy\fR' mkinitramfs will build an initramfs without the kernel module fuse and file systems that depend on it (like curlftpfs and httpfs2). + +.TP +\fBDISABLE_NTFS\fR=[\fItrue\fR|\fIfalse\fR] +Disable support for booting from NTFS file systems. If set to '\fIy\fR' mkinitramfs will build an initramfs without the kernel module ntfs. + +.TP +\fBDISABLE_USB\fR=[\fItrue\fR|\fIfalse\fR] +Disable support for booting from USB devices. If set to '\fIy\fR' mkinitramfs will build an initramfs without the kernel module sd_mod. + +.TP +\fBMINIMAL\fR=[\fItrue\fR|\fIfalse\fR] +Build a minimal initramfs. If set to '\fIy\fR' mkinitramfs will build an initramfs without some udev scripts and without rsync. + +.TP +\fBPERSISTENCE_FSCK\fR=[\fItrue\fR|\fIfalse\fR] +Run fsck on persistence filesystem on boot. Will attempt to repair errors. The execution log will be saved in /var/log/live/fsck.log. + +.TP +\fBFSCKFIX\fR=[\fItrue\fR|\fIfalse\fR] +If PERSISTENCE_FSCK or forcefsck are set, will pass -y to fsck to stop it from asking questions interactively and assume yes to all queries. + +.SH OPTIONS +\fBlive\-boot\fR currently features the following parameters. +.\" FIXME +.IP "\fBaccess\fR=\fIACCESS\fR" 4 +Set the accessibility level for physically or visually impaired users. ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, m2=moderate motor difficulties. +.IP "\fBconsole\fR=\fITTY,SPEED\fR" 4 +Set the default console to be used with the "live\-getty" option. Example: "console=ttyS0,115200" +.IP "\fBdebug\fR" 4 +Makes initramfs boot process more verbose. +.br +Use: debug=1 +.br +Without setting debug to a value the messages may not be shown. +.IP "\fBfetch\fR=\fIURL\fR" 4 +.IP "\fBhttpfs\fR=\fIURL\fR" 4 +Another form of netboot by downloading a squashfs image from a given URL. +The fetch method copies the image to RAM and the httpfs method uses FUSE and +httpfs2 to mount the image in place. Copying to RAM requires more memory and +might take a long time for large images. However, it is more likely to work +correctly because it does not require networking afterwards and the system +operates faster once booted because it does not require to contact the server +anymore. +.br +Due to current limitations in busybox's wget and DNS resolution, an URL can not contain a hostname but an IP address only. +.br +Not working: http://example.com/path/to/your_filesystem.squashfs +.br +Working: http://1.2.3.4/path/to/your_filesystem.squashfs +.br +Also note that therefore it's currently not possible to fetch an image from a name-based virtualhost of an httpd if it is sharing the IP address with the main httpd instance. +.br +You may also use the live ISO image in place of the squashfs image. +.IP "\fBiscsi\fR=\fIserver-ip[,server-port];target-name\fR" 4 +Boot from an iSCSI target that has an ISO or disk live image as one of its LUNs. The specified target is searched for a LUN which looks like a live medium. If you use the \fBiscsitarget\fR software iSCSI target solution your ietd.conf might look like this: +.br +# The target-name you specify in the iscsi= parameter +.br +Target <target-name> + Lun 0 Path=<path-to-your-live-image.iso>,Type=fileio,IOMode=ro + # If you want to boot multiple machines you might want to look at tuning some parameters like + # Wthreads or MaxConnections +.IP "\fBfindiso\fR=\fI/PATH/TO/IMAGE\fI" 4 +Look for the specified ISO file on all disks where it usually looks for the .squashfs file (so you don't have to know the device name as in fromiso=....). +.IP "\fBforcefsck\fR" 4 +Run fsck on persistence filesystem on boot. Will attempt to repair errors. The execution log will be saved in /var/log/live/fsck.log. +.IP "\fBfromiso\fR=\fI/PATH/TO/IMAGE\fI" 4 +Use a filesystem from within an ISO image that's available on live-media. The first part of the argument should be the block device where the image is stored, followed by the path and filename (e.g. fromiso=/dev/sda1/live/image.iso). +.br +Alternatively, it can be used to boot from an ISO embedded into an initrd (e.g. fromiso=/live/image.iso). +.IP "\fBignore_uuid\fR" 4 +Do not check that any UUID embedded in the initramfs matches the discovered medium. live\-boot may be told to generate a UUID by setting LIVE_GENERATE_UUID=1 when building the initramfs. +.IP "\fBverify\-checksums\fR" 4 +If specified, an MD5 sum is calculated on the live media during boot and compared to the value found in md5sum.txt found in the root directory of the live media. +.IP "\fBip\fR=[\fIDEVICE\fR]:[\fICLIENT_IP\fR]:[\fINETMASK\fR]:[\fIGATEWAY_IP\fR]:[\fINAMESERVER\fR] [,[\fIDEVICE\fR]:[\fICLIENT_IP\fR]:[\fINETMASK\fR]:[\fIGATEWAY_IP\fR]:[\fINAMESERVER\fR]]" 4 +Let you specify the name(s) and the options of the interface(s) that should be configured at boot time. Do not specify this if you want to use dhcp (default). It will be changed in a future release to mimic official kernel boot param specification (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp). +.IP "\fBip\fR=[\fIfrommedia\fR]" 4 +If this variable is set, dhcp and static configuration are just skipped and the system will use the (must be) media\-preconfigured /etc/network/interfaces instead. +.IP "\fBlive\-media\-uuid\fR=\fIUUID\fR" 4 +Override UUID embedded in the initramfs. +.IP "\fBlive\-media\-mount\-opts\fR=\fIOPTS\fR" 4 +This specific which mount opts to use for mounting live-media. +Default: ro,noatime +.IP "{\fBlive\-media\fR|\fBbootfrom\fR}=\fIDEVICE\fR" 4 +If you specify one of this two equivalent forms, live\-boot will first try to find this device for the "/live" directory where the read\-only root filesystem should reside. If it did not find something usable, the normal scan for block devices is performed. +.br +Instead of specifying an actual device name, the keyword 'removable' can be used to limit the search of acceptable live media to removable type only. Note that if you want to further restrict the media to usb mass storage only, you can use the 'removable\-usb' keyword. +.IP "{\fBlive\-media\-encryption\fR|\fBencryption\fR}=\fITYPE\fI" 4 +live\-boot will mount the encrypted rootfs TYPE, asking the passphrase, useful to build paranoid live systems :\-). TYPE supported so far is "aes" for loop\-aes encryption type. +.IP "\fBlive\-media\-offset\fR=\fIBYTES\fR" 4 +This way you could tell live\-boot that your image starts at offset BYTES in the above specified or autodiscovered device, this could be useful to hide the live system ISO or image inside another ISO or image, to create "clean" images. +.IP "\fBlive\-media\-path\fR=\fIPATH\fR" 4 +Sets the path to the live filesystem on the medium. By default, it is set to '/live' and you should not change that unless you have customized your media accordingly. +.IP "\fBlive\-media\-timeout\fR=\fISECONDS\fI" 4 +Set the timeout in seconds for the device specified by "live\-media=" to become ready before giving up. +.IP "\fBmodule\fR=\fINAME\fR" 4 +Instead of using the default optional file "filesystem.module" (see below) another file could be specified without the extension ".module"; it should be placed on "/live" directory of the live medium. +.IP "\fBnetboot\fR[=nfs|cifs]" 4 +This tells live\-boot to perform a network mount. The parameter "nfsroot=" (with optional "nfsopts="), should specify where is the location of the root filesystem. With no args, will try cifs first, and if it fails nfs. +.IP "\fBnfsopts\fR=" 4 +This lets you specify custom nfs options. +.IP "\fBnofastboot\fR" 4 +This parameter disables the default disabling of filesystem checks in /etc/fstab. If you have static filesystems on your harddisk and you want them to be checked at boot time, use this parameter, otherwise they are skipped. +.IP "\fBnopersistence\fR" 4 +disables the "persistence" feature, useful if the bootloader (like syslinux) has been installed with persistence enabled. +.IP "\fBnoeject\fR" 4 +Do not prompt to eject the live medium. +.IP "\fBramdisk\-size\fR" 4 +This parameter defines a custom ramdisk size (it's the '\-o size' option of tmpfs mount). By default, there is no ramdisk size set, so the default of mount applies (currently 50% of available RAM). Note that this option has currently no effect when booting with toram. +.IP "\fBoverlay\-size\fR=\fISIZE\fR" 4 +The size of the tmpfs mount (used for the upperdir union root mount) in bytes, and rounded up to entire pages. This option accepts a suffix % to limit the instance to that percentage of your physical RAM or a suffix k, m or g for Ki, Mi, Gi (binary kilo (kibi), binary mega (mebi) and binary giga (gibi)). By default, 50% of available RAM will be used. +.IP "\fBswap=true\fR" 4 +This parameter enables usage of local swap partitions. +.IP "\fBpersistence\fR" 4 +live\-boot will probe devices for persistence media. These can be partitions (with the correct GPT name), filesystems (with the correct label) or image files (with the correct file name). Overlays are labeled/named "persistence" (see \fIpersistence.conf\fR(5)). Overlay image files are named "persistence". +.IP "\fBpersistence\-encryption\fR=\fITYPE1\fR,\fITYPE2\fR ... \fITYPEn\fR" 4 +This option determines which types of encryption that are allowed to be used when probing devices for persistence media. If "none" is in the list, we allow unencrypted media; if "luks" is in the list, we allow LUKS\-encrypted media. Whenever a device containing encrypted media is probed the user will be prompted for the passphrase. The default value is "none". +.IP "\fBpersistence\-media\fR={\fIremovable\fR|\fIremovable\-usb\fR}" 4 +If you specify the keyword 'removable', live\-boot will try to find persistence partitions on removable media only. Note that if you want to further restrict the media to usb mass storage only, you can use the 'removable\-usb' keyword. +.IP "\fBpersistence\-method\fR=\fITYPE1\fR,\fITYPE2\fR ... \fITYPEn\fR" 4 +This option determines which types of persistence media we allow. If "overlay" is in the list, we consider overlays (i.e. "live\-rw" and "home\-rw"). The default is "overlay". +.IP "\fBpersistence\-path\fR=\fIPATH\fR" 4 +live\-boot will look for persistency files in the root directory of a partition, with this parameter, the path can be configured so that you can have multiple directories on the same partition to store persistency files. +.IP "\fBpersistence\-read\-only\fR" 4 +Filesystem changes are not saved back to persistence media. In particular, overlays and netboot NFS mounts are mounted read-only. +.IP "\fBpersistence\-storage\fR=\fITYPE1\fR,\fITYPE2\fR ... \fITYPEn\fR" 4 +This option determines which types of persistence storage to consider when probing for persistence media. If "filesystem" is in the list, filesystems with matching labels will be used; if "file" is in the list, all filesystems will be probed for archives and image files with matching filenames. The default is "file,filesystem". +.IP "\fBpersistence\-label\fR=\fILABEL\fR" 4 +live-boot will use the name "LABEL" instead of "persistence" when searching for persistent storage. LABEL can be any valid filename, partition label, or GPT name. +.IP "\fBnoeject\fR" 4 +This option causes live\-boot to reboot without attempting to eject the media and without asking the user to remove the boot media. +.IP "\fBshowmounts\fR" 4 +This parameter will make live\-boot to show on "/" the ro filesystems (mostly compressed) on "/lib/live". This is not enabled by default because could lead to problems by applications like "mono" which store binary paths on installation. +.IP "\fBsilent\fR" 4 +If you boot with the normal quiet parameter, live\-boot hides most messages of its own. When adding silent, it hides all. +.IP "\fBtodisk\fR=\fIDEVICE\fR" 4 +Adding this parameter, live\-boot will try to copy the entire read\-only media to the specified device before mounting the root filesystem. It probably needs a lot of free space. Subsequent boots should then skip this step and just specify the "live\-media=DEVICE" boot parameter with the same DEVICE used this time. +.IP "\fBtoram\fR" 4 +Adding this parameter, live\-boot will try to copy the whole read\-only media to the computer's RAM before mounting the root filesystem. This could need a lot of ram, according to the space used by the read\-only media. +.IP "\fBunion\fR=overlay|aufs\fR" 4 +By default, live\-boot uses overlay. With this parameter, you can switch to aufs. +.\" FIXME + +.\" FIXME +.SH FILES (old) +.IP "\fB/etc/live.conf\fR" 4 +Some variables can be configured via this config file (inside the live system). +.IP "\fBlive/filesystem.module\fR" 4 +This optional file (inside the live media) contains a list of white\-space or carriage\-return\-separated file names corresponding to disk images in the "/live" directory. If this file exists, only images listed here will be merged into the root aufs, and they will be loaded in the order listed here. The first entry in this file will be the "lowest" point in the aufs, and the last file in this list will be on the "top" of the aufs, directly below /overlay. Without this file, any images in the "/live" directory are loaded in alphanumeric order. +.\" FIXME + +.SH FILES +.IP "\fB/etc/live/boot.conf\fR" 4 +.IP "\fB/etc/live/boot/*\fR" 4 +.IP "\fBlive/boot.conf\fR" 4 +.IP "\fBlive/boot/*\fR" 4 +.IP "\fBpersistence.conf\fR" 4 + +.SH SEE ALSO +\fIpersistence.conf\fR(5) +.PP +\fIlive\-build\fR(7) +.PP +\fIlive\-config\fR(7) +.PP +\fIlive\-tools\fR(7) + +.SH HOMEPAGE +More information about live\-boot and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-boot package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-boot was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-boot/manpages/en/persistence.conf.5 b/system-boot/manpages/en/persistence.conf.5 new file mode 100644 index 0000000..834cb29 --- /dev/null +++ b/system-boot/manpages/en/persistence.conf.5 @@ -0,0 +1,206 @@ +.TH LIVE\-BOOT conf 2015\-09\-22 5.0~a5-1 "Live Systems Project" + +.SH NAME +\fBpersistence.conf\fR \- Configuration file for persistence media in +live\-boot + +.SH DESCRIPTION +If live-boot probes a persistence volume with the label (or GPT name, +or file name, but from now on we will just say "label") "persistence", +that volume's persistence is fully customizable through the +\fBpersistence.conf\fR file stored on the root of its file system. Any such +labeled volume must have such a file, or it will be ignored. +.PP +The format of \fBpersistence.conf\fR allows empty lines and lines starting +with a "#" (used for comments), both which will be ignored. A so +called "custom mount" has the format: +.PP +.RS +\fIDIR\fR [\fIOPTION\fR]... +.RE +.PP +which roughly translates to "make \fIDIR\fR persistence in the way +described by the list of \fIOPTION\fRs". +.PP +For each custom mount \fIDIR\fR must be an absolute path that cannot +contain white spaces or the special . and .. path components, and +cannot be /live (or any of its sub-directories). +Once activated all changes (file +deletion, creation and modification) to \fIDIR\fR on the live file +system are stored persistently into a path equivalent to \fIDIR\fR on +the persistence media, called the source directory. The default way to +achieve persistence is to simply bind-mount the corresponding source +directory to \fIDIR\fR, but this can be changed through the use of +\fIOPTION\fRs. +.PP +All custom mounts will be done in an order so that no two custom +mounts can "hide" each other. For instance, if we have the two +\fIDIR\fR:s /a and /a/b it would always be the case that /a is mounted +first, then /a/b. This remains true no matter how the lines in +\fBpersistence.conf\fR are ordered, or if several \fBpersistence.conf\fR files +on different persistence media are used at the same time. However, it +is forbidden for custom mounts to have their source directory inside +the source directory of another custom mount, so the source +directories that are auto-created by live-boot does not support +"nested" mounts like /a and /a/b on the same media. In this case you +must use the \fBsource\fR option (see below) to make sure that they +are stored in different source directories. +.PP +When a source directory doesn't exist on the persistence media for a +certain custom mount, it will be created automatically, and +permissions and ownership will be optimistically set according to +\fIDIR\fR. It will also be bootstrapped by copying the contents of the +\fIDIR\fR into its source directory on the persistence media. The +bootstrapping will not happen when the \fBlink\fR or \fBunion\fR +options are used (see below). + +.SH OPTIONS +Custom mounts defined in \fBpersistence.conf\fR accept the following +options in a comma-separated list: +.IP "\fBsource\fR=\fIPATH\fR" 4 +When given, store the persistence changes into \fIPATH\fR on the +persistence media. \fIPATH\fR must be a relative path (with respect to the +persistence media root) that cannot contain white spaces or the +special . or .. path components, with the exception that it can be +just . which means the persistence media root. This option is mostly +relevant if you want to nest custom mounts, which otherwise would +cause errors, or if you want to make the whole media root available +(similar to the now deprecated \fBhome-rw\fR type of persistence). +.PP +The following options are mutually exclusive (only the last given one +will be in effect): +.IP "\fBbind\fR" 4 +Bind-mount the source directory to \fIDIR\fR. This is the default. +.IP "\fBlink\fR" 4 +Create the directory structure of the source directory on the +persistence media in \fIDIR\fR and create symbolic links from the +corresponding place in \fIDIR\fR to each file in the source directory. +Existing files or directories with the same name as any link will be +overwritten. Note that deleting the links in \fIDIR\fR will only +remove the link, not the corresponding file in the source; removed +links will reappear after a reboot. To permanently add or delete a +file one must do so directly in the source directory. +.IP +Effectively \fBlink\fR will make only files already in the source +directory persistent, not any other files in \fIDIR\fR. These files +must be manually added to the source directory to make use of this +option, and they will appear in \fIDIR\fR in addition to files already +there. This option is useful when only certain files need to be +persistent, not the whole directory they're in, e.g. some +configuration files in a user's home directory. +.IP "\fBunion\fR" 4 +Save the rw branch of a union on the persistence media, so only the +changes are stored persistently. This can potentially reduce disk +usage compared to bind-mounts, and will not hide files added to the +read-only media. One caveat is that the union will use \fIDIR\fR from +the image's read-only file system, not the real file system root, so +files created after boot (e.g. by live-config) will not appear in the +union. This option will use the union file system specified by +live-boot's \fBunion\fR boot parameter. + +.SH DIRECTORIES +.IP "\fB/live/persistence\fR" 4 +All persistence volumes will be mounted here (in a directory +corresponding to the device name). The \fBpersistence.conf\fR file can +easily be edited through this mount, as well as any source directories +(which is especially practical for custom mounts using the +\fBlink\fR option). + +.SH EXAMPLES + +Let's say we have a persistence volume \fIVOL\fR with the a +\fBpersistence.conf\fR file containing the following four lines (numbered +for ease of reference): +.TP 7 +1. +/home/user1 link,source=config-files/user1 +.TP +2. +/home/user2 link,source=config-files/user2 +.TP +3. +/home +.TP +4. +/usr union +.PP +The corresponding source directories are: +.TP 7 +1. +\fIVOL\fR/config-files/user1 (but it would be \fIVOL\fR/home/user1 +without the \fBsource\fR option) +.TP +2. +\fIVOL\fR/config-files/user2 (but it would be \fIVOL\fR/home/user2 +without the \fBsource\fR option) +.TP +3. +\fIVOL\fR/home +.TP +4. +\fIVOL\fR/usr +.PP +It was necessary to set the \fBsource\fR options for 1 and 2, since +they otherwise would become nested with 3's source, which is invalid. +.PP +Line 3 will be taken care of before line 1 and 2 in order to prevent +custom mounts 1 and 2 from being hidden by 3. When line 3 is handled, +\fIVOL\fR/home is simply bind-mounted on /home. To illustrate what +happens for lines 1 and 2, let's say that the following files exist: +.TP 7 +a. +\fIVOL\fR/config-files/user1/.emacs +.TP +b. +\fIVOL\fR/config-files/user2/.bashrc +.TP +c. +\fIVOL\fR/config-files/user2/.ssh/config +.PP +Then the following links and directories will be created: +.TP 7 +Link: +/home/user1/.emacs -> \fIVOL\fR/config-files/user1/.emacs (from a) +.TP +Link: +/home/user2/.bashrc -> \fIVOL\fR/config-files/user2/.bashrc (from b) +.TP +Dir: +/homea/user2/.ssh (from c) +.TP +Link: +/home/user2/.ssh/config -> \fIVOL\fR/config-files/user2/.ssh/config +(from c) +.PP +One could argue, though, that lines 1 and 2 in the example +\fBpersistence.conf\fR file above are unnecessary since line 3 already +would make all of /home persistent. The \fBlink\fR option is +intended for situations where you don't want a complete directory to +be persistent, only certain files in it or its sub-directories. +.PP +Line 4 can be mounted at any time since its \fIDIR\fR (and source +directory) is completely disjoint from all the other custom +mounts. When mounted, \fIVOL\fR/usr will be the rw branch due to the +\fBunion\fR option, and will only contain the difference compared to +the underlying read-only file system. Hence packages could be +installed into /usr with great space-wise efficiency compared to +bind-mounts, since in the latter case all of /usr would have to be +copied into \fIVOL\fR/usr during the initial bootstrap. + +.SH SEE ALSO +\fIlive\-boot\fR(7) +.PP +\fIlive\-build\fR(7) +.PP +\fIlive\-config\fR(7) +.PP +\fIlive\-tools\fR(7) + +.SH HOMEPAGE +More information about live\-boot and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-boot package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-boot was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-boot/manpages/es/live-boot.es.7 b/system-boot/manpages/es/live-boot.es.7 new file mode 100644 index 0000000..61a1b9a --- /dev/null +++ b/system-boot/manpages/es/live-boot.es.7 @@ -0,0 +1,303 @@ +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-BOOT 7 2015\-09\-22 5.0~a5\-1 "Proyecto Live Systems" + +.SH NOMBRE +\fBlive\-boot\fP \- Componentes de Arranque del Sistema + +.SH DESCRIPCIÓN +\fBlive\-boot\fP contiene los componentes que configuran un sistema en vivo +durante el proceso de arranque (early userspace). +.PP +.\" FIXME +live\-boot es un hook para initramfs\-tools, usado para generar un initramfs +capaz de arrancar sistemas en vivo, tales como los creados por +\fIlive\-helper\fP(7). Esto incluye las ISOs de Live Systems, netboot tarballs y +las imágenes para llaves usb. +.PP +.\" FIXME +En el momento del arranque se buscará un dispositivo de sólo lectura que +contenga un directorio "/live" dónde se almacena un sistema de ficheros raíz +(a menudo se trata de una imagen comprimida de un sistema de ficheros como +squashfs). Si live\-boot lo encuentra, creará un entorno de escritura, usando +aufs, a partir del cual pueda arrancar un sistema. + +.SH CONFIGURACIÓN +\fBlive\-boot\fP se puede configurar mediante un parámetro de arranque o un +fichero de configuración. +.PP +Para configurar los parámetros de live\-boot utilizados por defecto en una +imagen en vivo, ver la opción \-\-bootappend\-live en la página de manual +\fIlb_config\fP(1) + +.SS "Parámetros del kernel" +\fBlive\-boot\fP sólo se activa si se usa 'boot=live' como parámetro del kernel +.PP +Además, hay algunos otros parámetros de arranque que influyen en su +comportamiento, ver más abajo. + +.SS "Ficheros de configuración" +\fBlive\-boot\fP se puede configurar (pero no activar) mediante ficheros de +configuración. Estos ficheros se pueden colocar en el sistema de ficheros +raíz (/etc/live/boot.conf, /etc/live/boot/*), o en el medio en vivo +(live/boot.conf, live/boot/*). + +.SH OPCIONES +.\" FIXME +\fBlive\-boot\fP incluye los siguientes parámetros. +.IP \fBaccess\fP=\fIACCESS\fP 4 +Establece el nivel de accesibilidad para usuarios con minusvalías físicas o +con discapacidad visual. ACCESS debe ser uno de los siguientes, v1, v2, v3, +m1 o m2. v1=menor deterioro visual, v2=discapacidad visual moderada, +v3=ceguera, m1=dificultades motoras menores, m2=dificultades motoras +moderadas. +.IP \fBconsole\fP=\fITTY,SPEED\fP 4 +Establece la consola que se utilizará por defecto con la opción +"live\-getty". Ejemplo: "console=ttyS0,115200" +.IP \fBdebug\fP 4 +Hace que el proceso de arranque de initramfs sea más detallado. +.br +Uso: debug=1 +.br +Si no se asigna un valor a debug, puede que no se muestren los mensajes. +.IP \fBfetch\fP=\fIURL\fP 4 +.IP \fBhttpfs\fP=\fIURL\fP 4 +Otra forma de arranque en red mediante la descarga de una imagen squashfs a +partir de una URL determinada. El método «fetch» copia la imagen en la +memoria RAM y el método httpfs utiliza FUSE y httpfs2 para montar la imagen +en su lugar. Copiar en la memoria RAM requiere más memoria y puede tardar +mucho tiempo con imágenes de gran tamaño. Sin embargo, es más probable que +funcione correctamente, ya que no requiere el uso de la red después y el +sistema funciona más rápido una vez iniciado, debido a que ya no necesita +ponerse más en contacto con el servidor. +.br +Debido a las limitaciones actuales de busybox, wget y la resolución de DNS, +una dirección URL no puede contener un nombre de anfitrión, sino sólo una +dirección IP. +.br +No funciona: http://ejemplo.com/ruta/al/sistema_de_ficheros.squashfs +.br +Funciona: http://ejemplo.com/ruta/al/sistema_de_ficheros.squashfs +.br +Tener en cuenta también que, por lo tanto, no es posible en la actualidad ir +a buscar una imagen en un host virtual basado en nombre de un httpd si está +compartiendo la IP con la instancia principal httpd. +.br +También se puede utilizar la imagen ISO en vivo en lugar de la imagen +squashfs. +.IP \fBiscsi\fP=\fIserver\-ip[,server\-port];target\-name\fP 4 +Arranca desde un iSCSI que tiene una ISO una imagen de disco en vivo como +uno de sus LUNs. Se busca en el objetivo especificado un LUN que sea similar +a un medio en vivo. Si se utiliza el software de iSCSI \fBiscsitarget\fP el +ietd.conf podría ser similar al siguiente: +.br +# El nombre de destino se especifica en el parámetro iscsi= +.br +Target <target\-name> + Lun 0 Path=<path\-to\-your\-live\-image.iso>,Type=fileio,IOMode=ro + # Si se desea arrancar varias máquinas, es posible que se desee afinar algunos parámetros como + # Wthreads o MaxConnections +.IP \fBfindiso\fP=\fI/PATH/TO/IMAGE\fP 4 +Busca el fichero ISO especificado en todos los discos en los que por lo +general se busca el fichero .squashfs (por lo que no se tiene que saber el +nombre del dispositivo como en fromiso=....). +.IP \fBfromiso\fP=\fI/PATH/TO/IMAGE\fP 4 +Permite utilizar un sistema de ficheros desde dentro de una imagen ISO que +está disponible en los medios en vivo. +.IP \fBignore_uuid\fP 4 +No comprobar que cualquier UUID integrado en el initramfs coincida con el +medio encontrado. Se puede especificar a live\-boot que genere un UUID +configurando LIVE_GENERATE_UUID=1 en el momento de crear el initramfs. +.IP \fBverify\-checksums\fP 4 +Si se especifica, se calcula una suma MD5 sobre los medios en vivo durante +el arranque y se compara con el valor md5sum.txt que se encuentra en el +directorio raíz de los medios en vivo. +.IP "\fBip\fP=[\fIDEVICE\fP]:[\fICLIENT_IP\fP]:[\fINETMASK\fP]:[\fIGATEWAY_IP\fP]:[\fINAMESERVER\fP] [,[\fIDEVICE\fP]:[\fICLIENT_IP\fP]:[\fINETMASK\fP]:[\fIGATEWAY_IP\fP]:[\fINAMESERVER\fP]]" 4 +Permite especificar el nombre(s) y las opciones de la interfaz(ces) que se +debe configurar en el arranque. No especificar esta opción si se desea +utilizar DHCP (opción por defecto). Esto cambiará en una futura versión para +utilizar la misma especificación de los parámetros de arranque que el kernel +oficial (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp). +.IP \fBip\fP=[\fIfrommedia\fP] 4 +Si se establece esta variable, no se configura la red ni por dhcp ni usando +una dirección estática y se debe añadir un fichero preconfigurado +/etc/network/interfaces que el sistema utilizará en su lugar. +.IP {\fBlive\-media\fP|\fBbootfrom\fP}=\fIDEVICE\fP 4 +Si se especifica una de estas dos formas equivalentes, live\-boot en primer +lugar tratará de encontrar este dispositivo buscando el directorio "/live" +dónde debe estar la raíz del sistema de ficheros de sólo lectura. Si no +encuentra nada que pueda utilizar, live\-boot escaneará los dispositivos +restantes. +.br +En lugar de especificar el nombre de un dispositivo real, se puede utilizar +la palabra clave 'removable' para limitar la búsqueda solo en los medios en +vivo de tipo extraíble. Tener en cuenta que si se desea restringir aún más +los medios a sistemas de almacenamiento masivo USB se puede utilizar la +palabra clave 'removable\-usb' +.IP {\fBlive\-media\-encryption\fP|\fBencryption\fP}=\fITYPE\fP 4 +live\-boot montará el TYPE rotfs cifrado, pidiendo la contraseña. Es útil +para crear sistemas en vivo paranoicos :\-) Hasta el momento el TYPE +soportado es "aes" para cifrado loop\-aes. +.IP \fBlive\-media\-offset\fP=\fIBYTES\fP 4 +De esta manera se puede especificar a live\-boot que la imagen comienza en +BYTES en el dispositivo anteriormente especificado, o auto\-descubierto, esto +podría ser útil para esconder la ISO o la imagen dentro de otra ISO o +imagen, para crear imágenes "limpias". +.IP \fBlive\-media\-path\fP=\fIPATH\fP 4 +Establece la ruta de acceso al sistema de ficheros en vivo en el medio. De +forma predeterminada está en '/live' y no se debe cambiar a menos que se +haya personalizado los medios de forma adecuada. +.IP \fBlive\-media\-timeout\fP=\fISECONDS\fP 4 +Establece el tiempo de espera en segundos para que el dispositivo +especificado por "live\-media=" esté preparado antes de desistir. +.IP \fBmodule\fP=\fINAME\fP 4 +En lugar de utilizar el fichero opcional por defecto "filesystem.module" +(ver más abajo) se podría especificar otro fichero sin la extensión +".module"; se debe colocar en el directorio "/live" del medio en vivo. +.IP \fBnetboot\fP[=nfs|cifs] 4 +Indica a live\-boot que debe hacer un montaje en red. El parámetro +"nfsroot=" (con "nfsopts=" opcional), debe especificar dónde se encuentra el +sistema de ficheros raíz. Sin argumentos, probará primero cifs, y entonces, +si falla, nfs. +.IP \fBnfsopts\fP= 4 +Permite especificar opciones nfs personalizadas. +.IP \fBnofastboot\fP 4 +Este parámetro deshabilita la desactivación por defecto de la comprobación +del sistema de ficheros en /etc/fstab. Si hay sistemas de ficheros estáticos +en el disco duro y se desea comprobarlos en el momento del arranque, +utilizar este parámetro, de lo contrario, se omite. +.IP \fBnopersistence\fP 4 +desactiva la "persistencia", es útil si el gestor de arranque (como +syslinux) se ha instalado con persistencia habilitada. +.IP \fBnoeject\fP 4 +No pedir que se extraiga el dispositivo en vivo. +.IP \fBramdisk\-size\fP 4 +Este parámetro permite establecer un tamaño de disco RAM personalizado (que +es la opción '\-o size' del montaje tmpfs). No hay un tamaño de ramdisk +predeterminado, por lo que se aplica el valor por defecto (actualmente el +50% de la RAM disponible). Tener en cuenta que esta opción no tiene +actualmente ningún efecto cuando se arranca con toram. +.IP \fBswap=true\fP 4 +Este parámetro permite el uso de particiones swap locales. +.IP \fBpersistence\fP 4 +live\-boot buscará dispositivos con "persistence". Estos pueden ser +particiones (con el nombre GPT correcto), sistemas de ficheros (con la +etiqueta correcta) o ficheros imagen (con el nombre de fichero +correcto). Los overlays tienen la etiqueta/nombre "persistence" (ver +\fIpersistence.conf\fP(5)). Los ficheros imagen overlay tienen, como nombre, +"persistence". +.IP "\fBpersistence\-encryption\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4 +Esta opción determina qué tipo de cifrado se usa cuando se prueban los +dispositivos de los medios con persistencia. Si se especifica "none" en la +lista, no se permite cifrar el medio; si se especifica "luks" en la lista, +se puede usar cifrado LUKS en los medios. Cada vez que se encuentra un +dispositivo que contiene medios cifrados se pregunta al usuario una frase de +contraseña. Por defecto es "none". +.IP \fBpersistence\-media\fP={\fIremovable\fP|\fIremovable\-usb\fP} 4 +Si se especifica la palabra clave 'removable', live\-boot intentará encontrar +particiones con persistencia únicamente en los medios extraíbles. Tener en +cuenta que si se desea restringir aún más los medios a sistemas de +almacenamiento masivo USB se puede utilizar la palabra clave 'removable\-usb' +.IP "\fBpersistence\-method\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4 +Esta opción determina qué tipos de medios se permiten para la +persistencia. Si se especifica "overlay" en la lista, se considera overlays +(es decir "live\-rw" y "home\-rw"). Por defecto es "overlay". +.IP \fBpersistence\-path\fP=\fIPATH\fP 4 +live\-boot buscará ficheros con persistencia en el directorio raíz de una +partición, con este parámetro, la ruta se puede configurar de modo que se +pueda tener varios directorios en la misma partición para almacenar ficheros +con persistencia. +.IP \fBpersistence\-read\-only\fP 4 +Los cambios en el sistema de ficheros no se guardan de nuevo en los medios +con persistencia. En particular, los overlays y los montajes NFS de red son +montados en sólo lectura. +.IP "\fBpersistence\-storage\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4 +Esta opción determina qué tipos de almacenamiento persistente hay que tener +en cuenta cuando se comprueban los medios con persistencia. Si "filesystem" +está en la lista, se usarán los sistemas de ficheros que tengan su etiqueta +correspondiente; si "file" está en la lista, todos los sistemas de ficheros +se probarán buscando ficheros y ficheros imagen con sus etiquetas +correspondientes. Por defecto es "file,filesystem". +.IP \fBpersistence\-label\fP=\fILABEL\fP 4 +live\-boot utilizará el nombre "LABEL" en lugar de "persistence" cuando +busque medios de almacenamiento persistente. LABEL puede ser cualquier +nombre de fichero, etiqueta de una partición or nombre GPT. +.IP \fBnoeject\fP 4 +Esta opción hace que live\-boot reinicie sin tratar de expulsar los medios y +sin pedirle al usuario que extraiga el dispositivo usado para arrancar. +.IP \fBshowmounts\fP 4 +Este parámetro hará que live\-boot muestre en "/" los sistemas de ficheros ro +(en su mayoría comprimidos) en "/lib/live". Esto no está activado por +defecto, porque podría dar lugar a problemas con aplicaciones como "mono" +que almacenan rutas binarias durante su instalación. +.IP \fBsilent\fP 4 +Si arranca con el parámetro normal quiet, live\-boot esconde la mayoría de +sus propios mensajes. Cuando se utiliza silent, los esconde todos. +.IP \fBtodisk\fP=\fIDEVICE\fP 4 +Al añadir este parámetro, live\-boot tratará de copiar la totalidad de medios +de sólo lectura en el dispositivo especificado antes de montar el sistema de +ficheros raíz. Probablemente hace falta una gran cantidad de espacio +libre. Los arranques posteriores deben saltar este paso y basta con +especificar el parámetro de arranque "live\-media=DEVICE" con el mismo DEVICE +que se ha utilizado esta vez. +.IP \fBtoram\fP 4 +Al añadir este parámetro, live\-boot trata de copiar los medios de sólo +lectura enteros en la memoria RAM del ordenador antes de montar el sistema +de ficheros raíz. Para esto puede ser necesaria mucha memoria RAM, según el +espacio utilizado por los medios de sólo lectura. +.IP \fBunion\fP=overlay|aufs 4 +.\" FIXME +Por defecto, live\-boot usa overlay. Con este parámetro, se puede cambiar a +aufs. + +.\" FIXME +.SH "FICHEROS (antiguos)" +.IP \fB/etc/live.conf\fP 4 +Algunas variables pueden ser configuradas a través de este fichero de +configuración (dentro del sistema en vivo). +.IP \fBlive/filesystem.module\fP 4 +.\" FIXME +Este fichero opcional (dentro del medio en vivo) contiene una lista de +nombres de ficheros separados por espacios en blanco o retornos de carro que +corresponden a imágenes de disco en el directorio "/live". Si este fichero +existe, sólo las imágenes que figuran en esta lista se fusionarán en la raíz +aufs, y se cargarán en el orden en que aparecen aquí. La primera entrada en +este fichero será el punto "más bajo" en el aufs y el último fichero de esta +lista estará en el punto "más alto" del aufs, justo debajo de /overlay. Sin +este fichero, las imágenes en el directorio "/live" se cargan en orden +alfanumérico. + +.SH FICHEROS +.IP \fB/etc/live/boot.conf\fP 4 +.IP \fB/etc/live/boot/*\fP 4 +.IP \fBlive/boot.conf\fP 4 +.IP \fBlive/boot.d/*\fP 4 +.IP \fBpersistence.conf\fP 4 + +.SH "VER ADEMÁS" +\fIpersistence.conf\fP(5) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-config\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH "PÁGINA WEB" +Se puede encontrar más información acerca de live\-boot y el proyecto Live +Systems en la página web <\fIhttp://live\-systems.org/\fP> y en el +manual en <\fIhttp://live\-systems.org/manual/\fP>. + +.SH ERRORES +Se puede notificar los fallos enviando un informe de errores sobre el +paquete live\-boot al Sistema de Seguimiento de Errores en +<\fIhttp://bugs.debian.org/\fP> o escribiendo un mensaje a la lista de +correo de Live Systems a la dirección +<\fIdebian\-live@lists.debian.org\fP>. + +.SH AUTOR +live\-boot fue escrito por Daniel Baumann +<\fImail@daniel\-baumann.ch\fP>. diff --git a/system-boot/manpages/es/persistence.conf.es.5 b/system-boot/manpages/es/persistence.conf.es.5 new file mode 100644 index 0000000..1803cec --- /dev/null +++ b/system-boot/manpages/es/persistence.conf.es.5 @@ -0,0 +1,224 @@ +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-BOOT conf 2015\-09\-22 5.0~a5\-1 "Proyecto Live Systems" + +.SH NOMBRE +\fBpersistence.conf\fP \- Fichero para configurar medios de almacenamiento con +persistencia en live\-boot + +.SH DESCRIPCIÓN +Si live\-boot prueba un volumen persistente con la etiqueta (o nombre GPT, o +nombre de fichero, aunque a partir de este momento nos referiremos a él como +simplemente "etiqueta") "persistence", la persistencia de ese volumen es +completamente personalizable a través del fichero \fBpersistence.conf\fP +almacenado en la raíz de su sistema de ficheros. Cualquier volumen esa +etiqueta debe tener uno de esos ficheros, o si no será ignorado. +.PP +El formato de \fBpersistence.conf\fP permite añadir líneas vacias o líneas que +comiencen por "#" (usado para los comentarios), ambos serán ignorados. Un +"montaje personalizado" tiene el formato: +.PP +.RS +\fIDIR\fP [\fIOPTION\fP]... +.RE +.PP +lo que se traduce como "hacer \fIDIR\fP persistente en la forma descrita en la +lista de \fIOPTION\fPs". +.PP +Para cada uno de los montajes personalizados \fIDIR\fP debe ser una ruta +absoluta que no puede contener espacios en blanco ni los componentes +especiales . y .. además no puede ser /live (o ninguno de sus +sub\-directorios) ni /. Una vez activados, todos los cambios (creación, +modificación y borrado de ficheros) en \fIDIR\fP en el sistema de ficheros en +vivo, son guardados de forma persistente en una ruta equivalente a \fIDIR\fP en +el medio persistente, llamado el directorio de origen. La manera de +conseguir la persistencia por defecto es simplemente hacer un montaje +enlazado (bind\-mount N.del T.) del directorio de origen al \fIDIR\fP, aunque +esto se puede cambiar utilizando las opciones \fIOPTION\fPs. +.PP +Todos los montajes personalizados serán montados en orden de tal manera que +dos montajes personalizados no se "escondan" uno al otro. Por ejemplo, si +tenemos los dos \fIDIR\fP:s /a y /a/b siempre /a será montado en primer lugar, +después /a/b. Esto siempre es así sin importar el orden en que aparezcan las +líneas en \fBpersistence.conf\fP o incluso si se usan varios ficheros +\fBpersistence.conf\fP en medios persistentes distintos al mismo tiempo. Sin +embargo, no está permitido que un montaje personalizado tenga su directorio +de origen en el interior del directorio de origen de otro montaje +personalizado, ya que los directorios de origen que live\-boot crea +automáticamente no tienen soporte para montajes "anidados" como /a y /a/b en +el mismo medio. En este caso se debe usar la opción \fBsource\fP (ver debajo) +para asegurarse de que se almacenan en directorios de origen diferentes. +.PP +Cuando un directorio de origen no existe en los medios con persistencia para +un montaje personalizado en particular, se creará automáticamente, y los +permisos y sus propietarios se establecen de forma óptima de acuerdo a +\fIDIR\fP. También se realiza una preinstalación (bootstrap N. del T.) copiando +los contenidos de \fIDIR\fP en su directorio de origen en el medio con +persistencia. La preinstalación no se realiza cuando se utilizan las +opciones \fBlink\fP o \fBunion\fP (ver debajo). + +.SH OPCIONES +Los montajes personalizados definidos en \fBpersistence.conf\fP aceptan las +siguientes opciones en una lista separada por comas: +.IP \fBsource\fP=\fIPATH\fP 4 +Cuando se especifica, se guardan los cambios persistentes en \fIPATH\fP en los +medios con persistencia. \fIPATH\fP debe ser una ruta relativa (respecto a la +raíz del medio persistente) que no puede contener espacios en blanco o los +componentes especiales . o .. con la excepción de que puede ser simplemente +\&. lo que significa la raíz del medio persistente. Esta opción es relevante +si se desea anidar montajes personalizados, lo que de otro modo produciría +errores, o si se desea hacer que toda la raíz del medio esté disponible (de +forma similar al ahora obsoleto tipo de persistencia \fBhome\-rw\fP) +.PP +Las siguientes opciones son mutuamente exclusivas (únicamente la última +tendrá efecto): +.IP \fBbind\fP 4 +Montar de forma enlazada el directorio de origen a \fIDIR\fP. Esto es así por +defecto. +.IP \fBlink\fP 4 +Crea la estructura de directorios del directorio de origen en el medio +persistente en \fIDIR\fP y crea los enlaces simbólicos desde el lugar +correspondiente en \fIDIR\fP a cada fichero en el directorio de origen. Si los +directorios o ficheros contienen el mismo nombre, al igual que cualquier +otro enlace, serán sobrescritos. Tener en cuenta que los enlaces en \fIDIR\fP +sólo eliminan el enlace, no el fichero correspondiente en el directorio; los +enlaces eliminados reaparecerán tras reiniciar. Para añadir o eliminar un +fichero de forma permanente se debe hacer directamente en el directorio de +origen. +.IP +\fBlink\fP tan sólo hará persistentes los ficheros que ya se encuentran en el +directorio de origen, y no cualquier otro fichero en \fIDIR\fP. Estos ficheros +deben ser añadidos manualmente en el directorio de origen pare utilizar esta +opción y ellos aparecerán en \fIDIR\fP además de los ficheros que ya se +encuentran allí. Esta opción es útil cuando sólo es necesario hacer +persistentes ciertos ficheros y no todo el directorio en el que se +encuentran, por ejemplo, algunos ficheros de configuración en el directorio +home de un usuario. +.IP \fBunion\fP 4 +Guardar la rama rw de una unión en un medio persistente, de modo que los +cambios son guardados de forma persistente. Potencialmente esto puede +reducir el uso del disco comparado con los montajes enlazados, y no +esconderá los ficheros añadidos a los medios de sólo lectura. Un buen truco +es que la unión utilizará el \fIDIR\fP del sistema de ficheros de sólo lectura +de la imagen y no de la raíz del sistema de ficheros real, por eso los +ficheros que se crean después del arranque (por ejemplo live\-config) no +aparecerán en la unión. Esta opción utilizará el sistema de ficheros unión +especificado por el parámetro de arranque \fBunion\fP de live\-boot. + +.SH DIRECTORIOS +.IP \fB/live/persistence\fP 4 +Aquí se montarán todos los volumenes persistentes (en un directorio que +corresponda con el nombre del dispositivo). El fichero \fBpersistence.conf\fP +se puede editar fácilmente a través de este montaje, así como cualquier +directorio de origen (esto resulta especialmente práctico para los montajes +personalizados usando la opción \fBlink\fP). + +.SH EJEMPLOS + +Si tenemos un volumen con persistencia \fIVOL\fP con un fichero +\fBpersistence.conf\fPque contiene las cuatro lineas siguientes (numeradas para +una mejor referencia): +.TP 7 +1. +/home/user1 link,source=config\-files/user1 +.TP +2. +/home/user2 link,source=config\-files/user2 +.TP +3. +/home +.TP +4. +/usr union +.PP +Los directorios de origen correspondientes son: +.TP 7 +1. +\fIVOL\fP/config\-files/user1 (pero sería \fIVOL\fP/home/user1 sin la opción +\fBsource\fP) +.TP +2. +\fIVOL\fP/config\-files/user2 (pero sería \fIVOL\fP/home/user2 sin la opción +\fBsource\fP) +.TP +3. +\fIVOL\fP/home +.TP +4. +\fIVOL\fP/usr +.PP +Era necesario establecer las opciones \fBsource\fP para 1 y 2, ya que de otro +modo resultarían anidados con el origen de 3, lo cual no es válido. +.PP +La línea 3 será tenida en cuenta antes que las líneas 1 y 3 para evitar que +los montajes personalizados 1 y 2 resulten escondidos por 3. Cuando se +procesa la línea 3, \fIVOL\fP/home es simplemente montado en unión a +/home. Para ilustrar lo que sucede con las líneas 1 y 2, digamos que los +siguientes ficheros existen: +.TP 7 +a. +\fIVOL\fP/config\-files/user1/.emacs +.TP +b. +\fIVOL\fP/config\-files/user2/.bashrc +.TP +c. +\fIVOL\fP/config\-files/user2/.ssh/config +.PP +Entonces se crearán los siguientes enlaces y directorios: +.TP 7 +Enlace: +/home/user1/.emacs \-> \fIVOL\fP/config\-files/user1/.emacs (de a) +.TP +Enlace: +/home/user2/.bashrc \-> \fIVOL\fP/config\-files/user2/.bashrc (de b) +.TP +Directorio: +/homea/user2/.ssh (de c) +.TP +Enlace: +/home/user2/.ssh/config \-> \fIVOL\fP/config\-files/user2/.ssh/config (de c) +.PP +Se podría decir, sin embargo, que las líneas 1 y 2 en el fichero de ejemplo +\fBpersistence.conf\fP anterior son innecesarias ya que la línea 3 ya crearía +el directorio /home persistente. La opción \fBlink\fP se utiliza en +situaciones en las que no se desea guardar de forma persistente un +directorio completo, sino únicamente algunos ficheros o subdirectorios +incluidos en él. +.PP +La línea 4 se puede montar en cualquier momento ya que su \fIDIR\fP (y su +directorio de origen) es completamente independiente de todos los otros +montajes personalizados. Cuando se monta, \fIVOL\fP/usr será la rama rw debido +a la opción \fBunion\fP y tan sólo contendrá la diferencia en comparación con +el sistema de ficheros subyacente de sólo lectura. Por eso los paquetes +pueden ser instalados en /usr con gran eficiencia de espacio comparado con +los montajes enlazados, ya que en este último caso el contenido de /usr +tendría que ser copiado en \fIVOL\fP/usr durante la preinstalación inicial. + +.SH "VER ADEMÁS" +\fIlive\-boot\fP(7) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-config\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH "PÁGINA WEB" +Se puede encontrar más información acerca de live\-boot y el proyecto Live +Systems en la página web <\fIhttp://live\-systems.org/\fP> y en el +manual en <\fIhttp://live\-systems.org/manual/\fP>. + +.SH ERRORES +Se puede notificar los fallos enviando un informe de errores sobre el +paquete live\-boot al Sistema de Seguimiento de Errores en +<\fIhttp://bugs.debian.org/\fP> o escribiendo un mensaje a la lista de +correo de Live Systems a la dirección +<\fIdebian\-live@lists.debian.org\fP>. + +.SH AUTOR +live\-boot fue escrito por Daniel Baumann +<\fImail@daniel\-baumann.ch\fP>. diff --git a/system-boot/manpages/fr/live-boot.fr.7 b/system-boot/manpages/fr/live-boot.fr.7 new file mode 100644 index 0000000..3f4540e --- /dev/null +++ b/system-boot/manpages/fr/live-boot.fr.7 @@ -0,0 +1,306 @@ +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-BOOT 7 22.09.2015 5.0~a5\-1 "Projet Live Systems" + +.SH NOM +\fBlive\-boot\fP \- Composants de démarrage du système + +.SH DESCRIPTION +\fBlive\-boot\fP comprend les composants qui configure un système live pendant +le processus de démarrage (espace utilisateur primitif). +.PP +.\" FIXME +live\-boot est un hameçon (hook) pour initramfs\-tools, utilisé pour générer +un initramfs capable de démarrer les systèmes live, comme ceux créés par +\fIlive\-helper\fP(7). Ceci comprends les ISOs Live Systems, les paquets tar de +démarrage par le net (netboot), et les images de clef USB. +.PP +.\" FIXME +Au moment du démarrage, il recherchera un médium (en lecture seule) +contenant un répertoire "/live" où est placé un système de fichier racine +(souvent une image d'un système de fichier compressé comme squashfs). Si +ceci est trouvé, il créera un environnement enregistrable en utilisant aufs, +pour démarrer le système à partir de lui. + +.SH CONFIGURATION +\fBlive\-boot\fP peut être configuré à travers un paramètre de démarrage ou un +fichier de configuration. +.PP +Pour configurer les paramètres de live\-boot utilisés par défaut dans l'image +live, voir l'option \-\-bootappend\-live dans la page de manuel +\fIlb_config\fP(1). + +.SS "Paramètres du noyau" +\fBlive\-boot\fP est activé uniquement si 'boot=live' a été utilisé en tant que +paramètre du noyau. +.PP +De plus, il y a plusieurs autres paramètres de démarrage pour influencer le +comportement, voir ci\-dessous. + +.SS "Fichiers de configurations" +\fBlive\-boot\fP peut être configuré (mais pas activé) à travers des fichiers de +configuration. Ces fichiers peuvent être placés soit dans le système de +fichier racine lui\-même (/etc/live/boot.conf, /etc/live/boot/*), ou sur le +média live (live/boot.conf, live/boot/*). + +.SH OPTIONS +.\" FIXME +\fBlive\-boot\fP fourni actuellement les paramètres suivants. +.IP \fBaccess\fP=\fIACCESS\fP 4 +Met en place le niveau d'accessibilité pour les utilisateurs physiquement ou +visuellement handicapés. ACCESS doit être un des v1, v2, v3, m1, or +m2. v1=handicap visuel faible, v2=handicap visuel modéré, v3=cessité +visuelle, m1=difficultés moteur faibles m2=difficultés moteur modérées. +.IP \fBconsole\fP=\fITTY,SPEED\fP 4 +Paramètre la console par défaut étant utilisée avec l'option +"live\-getty". Exemple : "console=ttyS0,115200". +.IP \fBdebug\fP 4 +Rend le processus de démarrage initramfs plus verbeux. +.br +Utiliser : debug=1 +.br +Si debug n'est pas paramétré à une valeur, les messages pourraient ne pas +être affichés. +.IP \fBfetch\fP=\fIURL\fP 4 +.IP \fBhttpfs\fP=\fIURL\fP 4 +Une autre forme de démarrage par le net en téléchargeant une image squashfs +depuis une URL donnée. La méthode fetch copie l'image dans la RAM et la +méthode httpfs utilise FUSE et httpfs2 pour monter l'image en place. La +copier dans la RAM nécessite davantage de mémoire et pourrait prendre du +temps pour des images volumineuses. Ceci dit, ça devrait mieux fonctionner +correctement car cela ne nécessite pas de réseau ensuite et le système +fonctionne plus vite une fois démarré car il n'a plus besoin de contacter un +serveur. +.br +À cause des limitations actuelles de la version wget de busybox et de sa +résolution DNS, une URL ne peut pas contenir un hostname mais uniquement une +adresse IP. +.br +Ne fonctionne pas : http://example.com/path/to/your_filesystem.squashfs +.br +Fonctionne : http://1.2.3.4/path/to/your_filesystem.squashfs +.br +Notez également que par conséquent, il n'est actuellement pas possible +d'attraper une image depuis un virtualhost basé\-sur\-un\-nom d'un httpd s'il +partage l'adresse IP avec l'instance httpd principale. +.br +Vous voudrez également utiliser l'image ISO live à la place de l'image +squashfs. +.IP \fBiscsi\fP=\fIserver\-ip[,server\-port];target\-name\fP 4 +Démarrer depuis une cible iSCSI qui a une image ISO ou disque en tant que +l'un de ces LUNs. La cible spécifiée est recherchée pour un LUN qui +ressemble à un medium live medium. Si vous utilisez la solution cible iSCSI +logiciel \fBiscsitarget\fP , votre ietd.conf devrait ressembler à ça : +.br +# Le nom\-cible que vous spécifiez dans le paramètre iscsi= +.br +Cible <target\-name> + Lun 0 Path=<chemin\-vers\-votre\-image\-live.iso>,Type=fileio,IOMode=ro + # Si vous voulez démarrez de multiples machines, vous pourriez vouloir jeter un oeil aux réglages de certains paramètres comme + # Wthreads ou MaxConnections +.IP \fBfindiso\fP=\fI/PATH/TO/IMAGE\fP 4 +Regarder pour le fichier ISO spécifié sur tous les disques quandil regarde +habituellement pour le fichier squashfs (donc vous n'avez pas besoin de +connaître le nom de périphérique comme dans fromiso=....). +.IP \fBfromiso\fP=\fI/PATH/TO/IMAGE\fP 4 +Permet d'utiliser un système de fichier venant de l'intérieur d'une image +ISO qui est disponible sur live\-media. +.IP \fBignore_uuid\fP 4 +Ne pas vérifierque chaque UUID embarqué dans le initramfs correspond au +medium découvert. On peut dire à live\-boot de générer un UUID en paramétrant +LIVE_GENERATE_UUID=1 lors de la construction de l'initramfs. +.IP \fBverify\-checksums\fP 4 +Si spécifié, une somme MD5 est calculée sur le média live pendant le +démarragea et est comparée à une valeur présente dans md5sum.txt dans le +répertoire racine du média live. +.IP "\fBip\fP=[\fIDEVICE\fP]:[\fICLIENT_IP\fP]:[\fINETMASK\fP]:[\fIGATEWAY_IP\fP]:[\fINAMESERVER\fP] [,[\fIDEVICE\fP]:[\fICLIENT_IP\fP]:[\fINETMASK\fP]:[\fIGATEWAY_IP\fP]:[\fINAMESERVER\fP]]" 4 +Vous laisse spécifier le(s) nom(s) et les options de l'(les) interface(s) +qui devraient être configurées au moment du démarrage. Ne pas spécifier ceci +si vous voulez utiliser dhcp (défaut). Ceci sera modifié dans une version +future pour refléter la spécification des paramètres de démarrage du noyau +officiel (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp). +.IP \fBip\fP=[\fIfrommedia\fP] 4 +Si cette variable est paramétrée, dhcp et la configuration statique sont +simplement sautées et le système utilisera à la place les interfaces (qui +doivent être) préconfigurées /etc/network/. +.IP {\fBlive\-media\fP|\fBbootfrom\fP}=\fIDEVICE\fP 4 +Si vous spécifiez une des ces deux formes équivalentes, live\-boot essaiera +en premier de trouver ce périphérique le répertoire "/live" où le système de +fichier racine en lecture seule devrait être. Si il ne trouve pas quelque +chose d'utilisable, le scan normal pour les périphériques blocks est +effectué. +.br +Plutôt que de spécifié un nom de périphérique actuel, le mot\-clef +\&'removable' peut être utilisé pour limiter la recherche des médias live +acceptables au type removable uniquement. Notez que si vous voulez +restreindre d'avantage les médias aux seuls périphériques de stockage USB, +vous pouvez utiliser le mot\-clef 'removable\-usb'. +.IP {\fBlive\-media\-encryption\fP|\fBencryption\fP}=\fITYPE\fP 4 +live\-boot montera le TYPE rootfs encrypté, en demandant une +phrase\-mot\-de\-passe, utile pour construire des systèmes live paranoïaques +:\-).Le TYPE supporté pour l'instant est "aes" pour un type d'encryptage +loop\-aes. +.IP \fBlive\-media\-offset\fP=\fIBYTES\fP 4 +De cette façon, vous pouvez dire à live\-boot que votre image démarre à +l'offset BYTES dans le périphérique spécifié ci\-dessus ou auto\-découvert, +qui pourra être utile pour cacher l'ISO du système live ou l'image à +l'intérieur d'une autr ISO ou image, pour créer des image "propre". +.IP \fBlive\-media\-path\fP=\fIPATH\fP 4 +Paramètre le chemin vers le système de fichier live sur le médium. Par +défaut, il est paramétré sur '/live' et vous ne devriez pas changer ceci +sauf si vous avez personnalisé votre média en conséquence. +.IP \fBlive\-media\-timeout\fP=\fISECONDS\fP 4 +Paramètre le temps d'expiration en secondes pour le périphérique spécifié +par "live\-media=" à être prêt avant de laisser tomber. +.IP \fBmodule\fP=\fINAME\fP 4 +Plutôt que d'utiliser le fichier optionnel par défaut "filesystem.module" +(voir ci\-dessous), un autre fichier peut être spécifié sans l'extension +".module"; il devra être placé dans le répertoire "/live" du médium live. +.IP \fBnetboot\fP[=nfs|cifs] 4 +Ceci dit à live\-boot d'effectuer un montage réseau. Le paramètre +"nfsroot="(avec l'optionnel "nfsopts="), devrait spécifier où est +l'emplacement du système de fichier racine. En l'absence d'arguments, il +essaiera cifs en premier puis, s'il échoue, nfs. +.IP \fBnfsopts\fP= 4 +Ceci vous permet de spécifier des options nfs personnalisées. +.IP \fBnofastboot\fP 4 +Ce paramètre désactive la désactivation par défaut du système de fichier +dans /etc/fstab. Si vous avez des système de fichier statiques sur votre +disque dur et vous voulez qu'ils soient vérifiés au moment du démarrage, +utilisez ce paramètre, sinon ils sont sautés. +.IP \fBnopersistence\fP 4 +désactive la fonctionnalité "persistance", utile si le bootloader (comme +syslinux) a été installé avec la persistance activée. +.IP \fBnoeject\fP 4 +Ne pas demander pour l'éjection du médium live. +.IP \fBramdisk\-size\fP 4 +Ce paramètre permet de paramétrer un taille de ramdisk personnalisée (c'est +l'option '\-o size' du montage tmpfs). Par défaut, il n'y a pas de taille de +ramdisk paramétrée, donc le montage par défaut s'applique (en fait : 50% de +la RAM disponible). Notez que cette option n'a actuellement aucun effet lors +d'un démarrage avec toram. +.IP \fBswap=true\fP 4 +Ce paramètre active l'utilisation de partition swap locales. +.IP \fBpersistence\fP 4 +live\-boot sondera les périphériques pour les média de persistance. Ceux\-ci +pourront être des partitions (avec un nom GPT correct), des systèmes de +fichier (avec une étiquette correcte) ou des fichiers image (avec un nom de +fichier correct). Les récouvrements sont étiquettés/nommés "persistence" +(voir \fIpersistence.conf\fP(5)). Les fichiers images de recouvrement sont +nommés "persistence". +.IP "\fBpersistence\-encryption\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4 +Cette option détermine quels sont les types d'encryptage que nous autorisons +à être utilisés lors du sondage des périphérique pour les médias de +persistance. Si "none" (aucun) n'est dans la liste, nous autorisons les +médias non\-cryptés; si "luks" est dans la liste, nous autorisons les médias +encryptés\-LUKS. À chaque fois qu'un périphérique contenant un média encrypté +est sondé, il sera demandé la phrase\-mot\-de\-passe à l'utilisateur. La valeur +par défaut est "none". +.IP \fBpersistence\-media\fP={\fIremovable\fP|\fIremovable\-usb\fP} 4 +Si vous spécifiez le mot\-clef 'removable', live\-boot essaiera de trouver les +partitions de persistance sur les périphériques enlevables uniquement. Notez +que si vous voulez davantage restreindre les médias à des périphériques de +stockage de masse USB uniquement, vous pouvez utiliser le mot\-clef +\&'removable\-usb'. +.IP "\fBpersistence\-method\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4 +Cette option détermine quels types de média de persistance nous autorisons +If "overlay" est dans la liste, nous considérons les récouvrements +(i.e. "live\-rw" et "home\-rw"). Le défaut est "overlay". +.IP \fBpersistence\-path\fP=\fIPATH\fP 4 +live\-boot recherchera pour des fichiers de persistance dans le répertoire +racine d'une partition, avec ce paramètre, le chemin pourra être configuré +de manière à ce que vous puissiez avoir des répertoires multiples sur la +même partition pour emmagasiner des fichiers de persistance. +.IP \fBpersistence\-read\-only\fP 4 +Les modifications de système de fichier ne sont pas sauvegardés dans le +média de persistance. En particulier, les montages NFS netboot et overlays +sont montés en lecture\-seule. +.IP "\fBpersistence\-storage\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4 +Cette option détermine quels sont les types de stockage de persistance à +considérer lors d'un sondage pour le média de persistance. Si "filesystem" +est dans la liste, les systèmes de fichier avec des étiquettes +correspondantes seront utilisés; si "file" est dans la liste, tous les +systèmes de fichier seront sondés pour archives et fichiers image avec des +noms de fichier correspondant. Le défaut est "file,filesystem". +.IP \fBpersistence\-label\fP=\fILABEL\fP 4 +live\-boot utilisera le nom "LABEL" à la place de "persistence" lorsqu'il +cherchera pour un stockage persistant. LABEL peut être tout nom de fichier +valide, étiquette de partition ou nom GPT. +.IP \fBnoeject\fP 4 +Cette option fait en sorte que live\-boot redémarre sans essayer d'éjecter le +média et sans demander à l'utilisateur de retirer le média de démarrage. +.IP \fBshowmounts\fP 4 +Avec ce paramètre, live\-boot montrera sur "/" les systèmes de fichier ro +(essentiellement compressés) sur "/lib/live". Ceci n'est pas activé par +défaut car ça pourrait conduire à des problèmes avec des applications comme +"mono" qui stocke des chemins binaires lors de l'installation. +.IP \fBsilent\fP 4 +Si vous démarrez avec le paramètre quiet normal, live\-boot caches la plupart +de ses messages. Lorsque de l'ajout de silent, il cache tout. +.IP \fBtodisk\fP=\fIDEVICE\fP 4 +À l'ajout de ce paramètre, live\-boot essaiera de copier le média en +lecture\-seule entièrement vers le périphérique spécifié avant de monter le +système de fichier racine. Il nécessite probablement un bon paquet d'espace +libre. Les démarrages suivant devraient alors sauter cette étape et +simplement spécifier le paramètre de démarrage "live\-media=DEVICE" avec le +même DEVICE utilisé cette fois. +.IP \fBtoram\fP 4 +À l'ajout de ce paramètre, live\-boot essaiera de copier l'entiereté du média +en lecture\-seule vers la RAM de l'ordinateur avant de monter le système de +fichier racine. Ceci pourrait nécessiter beaucoup de RAM, en fonction de +l'espace utilisé par le média en lecture\-seule. +.IP \fBunion\fP=aufs|overlay 4 +.\" FIXME +Par défaut, live\-boot utilise aufs. Avec ce paramètre, vous pouvez changer +ceci pour overlay. + +.\" FIXME +.SH "FICHIERS (ancien)" +.IP \fB/etc/live.conf\fP 4 +Certaines variables peuvent être configurées à l'aide de ce fichier de +configuration (à l'intérieur du système live). +.IP \fBlive/filesystem.module\fP 4 +.\" FIXME +Ce fichier optionnel (à l'intérieur du média live) contient une liste de +noms de fichier séparés\-par\-un\-caractère\-de\-retour ou une espace\-blanc +correspondants aux images disque dans le répertoire "/live". Si ce fichier +existe, uniquement les images listées ici seront fusionnées dans le aufs +racine, et elles seront chargées dans l'ordre de cette liste. La première +entrée dans ce fichier sera le point "le plus bas" dans le aufs, et le +dernier fichier dans cette liste sera en "haut" du aufs, directement en +dessous de /overlay. Sans ce fichier, toute image dans le répertoire "/live" +sont chargées par ordre alphanumérique. + +.SH FICHIERS +.IP \fB/etc/live/boot.conf\fP 4 +.IP \fB/etc/live/boot/*\fP 4 +.IP \fBlive/boot.conf\fP 4 +.IP \fBlive/boot/*\fP 4 +.IP \fBpersistence.conf\fP 4 + +.SH "VOIR AUSSI" +\fIpersistence.conf\fP(5) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-config\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH "PAGE D'ACCUEIL" +Davantage d'informations à propos de live\-boot et du projet Live Systems +peuvent être trouvées sur la page <\fIhttp://live\-systems.org/\fP> et +dans le manuel sur <\fIhttp://live\-systems.org/manual/\fP>. + +.SH BOGUES +Les bogues peuvent être signalés en soumettant un rapport de bogue pour le +paquet live\-boot dans le BTS à <\fIhttp://bugs.debian.org/\fP> ou par +l'écriture d'un courriel à la liste de diffusion Live Systems à +<\fIdebian\-live@lists.debian.org\fP>. + +.SH AUTEUR +live\-images a été écrit par Daniel Baumann +<\fImail@daniel\-baumann.ch\fP>. diff --git a/system-boot/manpages/fr/persistence.conf.fr.5 b/system-boot/manpages/fr/persistence.conf.fr.5 new file mode 100644 index 0000000..9a26ad6 --- /dev/null +++ b/system-boot/manpages/fr/persistence.conf.fr.5 @@ -0,0 +1,224 @@ +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-BOOT conf 22.09.2015 5.0~a5\-1 "Projet Live Systems" + +.SH NOM +\fBpersistence.conf\fP \- Fichier de configuration pour le media de persistance +dans live\-boot + +.SH DESCRIPTION +Si live\-boot sondes un volume de persistance avec l'étiquette (ou le nom GPT +ou le nom de fichier, mais à partir de maintenant nous dirons juste +"étiquette") "persistence", ce volume de persistance est complètement +personnalisable à travers le fichier \fBpersistence.conf\fP stockée à la +racine de son système de fichier. Tout volume ainsi étiquetté doit avoir un +fichier comme ceci, ou il sera ignoré. +.PP +Le format de \fBpersistence.conf\fP permet les lignes vides et les lignes +commençant avec un "#" (utilisé pour les commentaires), les deux seront +ignorés. Un "montage personnalisé" a le format : +.PP +.RS +\fIDIR\fP [\fIOPTION\fP]... +.RE +.PP +qui se traduit grossièrement par "fabrique \fIDIR\fP la persistance selon le +chemin décrit par la liste d'\fIOPTION\fPs". +.PP +Pour chaque montage personnalisé \fIDIR\fP doit être un chemin absolu qui ne +peut pas contenir d'espaces blanc ou les composants de chemins . et .. , et +ne peut pas être /live (ou un de ses sous\-répertoires). Une fois activé, +toutes les modifications (effacement de fichier, création et modification) +dans \fIDIR\fP sur le système de fichier live sont emmagasinées de façon +persistante dans un chemin équivalent à \fIDIR\fP sur le média de persitance, +appelé le répertoire source. Le moyen par défaut pour accomplir la +persistance est simplement de bind\-monter le répertoire source correspondant +à \fIDIR\fP, mais ceci peut être modifié à travers l'utilisation d'\fIOPTION\fPs. +.PP +Tous les montages personnalisés seront réalisés dans un ordre qui ne +permettent pas à deux montages personnalisés de se "cacher" l'un +l'autre. Par exemple, si nous avons les deux \fIDIR\fP:s /a et /a/b , /a sera +toujours monté en premier, puis /a/b. Ceci sera toujours vrai quelque soit +l'ordre des lignes dans \fBpersistence.conf\fP, ou si plusieurs fichiers +\fBpersistence.conf\fP sur différents média de persistance sont utilisés au +même moment. Néanmoins, il est interdit aux montages personnalisés d'avoir +leurs répertoires source à l'intérieur du répertoire source d'un autre +montage personnalisé, ainsi les répertoires source qui sont auto\-créés par +live\-boot ne prennent pas en charge les montages "emboîtés" comme /a et /a/b +sur le même média. Dans ce cas, vous devez utiliser l'option \fBsource\fP (voir +ci\-dessous) pour être certains qu'ils ne sont pas emmagasinés dans +différents répertoires source. +.PP +Lorsqu'un répertoire source n'existe pas sur le média de persistance pour un +montage personnalisé donné, il sera créé automatiquement, et les permissions +et la propriété seront paramétrées avec optimisme en accord avec \fIDIR\fP. Il +sera également amorcé en copiant le contenu du \fIDIR\fP dans son répertoire +source sur le média de persistance. L'amorçage ne se passera pas lorsque les +options \fBlink\fP ou \fBunion\fP sont utilisées (voir ci\-dessous). + +.SH OPTIONS +Les montages personnalisés défini dans \fBpersistence.conf\fP acceptent les +options suivantes dans une liste séparée par des commas : +.IP \fBsource\fP=\fIPATH\fP 4 +Lorsqu'indiqué, emmagasine les modifications persistantes dans \fIPATH\fP sur +le média de persistance. \fIPATH\fP doit être un chemin relatif (au regard de +la racine du média de persistance) qui ne peut pas contenit d'espaces blancs +ou de composants de chemins spéciaux comme . ou .. , avec l'exception qu'il +peut simplement s'agir de . qui signifie : la racine du média de +persistance.Cette option est principalement utile si vous voulez imbriquer +des montages personnalisés qui, autrement, causeraient des erreurs, ou si +vous voulez rendre disponible la racine du média en entier (équivalent à au +\- maintenant déprécié \- type de persistance \fBhome\-rw\fP). +.PP +Les options suivantes sont mutuellement exclusives (uniquement la dernière +donnée sera effective) : +.IP \fBbind\fP 4 +Bind\-monte le répertoire source dans \fIDIR\fP. Ceci est le défaut. +.IP \fBlink\fP 4 +Crée la structure de répertoire du répertoire source sur le média de +persistance dans \fIDIR\fP et crée des liens symboliques depuis l'emplacement +correspondant dans \fIDIR\fP pour chaque fichier dans le répertoire source. Les +fichiers ou répertoire existants avec le même nom aussi bien que tout lien +seront écrasés. Notez que l'effacement des liens dans \fIDIR\fP supprimera +uniquement le lien, pas le fichier correspondant dans la source; les liens +supprimés réapparaîtront après un redémarrage. Pour ajouter ou supprimer un +fichier de façon permanente, on doit le faire directement dans le répertoire +source. +.IP +En réalité, \fBlink\fP rendra persistants uniquement les fichiers déjà présents +dans le répertoire source, aucun autre fichier dans \fIDIR\fP. Ces fichiers +doivent être ajoutés manuellement au répertoire source pour pouvoir utiliser +cette option, et ils apparaîtront dans \fIDIR\fP en addition des fichiers déjà +présents. Cette option est utile lorsque seulement certain fichiers doivent +être persistants, et pas l'ensemble du répertoire dans lequel ils se +trouvent, par exemple certains fichiers de configuration dans le répertoire +de l'utilisateur. +.IP \fBunion\fP 4 +Sauvegarde la branche rw d'un union sur le média de persistance, ainsi, +seuls les modifications sont emmagasinnées de façon persistante. Ceci peut +potentiellement réduire l'utilisation du disque comparé aux montages\-bind, +et ne cachera pas les fichiers ajoutés au média en lecture seule. Un +avertissement est que l'union utilisera \fIDIR\fP depuis le système de fichier +en lecture seule de l'image, pas le système de fichier racine réel, et donc +les fichiers créés après le démarrage (par exemple par live\-config) +n'apparaîtront pas dans l'union. Cette option utilisera le système de +fichier union spécifié par le paramètre de démarrage \fBunion\fP de live\-boot. + +.SH RÉPERTOIRES +.IP \fB/live/persistence\fP 4 +Tous les volumes de persistance seront montés ici (dans le répertoire +correspondant au nom de périphérique). Le fichier \fBpersistence.conf\fP peut +être facilement édité à travers ce montage, de la même façon que tout +répertoire source (ce qui est spécialement pratique pour les montages +personnalisés utilisant l'option \fBlink\fP). + +.SH EXEMPLES + +Disons que nous avons un volume persistant \fIVOL\fP avec un fichier +\fBpersistence.conf\fP contenantles quatre lignes suivantes (numérotée pour +faciliter leur référencement) : +.TP 7 +1. +/home/user1 link,source=config\-files/user1 +.TP +2. +/home/user2 link,source=config\-files/user2 +.TP +3. +/home +.TP +4. +/usr union +.PP +Les répertoires source correspondant sont : +.TP 7 +1. +\fIVOL\fP/config\-files/user1 (mais ce serait \fIVOL\fP/home/user1 sans l'option +\fBsource\fP) +.TP +2. +\fIVOL\fP/config\-files/user2 (mais ce serait \fIVOL\fP/home/user2 sans l'option +\fBsource\fP) +.TP +3. +\fIVOL\fP/home +.TP +4. +\fIVOL\fP/usr +.PP +Il était nécessaire de paramétrer les options \fBsource\fP pour 1 et 2, +puisqu'autrement ils seraient devenus imbriqués avec la source du 3, ce qui +est invalide. +.PP +La ligne 3 sera prise en compte avant les lignes 1 et 2 afin d'éviter que +les montages personnalisés 1 et 2 ne soient cachés par 3. Lorsque la ligne 3 +est prise en charge, \fIVOL\fP/home est simplement bind\-monté sur /home. Pour +illustrer ce qu'il se passe pour les lignes 1 et 2, disons que les fichiers +suivants existent : +.TP 7 +a. +\fIVOL\fP/config\-files/user1/.emacs +.TP +b. +\fIVOL\fP/config\-files/user2/.bashrc +.TP +c. +\fIVOL\fP/config\-files/user2/.ssh/config +.PP +Puis que les liens et les répertoires suivant seront créés : +.TP 7 +Liens : +/home/user1/.emacs \-> \fIVOL\fP/config\-files/user1/.emacs (depuis a) +.TP +Liens : +/home/user2/.bashrc \-> \fIVOL\fP/config\-files/user2/.bashrc (depuis b) +.TP +Rép : +/homea/user2/.ssh (depuis c) +.TP +Liens : +/home/user2/.ssh/config \-> \fIVOL\fP/config\-files/user2/.ssh/config (depuis +c) +.PP +On pourrait dire que les lignes 1 et 2 dans l'exemple de fichier +\fBpersistence.conf\fP ci\-dessus sont non\-nécessaires puisque la ligne 3 +rendrait déjà presistant l'entierté de /home. L'option \fBlink\fP est pensée +pour les situations où vous ne voulez pas que tout le répertoire soit +persistant, mais seulement certains de fichiers y étant présents ou ses +sous\-répertoires. +.PP +La ligne 4 peut être montée n'importe quand puisque son \fIDIR\fP (et +répertoire source) est complètement disjoint de tous les autres montages +personnalisés. Lorsque monté, \fIVOL\fP/usr sera la branche rw à cause de +l'option \fBunion\fP, et contiendra seulement la différence comparée au système +de fichier en lecture seule sous\-jascent. En conséquence, les paquets +pourront être installés dans /usr avec une grande efficacité d'empreinte +d'espace comparé aux montages\-bind, puisque dans ce dernier cas, tout le +contenu de /usr devra être copié dans \fIVOL\fP/usr pendant l'amorçage inital. + +.SH "VOIR AUSSI" +\fIlive\-boot\fP(7) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-config\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH "PAGE D'ACCUEIL" +Davantage d'informations à propos de live\-boot et du projet Live Systems +peuvent être trouvées sur la page <\fIhttp://live\-systems.org/\fP> et +dans le manuel sur <\fIhttp://live\-systems.org/manual/\fP>. + +.SH BOGUES +Les bogues peuvent être signalés en soumettant un rapport de bogue pour le +paquet live\-boot dans le BTS à <\fIhttp://bugs.debian.org/\fP> ou par +l'écriture d'un courriel à la liste de diffusion Live Systems à +<\fIdebian\-live@lists.debian.org\fP>. + +.SH AUTEUR +live\-images a été écrit par Daniel Baumann +<\fImail@daniel\-baumann.ch\fP>. diff --git a/system-boot/manpages/ja/live-boot.ja.7 b/system-boot/manpages/ja/live-boot.ja.7 new file mode 100644 index 0000000..ec0a519 --- /dev/null +++ b/system-boot/manpages/ja/live-boot.ja.7 @@ -0,0 +1,229 @@ +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-BOOT 7 2015\-09\-22 5.0~a5\-1 "Live システムプロジェクト" + +.SH 名前 +\fBlive\-boot\fP \- システム起動構成要素 + +.SH 説明 +\fBlive\-boot\fP はブートプロセス中 (早期ユーザ空間) に Live システムを設定する構成要素を収録しています。 +.PP +.\" FIXME +live\-boot は initramfs\-tools 用のフックで、例えば \fIlive\-helper\fP(7) で作成した Live +システムをブートできる initramfs を生成するのに利用します。これには Live システムの ISO やネットワーク経由でブートするための +tar アーカイブ、USB メモリ用のイメージ等があります。 +.PP +.\" FIXME +これはブート時に root ファイルシステム (squashfs 等圧縮ファイルシステムのイメージであることが多い) +が置かれている「/live」ディレクトリを収録する (読み取り専用の) メディアを検索します。見つけた場合は aufs +を使って書き込み可能な環境を作成してシステムを起動します。 + +.SH 設定 +\fBlive\-boot\fP はブートパラメータまたは設定ファイル経由で設定できます。 +.PP +Live イメージで利用されるデフォルトの live\-boot パラメータを設定する場合は \fIlb_config\fP(1) マニュアルページの +\-\-bootappend\-live オプションを見てください。 + +.SS カーネルパラメータ +\fBlive\-boot\fP はカーネルパラメータとして「boot=live」が利用された場合にのみ有効になります。 +.PP +さらに、挙動に影響するブートパラメータが他にもいくつかあります。下記を見てください。 + +.SS 設定ファイル +\fBlive\-boot\fP は設定ファイルを利用して設定 (但し有効化しない) できます。この設定ファイルは root ファイルシステム自体 +(/etc/live/boot.conf、 /etc/live/boot/*)、または Live メディア (live/boot.conf、 +live/boot/*) に配置できます。 + +.SH オプション +.\" FIXME +\fBlive\-boot\fP では以下のパラメータが現在有効です。 +.IP \fBaccess\fP=\fIアクセス\fP 4 +物理的または視覚的に障害のあるユーザ向けのアクセシビリティレベルをセットします。\fIアクセス\fPに入るのは v1、v2、v3、m1、m2 +のどれかでないといけません。v1=軽度の視覚障害、 v2=中程度の視覚障害、 v3=盲目、 m1=運動神経に些細な難あり、 +m2=運動神経に中程度の難あり。 +.IP \fBconsole\fP=\fITTY,速度\fP 4 +「live\-getty」オプションで利用するデフォルトのコンソールをセットします。例: 「console=ttyS0,115200」 +.IP \fBdebug\fP 4 +initramfs ブートプロセスの出力をもっと冗長にします。 +.br +debug=1 としてください +.br +debug に値をセットしないとメッセージは表示されないかもしれません。 +.IP \fBfetch\fP=\fIURL\fP 4 +.IP \fBhttpfs\fP=\fIURL\fP 4 +指定した URL から squashfs イメージをダウンロードしてネットワーク経由でブートする別のやり方で、この取得方法ではイメージを RAM +にコピーし、httpfs を使う方法では FUSE と httpfs2 を使ってイメージを適切な位置にマウントします。RAM +へのコピーにはさらに多くのメモリが必要で、大きなイメージでは多少時間がかかるかもしれません。しかしその後はネットワークを必要としないため正常に動作する可能性が高くなり、それ以上サーバとやりとりする必要がないためブート後はそのシステムは高速に動作します。 +.br +busybox の現在の wget 及び DNS 解決の制限のために URL にはホスト名を使えず、IPアドレスにしか対応していません。 +.br +機能しない: http://example.com/path/to/your_filesystem.squashfs +.br +機能する: http://1.2.3.4/path/to/your_filesystem.squashfs +.br +また、そのため httpd の名前ベースのバーチャルホストからイメージを取得することは、httpd +のそのホストの設定で同一のIPアドレスを共有している場合は現在不可能であることにも注意してください。 +.br +また、squashfs イメージの適切な位置にある Live ISO イメージも利用できます。 +.IP \fBiscsi\fP=\fIサーバのIPアドレス[,サーバのポート];対象の名前\fP 4 +LUN (Logical Unit Number、論理ユニット番号) が iso またはディスクの Live イメージを指している iSCSI +ターゲットからのブートで、指定されたターゲットは LUN のうち Live メディアらしきものから検索されます。\fBiscsitarget\fP +ソフトウェアを使って iSCSI ターゲットを判定している場合の ietd.conf はこのようになります: +.br +# iscsi= パラメータで指定したターゲットの名前 +.br +Target <ターゲットの名前> + Lun 0 Path=<live\-image.iso のパス>,Type=fileio,IOMode=ro + # 複数のマシンのブートに使いたい場合は + # Wthreads や MaxConnections のような一部の + # パラメータを調整してみるのもいいかもしれません。 +.IP \fBfindiso\fP=\fI/イメージ/への/パス\fP 4 +\&.squashfs ファイルを通常検索する位置にある全ディスクから、指定した ISO ファイルを検索します (そのため +fromiso=... で指定するデバイス名を知っている必要はありません)。 +.IP \fBfromiso\fP=\fI/イメージ/への/パス\fP 4 +Live メディア上で利用可能な ISO イメージ内からファイルシステムを利用できるようにします。 +.IP \fBignore_uuid\fP 4 +検出したメディアに合う initramfs に埋め込まれた UUID の確認を一切行いません。initramfs のビルド時に +LIVE_GENERATE_UUID=1 を設定して UUID を生成するように live\-boot に指示しているかもしれません。 +.IP \fBverify\-checksums\fP 4 +指定するとブート中に Live メディアの MD5 サムを計算し、その Live メディアのルートディレクトリにある md5sum.txt +中の値と比較します。 +.IP "\fBip\fP=[\fIデバイス\fP]:[\fIクライアントのIPアドレス\fP]:[\fIネットマスク\fP]:[\fIゲートウェイのIPアドレス\fP]:[\fIネームサーバ\fP] [,[\fIデバイス\fP]:[\fIクライアントのIPアドレス\fP]:[\fIネットマスク\fP]:[\fIゲートウェイのIPアドレス\fP]:[\fIネームサーバ\fP]]" 4 +ブート時に設定するインターフェイスの名前とオプションを指定できます。dhcp (デフォルト) +を使いたい場合は指定しないでください。将来のリリースでは公式のカーネルブートパラメータの仕様に倣って変更される (例えば +ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp) かもしれません。 +.IP \fBip\fP=[\fI読み込み元メディア\fP] 4 +この変数をセットすると dhcp 及び固定のネットワーク設定は単に飛ばされ、システムはメディアで事前に設定されている (設定されていないといけません) +/etc/network/interfaces を代わりに利用します。 +.IP {\fBlive\-media\fP|\fBbootfrom\fP}=\fIデバイス\fP 4 +この2つは等価で、どちらかを指定すると live\-boot +はまずこのデバイスについて読み取り専用のルートファイルシステムが存在するであろう「/live」ディレクトリを検索します。それで使えそうなものが見つからない場合は通常のブロックデバイスの走査が行われます。 +.br +実際のデバイス名を指定する代わりに「removable」というキーワードを使って、検索対象とする Live +メディアを脱着可能なものだけに限定することができます。メディアを USB +大容量記憶装置だけにさらに限定したい場合は「removable\-usb」というキーワードを使えることに注目してください。 +.IP {\fBlive\-media\-encryption\fP|\fBencryption\fP}=\fI暗号化の種類\fP 4 +live\-boot はパスフレーズを質問することで暗号化する種類の rootfs をマウントできます。凝った Live システムをビルドするのに有用です +:\-)。これまでのところサポートしているのは loop\-aes 暗号化を指示する「aes」です。 +.IP \fBlive\-media\-offset\fP=\fIバイト数\fP 4 +このようにして、上記で指定したまたは自動検出したデバイスの、指定バイト数だけずれた位置からイメージが開始することを live\-boot +に指示できます。他の ISO やイメージの中にある Live システムの ISO +やイメージを見えないようにして「クリーン」なイメージを作成するのに有用かもしれません。 +.IP \fBlive\-media\-path\fP=\fIパス\fP 4 +メディア上の Live +ファイルシステムへのパスをセットします。このデフォルト値は「/live」で、合わせてメディアを独自化していない限りこの値を変更すべきではありません。 +.IP \fBlive\-media\-timeout\fP=\fI秒数\fP 4 +「live\-media=」により指定したデバイスがその処理をあきらめるまでの制限時間を秒数で指示します。 +.IP \fBmodule\fP=\fI名前\fP 4 +デフォルトとなっているオプションのファイル「filesystem.module」(以下参照) +を使う代わりに別のファイルを拡張子「.module」を外して指定することができます。これは Live +メディアの「/live」ディレクトリに配置すべきです。 +.IP \fBnetboot\fP[=nfs|cifs] 4 +ネットワークマウントを行うことを live\-boot に指示します。(オプションの「nfsopts=」で) +パラメータ「nfsroot=」によりルートファイルシステムが置かれている場所を指定します。引数を付けない場合はまず cifs +を試し、それが失敗した場合は nfs を試します。 +.IP \fBnfsopts\fP= 4 +これを使って nfs オプションを指定できます。 +.IP \fBnofastboot\fP 4 +このパラメータは /etc/fstab +にあるファイルシステムのチェックがデフォルトで無効化されているのを無効にします。ハードディスクに静的ファイルシステムがあり、ブート時にそれをチェックさせたい場合はこのパラメータを使ってください。使わない場合はファイルシステムのチェックは飛ばされます。 +.IP \fBnopersistence\fP 4 +「保持 (persistence)」機能を無効化します。ブートローダ (syslinux のようなもの) +が保持機能を有効にしてインストールされている場合に有用です。 +.IP \fBnoeject\fP 4 +Live メディアを取り出すかどうか確認しません。 +.IP \fBramdisk\-size\fP 4 +このパラメータにより独自の RAM ディスクサイズ (tmpfs マウント時の「\-o サイズ」オプション) をセットできます。デフォルトでは RAM +ディスクサイズはセットされていないため、マウント時のデフォルト値が適用されます (現在は利用可能な RAM の 50%)。toram +を指定してブートした場合、このオプションは現在のところ効果がないことに注意してください +.IP \fBswap=true\fP 4 +このパラメータはローカルのスワップパーティションの利用を有効にします。 +.IP \fBpersistence\fP 4 +live\-boot は保持用メディアのデバイスを調査します。このデバイスにはパーティション (GPT (GUID Partition +Table、GUIDパーティションテーブル) の名前を正しく指定) やファイルシステム (ラベルの名前を正しく指定)、イメージファイル +(ファイル名を正しく指定) を使えます。保存先は「persistence」(\fIpersistence.conf\fP(5) 参照) +という名前/ラベルになります。保存先のイメージファイルは「persistence」という名前になります。 +.IP "\fBpersistence\-encryption\fP=\fI種類1\fP,\fI種類2\fP ... \fI種類n\fP" 4 +このオプションは保持用メディアのデバイス調査時に利用を許可する暗号化の種類を決定します。「none」が一覧にある場合は暗号化されていないメディアを許可します。「luks」が一覧にある場合は +LUKS +により暗号化されているメディアを許可します。暗号化されているメディアがデバイスにある場合はそのメディアの調査時にパスフレーズをユーザに質問します。デフォルト値は「none」です。 +.IP \fBpersistence\-media\fP={\fIremovable\fP|\fIremovable\-usb\fP} 4 +「removable」というキーワードを指定すると、live\-boot は保持用パーティションを脱着可能なメディアからのみ検索します。メディアを USB +大容量記憶装置だけにさらに限定したい場合は「removable\-usb」というキーワードを使えることに注目してください。 +.IP "\fBpersistence\-method\fP=\fI種類1\fP,\fI種類2\fP ... \fI種類n\fP" 4 +このオプションは許可する保持用メディアの種類を決定します。「overlay」が一覧にある場合はオーバーレイと見なします +(つまり「live\-rw」と「home\-rw」)。デフォルト値は「overlay」です。 +.IP \fBpersistence\-path\fP=\fIパス\fP 4 +live\-boot +は保持用ファイルをパーティションのルートディレクトリから検索します。このパラメータを使ってパスを設定すると同一のパーティションの複数のディレクトリを保持用ファイルの保管先にできます。 +.IP \fBpersistence\-read\-only\fP 4 +ファイルシステムの変更は保持用メディアには残されません。特にオーバーレイとネットワーク経由のブート用の NFS +マウントは読み取り専用でマウントされます。 +.IP "\fBpersistence\-storage\fP=\fI種類1\fP,\fI種類2\fP ... \fI種類n\fP" 4 +このオプションは保持用メディアの調査時に対象とする保持用記憶装置の種類を決定します。「filesystem」が一覧にある場合はラベルが該当するファイルシステムを利用します。「file」が一覧にある場合は全ファイルシステムについてファイル名が該当するアーカイブやイメージファイルを調査します。デフォルト値は「file,filesystem」です。 +.IP \fBpersistence\-label\fP=\fIラベル\fP 4 +live\-boot +は保持用記憶装置の検索時に「persistence」の代わりにここで指定した「ラベル」を使います。「ラベル」はファイル名やパーティションのラベル、GPT +の名前として有効な任意のものを使えます。 +.IP \fBnoeject\fP 4 +このオプションを使うと live\-boot はメディアを取り出さず、ブート用メディアを削除するかユーザに質問することもなくリブートします。 +.IP \fBshowmounts\fP 4 +このパラメータを使うと live\-boot は「/」で「/lib/live」上の (ほとんどの場合圧縮されている) ro +ファイルシステムを提示します。これはインストール時にバイナリのパスを記憶する「mono」のようなアプリケーションで問題を起こす可能性があるためデフォルトでは有効にされていません。 +.IP \fBsilent\fP 4 +通常の quiet パラメータを付けてブートすると live\-boot +が出すほとんどのメッセージを非表示にします。「silent」を付けると全て非表示にします。 +.IP \fBtodisk\fP=\fIデバイス\fP 4 +このパラメータを追加すると、live\-boot +はルートファイルシステムをマウントする前に読み取り専用メディア全体を指定したデバイスにコピーしようとします。これには恐らく多くの RAM +が必要となります。以後のブートではこの段階を飛ばして、今回そのデバイスで使ったのと同一の「live\-media=デバイス」ブートパラメータを単に指定するようにしてください。 +.IP \fBtoram\fP 4 +このパラメータを追加すると、live\-boot はルートファイルシステムをマウントする前に読み取り専用メディア全体をそのコンピュータの RAM +にコピーしようとします。その読み取り専用メディアで利用している容量により、これには多くの RAM が必要となるかもしれません。 +.IP \fBunion\fP=overlay|aufs 4 +.\" FIXME +デフォルトで live\-boot は overlay を利用します。このパラメータにより aufs に切り替えることができます。 + +.\" FIXME +.SH "ファイル (古い情報)" +.IP \fB/etc/live.conf\fP 4 +一部の変数はこの (Live システム中の) 設定ファイルにより設定できます。 +.IP \fBlive/filesystem.module\fP 4 +.\" FIXME +この (Live メディア内の) +オプションのファイルは「/live」ディレクトリ中のディスクイメージに対応するファイル名を空白文字または復帰文字で区切った一覧を収録します。このファイルが存在する場合はその中の一覧にあるイメージだけがルート +aufs に統合され、その一覧の順に読み込まれます。このファイルの最初の項目が /overlay 直下で aufs +の「最下位の」マウントポイント、この一覧の最後のファイルが /overlay 直下で aufs +の「最上位の」マウントポイントとなります。このファイルがない場合は「/live」ディレクトリにあるイメージを英数字順に読み込みます。 + +.SH ファイル +.IP \fB/etc/live/boot.conf\fP 4 +.IP \fB/etc/live/boot/*\fP 4 +.IP \fBlive/boot.conf\fP 4 +.IP \fBlive/boot/*\fP 4 +.IP \fBpersistence.conf\fP 4 + +.SH 関連項目 +\fIpersistence.conf\fP(5) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-config\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH ホームページ +live\-boot 及び Live +システムプロジェクトについてのさらなる情報は、<\fIhttp://live\-systems.org/\fP> のホームページや +<\fIhttp://live\-systems.org/manual/\fP> のマニュアルにあります。 + +.SH バグ +バグは <\fIhttp://bugs.debian.org/\fP> にあるバグ追跡システムに live\-boot +パッケージのバグ報告として提出するか、<\fIdebian\-live@lists.debian.org\fP> にある Live +システムのメーリングリスト宛てにメールを書くことにより報告できます。 + +.SH 作者 +live\-boot は Daniel Baumann さん <\fImail@daniel\-baumann.ch\fP> により書かれました。 diff --git a/system-boot/manpages/ja/persistence.conf.ja.5 b/system-boot/manpages/ja/persistence.conf.ja.5 new file mode 100644 index 0000000..4a4fde9 --- /dev/null +++ b/system-boot/manpages/ja/persistence.conf.ja.5 @@ -0,0 +1,155 @@ +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-BOOT conf 2015\-09\-22 5.0~a5\-1 "Live システムプロジェクト" + +.SH 名前 +\fBpersistence.conf\fP \- live\-boot 状態保持用メディアの設定ファイル + +.SH 説明 +live\-boot が「persistence」というラベル (GPT の名前やファイル名も含みますがここからは「ラベル」と呼びます) +を付けられた保持用ボリュームを調査するとき、そのボリュームの保持方法はそのファイルシステムの最上部に置かれた \fBpersistence.conf\fP +ファイルにより全面的に独自化できます。こういったラベルを付けられたボリュームにはそういったファイルがないといけません。ない場合は無視します。 +.PP +\fBpersistence.conf\fP の形式では空行や「#」で始まる行 (コメント用) +を両方とも利用でき、そういった行は解釈されず無視されます。いわゆる「独自マウント」は +.PP +.RS +\fIディレクトリ\fP [\fIオプション\fP]... +.RE +.PP +の形式で、大まかに言い換えると「\fIオプション\fP一覧により指示した方法で\fIディレクトリ\fPを保持する」ということになります。 +.PP +独自マウントそれぞれについて\fIディレクトリ\fPには絶対パスを使う必要があり、空白文字や特別なパスである「.」や「..」を含めること、/live +(やそのサブディレクトリ) を使うことはできません。Live ファイルシステムの\fIディレクトリ\fPに対するあらゆる変更 (ファイルの削除や作成、変更) +はそれを有効にした段階でソースディレクトリと呼ばれる保持用メディアの\fIディレクトリ\fPに相当するパスに持続的に保管されます。保持を実現するデフォルトの方法は対応するソースディレクトリを\fIディレクトリ\fPに対して単純にバインドマウントする方法ですが、これは\fIオプション\fPを使うことで変更できます。 +.PP +独自マウントは全て順番に行われるため、2つの独自マウントで互いに「隠す」ようなことはできません。例えば2つの\fIディレクトリ\fP /a と /a/b +があるとすると、この場合は常にまず /a がマウントされ、それから /a/b がマウントされます。これは \fBpersistence.conf\fP +の他の行の順を問わず成り立ち、異なる保持用メディアにある複数の \fBpersistence.conf\fP +ファイルを同時に使う場合でも同様です。しかし、独自マウントではソースディレクトリを別の独自マウントのソースディレクトリ内にすることは禁止されているため、live\-boot +により自動生成されたソースディレクトリは同一のメディアでの /a と /a/b のような「入り組んだ」マウントをサポートしません。この場合は +\fBsource\fP オプション (以下参照) を使い、対象ディレクトリが必ず異なるソースディレクトリにあるようにしないといけません。 +.PP +特定の独自マウントのソースディレクトリが保持用メディアに存在しない場合は自動的に作成され、その\fIディレクトリ\fPにふさわしい権限と所有がセットされます。\fIディレクトリ\fPの内容を保持用メディアのソースディレクトリにコピーすることでもこの自動処理は行われます。\fBlink\fP +や \fBunion\fP オプション (以下参照) を使った場合はこの自動処理は行われません。 + +.SH オプション +\fBpersistence.conf\fP で定義する独自マウントでは以下のオプションをコンマで区切った一覧の形で受け付けます: +.IP \fBsource\fP=\fIパス\fP 4 +指定した場合は保持用メディアの\fIパス\fPに保持内容の変更を保管します。\fIパス\fPは (その保持用メディアのルートからの) +相対パスを使う必要があり、空白文字や特別なパスである「.」や「..」については、「.」だけが単体で使われたときにはその保持用メディアのルートを指しますが、その例外を除いて含めることができません。このオプションが関連するのはほとんどが、これ以外ではエラーを引き起こす入り組んだ独自マウントにしたい場合、またはメディア全体のルートを利用できるようにしたい場合です +(現在では非推奨となっている \fBhome\-rw\fP という種類の保持に似ています)。 +.PP +以下のオプションは相互に排他です (効果があるのは最後に指定したものだけです): +.IP \fBbind\fP 4 +ソースディレクトリを\fIディレクトリ\fPにバインドマウントします。これはデフォルトです。 +.IP \fBlink\fP 4 +ソースディレクトリのディレクトリ構造を保持用メディアの\fIディレクトリ\fPに作成し、\fIディレクトリ\fPの対応する位置からソースディレクトリの各ファイルに向けてシンボリックリンクを作成します。リンクと同一名の既存のファイルやディレクトリは全て上書きされます。\fIディレクトリ\fP内にあるリンクの削除はリンクを削除するだけで、ソースの対応するファイルは削除しないことに注意してください。削除したリンクは再起動後には再び現れます。ファイルを恒久的に追加、削除するにはソースディレクトリで直接その作業を行わないといけません。 +.IP +事実上、\fBlink\fP +は既にソースディレクトリにあるファイルだけを保持し、\fIディレクトリ\fPにあるそれ以外のファイルは保持しません。保持するファイルをこのオプションの対象とするには手作業によりソースディレクトリに追加する必要があり、そうすることで\fIディレクトリ\fPに、既にそこにあるファイルに加えて現れるようになります。このオプションは特定のファイルだけを保持する必要があり、それがあるディレクトリ全体が必要ではない場合、例えばユーザのホームディレクトリにある設定ファイルの一部を保持する場合に有用です。 +.IP \fBunion\fP 4 +結合ファイルシステムの rw +ブランチを保持用メディアに保存するため、変更点だけを持続的に保管します。バインドマウントと比較するとこの方法は潜在的にディスク使用量を減らせる可能性があり、また読み取り専用メディアに追加したファイルを隠しません。1つ注意があり、結合後に実際のファイルシステムのルートではなくイメージの読み取り専用ファイルシステムから\fIディレクトリ\fPを使うため、(例えば +live\-config により) ブート後に作成されたファイルは結合後には見えなくなります。このオプションは live\-boot の \fBunion\fP +ブートパラメータにより指定された結合ファイルシステムを使います。 + +.SH ディレクトリ +.IP \fB/live/persistence\fP 4 +保持用ボリュームは全てここで (デバイス名に対応するディレクトリで) マウントされます。\fBpersistence.conf\fP +ファイルはこのマウントや任意のソースディレクトリから (\fBlink\fP オプションを使った独自マウントではこちらが特に実用的) 簡単に編集できます。 + +.SH 例 + +保持用ボリューム \fIVOL\fP があり、その \fBpersistence.conf\fP ファイルに以下の4行を収録しているものとしましょう +(番号は参照しやすいように付加しています): +.TP 7 +1. +/home/user1 link,source=config\-files/user1 +.TP +2. +/home/user2 link,source=config\-files/user2 +.TP +3. +/home +.TP +4. +/usr union +.PP +それぞれに対応するディレクトリ: +.TP 7 +1. +\fIVOL\fP/config\-files/user1 (ただし \fBsource\fP オプションを指定しない場合は \fIVOL\fP/home/user1) +.TP +2. +\fIVOL\fP/config\-files/user2 (ただし \fBsource\fP オプションを指定しない場合は \fIVOL\fP/home/user2) +.TP +3. +\fIVOL\fP/home +.TP +4. +\fIVOL\fP/usr +.PP +1と2の例では \fBsource\fP オプションをセットする必要があります。そうしないと3のソースと入り組んでしまい不正となるためです。 +.PP +1行目と2行目の独自マウントが3行目によって隠されるのを回避するため3行目は1行目と2行目よりも先に処理されます。3行目が処理された時点で +\fIVOL\fP/home は単純に /home +に対してバインドマウントした状態になります。1行目と2行目で起きたことを説明するため、以下のファイルが存在するとしましょう: +.TP 7 +a. +\fIVOL\fP/config\-files/user1/.emacs +.TP +b. +\fIVOL\fP/config\-files/user2/.bashrc +.TP +c. +\fIVOL\fP/config\-files/user2/.ssh/config +.PP +それにより作成されるリンクやディレクトリ: +.TP 7 +リンク: +/home/user1/.emacs \-> \fIVOL\fP/config\-files/user1/.emacs (a の場合) +.TP +リンク: +/home/user2/.bashrc \-> \fIVOL\fP/config\-files/user2/.bashrc (b の場合) +.TP +ディレクトリ: +/homea/user2/.ssh (c の場合) +.TP +リンク: +/home/user2/.ssh/config \-> \fIVOL\fP/config\-files/user2/.ssh/config (c の場合) +.PP +別の主張があるかもしれませんが、上記の \fBpersistence.conf\fP ファイルの例では3行目が既に /home +の全てを保持対象としているため1行目と2行目は不要です。\fBlink\fP +オプションはディレクトリ全体を保持したいのではなく、そのディレクトリ中やサブディレクトリにある特定のファイルを保持したいという状況を対象としています。 +.PP +4行目はその\fIディレクトリ\fP (とソースディレクトリ) +が他のどの独自マウントとも完全に分離しているためいつでもマウントできます。マウントすると、\fIVOL\fP/usr は \fBunion\fP +オプションが指定されているため rw +ブランチになり、元の読み取り専用ファイルシステムと比較した差分だけが収録されます。そのため、バインドマウントと比較すると容量の面で非常に効率良くパッケージを +/usr にインストールできます。これは後者では初期の自動処理で /usr 全体を \fIVOL\fP/usr にコピーする必要があるためです。 + +.SH 関連項目 +\fIlive\-boot\fP(7) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-config\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH ホームページ +live\-boot 及び Live +システムプロジェクトについてのさらなる情報は、<\fIhttp://live\-systems.org/\fP> のホームページや +<\fIhttp://live\-systems.org/manual/\fP> のマニュアルにあります。 + +.SH バグ +バグは <\fIhttp://bugs.debian.org/\fP> にあるバグ追跡システムに live\-boot +パッケージのバグ報告として提出するか、<\fIdebian\-live@lists.debian.org\fP> にある Live +システムのメーリングリスト宛てにメールを書くことにより報告できます。 + +.SH 作者 +live\-boot は Daniel Baumann さん <\fImail@daniel\-baumann.ch\fP> により書かれました。 diff --git a/system-boot/manpages/po/es/live-boot.7.po b/system-boot/manpages/po/es/live-boot.7.po new file mode 100644 index 0000000..d2c8682 --- /dev/null +++ b/system-boot/manpages/po/es/live-boot.7.po @@ -0,0 +1,1077 @@ +# Spanish translations for live-boot package +# Copyright (C) 2012-2014 Carlos Zuferri «chals» <chals@altorricon.com> +# This file is distributed under the same license as the live-boot package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-boot\n" +"POT-Creation-Date: 2015-09-22 10:09+0200\n" +"PO-Revision-Date: 2013-11-10 20:10+0900\n" +"Last-Translator: Carlos Zuferri <chals@altorricon.com>\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.5.4\n" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "LIVE-BOOT" +msgstr "LIVE-BOOT" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "2015-09-22" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "5.0~a5-1" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "Live Systems Project" +msgstr "Proyecto Live Systems" + +#. type: SH +#: en/live-boot.7:3 en/persistence.conf.5:3 +#, no-wrap +msgid "NAME" +msgstr "NOMBRE" + +#. type: Plain text +#: en/live-boot.7:5 +msgid "B<live-boot> - System Boot Components" +msgstr "B<live-boot> - Componentes de Arranque del Sistema" + +#. type: SH +#: en/live-boot.7:6 en/persistence.conf.5:7 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPCIÓN" + +#. type: Plain text +#: en/live-boot.7:8 +msgid "" +"B<live-boot> contains the components that configure a live system during the " +"boot process (early userspace)." +msgstr "" +"B<live-boot> contiene los componentes que configuran un sistema en vivo " +"durante el proceso de arranque (early userspace)." + +#. FIXME +#. type: Plain text +#: en/live-boot.7:11 +msgid "" +"live-boot is a hook for the initramfs-tools, used to generate a initramfs " +"capable to boot live systems, such as those created by I<live-helper>(7). " +"This includes the Live systems ISOs, netboot tarballs, and usb stick images." +msgstr "" +"live-boot es un hook para initramfs-tools, usado para generar un initramfs " +"capaz de arrancar sistemas en vivo, tales como los creados por I<live-" +"helper>(7). Esto incluye las ISOs de Live Systems, netboot tarballs y las " +"imágenes para llaves usb. " + +#. FIXME +#. type: Plain text +#: en/live-boot.7:14 +msgid "" +"At boot time it will look for a (read-only) medium containing a \"/live\" " +"directory where a root filesystems (often a compressed filesystem image like " +"squashfs) is stored. If found, it will create a writable environment, using " +"aufs, to boot the system from." +msgstr "" +"En el momento del arranque se buscará un dispositivo de sólo lectura que " +"contenga un directorio \"/live\" dónde se almacena un sistema de ficheros " +"raíz (a menudo se trata de una imagen comprimida de un sistema de ficheros " +"como squashfs). Si live-boot lo encuentra, creará un entorno de escritura, " +"usando aufs, a partir del cual pueda arrancar un sistema." + +#. type: SH +#: en/live-boot.7:15 +#, no-wrap +msgid "CONFIGURATION" +msgstr "CONFIGURACIÓN" + +#. type: Plain text +#: en/live-boot.7:17 +msgid "" +"B<live-boot> can be configured through a boot parameter or a configuration " +"file." +msgstr "" +"B<live-boot> se puede configurar mediante un parámetro de arranque o un " +"fichero de configuración." + +#. type: Plain text +#: en/live-boot.7:19 +msgid "" +"To configure the live-boot parameters used by default in a live image, see " +"the --bootappend-live option in the I<lb_config>(1) manual page." +msgstr "" +"Para configurar los parámetros de live-boot utilizados por defecto en una " +"imagen en vivo, ver la opción --bootappend-live en la página de manual " +"I<lb_config>(1)" + +#. type: SS +#: en/live-boot.7:20 +#, no-wrap +msgid "Kernel Parameters" +msgstr "Parámetros del kernel" + +#. type: Plain text +#: en/live-boot.7:22 +msgid "" +"B<live-boot> is only activated if 'boot=live' was used as a kernel parameter." +msgstr "" +"B<live-boot> sólo se activa si se usa 'boot=live' como parámetro del kernel" + +#. type: Plain text +#: en/live-boot.7:24 +msgid "" +"In addition, there are some more boot parameters to influence the behaviour, " +"see below." +msgstr "" +"Además, hay algunos otros parámetros de arranque que influyen en su " +"comportamiento, ver más abajo." + +#. type: SS +#: en/live-boot.7:25 +#, no-wrap +msgid "Configuration Files" +msgstr "Ficheros de configuración" + +#. type: Plain text +#: en/live-boot.7:27 +msgid "" +"B<live-boot> can be configured (but not activated) through configuration " +"files. Those files can be placed either in the root filesystem itself (/etc/" +"live/boot.conf, /etc/live/boot/*), or on the live media (live/boot.conf, " +"live/boot/*)." +msgstr "" +"B<live-boot> se puede configurar (pero no activar) mediante ficheros de " +"configuración. Estos ficheros se pueden colocar en el sistema de ficheros " +"raíz (/etc/live/boot.conf, /etc/live/boot/*), o en el medio en vivo (live/" +"boot.conf, live/boot/*)." + +#. type: SH +#: en/live-boot.7:28 en/persistence.conf.5:57 +#, no-wrap +msgid "OPTIONS" +msgstr "OPCIONES" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:31 +msgid "B<live-boot> currently features the following parameters." +msgstr "B<live-boot> incluye los siguientes parámetros." + +#. type: IP +#: en/live-boot.7:31 +#, no-wrap +msgid "B<access>=I<ACCESS>" +msgstr "B<access>=I<ACCESS>" + +#. type: Plain text +#: en/live-boot.7:33 +msgid "" +"Set the accessibility level for physically or visually impaired users. " +"ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, " +"v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, " +"m2=moderate motor difficulties." +msgstr "" +"Establece el nivel de accesibilidad para usuarios con minusvalías físicas o " +"con discapacidad visual. ACCESS debe ser uno de los siguientes, v1, v2, v3, " +"m1 o m2. v1=menor deterioro visual, v2=discapacidad visual moderada, " +"v3=ceguera, m1=dificultades motoras menores, m2=dificultades motoras " +"moderadas." + +#. type: IP +#: en/live-boot.7:33 +#, no-wrap +msgid "B<console>=I<TTY,SPEED>" +msgstr "B<console>=I<TTY,SPEED>" + +#. type: Plain text +#: en/live-boot.7:35 +msgid "" +"Set the default console to be used with the \"live-getty\" option. Example: " +"\"console=ttyS0,115200\"" +msgstr "" +"Establece la consola que se utilizará por defecto con la opción \"live-getty" +"\". Ejemplo: \"console=ttyS0,115200\"" + +#. type: IP +#: en/live-boot.7:35 +#, no-wrap +msgid "B<debug>" +msgstr "B<debug>" + +#. type: Plain text +#: en/live-boot.7:37 +msgid "Makes initramfs boot process more verbose." +msgstr "Hace que el proceso de arranque de initramfs sea más detallado." + +#. type: Plain text +#: en/live-boot.7:39 +msgid "Use: debug=1" +msgstr "Uso: debug=1" + +#. type: Plain text +#: en/live-boot.7:41 +msgid "Without setting debug to a value the messages may not be shown." +msgstr "" +"Si no se asigna un valor a debug, puede que no se muestren los mensajes. " + +#. type: IP +#: en/live-boot.7:41 +#, no-wrap +msgid "B<fetch>=I<URL>" +msgstr "B<fetch>=I<URL>" + +#. type: IP +#: en/live-boot.7:42 +#, no-wrap +msgid "B<httpfs>=I<URL>" +msgstr "B<httpfs>=I<URL>" + +#. type: Plain text +#: en/live-boot.7:50 +msgid "" +"Another form of netboot by downloading a squashfs image from a given URL. " +"The fetch method copies the image to RAM and the httpfs method uses FUSE and " +"httpfs2 to mount the image in place. Copying to RAM requires more memory and " +"might take a long time for large images. However, it is more likely to work " +"correctly because it does not require networking afterwards and the system " +"operates faster once booted because it does not require to contact the " +"server anymore." +msgstr "" +"Otra forma de arranque en red mediante la descarga de una imagen squashfs a " +"partir de una URL determinada. El método «fetch» copia la imagen en la " +"memoria RAM y el método httpfs utiliza FUSE y httpfs2 para montar la imagen " +"en su lugar. Copiar en la memoria RAM requiere más memoria y puede tardar " +"mucho tiempo con imágenes de gran tamaño. Sin embargo, es más probable que " +"funcione correctamente, ya que no requiere el uso de la red después y el " +"sistema funciona más rápido una vez iniciado, debido a que ya no necesita " +"ponerse más en contacto con el servidor." + +#. type: Plain text +#: en/live-boot.7:52 +msgid "" +"Due to current limitations in busybox's wget and DNS resolution, an URL can " +"not contain a hostname but an IP address only." +msgstr "" +"Debido a las limitaciones actuales de busybox, wget y la resolución de DNS, " +"una dirección URL no puede contener un nombre de anfitrión, sino sólo una " +"dirección IP." + +#. type: Plain text +#: en/live-boot.7:54 +msgid "Not working: http://example.com/path/to/your_filesystem.squashfs" +msgstr "No funciona: http://ejemplo.com/ruta/al/sistema_de_ficheros.squashfs" + +#. type: Plain text +#: en/live-boot.7:56 +msgid "Working: http://1.2.3.4/path/to/your_filesystem.squashfs" +msgstr "Funciona: http://ejemplo.com/ruta/al/sistema_de_ficheros.squashfs" + +#. type: Plain text +#: en/live-boot.7:58 +msgid "" +"Also note that therefore it's currently not possible to fetch an image from " +"a name-based virtualhost of an httpd if it is sharing the IP address with " +"the main httpd instance." +msgstr "" +"Tener en cuenta también que, por lo tanto, no es posible en la actualidad ir " +"a buscar una imagen en un host virtual basado en nombre de un httpd si está " +"compartiendo la IP con la instancia principal httpd." + +#. type: Plain text +#: en/live-boot.7:60 +msgid "You may also use the live ISO image in place of the squashfs image." +msgstr "" +"También se puede utilizar la imagen ISO en vivo en lugar de la imagen " +"squashfs." + +#. type: IP +#: en/live-boot.7:60 +#, no-wrap +msgid "B<iscsi>=I<server-ip[,server-port];target-name>" +msgstr "B<iscsi>=I<server-ip[,server-port];target-name>" + +#. type: Plain text +#: en/live-boot.7:62 +msgid "" +"Boot from an iSCSI target that has an ISO or disk live image as one of its " +"LUNs. The specified target is searched for a LUN which looks like a live " +"medium. If you use the B<iscsitarget> software iSCSI target solution your " +"ietd.conf might look like this:" +msgstr "" +"Arranca desde un iSCSI que tiene una ISO una imagen de disco en vivo como " +"uno de sus LUNs. Se busca en el objetivo especificado un LUN que sea similar " +"a un medio en vivo. Si se utiliza el software de iSCSI B<iscsitarget> el " +"ietd.conf podría ser similar al siguiente: " + +#. type: Plain text +#: en/live-boot.7:64 +msgid "# The target-name you specify in the iscsi= parameter" +msgstr "# El nombre de destino se especifica en el parámetro iscsi= " + +#. type: Plain text +#: en/live-boot.7:69 +#, no-wrap +msgid "" +"Target E<lt>target-nameE<gt>\n" +" Lun 0 Path=E<lt>path-to-your-live-image.isoE<gt>,Type=fileio,IOMode=ro\n" +" # If you want to boot multiple machines you might want to look at tuning some parameters like\n" +" # Wthreads or MaxConnections\n" +msgstr "" +"Target E<lt>target-nameE<gt>\n" +" Lun 0 Path=E<lt>path-to-your-live-image.isoE<gt>,Type=fileio,IOMode=ro\n" +" # Si se desea arrancar varias máquinas, es posible que se desee afinar algunos parámetros como\n" +" # Wthreads o MaxConnections\n" + +#. type: IP +#: en/live-boot.7:69 +#, no-wrap +msgid "B<findiso>=I</PATH/TO/IMAGE>" +msgstr "B<findiso>=I</PATH/TO/IMAGE>" + +#. type: Plain text +#: en/live-boot.7:71 +msgid "" +"Look for the specified ISO file on all disks where it usually looks for the ." +"squashfs file (so you don't have to know the device name as in fromiso=....)." +msgstr "" +"Busca el fichero ISO especificado en todos los discos en los que por lo " +"general se busca el fichero .squashfs (por lo que no se tiene que saber el " +"nombre del dispositivo como en fromiso=....)." + +#. type: IP +#: en/live-boot.7:71 +#, no-wrap +msgid "B<fromiso>=I</PATH/TO/IMAGE>" +msgstr "B<fromiso>=I</PATH/TO/IMAGE>" + +#. type: Plain text +#: en/live-boot.7:73 +msgid "" +"Allows to use a filesystem from within an ISO image that's available on live-" +"media." +msgstr "" +"Permite utilizar un sistema de ficheros desde dentro de una imagen ISO que " +"está disponible en los medios en vivo." + +#. type: IP +#: en/live-boot.7:73 +#, no-wrap +msgid "B<ignore_uuid>" +msgstr "B<ignore_uuid>" + +#. type: Plain text +#: en/live-boot.7:75 +msgid "" +"Do not check that any UUID embedded in the initramfs matches the discovered " +"medium. live-boot may be told to generate a UUID by setting " +"LIVE_GENERATE_UUID=1 when building the initramfs." +msgstr "" +"No comprobar que cualquier UUID integrado en el initramfs coincida con el " +"medio encontrado. Se puede especificar a live-boot que genere un UUID " +"configurando LIVE_GENERATE_UUID=1 en el momento de crear el initramfs." + +#. type: IP +#: en/live-boot.7:75 +#, no-wrap +msgid "B<verify-checksums>" +msgstr "B<verify-checksums>" + +#. type: Plain text +#: en/live-boot.7:77 +msgid "" +"If specified, an MD5 sum is calculated on the live media during boot and " +"compared to the value found in md5sum.txt found in the root directory of the " +"live media." +msgstr "" +"Si se especifica, se calcula una suma MD5 sobre los medios en vivo durante " +"el arranque y se compara con el valor md5sum.txt que se encuentra en el " +"directorio raíz de los medios en vivo." + +#. type: IP +#: en/live-boot.7:77 +#, no-wrap +msgid "B<ip>=[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>] [,[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>]]" +msgstr "B<ip>=[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>] [,[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>]]" + +#. type: Plain text +#: en/live-boot.7:79 +msgid "" +"Let you specify the name(s) and the options of the interface(s) that should " +"be configured at boot time. Do not specify this if you want to use dhcp " +"(default). It will be changed in a future release to mimick official kernel " +"boot param specification (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::" +"eth0,:::::eth1:dhcp)." +msgstr "" +"Permite especificar el nombre(s) y las opciones de la interfaz(ces) que se " +"debe configurar en el arranque. No especificar esta opción si se desea " +"utilizar DHCP (opción por defecto). Esto cambiará en una futura versión para " +"utilizar la misma especificación de los parámetros de arranque que el kernel " +"oficial (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp)." + +#. type: IP +#: en/live-boot.7:79 +#, no-wrap +msgid "B<ip>=[I<frommedia>]" +msgstr "B<ip>=[I<frommedia>]" + +#. type: Plain text +#: en/live-boot.7:81 +msgid "" +"If this variable is set, dhcp and static configuration are just skipped and " +"the system will use the (must be) media-preconfigured /etc/network/" +"interfaces instead." +msgstr "" +"Si se establece esta variable, no se configura la red ni por dhcp ni usando " +"una dirección estática y se debe añadir un fichero preconfigurado /etc/" +"network/interfaces que el sistema utilizará en su lugar." + +#. type: IP +#: en/live-boot.7:81 +#, no-wrap +msgid "{B<live-media>|B<bootfrom>}=I<DEVICE>" +msgstr "{B<live-media>|B<bootfrom>}=I<DEVICE>" + +#. type: Plain text +#: en/live-boot.7:83 +msgid "" +"If you specify one of this two equivalent forms, live-boot will first try to " +"find this device for the \"/live\" directory where the read-only root " +"filesystem should reside. If it did not find something usable, the normal " +"scan for block devices is performed." +msgstr "" +"Si se especifica una de estas dos formas equivalentes, live-boot en primer " +"lugar tratará de encontrar este dispositivo buscando el directorio \"/live\" " +"dónde debe estar la raíz del sistema de ficheros de sólo lectura. Si no " +"encuentra nada que pueda utilizar, live-boot escaneará los dispositivos " +"restantes." + +#. type: Plain text +#: en/live-boot.7:85 +msgid "" +"Instead of specifing an actual device name, the keyword 'removable' can be " +"used to limit the search of acceptable live media to removable type only. " +"Note that if you want to further restrict the media to usb mass storage " +"only, you can use the 'removable-usb' keyword." +msgstr "" +"En lugar de especificar el nombre de un dispositivo real, se puede utilizar " +"la palabra clave 'removable' para limitar la búsqueda solo en los medios en " +"vivo de tipo extraíble. Tener en cuenta que si se desea restringir aún más " +"los medios a sistemas de almacenamiento masivo USB se puede utilizar la " +"palabra clave 'removable-usb'" + +#. type: IP +#: en/live-boot.7:85 +#, no-wrap +msgid "{B<live-media-encryption>|B<encryption>}=I<TYPE>" +msgstr "{B<live-media-encryption>|B<encryption>}=I<TYPE>" + +#. type: Plain text +#: en/live-boot.7:87 +msgid "" +"live-boot will mount the encrypted rootfs TYPE, asking the passphrase, " +"useful to build paranoid live systems :-). TYPE supported so far is \"aes\" " +"for loop-aes encryption type." +msgstr "" +"live-boot montará el TYPE rotfs cifrado, pidiendo la contraseña. Es útil " +"para crear sistemas en vivo paranoicos :-) Hasta el momento el TYPE " +"soportado es \"aes\" para cifrado loop-aes." + +#. type: IP +#: en/live-boot.7:87 +#, no-wrap +msgid "B<live-media-offset>=I<BYTES>" +msgstr "B<live-media-offset>=I<BYTES>" + +#. type: Plain text +#: en/live-boot.7:89 +msgid "" +"This way you could tell live-boot that your image starts at offset BYTES in " +"the above specified or autodiscovered device, this could be useful to hide " +"the live system ISO or image inside another ISO or image, to create \"clean" +"\" images." +msgstr "" +"De esta manera se puede especificar a live-boot que la imagen comienza en " +"BYTES en el dispositivo anteriormente especificado, o auto-descubierto, esto " +"podría ser útil para esconder la ISO o la imagen dentro de otra ISO o " +"imagen, para crear imágenes \"limpias\"." + +#. type: IP +#: en/live-boot.7:89 +#, no-wrap +msgid "B<live-media-path>=I<PATH>" +msgstr "B<live-media-path>=I<PATH>" + +#. type: Plain text +#: en/live-boot.7:91 +msgid "" +"Sets the path to the live filesystem on the medium. By default, it is set to " +"'/live' and you should not change that unless you have customized your media " +"accordingly." +msgstr "" +"Establece la ruta de acceso al sistema de ficheros en vivo en el medio. De " +"forma predeterminada está en '/live' y no se debe cambiar a menos que se " +"haya personalizado los medios de forma adecuada." + +#. type: IP +#: en/live-boot.7:91 +#, no-wrap +msgid "B<live-media-timeout>=I<SECONDS>" +msgstr "B<live-media-timeout>=I<SECONDS>" + +#. type: Plain text +#: en/live-boot.7:93 +msgid "" +"Set the timeout in seconds for the device specified by \"live-media=\" to " +"become ready before giving up." +msgstr "" +"Establece el tiempo de espera en segundos para que el dispositivo " +"especificado por \"live-media=\" esté preparado antes de desistir." + +#. type: IP +#: en/live-boot.7:93 +#, no-wrap +msgid "B<module>=I<NAME>" +msgstr "B<module>=I<NAME>" + +#. type: Plain text +#: en/live-boot.7:95 +msgid "" +"Instead of using the default optional file \"filesystem.module\" (see below) " +"another file could be specified without the extension \".module\"; it should " +"be placed on \"/live\" directory of the live medium." +msgstr "" +"En lugar de utilizar el fichero opcional por defecto \"filesystem.module" +"\" (ver más abajo) se podría especificar otro fichero sin la extensión \"." +"module\"; se debe colocar en el directorio \"/live\" del medio en vivo." + +#. type: IP +#: en/live-boot.7:95 +#, no-wrap +msgid "B<netboot>[=nfs|cifs]" +msgstr "B<netboot>[=nfs|cifs]" + +#. type: Plain text +#: en/live-boot.7:97 +msgid "" +"This tells live-boot to perform a network mount. The parameter \"nfsroot=" +"\" (with optional \"nfsopts=\"), should specify where is the location of the " +"root filesystem. With no args, will try cifs first, and if it fails nfs." +msgstr "" +"Indica a live-boot que debe hacer un montaje en red. El parámetro \"nfsroot=" +"\" (con \"nfsopts=\" opcional), debe especificar dónde se encuentra el " +"sistema de ficheros raíz. Sin argumentos, probará primero cifs, y entonces, " +"si falla, nfs." + +#. type: IP +#: en/live-boot.7:97 +#, no-wrap +msgid "B<nfsopts>=" +msgstr "B<nfsopts>=" + +#. type: Plain text +#: en/live-boot.7:99 +msgid "This lets you specify custom nfs options." +msgstr "Permite especificar opciones nfs personalizadas." + +#. type: IP +#: en/live-boot.7:99 +#, no-wrap +msgid "B<nofastboot>" +msgstr "B<nofastboot>" + +#. type: Plain text +#: en/live-boot.7:101 +msgid "" +"This parameter disables the default disabling of filesystem checks in /etc/" +"fstab. If you have static filesystems on your harddisk and you want them to " +"be checked at boot time, use this parameter, otherwise they are skipped." +msgstr "" +"Este parámetro deshabilita la desactivación por defecto de la comprobación " +"del sistema de ficheros en /etc/fstab. Si hay sistemas de ficheros estáticos " +"en el disco duro y se desea comprobarlos en el momento del arranque, " +"utilizar este parámetro, de lo contrario, se omite." + +#. type: IP +#: en/live-boot.7:101 +#, no-wrap +msgid "B<nopersistence>" +msgstr "B<nopersistence>" + +#. type: Plain text +#: en/live-boot.7:103 +msgid "" +"disables the \"persistence\" feature, useful if the bootloader (like " +"syslinux) has been installed with persistence enabled." +msgstr "" +"desactiva la \"persistencia\", es útil si el gestor de arranque (como " +"syslinux) se ha instalado con persistencia habilitada." + +#. type: IP +#: en/live-boot.7:103 en/live-boot.7:125 +#, no-wrap +msgid "B<noeject>" +msgstr "B<noeject>" + +#. type: Plain text +#: en/live-boot.7:105 +msgid "Do not prompt to eject the live medium." +msgstr "No pedir que se extraiga el dispositivo en vivo." + +#. type: IP +#: en/live-boot.7:105 +#, no-wrap +msgid "B<ramdisk-size>" +msgstr "B<ramdisk-size>" + +#. type: Plain text +#: en/live-boot.7:107 +msgid "" +"This parameter allows to set a custom ramdisk size (it's the '-o size' " +"option of tmpfs mount). By default, there is no ramdisk size set, so the " +"default of mount applies (currently 50% of available RAM). Note that this " +"option has currently no effect when booting with toram." +msgstr "" +"Este parámetro permite establecer un tamaño de disco RAM personalizado (que " +"es la opción '-o size' del montaje tmpfs). No hay un tamaño de ramdisk " +"predeterminado, por lo que se aplica el valor por defecto (actualmente el " +"50% de la RAM disponible). Tener en cuenta que esta opción no tiene " +"actualmente ningún efecto cuando se arranca con toram." + +#. type: IP +#: en/live-boot.7:107 +#, no-wrap +msgid "B<swap=true>" +msgstr "B<swap=true>" + +#. type: Plain text +#: en/live-boot.7:109 +msgid "This parameter enables usage of local swap partitions." +msgstr "Este parámetro permite el uso de particiones swap locales." + +#. type: IP +#: en/live-boot.7:109 +#, no-wrap +msgid "B<persistence>" +msgstr "B<persistence>" + +#. type: Plain text +#: en/live-boot.7:111 +msgid "" +"live-boot will probe devices for persistence media. These can be partitions " +"(with the correct GPT name), filesystems (with the correct label) or image " +"files (with the correct file name). Overlays are labeled/named \"persistence" +"\" (see I<persistence.conf>(5)). Overlay image files are named \"persistence" +"\"." +msgstr "" +"live-boot buscará dispositivos con \"persistence\". Estos pueden ser " +"particiones (con el nombre GPT correcto), sistemas de ficheros (con la " +"etiqueta correcta) o ficheros imagen (con el nombre de fichero correcto). " +"Los overlays tienen la etiqueta/nombre \"persistence\" (ver I<persistence." +"conf>(5)). Los ficheros imagen overlay tienen, como nombre, \"persistence\"." + +#. type: IP +#: en/live-boot.7:111 +#, no-wrap +msgid "B<persistence-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "B<persistence-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" + +#. type: Plain text +#: en/live-boot.7:113 +msgid "" +"This option determines which types of encryption that we allow to be used " +"when probing devices for persistence media. If \"none\" is in the list, we " +"allow unencrypted media; if \"luks\" is in the list, we allow LUKS-encrypted " +"media. Whenever a device containing encrypted media is probed the user will " +"be prompted for the passphrase. The default value is \"none\"." +msgstr "" +"Esta opción determina qué tipo de cifrado se usa cuando se prueban los " +"dispositivos de los medios con persistencia. Si se especifica \"none\" en la " +"lista, no se permite cifrar el medio; si se especifica \"luks\" en la lista, " +"se puede usar cifrado LUKS en los medios. Cada vez que se encuentra un " +"dispositivo que contiene medios cifrados se pregunta al usuario una frase de " +"contraseña. Por defecto es \"none\"." + +#. type: IP +#: en/live-boot.7:113 +#, no-wrap +msgid "B<persistence-media>={I<removable>|I<removable-usb>}" +msgstr "B<persistence-media>={I<removable>|I<removable-usb>}" + +#. type: Plain text +#: en/live-boot.7:115 +msgid "" +"If you specify the keyword 'removable', live-boot will try to find " +"persistence partitions on removable media only. Note that if you want to " +"further restrict the media to usb mass storage only, you can use the " +"'removable-usb' keyword." +msgstr "" +"Si se especifica la palabra clave 'removable', live-boot intentará encontrar " +"particiones con persistencia únicamente en los medios extraíbles. Tener en " +"cuenta que si se desea restringir aún más los medios a sistemas de " +"almacenamiento masivo USB se puede utilizar la palabra clave 'removable-usb'" + +#. type: IP +#: en/live-boot.7:115 +#, no-wrap +msgid "B<persistence-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "B<persistence-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" + +#. type: Plain text +#: en/live-boot.7:117 +msgid "" +"This option determines which types of persistence media we allow. If " +"\"overlay\" is in the list, we consider overlays (i.e. \"live-rw\" and " +"\"home-rw\"). The default is \"overlay\"." +msgstr "" +"Esta opción determina qué tipos de medios se permiten para la persistencia. " +"Si se especifica \"overlay\" en la lista, se considera overlays (es decir " +"\"live-rw\" y \"home-rw\"). Por defecto es \"overlay\"." + +#. type: IP +#: en/live-boot.7:117 +#, no-wrap +msgid "B<persistence-path>=I<PATH>" +msgstr "B<persistence-path>=I<PATH>" + +#. type: Plain text +#: en/live-boot.7:119 +msgid "" +"live-boot will look for persistency files in the root directory of a " +"partition, with this parameter, the path can be configured so that you can " +"have multiple directories on the same partition to store persistency files." +msgstr "" +"live-boot buscará ficheros con persistencia en el directorio raíz de una " +"partición, con este parámetro, la ruta se puede configurar de modo que se " +"pueda tener varios directorios en la misma partición para almacenar ficheros " +"con persistencia." + +#. type: IP +#: en/live-boot.7:119 +#, no-wrap +msgid "B<persistence-read-only>" +msgstr "B<persistence-read-only>" + +#. type: Plain text +#: en/live-boot.7:121 +msgid "" +"Filesystem changes are not saved back to persistence media. In particular, " +"overlays and netboot NFS mounts are mounted read-only." +msgstr "" +"Los cambios en el sistema de ficheros no se guardan de nuevo en los medios " +"con persistencia. En particular, los overlays y los montajes NFS de red son " +"montados en sólo lectura." + +#. type: IP +#: en/live-boot.7:121 +#, no-wrap +msgid "B<persistence-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "B<persistence-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" + +#. type: Plain text +#: en/live-boot.7:123 +msgid "" +"This option determines which types of persistence storage to consider when " +"probing for persistence media. If \"filesystem\" is in the list, filesystems " +"with matching labels will be used; if \"file\" is in the list, all " +"filesystems will be probed for archives and image files with matching " +"filenames. The default is \"file,filesystem\"." +msgstr "" +"Esta opción determina qué tipos de almacenamiento persistente hay que tener " +"en cuenta cuando se comprueban los medios con persistencia. Si \"filesystem" +"\" está en la lista, se usarán los sistemas de ficheros que tengan su " +"etiqueta correspondiente; si \"file\" está en la lista, todos los sistemas " +"de ficheros se probarán buscando ficheros y ficheros imagen con sus " +"etiquetas correspondientes. Por defecto es \"file,filesystem\". " + +#. type: IP +#: en/live-boot.7:123 +#, no-wrap +msgid "B<persistence-label>=I<LABEL>" +msgstr "B<persistence-label>=I<LABEL>" + +#. type: Plain text +#: en/live-boot.7:125 +msgid "" +"live-boot will use the name \"LABEL\" instead of \"persistence\" when " +"searching for persistent storage. LABEL can be any valid filename, partition " +"label, or GPT name." +msgstr "" +"live-boot utilizará el nombre \"LABEL\" en lugar de \"persistence\" cuando " +"busque medios de almacenamiento persistente. LABEL puede ser cualquier " +"nombre de fichero, etiqueta de una partición or nombre GPT." + +#. type: Plain text +#: en/live-boot.7:127 +msgid "" +"This option causes live-boot to reboot without attempting to eject the media " +"and without asking the user to remove the boot media." +msgstr "" +"Esta opción hace que live-boot reinicie sin tratar de expulsar los medios y " +"sin pedirle al usuario que extraiga el dispositivo usado para arrancar." + +#. type: IP +#: en/live-boot.7:127 +#, no-wrap +msgid "B<showmounts>" +msgstr "B<showmounts>" + +#. type: Plain text +#: en/live-boot.7:129 +msgid "" +"This parameter will make live-boot to show on \"/\" the ro filesystems " +"(mostly compressed) on \"/lib/live\". This is not enabled by default because " +"could lead to problems by applications like \"mono\" which store binary " +"paths on installation." +msgstr "" +"Este parámetro hará que live-boot muestre en \"/\" los sistemas de ficheros " +"ro (en su mayoría comprimidos) en \"/lib/live\". Esto no está activado por " +"defecto, porque podría dar lugar a problemas con aplicaciones como \"mono\" " +"que almacenan rutas binarias durante su instalación." + +#. type: IP +#: en/live-boot.7:129 +#, no-wrap +msgid "B<silent>" +msgstr "B<silent>" + +#. type: Plain text +#: en/live-boot.7:131 +msgid "" +"If you boot with the normal quiet parameter, live-boot hides most messages " +"of its own. When adding silent, it hides all." +msgstr "" +"Si arranca con el parámetro normal quiet, live-boot esconde la mayoría de " +"sus propios mensajes. Cuando se utiliza silent, los esconde todos." + +#. type: IP +#: en/live-boot.7:131 +#, no-wrap +msgid "B<todisk>=I<DEVICE>" +msgstr "B<todisk>=I<DEVICE>" + +#. type: Plain text +#: en/live-boot.7:133 +msgid "" +"Adding this parameter, live-boot will try to copy the entire read-only media " +"to the specified device before mounting the root filesystem. It probably " +"needs a lot of free space. Subsequent boots should then skip this step and " +"just specify the \"live-media=DEVICE\" boot parameter with the same DEVICE " +"used this time." +msgstr "" +"Al añadir este parámetro, live-boot tratará de copiar la totalidad de medios " +"de sólo lectura en el dispositivo especificado antes de montar el sistema de " +"ficheros raíz. Probablemente hace falta una gran cantidad de espacio libre. " +"Los arranques posteriores deben saltar este paso y basta con especificar el " +"parámetro de arranque \"live-media=DEVICE\" con el mismo DEVICE que se ha " +"utilizado esta vez." + +#. type: IP +#: en/live-boot.7:133 +#, no-wrap +msgid "B<toram>" +msgstr "B<toram>" + +#. type: Plain text +#: en/live-boot.7:135 +msgid "" +"Adding this parameter, live-boot will try to copy the whole read-only media " +"to the computer's RAM before mounting the root filesystem. This could need a " +"lot of ram, according to the space used by the read-only media." +msgstr "" +"Al añadir este parámetro, live-boot trata de copiar los medios de sólo " +"lectura enteros en la memoria RAM del ordenador antes de montar el sistema " +"de ficheros raíz. Para esto puede ser necesaria mucha memoria RAM, según el " +"espacio utilizado por los medios de sólo lectura." + +#. type: IP +#: en/live-boot.7:135 +#, no-wrap +msgid "B<union>=overlay|aufs" +msgstr "B<union>=overlay|aufs" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:138 +msgid "" +"By default, live-boot uses overlay. With this parameter, you can switch to " +"aufs." +msgstr "" +"Por defecto, live-boot usa overlay. Con este parámetro, se puede cambiar a " +"aufs." + +#. FIXME +#. type: SH +#: en/live-boot.7:140 +#, no-wrap +msgid "FILES (old)" +msgstr "FICHEROS (antiguos)" + +#. type: IP +#: en/live-boot.7:141 +#, no-wrap +msgid "B</etc/live.conf>" +msgstr "B</etc/live.conf>" + +#. type: Plain text +#: en/live-boot.7:143 +msgid "" +"Some variables can be configured via this config file (inside the live " +"system)." +msgstr "" +"Algunas variables pueden ser configuradas a través de este fichero de " +"configuración (dentro del sistema en vivo)." + +#. type: IP +#: en/live-boot.7:143 +#, no-wrap +msgid "B<live/filesystem.module>" +msgstr "B<live/filesystem.module>" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:146 +msgid "" +"This optional file (inside the live media) contains a list of white-space or " +"carriage-return-separated file names corresponding to disk images in the \"/" +"live\" directory. If this file exists, only images listed here will be " +"merged into the root aufs, and they will be loaded in the order listed here. " +"The first entry in this file will be the \"lowest\" point in the aufs, and " +"the last file in this list will be on the \"top\" of the aufs, directly " +"below /overlay. Without this file, any images in the \"/live\" directory " +"are loaded in alphanumeric order." +msgstr "" +"Este fichero opcional (dentro del medio en vivo) contiene una lista de " +"nombres de ficheros separados por espacios en blanco o retornos de carro que " +"corresponden a imágenes de disco en el directorio \"/live\". Si este fichero " +"existe, sólo las imágenes que figuran en esta lista se fusionarán en la raíz " +"aufs, y se cargarán en el orden en que aparecen aquí. La primera entrada en " +"este fichero será el punto \"más bajo\" en el aufs y el último fichero de " +"esta lista estará en el punto \"más alto\" del aufs, justo debajo de /" +"overlay. Sin este fichero, las imágenes en el directorio \"/live\" se " +"cargan en orden alfanumérico." + +#. type: SH +#: en/live-boot.7:147 +#, no-wrap +msgid "FILES" +msgstr "FICHEROS" + +#. type: IP +#: en/live-boot.7:148 +#, no-wrap +msgid "B</etc/live/boot.conf>" +msgstr "B</etc/live/boot.conf>" + +#. type: IP +#: en/live-boot.7:149 +#, no-wrap +msgid "B</etc/live/boot/*>" +msgstr "B</etc/live/boot/*>" + +#. type: IP +#: en/live-boot.7:150 +#, no-wrap +msgid "B<live/boot.conf>" +msgstr "B<live/boot.conf>" + +#. type: IP +#: en/live-boot.7:151 +#, no-wrap +msgid "B<live/boot/*>" +msgstr "B<live/boot.d/*>" + +#. type: IP +#: en/live-boot.7:152 +#, no-wrap +msgid "B<persistence.conf>" +msgstr "B<persistence.conf>" + +#. type: SH +#: en/live-boot.7:154 en/persistence.conf.5:190 +#, no-wrap +msgid "SEE ALSO" +msgstr "VER ADEMÁS" + +#. type: Plain text +#: en/live-boot.7:156 +msgid "I<persistence.conf>(5)" +msgstr "I<persistence.conf>(5)" + +#. type: Plain text +#: en/live-boot.7:158 en/persistence.conf.5:194 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-boot.7:160 en/persistence.conf.5:196 +msgid "I<live-config>(7)" +msgstr "I<live-config>(7)" + +#. type: Plain text +#: en/live-boot.7:162 en/persistence.conf.5:198 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-boot.7:163 en/persistence.conf.5:199 +#, no-wrap +msgid "HOMEPAGE" +msgstr "PÁGINA WEB" + +#. type: Plain text +#: en/live-boot.7:165 en/persistence.conf.5:201 +msgid "" +"More information about live-boot and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"Se puede encontrar más información acerca de live-boot y el proyecto Live " +"Systems en la página web E<lt>I<http://live-systems.org/>E<gt> y en el " +"manual en E<lt>I<http://live-systems.org/manual/>E<gt>." + +#. type: SH +#: en/live-boot.7:166 en/persistence.conf.5:202 +#, no-wrap +msgid "BUGS" +msgstr "ERRORES" + +#. type: Plain text +#: en/live-boot.7:168 en/persistence.conf.5:204 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-boot package in " +"the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"Se puede notificar los fallos enviando un informe de errores sobre el " +"paquete live-boot al Sistema de Seguimiento de Errores en E<lt>I<http://bugs." +"debian.org/>E<gt> o escribiendo un mensaje a la lista de correo de Live " +"Systems a la dirección E<lt>I<debian-live@lists.debian.org>E<gt>." + +#. type: SH +#: en/live-boot.7:169 en/persistence.conf.5:205 +#, no-wrap +msgid "AUTHOR" +msgstr "AUTOR" + +#. type: Plain text +#: en/live-boot.7:170 en/persistence.conf.5:206 +msgid "" +"live-boot was written by Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." +msgstr "" +"live-boot fue escrito por Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." diff --git a/system-boot/manpages/po/es/persistence.conf.5.po b/system-boot/manpages/po/es/persistence.conf.5.po new file mode 100644 index 0000000..34626ae --- /dev/null +++ b/system-boot/manpages/po/es/persistence.conf.5.po @@ -0,0 +1,634 @@ +# Spanish translations for live-boot package +# Copyright (C) 2012-2014 Carlos Zuferri «chals» <chals@altorricon.com> +# This file is distributed under the same license as the live-boot package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-boot\n" +"POT-Creation-Date: 2015-09-22 10:09+0200\n" +"PO-Revision-Date: 2013-11-10 20:10+0900\n" +"Last-Translator: Carlos Zuferri <chals@altorricon.com>\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "LIVE-BOOT" +msgstr "LIVE-BOOT" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "2015-09-22" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "5.0~a5-1" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "Live Systems Project" +msgstr "Proyecto Live Systems" + +#. type: SH +#: en/live-boot.7:3 en/persistence.conf.5:3 +#, no-wrap +msgid "NAME" +msgstr "NOMBRE" + +#. type: SH +#: en/live-boot.7:6 en/persistence.conf.5:7 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPCIÓN" + +#. type: SH +#: en/live-boot.7:28 en/persistence.conf.5:57 +#, no-wrap +msgid "OPTIONS" +msgstr "OPCIONES" + +#. type: SH +#: en/live-boot.7:154 en/persistence.conf.5:190 +#, no-wrap +msgid "SEE ALSO" +msgstr "VER ADEMÁS" + +#. type: Plain text +#: en/live-boot.7:158 en/persistence.conf.5:194 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-boot.7:160 en/persistence.conf.5:196 +msgid "I<live-config>(7)" +msgstr "I<live-config>(7)" + +#. type: Plain text +#: en/live-boot.7:162 en/persistence.conf.5:198 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-boot.7:163 en/persistence.conf.5:199 +#, no-wrap +msgid "HOMEPAGE" +msgstr "PÁGINA WEB" + +#. type: Plain text +#: en/live-boot.7:165 en/persistence.conf.5:201 +msgid "" +"More information about live-boot and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"Se puede encontrar más información acerca de live-boot y el proyecto Live " +"Systems en la página web E<lt>I<http://live-systems.org/>E<gt> y en el " +"manual en E<lt>I<http://live-systems.org/manual/>E<gt>." + +#. type: SH +#: en/live-boot.7:166 en/persistence.conf.5:202 +#, no-wrap +msgid "BUGS" +msgstr "ERRORES" + +#. type: Plain text +#: en/live-boot.7:168 en/persistence.conf.5:204 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-boot package in " +"the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"Se puede notificar los fallos enviando un informe de errores sobre el " +"paquete live-boot al Sistema de Seguimiento de Errores en E<lt>I<http://bugs." +"debian.org/>E<gt> o escribiendo un mensaje a la lista de correo de Live " +"Systems a la dirección E<lt>I<debian-live@lists.debian.org>E<gt>." + +#. type: SH +#: en/live-boot.7:169 en/persistence.conf.5:205 +#, no-wrap +msgid "AUTHOR" +msgstr "AUTOR" + +#. type: Plain text +#: en/live-boot.7:170 en/persistence.conf.5:206 +msgid "" +"live-boot was written by Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." +msgstr "" +"live-boot fue escrito por Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." + +#. type: Plain text +#: en/persistence.conf.5:6 +msgid "" +"B<persistence.conf> - Configuration file for persistence media in live-boot" +msgstr "" +"B<persistence.conf> - Fichero para configurar medios de almacenamiento con " +"persistencia en live-boot" + +#. type: Plain text +#: en/persistence.conf.5:13 +msgid "" +"If live-boot probes a persistence volume with the label (or GPT name, or " +"file name, but from now on we will just say \"label\") \"persistence\", that " +"volume's persistence is fully customizable through the B<persistence.conf> " +"file stored on the root of its file system. Any such labeled volume must " +"have such a file, or it will be ignored." +msgstr "" +"Si live-boot prueba un volumen persistente con la etiqueta (o nombre GPT, o " +"nombre de fichero, aunque a partir de este momento nos referiremos a él como " +"simplemente \"etiqueta\") \"persistence\", la persistencia de ese volumen es " +"completamente personalizable a través del fichero B<persistence.conf> " +"almacenado en la raíz de su sistema de ficheros. Cualquier volumen esa " +"etiqueta debe tener uno de esos ficheros, o si no será ignorado." + +#. type: Plain text +#: en/persistence.conf.5:17 +msgid "" +"The format of B<persistence.conf> allows empty lines and lines starting with " +"a \"#\" (used for comments), both which will be ignored. A so called " +"\"custom mount\" has the format:" +msgstr "" +"El formato de B<persistence.conf> permite añadir líneas vacias o líneas que " +"comiencen por \"#\" (usado para los comentarios), ambos serán ignorados. Un " +"\"montaje personalizado\" tiene el formato:" + +#. type: Plain text +#: en/persistence.conf.5:20 +msgid "I<DIR> [I<OPTION>]..." +msgstr "I<DIR> [I<OPTION>]..." + +#. type: Plain text +#: en/persistence.conf.5:24 +msgid "" +"which roughly translates to \"make I<DIR> persistence in the way described " +"by the list of I<OPTION>s\"." +msgstr "" +"lo que se traduce como \"hacer I<DIR> persistente en la forma descrita en la " +"lista de I<OPTION>s\"." + +#. type: Plain text +#: en/persistence.conf.5:35 +msgid "" +"For each custom mount I<DIR> must be an absolute path that cannot contain " +"white spaces or the special . and .. path components, and cannot be /live " +"(or any of its sub-directories). Once activated all changes (file deletion, " +"creation and modification) to I<DIR> on the live file system are stored " +"persistently into a path equivalent to I<DIR> on the persistence media, " +"called the source directory. The default way to achieve persistence is to " +"simply bind-mount the corresponding source directory to I<DIR>, but this can " +"be changed through the use of I<OPTION>s." +msgstr "" +"Para cada uno de los montajes personalizados I<DIR> debe ser una ruta " +"absoluta que no puede contener espacios en blanco ni los componentes " +"especiales . y .. además no puede ser /live (o ninguno de sus sub-" +"directorios) ni /. Una vez activados, todos los cambios (creación, " +"modificación y borrado de ficheros) en I<DIR> en el sistema de ficheros en " +"vivo, son guardados de forma persistente en una ruta equivalente a I<DIR> en " +"el medio persistente, llamado el directorio de origen. La manera de " +"conseguir la persistencia por defecto es simplemente hacer un montaje " +"enlazado (bind-mount N.del T.) del directorio de origen al I<DIR>, aunque " +"esto se puede cambiar utilizando las opciones I<OPTION>s." + +#. type: Plain text +#: en/persistence.conf.5:48 +msgid "" +"All custom mounts will be done in an order so that no two custom mounts can " +"\"hide\" each other. For instance, if we have the two I<DIR>:s /a and /a/b " +"it would always be the case that /a is mounted first, then /a/b. This " +"remains true no matter how the lines in B<persistence.conf> are ordered, or " +"if several B<persistence.conf> files on different persistence media are used " +"at the same time. However, it is forbidden for custom mounts to have their " +"source directory inside the source directory of another custom mount, so the " +"source directories that are auto-created by live-boot does not support " +"\"nested\" mounts like /a and /a/b on the same media. In this case you must " +"use the B<source> option (see below) to make sure that they are stored in " +"different source directories." +msgstr "" +"Todos los montajes personalizados serán montados en orden de tal manera que " +"dos montajes personalizados no se \"escondan\" uno al otro. Por ejemplo, si " +"tenemos los dos I<DIR>:s /a y /a/b siempre /a será montado en primer lugar, " +"después /a/b. Esto siempre es así sin importar el orden en que aparezcan las " +"líneas en B<persistence.conf> o incluso si se usan varios ficheros " +"B<persistence.conf> en medios persistentes distintos al mismo tiempo. Sin " +"embargo, no está permitido que un montaje personalizado tenga su directorio " +"de origen en el interior del directorio de origen de otro montaje " +"personalizado, ya que los directorios de origen que live-boot crea " +"automáticamente no tienen soporte para montajes \"anidados\" como /a y /a/b " +"en el mismo medio. En este caso se debe usar la opción B<source> (ver " +"debajo) para asegurarse de que se almacenan en directorios de origen " +"diferentes." + +#. type: Plain text +#: en/persistence.conf.5:56 +msgid "" +"When a source directory doesn't exist on the persistence media for a certain " +"custom mount, it will be created automatically, and permissions and " +"ownership will be optimistically set according to I<DIR>. It will also be " +"bootstrapped by copying the contents of the I<DIR> into its source directory " +"on the persistence media. The bootstrapping will not happen when the B<link> " +"or B<union> options are used (see below)." +msgstr "" +"Cuando un directorio de origen no existe en los medios con persistencia para " +"un montaje personalizado en particular, se creará automáticamente, y los " +"permisos y sus propietarios se establecen de forma óptima de acuerdo a " +"I<DIR>. También se realiza una preinstalación (bootstrap N. del T.) copiando " +"los contenidos de I<DIR> en su directorio de origen en el medio con " +"persistencia. La preinstalación no se realiza cuando se utilizan las " +"opciones B<link> o B<union> (ver debajo)." + +#. type: Plain text +#: en/persistence.conf.5:60 +msgid "" +"Custom mounts defined in B<persistence.conf> accept the following options in " +"a comma-separated list:" +msgstr "" +"Los montajes personalizados definidos en B<persistence.conf> aceptan las " +"siguientes opciones en una lista separada por comas:" + +#. type: IP +#: en/persistence.conf.5:60 +#, no-wrap +msgid "B<source>=I<PATH>" +msgstr "B<source>=I<PATH>" + +#. type: Plain text +#: en/persistence.conf.5:69 +msgid "" +"When given, store the persistence changes into I<PATH> on the persistence " +"media. I<PATH> must be a relative path (with respect to the persistence " +"media root) that cannot contain white spaces or the special . or .. path " +"components, with the exception that it can be just . which means the " +"persistence media root. This option is mostly relevant if you want to nest " +"custom mounts, which otherwise would cause errors, or if you want to make " +"the whole media root available (similar to the now deprecated B<home-rw> " +"type of persistence)." +msgstr "" +"Cuando se especifica, se guardan los cambios persistentes en I<PATH> en los " +"medios con persistencia. I<PATH> debe ser una ruta relativa (respecto a la " +"raíz del medio persistente) que no puede contener espacios en blanco o los " +"componentes especiales . o .. con la excepción de que puede ser " +"simplemente . lo que significa la raíz del medio persistente. Esta opción es " +"relevante si se desea anidar montajes personalizados, lo que de otro modo " +"produciría errores, o si se desea hacer que toda la raíz del medio esté " +"disponible (de forma similar al ahora obsoleto tipo de persistencia B<home-" +"rw>)" + +#. type: Plain text +#: en/persistence.conf.5:72 +msgid "" +"The following options are mutually exclusive (only the last given one will " +"be in effect):" +msgstr "" +"Las siguientes opciones son mutuamente exclusivas (únicamente la última " +"tendrá efecto):" + +#. type: IP +#: en/persistence.conf.5:72 +#, no-wrap +msgid "B<bind>" +msgstr "B<bind>" + +#. type: Plain text +#: en/persistence.conf.5:74 +msgid "Bind-mount the source directory to I<DIR>. This is the default." +msgstr "" +"Montar de forma enlazada el directorio de origen a I<DIR>. Esto es así por " +"defecto." + +#. type: IP +#: en/persistence.conf.5:74 +#, no-wrap +msgid "B<link>" +msgstr "B<link>" + +#. type: Plain text +#: en/persistence.conf.5:83 +msgid "" +"Create the directory structure of the source directory on the persistence " +"media in I<DIR> and create symbolic links from the corresponding place in " +"I<DIR> to each file in the source directory. Existing files or directories " +"with the same name as any link will be overwritten. Note that deleting the " +"links in I<DIR> will only remove the link, not the corresponding file in the " +"source; removed links will reappear after a reboot. To permanently add or " +"delete a file one must do so directly in the source directory." +msgstr "" +"Crea la estructura de directorios del directorio de origen en el medio " +"persistente en I<DIR> y crea los enlaces simbólicos desde el lugar " +"correspondiente en I<DIR> a cada fichero en el directorio de origen. Si los " +"directorios o ficheros contienen el mismo nombre, al igual que cualquier " +"otro enlace, serán sobrescritos. Tener en cuenta que los enlaces en I<DIR> " +"sólo eliminan el enlace, no el fichero correspondiente en el directorio; los " +"enlaces eliminados reaparecerán tras reiniciar. Para añadir o eliminar un " +"fichero de forma permanente se debe hacer directamente en el directorio de " +"origen." + +#. type: Plain text +#: en/persistence.conf.5:91 +msgid "" +"Effectively B<link> will make only files already in the source directory " +"persistent, not any other files in I<DIR>. These files must be manually " +"added to the source directory to make use of this option, and they will " +"appear in I<DIR> in addition to files already there. This option is useful " +"when only certain files need to be persistent, not the whole directory " +"they're in, e.g. some configuration files in a user's home directory." +msgstr "" +"B<link> tan sólo hará persistentes los ficheros que ya se encuentran en el " +"directorio de origen, y no cualquier otro fichero en I<DIR>. Estos ficheros " +"deben ser añadidos manualmente en el directorio de origen pare utilizar esta " +"opción y ellos aparecerán en I<DIR> además de los ficheros que ya se " +"encuentran allí. Esta opción es útil cuando sólo es necesario hacer " +"persistentes ciertos ficheros y no todo el directorio en el que se " +"encuentran, por ejemplo, algunos ficheros de configuración en el directorio " +"home de un usuario." + +#. type: IP +#: en/persistence.conf.5:91 +#, no-wrap +msgid "B<union>" +msgstr "B<union>" + +#. type: Plain text +#: en/persistence.conf.5:100 +msgid "" +"Save the rw branch of a union on the persistence media, so only the changes " +"are stored persistently. This can potentially reduce disk usage compared to " +"bind-mounts, and will not hide files added to the read-only media. One " +"caveat is that the union will use I<DIR> from the image's read-only file " +"system, not the real file system root, so files created after boot (e.g. by " +"live-config) will not appear in the union. This option will use the union " +"file system specified by live-boot's B<union> boot parameter." +msgstr "" +"Guardar la rama rw de una unión en un medio persistente, de modo que los " +"cambios son guardados de forma persistente. Potencialmente esto puede " +"reducir el uso del disco comparado con los montajes enlazados, y no " +"esconderá los ficheros añadidos a los medios de sólo lectura. Un buen truco " +"es que la unión utilizará el I<DIR> del sistema de ficheros de sólo lectura " +"de la imagen y no de la raíz del sistema de ficheros real, por eso los " +"ficheros que se crean después del arranque (por ejemplo live-config) no " +"aparecerán en la unión. Esta opción utilizará el sistema de ficheros unión " +"especificado por el parámetro de arranque B<union> de live-boot." + +#. type: SH +#: en/persistence.conf.5:101 +#, no-wrap +msgid "DIRECTORIES" +msgstr "DIRECTORIOS" + +#. type: IP +#: en/persistence.conf.5:102 +#, no-wrap +msgid "B</live/persistence>" +msgstr "B</live/persistence>" + +#. type: Plain text +#: en/persistence.conf.5:108 +msgid "" +"All persistence volumes will be mounted here (in a directory corresponding " +"to the device name). The B<persistence.conf> file can easily be edited " +"through this mount, as well as any source directories (which is especially " +"practical for custom mounts using the B<link> option)." +msgstr "" +"Aquí se montarán todos los volumenes persistentes (en un directorio que " +"corresponda con el nombre del dispositivo). El fichero B<persistence.conf> " +"se puede editar fácilmente a través de este montaje, así como cualquier " +"directorio de origen (esto resulta especialmente práctico para los montajes " +"personalizados usando la opción B<link>)." + +#. type: SH +#: en/persistence.conf.5:109 +#, no-wrap +msgid "EXAMPLES" +msgstr "EJEMPLOS" + +#. type: Plain text +#: en/persistence.conf.5:114 +msgid "" +"Let's say we have a persistence volume I<VOL> with the a B<persistence.conf> " +"file containing the following four lines (numbered for ease of reference):" +msgstr "" +"Si tenemos un volumen con persistencia I<VOL> con un fichero B<persistence." +"conf>que contiene las cuatro lineas siguientes (numeradas para una mejor " +"referencia):" + +#. type: TP +#: en/persistence.conf.5:114 en/persistence.conf.5:128 +#, no-wrap +msgid "1." +msgstr "1." + +#. type: Plain text +#: en/persistence.conf.5:117 +msgid "/home/user1 link,source=config-files/user1" +msgstr "/home/user1 link,source=config-files/user1" + +#. type: TP +#: en/persistence.conf.5:117 en/persistence.conf.5:132 +#, no-wrap +msgid "2." +msgstr "2." + +#. type: Plain text +#: en/persistence.conf.5:120 +msgid "/home/user2 link,source=config-files/user2" +msgstr "/home/user2 link,source=config-files/user2" + +#. type: TP +#: en/persistence.conf.5:120 en/persistence.conf.5:136 +#, no-wrap +msgid "3." +msgstr "3." + +#. type: Plain text +#: en/persistence.conf.5:123 +msgid "/home" +msgstr "/home" + +#. type: TP +#: en/persistence.conf.5:123 en/persistence.conf.5:139 +#, no-wrap +msgid "4." +msgstr "4." + +#. type: Plain text +#: en/persistence.conf.5:126 +msgid "/usr union" +msgstr "/usr union" + +#. type: Plain text +#: en/persistence.conf.5:128 +msgid "The corresponding source directories are:" +msgstr "Los directorios de origen correspondientes son:" + +#. type: Plain text +#: en/persistence.conf.5:132 +msgid "" +"I<VOL>/config-files/user1 (but it would be I<VOL>/home/user1 without the " +"B<source> option)" +msgstr "" +"I<VOL>/config-files/user1 (pero sería I<VOL>/home/user1 sin la opción " +"B<source>)" + +#. type: Plain text +#: en/persistence.conf.5:136 +msgid "" +"I<VOL>/config-files/user2 (but it would be I<VOL>/home/user2 without the " +"B<source> option)" +msgstr "" +"I<VOL>/config-files/user2 (pero sería I<VOL>/home/user2 sin la opción " +"B<source>)" + +#. type: Plain text +#: en/persistence.conf.5:139 +msgid "I<VOL>/home" +msgstr "I<VOL>/home" + +#. type: Plain text +#: en/persistence.conf.5:142 +msgid "I<VOL>/usr" +msgstr "I<VOL>/usr" + +#. type: Plain text +#: en/persistence.conf.5:145 +msgid "" +"It was necessary to set the B<source> options for 1 and 2, since they " +"otherwise would become nested with 3's source, which is invalid." +msgstr "" +"Era necesario establecer las opciones B<source> para 1 y 2, ya que de otro " +"modo resultarían anidados con el origen de 3, lo cual no es válido." + +#. type: Plain text +#: en/persistence.conf.5:150 +msgid "" +"Line 3 will be taken care of before line 1 and 2 in order to prevent custom " +"mounts 1 and 2 from being hidden by 3. When line 3 is handled, I<VOL>/home " +"is simply bind-mounted on /home. To illustrate what happens for lines 1 and " +"2, let's say that the following files exist:" +msgstr "" +"La línea 3 será tenida en cuenta antes que las líneas 1 y 3 para evitar que " +"los montajes personalizados 1 y 2 resulten escondidos por 3. Cuando se " +"procesa la línea 3, I<VOL>/home es simplemente montado en unión a /home. " +"Para ilustrar lo que sucede con las líneas 1 y 2, digamos que los siguientes " +"ficheros existen: " + +#. type: TP +#: en/persistence.conf.5:150 +#, no-wrap +msgid "a." +msgstr "a." + +#. type: Plain text +#: en/persistence.conf.5:153 +msgid "I<VOL>/config-files/user1/.emacs" +msgstr "I<VOL>/config-files/user1/.emacs" + +#. type: TP +#: en/persistence.conf.5:153 +#, no-wrap +msgid "b." +msgstr "b." + +#. type: Plain text +#: en/persistence.conf.5:156 +msgid "I<VOL>/config-files/user2/.bashrc" +msgstr "I<VOL>/config-files/user2/.bashrc" + +#. type: TP +#: en/persistence.conf.5:156 +#, no-wrap +msgid "c." +msgstr "c." + +#. type: Plain text +#: en/persistence.conf.5:159 +msgid "I<VOL>/config-files/user2/.ssh/config" +msgstr "I<VOL>/config-files/user2/.ssh/config" + +#. type: Plain text +#: en/persistence.conf.5:161 +msgid "Then the following links and directories will be created:" +msgstr "Entonces se crearán los siguientes enlaces y directorios:" + +#. type: TP +#: en/persistence.conf.5:161 en/persistence.conf.5:164 +#: en/persistence.conf.5:170 +#, no-wrap +msgid "Link:" +msgstr "Enlace:" + +#. type: Plain text +#: en/persistence.conf.5:164 +msgid "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (from a)" +msgstr "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (de a)" + +#. type: Plain text +#: en/persistence.conf.5:167 +msgid "/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (from b)" +msgstr "/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (de b)" + +#. type: TP +#: en/persistence.conf.5:167 +#, no-wrap +msgid "Dir:" +msgstr "Directorio:" + +#. type: Plain text +#: en/persistence.conf.5:170 +msgid "/homea/user2/.ssh (from c)" +msgstr "/homea/user2/.ssh (de c)" + +#. type: Plain text +#: en/persistence.conf.5:174 +msgid "" +"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (from c)" +msgstr "" +"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (de c)" + +#. type: Plain text +#: en/persistence.conf.5:180 +msgid "" +"One could argue, though, that lines 1 and 2 in the example B<persistence." +"conf> file above are unnecessary since line 3 already would make all of /" +"home persistent. The B<link> option is intended for situations where you " +"don't want a complete directory to be persistent, only certain files in it " +"or its sub-directories." +msgstr "" +"Se podría decir, sin embargo, que las líneas 1 y 2 en el fichero de ejemplo " +"B<persistence.conf> anterior son innecesarias ya que la línea 3 ya crearía " +"el directorio /home persistente. La opción B<link> se utiliza en " +"situaciones en las que no se desea guardar de forma persistente un " +"directorio completo, sino únicamente algunos ficheros o subdirectorios " +"incluidos en él." + +#. type: Plain text +#: en/persistence.conf.5:189 +msgid "" +"Line 4 can be mounted at any time since its I<DIR> (and source directory) is " +"completely disjoint from all the other custom mounts. When mounted, I<VOL>/" +"usr will be the rw branch due to the B<union> option, and will only contain " +"the difference compared to the underlying read-only file system. Hence " +"packages could be installed into /usr with great space-wise efficiency " +"compared to bind-mounts, since in the latter case all of /usr would have to " +"be copied into I<VOL>/usr during the initial bootstrap." +msgstr "" +"La línea 4 se puede montar en cualquier momento ya que su I<DIR> (y su " +"directorio de origen) es completamente independiente de todos los otros " +"montajes personalizados. Cuando se monta, I<VOL>/usr será la rama rw debido " +"a la opción B<union> y tan sólo contendrá la diferencia en comparación con " +"el sistema de ficheros subyacente de sólo lectura. Por eso los paquetes " +"pueden ser instalados en /usr con gran eficiencia de espacio comparado con " +"los montajes enlazados, ya que en este último caso el contenido de /usr " +"tendría que ser copiado en I<VOL>/usr durante la preinstalación inicial." + +#. type: Plain text +#: en/persistence.conf.5:192 +msgid "I<live-boot>(7)" +msgstr "I<live-boot>(7)" diff --git a/system-boot/manpages/po/fr/live-boot.7.po b/system-boot/manpages/po/fr/live-boot.7.po new file mode 100644 index 0000000..f2c6e66 --- /dev/null +++ b/system-boot/manpages/po/fr/live-boot.7.po @@ -0,0 +1,1080 @@ +# French translations for live-boot manpages +# Copyright (C) 2015 Olivier Humbert <trebmuh@tuxfamily.org> +# This file is distributed under the same license as the live-boot package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-boot 5.0~a5-1\n" +"POT-Creation-Date: 2015-09-22 10:09+0200\n" +"PO-Revision-Date: 2015-09-21 14:10+0200\n" +"Last-Translator: Olivier Humbert <trebmuh@tuxfamily.org>\n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "LIVE-BOOT" +msgstr "LIVE-BOOT" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "2015-09-22" +msgstr "22.09.2015" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "5.0~a5-1" +msgstr "5.0~a5-1" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "Live Systems Project" +msgstr "Projet Live Systems" + +#. type: SH +#: en/live-boot.7:3 en/persistence.conf.5:3 +#, no-wrap +msgid "NAME" +msgstr "NOM" + +#. type: Plain text +#: en/live-boot.7:5 +msgid "B<live-boot> - System Boot Components" +msgstr "B<live-boot> - Composants de démarrage du système" + +#. type: SH +#: en/live-boot.7:6 en/persistence.conf.5:7 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPTION" + +#. type: Plain text +#: en/live-boot.7:8 +msgid "" +"B<live-boot> contains the components that configure a live system during the " +"boot process (early userspace)." +msgstr "" +"B<live-boot> comprend les composants qui configure un système live pendant " +"le processus de démarrage (espace utilisateur primitif)." + +#. FIXME +#. type: Plain text +#: en/live-boot.7:11 +msgid "" +"live-boot is a hook for the initramfs-tools, used to generate a initramfs " +"capable to boot live systems, such as those created by I<live-helper>(7). " +"This includes the Live systems ISOs, netboot tarballs, and usb stick images." +msgstr "" +"live-boot est un hameçon (hook) pour initramfs-tools, utilisé pour générer " +"un initramfs capable de démarrer les systèmes live, comme ceux créés par " +"I<live-helper>(7). Ceci comprends les ISOs Live Systems, les paquets tar de " +"démarrage par le net (netboot), et les images de clef USB." + +#. FIXME +#. type: Plain text +#: en/live-boot.7:14 +msgid "" +"At boot time it will look for a (read-only) medium containing a \"/live\" " +"directory where a root filesystems (often a compressed filesystem image like " +"squashfs) is stored. If found, it will create a writable environment, using " +"aufs, to boot the system from." +msgstr "" +"Au moment du démarrage, il recherchera un médium (en lecture seule) " +"contenant un répertoire \"/live\" où est placé un système de fichier racine " +"(souvent une image d'un système de fichier compressé comme squashfs). Si " +"ceci est trouvé, il créera un environnement enregistrable en utilisant aufs, " +"pour démarrer le système à partir de lui." + +#. type: SH +#: en/live-boot.7:15 +#, no-wrap +msgid "CONFIGURATION" +msgstr "CONFIGURATION" + +#. type: Plain text +#: en/live-boot.7:17 +msgid "" +"B<live-boot> can be configured through a boot parameter or a configuration " +"file." +msgstr "" +"B<live-boot> peut être configuré à travers un paramètre de démarrage ou un " +"fichier de configuration." + +#. type: Plain text +#: en/live-boot.7:19 +msgid "" +"To configure the live-boot parameters used by default in a live image, see " +"the --bootappend-live option in the I<lb_config>(1) manual page." +msgstr "" +"Pour configurer les paramètres de live-boot utilisés par défaut dans l'image " +"live, voir l'option --bootappend-live dans la page de manuel I<lb_config>(1)." + +#. type: SS +#: en/live-boot.7:20 +#, no-wrap +msgid "Kernel Parameters" +msgstr "Paramètres du noyau" + +#. type: Plain text +#: en/live-boot.7:22 +msgid "" +"B<live-boot> is only activated if 'boot=live' was used as a kernel parameter." +msgstr "" +"B<live-boot> est activé uniquement si 'boot=live' a été utilisé en tant que " +"paramètre du noyau." + +#. type: Plain text +#: en/live-boot.7:24 +msgid "" +"In addition, there are some more boot parameters to influence the behaviour, " +"see below." +msgstr "" +"De plus, il y a plusieurs autres paramètres de démarrage pour influencer le " +"comportement, voir ci-dessous." + +#. type: SS +#: en/live-boot.7:25 +#, no-wrap +msgid "Configuration Files" +msgstr "Fichiers de configurations" + +#. type: Plain text +#: en/live-boot.7:27 +msgid "" +"B<live-boot> can be configured (but not activated) through configuration " +"files. Those files can be placed either in the root filesystem itself (/etc/" +"live/boot.conf, /etc/live/boot/*), or on the live media (live/boot.conf, " +"live/boot/*)." +msgstr "" +"B<live-boot> peut être configuré (mais pas activé) à travers des fichiers de " +"configuration. Ces fichiers peuvent être placés soit dans le système de " +"fichier racine lui-même (/etc/live/boot.conf, /etc/live/boot/*), ou sur le " +"média live (live/boot.conf, live/boot/*)." + +#. type: SH +#: en/live-boot.7:28 en/persistence.conf.5:57 +#, no-wrap +msgid "OPTIONS" +msgstr "OPTIONS" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:31 +msgid "B<live-boot> currently features the following parameters." +msgstr "B<live-boot> fourni actuellement les paramètres suivants." + +#. type: IP +#: en/live-boot.7:31 +#, no-wrap +msgid "B<access>=I<ACCESS>" +msgstr "B<access>=I<ACCESS>" + +#. type: Plain text +#: en/live-boot.7:33 +msgid "" +"Set the accessibility level for physically or visually impaired users. " +"ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, " +"v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, " +"m2=moderate motor difficulties." +msgstr "" +"Met en place le niveau d'accessibilité pour les utilisateurs physiquement ou " +"visuellement handicapés. ACCESS doit être un des v1, v2, v3, m1, or m2. " +"v1=handicap visuel faible, v2=handicap visuel modéré, v3=cessité visuelle, " +"m1=difficultés moteur faibles m2=difficultés moteur modérées." + +#. type: IP +#: en/live-boot.7:33 +#, no-wrap +msgid "B<console>=I<TTY,SPEED>" +msgstr "B<console>=I<TTY,SPEED>" + +#. type: Plain text +#: en/live-boot.7:35 +msgid "" +"Set the default console to be used with the \"live-getty\" option. Example: " +"\"console=ttyS0,115200\"" +msgstr "" +"Paramètre la console par défaut étant utilisée avec l'option \"live-getty\". " +"Exemple : \"console=ttyS0,115200\"." + +#. type: IP +#: en/live-boot.7:35 +#, no-wrap +msgid "B<debug>" +msgstr "B<debug>" + +#. type: Plain text +#: en/live-boot.7:37 +msgid "Makes initramfs boot process more verbose." +msgstr "Rend le processus de démarrage initramfs plus verbeux." + +#. type: Plain text +#: en/live-boot.7:39 +msgid "Use: debug=1" +msgstr "Utiliser : debug=1" + +#. type: Plain text +#: en/live-boot.7:41 +msgid "Without setting debug to a value the messages may not be shown." +msgstr "" +"Si debug n'est pas paramétré à une valeur, les messages pourraient ne pas " +"être affichés. " + +#. type: IP +#: en/live-boot.7:41 +#, no-wrap +msgid "B<fetch>=I<URL>" +msgstr "B<fetch>=I<URL>" + +#. type: IP +#: en/live-boot.7:42 +#, no-wrap +msgid "B<httpfs>=I<URL>" +msgstr "B<httpfs>=I<URL>" + +#. type: Plain text +#: en/live-boot.7:50 +msgid "" +"Another form of netboot by downloading a squashfs image from a given URL. " +"The fetch method copies the image to RAM and the httpfs method uses FUSE and " +"httpfs2 to mount the image in place. Copying to RAM requires more memory and " +"might take a long time for large images. However, it is more likely to work " +"correctly because it does not require networking afterwards and the system " +"operates faster once booted because it does not require to contact the " +"server anymore." +msgstr "" +"Une autre forme de démarrage par le net en téléchargeant une image squashfs " +"depuis une URL donnée. La méthode fetch copie l'image dans la RAM et la " +"méthode httpfs utilise FUSE et httpfs2 pour monter l'image en place. La " +"copier dans la RAM nécessite davantage de mémoire et pourrait prendre du " +"temps pour des images volumineuses. Ceci dit, ça devrait mieux fonctionner " +"correctement car cela ne nécessite pas de réseau ensuite et le système " +"fonctionne plus vite une fois démarré car il n'a plus besoin de contacter un " +"serveur." + +#. type: Plain text +#: en/live-boot.7:52 +msgid "" +"Due to current limitations in busybox's wget and DNS resolution, an URL can " +"not contain a hostname but an IP address only." +msgstr "" +"À cause des limitations actuelles de la version wget de busybox et de sa " +"résolution DNS, une URL ne peut pas contenir un hostname mais uniquement une " +"adresse IP." + +#. type: Plain text +#: en/live-boot.7:54 +msgid "Not working: http://example.com/path/to/your_filesystem.squashfs" +msgstr "" +"Ne fonctionne pas : http://example.com/path/to/your_filesystem.squashfs" + +#. type: Plain text +#: en/live-boot.7:56 +msgid "Working: http://1.2.3.4/path/to/your_filesystem.squashfs" +msgstr "Fonctionne : http://1.2.3.4/path/to/your_filesystem.squashfs" + +#. type: Plain text +#: en/live-boot.7:58 +msgid "" +"Also note that therefore it's currently not possible to fetch an image from " +"a name-based virtualhost of an httpd if it is sharing the IP address with " +"the main httpd instance." +msgstr "" +"Notez également que par conséquent, il n'est actuellement pas possible " +"d'attraper une image depuis un virtualhost basé-sur-un-nom d'un httpd s'il " +"partage l'adresse IP avec l'instance httpd principale." + +#. type: Plain text +#: en/live-boot.7:60 +msgid "You may also use the live ISO image in place of the squashfs image." +msgstr "" +"Vous voudrez également utiliser l'image ISO live à la place de l'image " +"squashfs." + +#. type: IP +#: en/live-boot.7:60 +#, no-wrap +msgid "B<iscsi>=I<server-ip[,server-port];target-name>" +msgstr "B<iscsi>=I<server-ip[,server-port];target-name>" + +#. type: Plain text +#: en/live-boot.7:62 +msgid "" +"Boot from an iSCSI target that has an ISO or disk live image as one of its " +"LUNs. The specified target is searched for a LUN which looks like a live " +"medium. If you use the B<iscsitarget> software iSCSI target solution your " +"ietd.conf might look like this:" +msgstr "" +"Démarrer depuis une cible iSCSI qui a une image ISO ou disque en tant que " +"l'un de ces LUNs. La cible spécifiée est recherchée pour un LUN qui " +"ressemble à un medium live medium. Si vous utilisez la solution cible iSCSI " +"logiciel B<iscsitarget> , votre ietd.conf devrait ressembler à ça :" + +#. type: Plain text +#: en/live-boot.7:64 +msgid "# The target-name you specify in the iscsi= parameter" +msgstr "# Le nom-cible que vous spécifiez dans le paramètre iscsi=" + +#. type: Plain text +#: en/live-boot.7:69 +#, no-wrap +msgid "" +"Target E<lt>target-nameE<gt>\n" +" Lun 0 Path=E<lt>path-to-your-live-image.isoE<gt>,Type=fileio,IOMode=ro\n" +" # If you want to boot multiple machines you might want to look at tuning some parameters like\n" +" # Wthreads or MaxConnections\n" +msgstr "" +"Cible E<lt>target-nameE<gt>\n" +" Lun 0 Path=E<lt>chemin-vers-votre-image-live.isoE<gt>,Type=fileio,IOMode=ro\n" +" # Si vous voulez démarrez de multiples machines, vous pourriez vouloir jeter un oeil aux réglages de certains paramètres comme\n" +" # Wthreads ou MaxConnections\n" + +#. type: IP +#: en/live-boot.7:69 +#, no-wrap +msgid "B<findiso>=I</PATH/TO/IMAGE>" +msgstr "B<findiso>=I</PATH/TO/IMAGE>" + +#. type: Plain text +#: en/live-boot.7:71 +msgid "" +"Look for the specified ISO file on all disks where it usually looks for the ." +"squashfs file (so you don't have to know the device name as in fromiso=....)." +msgstr "" +"Regarder pour le fichier ISO spécifié sur tous les disques quandil regarde " +"habituellement pour le fichier squashfs (donc vous n'avez pas besoin de " +"connaître le nom de périphérique comme dans fromiso=....)." + +#. type: IP +#: en/live-boot.7:71 +#, no-wrap +msgid "B<fromiso>=I</PATH/TO/IMAGE>" +msgstr "B<fromiso>=I</PATH/TO/IMAGE>" + +#. type: Plain text +#: en/live-boot.7:73 +msgid "" +"Allows to use a filesystem from within an ISO image that's available on live-" +"media." +msgstr "" +"Permet d'utiliser un système de fichier venant de l'intérieur d'une image " +"ISO qui est disponible sur live-media." + +#. type: IP +#: en/live-boot.7:73 +#, no-wrap +msgid "B<ignore_uuid>" +msgstr "B<ignore_uuid>" + +#. type: Plain text +#: en/live-boot.7:75 +msgid "" +"Do not check that any UUID embedded in the initramfs matches the discovered " +"medium. live-boot may be told to generate a UUID by setting " +"LIVE_GENERATE_UUID=1 when building the initramfs." +msgstr "" +"Ne pas vérifierque chaque UUID embarqué dans le initramfs correspond au " +"medium découvert. On peut dire à live-boot de générer un UUID en paramétrant " +"LIVE_GENERATE_UUID=1 lors de la construction de l'initramfs." + +#. type: IP +#: en/live-boot.7:75 +#, no-wrap +msgid "B<verify-checksums>" +msgstr "B<verify-checksums>" + +#. type: Plain text +#: en/live-boot.7:77 +msgid "" +"If specified, an MD5 sum is calculated on the live media during boot and " +"compared to the value found in md5sum.txt found in the root directory of the " +"live media." +msgstr "" +"Si spécifié, une somme MD5 est calculée sur le média live pendant le " +"démarragea et est comparée à une valeur présente dans md5sum.txt dans le " +"répertoire racine du média live." + +#. type: IP +#: en/live-boot.7:77 +#, no-wrap +msgid "B<ip>=[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>] [,[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>]]" +msgstr "B<ip>=[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>] [,[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>]]" + +#. type: Plain text +#: en/live-boot.7:79 +msgid "" +"Let you specify the name(s) and the options of the interface(s) that should " +"be configured at boot time. Do not specify this if you want to use dhcp " +"(default). It will be changed in a future release to mimick official kernel " +"boot param specification (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::" +"eth0,:::::eth1:dhcp)." +msgstr "" +"Vous laisse spécifier le(s) nom(s) et les options de l'(les) interface(s) " +"qui devraient être configurées au moment du démarrage. Ne pas spécifier ceci " +"si vous voulez utiliser dhcp (défaut). Ceci sera modifié dans une version " +"future pour refléter la spécification des paramètres de démarrage du noyau " +"officiel (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp)." + +#. type: IP +#: en/live-boot.7:79 +#, no-wrap +msgid "B<ip>=[I<frommedia>]" +msgstr "B<ip>=[I<frommedia>]" + +#. type: Plain text +#: en/live-boot.7:81 +msgid "" +"If this variable is set, dhcp and static configuration are just skipped and " +"the system will use the (must be) media-preconfigured /etc/network/" +"interfaces instead." +msgstr "" +"Si cette variable est paramétrée, dhcp et la configuration statique sont " +"simplement sautées et le système utilisera à la place les interfaces (qui " +"doivent être) préconfigurées /etc/network/." + +#. type: IP +#: en/live-boot.7:81 +#, no-wrap +msgid "{B<live-media>|B<bootfrom>}=I<DEVICE>" +msgstr "{B<live-media>|B<bootfrom>}=I<DEVICE>" + +#. type: Plain text +#: en/live-boot.7:83 +msgid "" +"If you specify one of this two equivalent forms, live-boot will first try to " +"find this device for the \"/live\" directory where the read-only root " +"filesystem should reside. If it did not find something usable, the normal " +"scan for block devices is performed." +msgstr "" +"Si vous spécifiez une des ces deux formes équivalentes, live-boot essaiera " +"en premier de trouver ce périphérique le répertoire \"/live\" où le système " +"de fichier racine en lecture seule devrait être. Si il ne trouve pas quelque " +"chose d'utilisable, le scan normal pour les périphériques blocks est " +"effectué." + +#. type: Plain text +#: en/live-boot.7:85 +msgid "" +"Instead of specifing an actual device name, the keyword 'removable' can be " +"used to limit the search of acceptable live media to removable type only. " +"Note that if you want to further restrict the media to usb mass storage " +"only, you can use the 'removable-usb' keyword." +msgstr "" +"Plutôt que de spécifié un nom de périphérique actuel, le mot-clef " +"'removable' peut être utilisé pour limiter la recherche des médias live " +"acceptables au type removable uniquement. Notez que si vous voulez " +"restreindre d'avantage les médias aux seuls périphériques de stockage USB, " +"vous pouvez utiliser le mot-clef 'removable-usb'." + +#. type: IP +#: en/live-boot.7:85 +#, no-wrap +msgid "{B<live-media-encryption>|B<encryption>}=I<TYPE>" +msgstr "{B<live-media-encryption>|B<encryption>}=I<TYPE>" + +#. type: Plain text +#: en/live-boot.7:87 +msgid "" +"live-boot will mount the encrypted rootfs TYPE, asking the passphrase, " +"useful to build paranoid live systems :-). TYPE supported so far is \"aes\" " +"for loop-aes encryption type." +msgstr "" +"live-boot montera le TYPE rootfs encrypté, en demandant une phrase-mot-de-" +"passe, utile pour construire des systèmes live paranoïaques :-).Le TYPE " +"supporté pour l'instant est \"aes\" pour un type d'encryptage loop-aes. " + +#. type: IP +#: en/live-boot.7:87 +#, no-wrap +msgid "B<live-media-offset>=I<BYTES>" +msgstr "B<live-media-offset>=I<BYTES>" + +#. type: Plain text +#: en/live-boot.7:89 +msgid "" +"This way you could tell live-boot that your image starts at offset BYTES in " +"the above specified or autodiscovered device, this could be useful to hide " +"the live system ISO or image inside another ISO or image, to create \"clean" +"\" images." +msgstr "" +"De cette façon, vous pouvez dire à live-boot que votre image démarre à " +"l'offset BYTES dans le périphérique spécifié ci-dessus ou auto-découvert, " +"qui pourra être utile pour cacher l'ISO du système live ou l'image à " +"l'intérieur d'une autr ISO ou image, pour créer des image \"propre\"." + +#. type: IP +#: en/live-boot.7:89 +#, no-wrap +msgid "B<live-media-path>=I<PATH>" +msgstr "B<live-media-path>=I<PATH>" + +#. type: Plain text +#: en/live-boot.7:91 +msgid "" +"Sets the path to the live filesystem on the medium. By default, it is set to " +"'/live' and you should not change that unless you have customized your media " +"accordingly." +msgstr "" +"Paramètre le chemin vers le système de fichier live sur le médium. Par " +"défaut, il est paramétré sur '/live' et vous ne devriez pas changer ceci " +"sauf si vous avez personnalisé votre média en conséquence." + +#. type: IP +#: en/live-boot.7:91 +#, no-wrap +msgid "B<live-media-timeout>=I<SECONDS>" +msgstr "B<live-media-timeout>=I<SECONDS>" + +#. type: Plain text +#: en/live-boot.7:93 +msgid "" +"Set the timeout in seconds for the device specified by \"live-media=\" to " +"become ready before giving up." +msgstr "" +"Paramètre le temps d'expiration en secondes pour le périphérique spécifié " +"par \"live-media=\" à être prêt avant de laisser tomber." + +#. type: IP +#: en/live-boot.7:93 +#, no-wrap +msgid "B<module>=I<NAME>" +msgstr "B<module>=I<NAME>" + +#. type: Plain text +#: en/live-boot.7:95 +msgid "" +"Instead of using the default optional file \"filesystem.module\" (see below) " +"another file could be specified without the extension \".module\"; it should " +"be placed on \"/live\" directory of the live medium." +msgstr "" +"Plutôt que d'utiliser le fichier optionnel par défaut \"filesystem.module" +"\" (voir ci-dessous), un autre fichier peut être spécifié sans l'extension " +"\".module\"; il devra être placé dans le répertoire \"/live\" du médium live." + +#. type: IP +#: en/live-boot.7:95 +#, no-wrap +msgid "B<netboot>[=nfs|cifs]" +msgstr "B<netboot>[=nfs|cifs]" + +#. type: Plain text +#: en/live-boot.7:97 +msgid "" +"This tells live-boot to perform a network mount. The parameter \"nfsroot=" +"\" (with optional \"nfsopts=\"), should specify where is the location of the " +"root filesystem. With no args, will try cifs first, and if it fails nfs." +msgstr "" +"Ceci dit à live-boot d'effectuer un montage réseau. Le paramètre \"nfsroot=" +"\"(avec l'optionnel \"nfsopts=\"), devrait spécifier où est l'emplacement du " +"système de fichier racine. En l'absence d'arguments, il essaiera cifs en " +"premier puis, s'il échoue, nfs." + +#. type: IP +#: en/live-boot.7:97 +#, no-wrap +msgid "B<nfsopts>=" +msgstr "B<nfsopts>=" + +#. type: Plain text +#: en/live-boot.7:99 +msgid "This lets you specify custom nfs options." +msgstr "Ceci vous permet de spécifier des options nfs personnalisées." + +#. type: IP +#: en/live-boot.7:99 +#, no-wrap +msgid "B<nofastboot>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:101 +msgid "" +"This parameter disables the default disabling of filesystem checks in /etc/" +"fstab. If you have static filesystems on your harddisk and you want them to " +"be checked at boot time, use this parameter, otherwise they are skipped." +msgstr "" +"Ce paramètre désactive la désactivation par défaut du système de fichier " +"dans /etc/fstab. Si vous avez des système de fichier statiques sur votre " +"disque dur et vous voulez qu'ils soient vérifiés au moment du démarrage, " +"utilisez ce paramètre, sinon ils sont sautés." + +#. type: IP +#: en/live-boot.7:101 +#, no-wrap +msgid "B<nopersistence>" +msgstr "B<nopersistence>" + +#. type: Plain text +#: en/live-boot.7:103 +msgid "" +"disables the \"persistence\" feature, useful if the bootloader (like " +"syslinux) has been installed with persistence enabled." +msgstr "" +"désactive la fonctionnalité \"persistance\", utile si le bootloader (comme " +"syslinux) a été installé avec la persistance activée." + +#. type: IP +#: en/live-boot.7:103 en/live-boot.7:125 +#, no-wrap +msgid "B<noeject>" +msgstr "B<noeject>" + +#. type: Plain text +#: en/live-boot.7:105 +msgid "Do not prompt to eject the live medium." +msgstr "Ne pas demander pour l'éjection du médium live." + +#. type: IP +#: en/live-boot.7:105 +#, no-wrap +msgid "B<ramdisk-size>" +msgstr "B<ramdisk-size>" + +#. type: Plain text +#: en/live-boot.7:107 +msgid "" +"This parameter allows to set a custom ramdisk size (it's the '-o size' " +"option of tmpfs mount). By default, there is no ramdisk size set, so the " +"default of mount applies (currently 50% of available RAM). Note that this " +"option has currently no effect when booting with toram." +msgstr "" +"Ce paramètre permet de paramétrer un taille de ramdisk personnalisée (c'est " +"l'option '-o size' du montage tmpfs). Par défaut, il n'y a pas de taille de " +"ramdisk paramétrée, donc le montage par défaut s'applique (en fait : 50% de " +"la RAM disponible). Notez que cette option n'a actuellement aucun effet lors " +"d'un démarrage avec toram." + +#. type: IP +#: en/live-boot.7:107 +#, no-wrap +msgid "B<swap=true>" +msgstr "B<swap=true>" + +#. type: Plain text +#: en/live-boot.7:109 +msgid "This parameter enables usage of local swap partitions." +msgstr "Ce paramètre active l'utilisation de partition swap locales." + +#. type: IP +#: en/live-boot.7:109 +#, no-wrap +msgid "B<persistence>" +msgstr "B<persistence>" + +#. type: Plain text +#: en/live-boot.7:111 +msgid "" +"live-boot will probe devices for persistence media. These can be partitions " +"(with the correct GPT name), filesystems (with the correct label) or image " +"files (with the correct file name). Overlays are labeled/named \"persistence" +"\" (see I<persistence.conf>(5)). Overlay image files are named \"persistence" +"\"." +msgstr "" +"live-boot sondera les périphériques pour les média de persistance. Ceux-ci " +"pourront être des partitions (avec un nom GPT correct), des systèmes de " +"fichier (avec une étiquette correcte) ou des fichiers image (avec un nom de " +"fichier correct). Les récouvrements sont étiquettés/nommés \"persistence" +"\" (voir I<persistence.conf>(5)). Les fichiers images de recouvrement sont " +"nommés \"persistence\"." + +#. type: IP +#: en/live-boot.7:111 +#, no-wrap +msgid "B<persistence-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "B<persistence-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" + +#. type: Plain text +#: en/live-boot.7:113 +msgid "" +"This option determines which types of encryption that we allow to be used " +"when probing devices for persistence media. If \"none\" is in the list, we " +"allow unencrypted media; if \"luks\" is in the list, we allow LUKS-encrypted " +"media. Whenever a device containing encrypted media is probed the user will " +"be prompted for the passphrase. The default value is \"none\"." +msgstr "" +"Cette option détermine quels sont les types d'encryptage que nous autorisons " +"à être utilisés lors du sondage des périphérique pour les médias de " +"persistance. Si \"none\" (aucun) n'est dans la liste, nous autorisons les " +"médias non-cryptés; si \"luks\" est dans la liste, nous autorisons les " +"médias encryptés-LUKS. À chaque fois qu'un périphérique contenant un média " +"encrypté est sondé, il sera demandé la phrase-mot-de-passe à l'utilisateur. " +"La valeur par défaut est \"none\"." + +#. type: IP +#: en/live-boot.7:113 +#, no-wrap +msgid "B<persistence-media>={I<removable>|I<removable-usb>}" +msgstr "B<persistence-media>={I<removable>|I<removable-usb>}" + +#. type: Plain text +#: en/live-boot.7:115 +msgid "" +"If you specify the keyword 'removable', live-boot will try to find " +"persistence partitions on removable media only. Note that if you want to " +"further restrict the media to usb mass storage only, you can use the " +"'removable-usb' keyword." +msgstr "" +"Si vous spécifiez le mot-clef 'removable', live-boot essaiera de trouver les " +"partitions de persistance sur les périphériques enlevables uniquement. Notez " +"que si vous voulez davantage restreindre les médias à des périphériques de " +"stockage de masse USB uniquement, vous pouvez utiliser le mot-clef " +"'removable-usb'." + +#. type: IP +#: en/live-boot.7:115 +#, no-wrap +msgid "B<persistence-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "B<persistence-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" + +#. type: Plain text +#: en/live-boot.7:117 +msgid "" +"This option determines which types of persistence media we allow. If " +"\"overlay\" is in the list, we consider overlays (i.e. \"live-rw\" and " +"\"home-rw\"). The default is \"overlay\"." +msgstr "" +"Cette option détermine quels types de média de persistance nous autorisons " +"If \"overlay\" est dans la liste, nous considérons les récouvrements (i.e. " +"\"live-rw\" et \"home-rw\"). Le défaut est \"overlay\"." + +#. type: IP +#: en/live-boot.7:117 +#, no-wrap +msgid "B<persistence-path>=I<PATH>" +msgstr "B<persistence-path>=I<PATH>" + +#. type: Plain text +#: en/live-boot.7:119 +msgid "" +"live-boot will look for persistency files in the root directory of a " +"partition, with this parameter, the path can be configured so that you can " +"have multiple directories on the same partition to store persistency files." +msgstr "" +"live-boot recherchera pour des fichiers de persistance dans le répertoire " +"racine d'une partition, avec ce paramètre, le chemin pourra être configuré " +"de manière à ce que vous puissiez avoir des répertoires multiples sur la " +"même partition pour emmagasiner des fichiers de persistance." + +#. type: IP +#: en/live-boot.7:119 +#, no-wrap +msgid "B<persistence-read-only>" +msgstr "B<persistence-read-only>" + +#. type: Plain text +#: en/live-boot.7:121 +msgid "" +"Filesystem changes are not saved back to persistence media. In particular, " +"overlays and netboot NFS mounts are mounted read-only." +msgstr "" +"Les modifications de système de fichier ne sont pas sauvegardés dans le " +"média de persistance. En particulier, les montages NFS netboot et overlays " +"sont montés en lecture-seule. " + +#. type: IP +#: en/live-boot.7:121 +#, no-wrap +msgid "B<persistence-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "B<persistence-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" + +#. type: Plain text +#: en/live-boot.7:123 +msgid "" +"This option determines which types of persistence storage to consider when " +"probing for persistence media. If \"filesystem\" is in the list, filesystems " +"with matching labels will be used; if \"file\" is in the list, all " +"filesystems will be probed for archives and image files with matching " +"filenames. The default is \"file,filesystem\"." +msgstr "" +"Cette option détermine quels sont les types de stockage de persistance à " +"considérer lors d'un sondage pour le média de persistance. Si \"filesystem\" " +"est dans la liste, les systèmes de fichier avec des étiquettes " +"correspondantes seront utilisés; si \"file\" est dans la liste, tous les " +"systèmes de fichier seront sondés pour archives et fichiers image avec des " +"noms de fichier correspondant. Le défaut est \"file,filesystem\"." + +#. type: IP +#: en/live-boot.7:123 +#, no-wrap +msgid "B<persistence-label>=I<LABEL>" +msgstr "B<persistence-label>=I<LABEL>" + +#. type: Plain text +#: en/live-boot.7:125 +msgid "" +"live-boot will use the name \"LABEL\" instead of \"persistence\" when " +"searching for persistent storage. LABEL can be any valid filename, partition " +"label, or GPT name." +msgstr "" +"live-boot utilisera le nom \"LABEL\" à la place de \"persistence\" lorsqu'il " +"cherchera pour un stockage persistant. LABEL peut être tout nom de fichier " +"valide, étiquette de partition ou nom GPT." + +#. type: Plain text +#: en/live-boot.7:127 +msgid "" +"This option causes live-boot to reboot without attempting to eject the media " +"and without asking the user to remove the boot media." +msgstr "" +"Cette option fait en sorte que live-boot redémarre sans essayer d'éjecter le " +"média et sans demander à l'utilisateur de retirer le média de démarrage." + +#. type: IP +#: en/live-boot.7:127 +#, no-wrap +msgid "B<showmounts>" +msgstr "B<showmounts>" + +#. type: Plain text +#: en/live-boot.7:129 +msgid "" +"This parameter will make live-boot to show on \"/\" the ro filesystems " +"(mostly compressed) on \"/lib/live\". This is not enabled by default because " +"could lead to problems by applications like \"mono\" which store binary " +"paths on installation." +msgstr "" +"Avec ce paramètre, live-boot montrera sur \"/\" les systèmes de fichier ro " +"(essentiellement compressés) sur \"/lib/live\". Ceci n'est pas activé par " +"défaut car ça pourrait conduire à des problèmes avec des applications comme " +"\"mono\" qui stocke des chemins binaires lors de l'installation." + +#. type: IP +#: en/live-boot.7:129 +#, no-wrap +msgid "B<silent>" +msgstr "B<silent>" + +#. type: Plain text +#: en/live-boot.7:131 +msgid "" +"If you boot with the normal quiet parameter, live-boot hides most messages " +"of its own. When adding silent, it hides all." +msgstr "" +"Si vous démarrez avec le paramètre quiet normal, live-boot caches la plupart " +"de ses messages. Lorsque de l'ajout de silent, il cache tout." + +#. type: IP +#: en/live-boot.7:131 +#, no-wrap +msgid "B<todisk>=I<DEVICE>" +msgstr "B<todisk>=I<DEVICE>" + +#. type: Plain text +#: en/live-boot.7:133 +msgid "" +"Adding this parameter, live-boot will try to copy the entire read-only media " +"to the specified device before mounting the root filesystem. It probably " +"needs a lot of free space. Subsequent boots should then skip this step and " +"just specify the \"live-media=DEVICE\" boot parameter with the same DEVICE " +"used this time." +msgstr "" +"À l'ajout de ce paramètre, live-boot essaiera de copier le média en lecture-" +"seule entièrement vers le périphérique spécifié avant de monter le système " +"de fichier racine. Il nécessite probablement un bon paquet d'espace libre. " +"Les démarrages suivant devraient alors sauter cette étape et simplement " +"spécifier le paramètre de démarrage \"live-media=DEVICE\" avec le même " +"DEVICE utilisé cette fois." + +#. type: IP +#: en/live-boot.7:133 +#, no-wrap +msgid "B<toram>" +msgstr "B<toram>" + +#. type: Plain text +#: en/live-boot.7:135 +msgid "" +"Adding this parameter, live-boot will try to copy the whole read-only media " +"to the computer's RAM before mounting the root filesystem. This could need a " +"lot of ram, according to the space used by the read-only media." +msgstr "" +"À l'ajout de ce paramètre, live-boot essaiera de copier l'entiereté du média " +"en lecture-seule vers la RAM de l'ordinateur avant de monter le système de " +"fichier racine. Ceci pourrait nécessiter beaucoup de RAM, en fonction de " +"l'espace utilisé par le média en lecture-seule." + +#. type: IP +#: en/live-boot.7:135 +#, no-wrap +msgid "B<union>=aufs|overlay" +msgstr "B<union>=aufs|overlay" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:138 +msgid "" +"By default, live-boot uses aufs. With this parameter, you can switch to " +"overlay." +msgstr "" +"Par défaut, live-boot utilise aufs. Avec ce paramètre, vous pouvez changer " +"ceci pour overlay." + +#. FIXME +#. type: SH +#: en/live-boot.7:140 +#, no-wrap +msgid "FILES (old)" +msgstr "FICHIERS (ancien)" + +#. type: IP +#: en/live-boot.7:141 +#, no-wrap +msgid "B</etc/live.conf>" +msgstr "B</etc/live.conf>" + +#. type: Plain text +#: en/live-boot.7:143 +msgid "" +"Some variables can be configured via this config file (inside the live " +"system)." +msgstr "" +"Certaines variables peuvent être configurées à l'aide de ce fichier de " +"configuration (à l'intérieur du système live)." + +#. type: IP +#: en/live-boot.7:143 +#, no-wrap +msgid "B<live/filesystem.module>" +msgstr "B<live/filesystem.module>" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:146 +msgid "" +"This optional file (inside the live media) contains a list of white-space or " +"carriage-return-separated file names corresponding to disk images in the \"/" +"live\" directory. If this file exists, only images listed here will be " +"merged into the root aufs, and they will be loaded in the order listed here. " +"The first entry in this file will be the \"lowest\" point in the aufs, and " +"the last file in this list will be on the \"top\" of the aufs, directly " +"below /overlay. Without this file, any images in the \"/live\" directory " +"are loaded in alphanumeric order." +msgstr "" +"Ce fichier optionnel (à l'intérieur du média live) contient une liste de " +"noms de fichier séparés-par-un-caractère-de-retour ou une espace-blanc " +"correspondants aux images disque dans le répertoire \"/live\". Si ce fichier " +"existe, uniquement les images listées ici seront fusionnées dans le aufs " +"racine, et elles seront chargées dans l'ordre de cette liste. La première " +"entrée dans ce fichier sera le point \"le plus bas\" dans le aufs, et le " +"dernier fichier dans cette liste sera en \"haut\" du aufs, directement en " +"dessous de /overlay. Sans ce fichier, toute image dans le répertoire \"/live" +"\" sont chargées par ordre alphanumérique." + +#. type: SH +#: en/live-boot.7:147 +#, no-wrap +msgid "FILES" +msgstr "FICHIERS" + +#. type: IP +#: en/live-boot.7:148 +#, no-wrap +msgid "B</etc/live/boot.conf>" +msgstr "B</etc/live/boot.conf>" + +#. type: IP +#: en/live-boot.7:149 +#, no-wrap +msgid "B</etc/live/boot/*>" +msgstr "B</etc/live/boot/*>" + +#. type: IP +#: en/live-boot.7:150 +#, no-wrap +msgid "B<live/boot.conf>" +msgstr "B<live/boot.conf>" + +#. type: IP +#: en/live-boot.7:151 +#, no-wrap +msgid "B<live/boot/*>" +msgstr "B<live/boot/*>" + +#. type: IP +#: en/live-boot.7:152 +#, no-wrap +msgid "B<persistence.conf>" +msgstr "B<persistence.conf>" + +#. type: SH +#: en/live-boot.7:154 en/persistence.conf.5:190 +#, no-wrap +msgid "SEE ALSO" +msgstr "VOIR AUSSI" + +#. type: Plain text +#: en/live-boot.7:156 +msgid "I<persistence.conf>(5)" +msgstr "I<persistence.conf>(5)" + +#. type: Plain text +#: en/live-boot.7:158 en/persistence.conf.5:194 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-boot.7:160 en/persistence.conf.5:196 +msgid "I<live-config>(7)" +msgstr "I<live-config>(7)" + +#. type: Plain text +#: en/live-boot.7:162 en/persistence.conf.5:198 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-boot.7:163 en/persistence.conf.5:199 +#, no-wrap +msgid "HOMEPAGE" +msgstr "PAGE D'ACCUEIL" + +#. type: Plain text +#: en/live-boot.7:165 en/persistence.conf.5:201 +msgid "" +"More information about live-boot and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"Davantage d'informations à propos de live-boot et du projet Live Systems " +"peuvent être trouvées sur la page E<lt>I<http://live-systems.org/>E<gt> et " +"dans le manuel sur E<lt>I<http://live-systems.org/manual/>E<gt>." + +#. type: SH +#: en/live-boot.7:166 en/persistence.conf.5:202 +#, no-wrap +msgid "BUGS" +msgstr "BOGUES" + +#. type: Plain text +#: en/live-boot.7:168 en/persistence.conf.5:204 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-boot package in " +"the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"Les bogues peuvent être signalés en soumettant un rapport de bogue pour le " +"paquet live-boot dans le BTS à E<lt>I<http://bugs.debian.org/>E<gt> ou par " +"l'écriture d'un courriel à la liste de diffusion Live Systems à " +"E<lt>I<debian-live@lists.debian.org>E<gt>." + +#. type: SH +#: en/live-boot.7:169 en/persistence.conf.5:205 +#, no-wrap +msgid "AUTHOR" +msgstr "AUTEUR" + +#. type: Plain text +#: en/live-boot.7:170 en/persistence.conf.5:206 +msgid "" +"live-boot was written by Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." +msgstr "" +"live-images a été écrit par Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." diff --git a/system-boot/manpages/po/fr/persistence.conf.5.po b/system-boot/manpages/po/fr/persistence.conf.5.po new file mode 100644 index 0000000..7640280 --- /dev/null +++ b/system-boot/manpages/po/fr/persistence.conf.5.po @@ -0,0 +1,634 @@ +# French translations for live-boot manpages +# Copyright (C) 2015 Olivier Humbert <trebmuh@tuxfamily.org> +# This file is distributed under the same license as the live-boot package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-boot 5.0~a5-1\n" +"POT-Creation-Date: 2015-09-22 10:09+0200\n" +"PO-Revision-Date: 2015-09-21 14:10+0200\n" +"Last-Translator: Olivier Humbert <trebmuh@tuxfamily.org>\n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "LIVE-BOOT" +msgstr "LIVE-BOOT" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "2015-09-22" +msgstr "22.09.2015" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "5.0~a5-1" +msgstr "5.0~a5-1" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "Live Systems Project" +msgstr "Projet Live Systems" + +#. type: SH +#: en/live-boot.7:3 en/persistence.conf.5:3 +#, no-wrap +msgid "NAME" +msgstr "NOM" + +#. type: SH +#: en/live-boot.7:6 en/persistence.conf.5:7 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPTION" + +#. type: SH +#: en/live-boot.7:28 en/persistence.conf.5:57 +#, no-wrap +msgid "OPTIONS" +msgstr "OPTIONS" + +#. type: SH +#: en/live-boot.7:154 en/persistence.conf.5:190 +#, no-wrap +msgid "SEE ALSO" +msgstr "VOIR AUSSI" + +#. type: Plain text +#: en/live-boot.7:158 en/persistence.conf.5:194 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-boot.7:160 en/persistence.conf.5:196 +msgid "I<live-config>(7)" +msgstr "I<live-config>(7)" + +#. type: Plain text +#: en/live-boot.7:162 en/persistence.conf.5:198 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-boot.7:163 en/persistence.conf.5:199 +#, no-wrap +msgid "HOMEPAGE" +msgstr "PAGE D'ACCUEIL" + +#. type: Plain text +#: en/live-boot.7:165 en/persistence.conf.5:201 +msgid "" +"More information about live-boot and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"Davantage d'informations à propos de live-boot et du projet Live Systems " +"peuvent être trouvées sur la page E<lt>I<http://live-systems.org/>E<gt> et " +"dans le manuel sur E<lt>I<http://live-systems.org/manual/>E<gt>." + +#. type: SH +#: en/live-boot.7:166 en/persistence.conf.5:202 +#, no-wrap +msgid "BUGS" +msgstr "BOGUES" + +#. type: Plain text +#: en/live-boot.7:168 en/persistence.conf.5:204 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-boot package in " +"the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"Les bogues peuvent être signalés en soumettant un rapport de bogue pour le " +"paquet live-boot dans le BTS à E<lt>I<http://bugs.debian.org/>E<gt> ou par " +"l'écriture d'un courriel à la liste de diffusion Live Systems à " +"E<lt>I<debian-live@lists.debian.org>E<gt>." + +#. type: SH +#: en/live-boot.7:169 en/persistence.conf.5:205 +#, no-wrap +msgid "AUTHOR" +msgstr "AUTEUR" + +#. type: Plain text +#: en/live-boot.7:170 en/persistence.conf.5:206 +msgid "" +"live-boot was written by Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." +msgstr "" +"live-images a été écrit par Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." + +#. type: Plain text +#: en/persistence.conf.5:6 +msgid "" +"B<persistence.conf> - Configuration file for persistence media in live-boot" +msgstr "" +"B<persistence.conf> - Fichier de configuration pour le media de persistance " +"dans live-boot" + +#. type: Plain text +#: en/persistence.conf.5:13 +msgid "" +"If live-boot probes a persistence volume with the label (or GPT name, or " +"file name, but from now on we will just say \"label\") \"persistence\", that " +"volume's persistence is fully customizable through the B<persistence.conf> " +"file stored on the root of its file system. Any such labeled volume must " +"have such a file, or it will be ignored." +msgstr "" +"Si live-boot sondes un volume de persistance avec l'étiquette (ou le nom GPT " +"ou le nom de fichier, mais à partir de maintenant nous dirons juste " +"\"étiquette\") \"persistence\", ce volume de persistance est complètement " +"personnalisable à travers le fichier B<persistence.conf> stockée à la " +"racine de son système de fichier. Tout volume ainsi étiquetté doit avoir un " +"fichier comme ceci, ou il sera ignoré." + +#. type: Plain text +#: en/persistence.conf.5:17 +msgid "" +"The format of B<persistence.conf> allows empty lines and lines starting with " +"a \"#\" (used for comments), both which will be ignored. A so called " +"\"custom mount\" has the format:" +msgstr "" +"Le format de B<persistence.conf> permet les lignes vides et les lignes " +"commençant avec un \"#\" (utilisé pour les commentaires), les deux seront " +"ignorés. Un \"montage personnalisé\" a le format :" + +#. type: Plain text +#: en/persistence.conf.5:20 +msgid "I<DIR> [I<OPTION>]..." +msgstr "I<DIR> [I<OPTION>]..." + +#. type: Plain text +#: en/persistence.conf.5:24 +msgid "" +"which roughly translates to \"make I<DIR> persistence in the way described " +"by the list of I<OPTION>s\"." +msgstr "" +"qui se traduit grossièrement par \"fabrique I<DIR> la persistance selon le " +"chemin décrit par la liste d'I<OPTION>s\"." + +#. type: Plain text +#: en/persistence.conf.5:35 +msgid "" +"For each custom mount I<DIR> must be an absolute path that cannot contain " +"white spaces or the special . and .. path components, and cannot be /live " +"(or any of its sub-directories). Once activated all changes (file deletion, " +"creation and modification) to I<DIR> on the live file system are stored " +"persistently into a path equivalent to I<DIR> on the persistence media, " +"called the source directory. The default way to achieve persistence is to " +"simply bind-mount the corresponding source directory to I<DIR>, but this can " +"be changed through the use of I<OPTION>s." +msgstr "" +"Pour chaque montage personnalisé I<DIR> doit être un chemin absolu qui ne " +"peut pas contenir d'espaces blanc ou les composants de chemins . et .. , et " +"ne peut pas être /live (ou un de ses sous-répertoires). Une fois activé, " +"toutes les modifications (effacement de fichier, création et modification) " +"dans I<DIR> sur le système de fichier live sont emmagasinées de façon " +"persistante dans un chemin équivalent à I<DIR> sur le média de persitance, " +"appelé le répertoire source. Le moyen par défaut pour accomplir la " +"persistance est simplement de bind-monter le répertoire source correspondant " +"à I<DIR>, mais ceci peut être modifié à travers l'utilisation d'I<OPTION>s." + +#. type: Plain text +#: en/persistence.conf.5:48 +msgid "" +"All custom mounts will be done in an order so that no two custom mounts can " +"\"hide\" each other. For instance, if we have the two I<DIR>:s /a and /a/b " +"it would always be the case that /a is mounted first, then /a/b. This " +"remains true no matter how the lines in B<persistence.conf> are ordered, or " +"if several B<persistence.conf> files on different persistence media are used " +"at the same time. However, it is forbidden for custom mounts to have their " +"source directory inside the source directory of another custom mount, so the " +"source directories that are auto-created by live-boot does not support " +"\"nested\" mounts like /a and /a/b on the same media. In this case you must " +"use the B<source> option (see below) to make sure that they are stored in " +"different source directories." +msgstr "" +"Tous les montages personnalisés seront réalisés dans un ordre qui ne " +"permettent pas à deux montages personnalisés de se \"cacher\" l'un l'autre. " +"Par exemple, si nous avons les deux I<DIR>:s /a et /a/b , /a sera toujours " +"monté en premier, puis /a/b. Ceci sera toujours vrai quelque soit l'ordre " +"des lignes dans B<persistence.conf>, ou si plusieurs fichiers B<persistence." +"conf> sur différents média de persistance sont utilisés au même moment. " +"Néanmoins, il est interdit aux montages personnalisés d'avoir leurs " +"répertoires source à l'intérieur du répertoire source d'un autre montage " +"personnalisé, ainsi les répertoires source qui sont auto-créés par live-boot " +"ne prennent pas en charge les montages \"emboîtés\" comme /a et /a/b sur le " +"même média. Dans ce cas, vous devez utiliser l'option B<source> (voir ci-" +"dessous) pour être certains qu'ils ne sont pas emmagasinés dans différents " +"répertoires source." + +#. type: Plain text +#: en/persistence.conf.5:56 +msgid "" +"When a source directory doesn't exist on the persistence media for a certain " +"custom mount, it will be created automatically, and permissions and " +"ownership will be optimistically set according to I<DIR>. It will also be " +"bootstrapped by copying the contents of the I<DIR> into its source directory " +"on the persistence media. The bootstrapping will not happen when the B<link> " +"or B<union> options are used (see below)." +msgstr "" +"Lorsqu'un répertoire source n'existe pas sur le média de persistance pour un " +"montage personnalisé donné, il sera créé automatiquement, et les permissions " +"et la propriété seront paramétrées avec optimisme en accord avec I<DIR>. Il " +"sera également amorcé en copiant le contenu du I<DIR> dans son répertoire " +"source sur le média de persistance. L'amorçage ne se passera pas lorsque les " +"options B<link> ou B<union> sont utilisées (voir ci-dessous)." + +#. type: Plain text +#: en/persistence.conf.5:60 +msgid "" +"Custom mounts defined in B<persistence.conf> accept the following options in " +"a comma-separated list:" +msgstr "" +"Les montages personnalisés défini dans B<persistence.conf> acceptent les " +"options suivantes dans une liste séparée par des commas :" + +#. type: IP +#: en/persistence.conf.5:60 +#, no-wrap +msgid "B<source>=I<PATH>" +msgstr "B<source>=I<PATH>" + +#. type: Plain text +#: en/persistence.conf.5:69 +msgid "" +"When given, store the persistence changes into I<PATH> on the persistence " +"media. I<PATH> must be a relative path (with respect to the persistence " +"media root) that cannot contain white spaces or the special . or .. path " +"components, with the exception that it can be just . which means the " +"persistence media root. This option is mostly relevant if you want to nest " +"custom mounts, which otherwise would cause errors, or if you want to make " +"the whole media root available (similar to the now deprecated B<home-rw> " +"type of persistence)." +msgstr "" +"Lorsqu'indiqué, emmagasine les modifications persistantes dans I<PATH> sur " +"le média de persistance. I<PATH> doit être un chemin relatif (au regard de " +"la racine du média de persistance) qui ne peut pas contenit d'espaces blancs " +"ou de composants de chemins spéciaux comme . ou .. , avec l'exception qu'il " +"peut simplement s'agir de . qui signifie : la racine du média de persistance." +"Cette option est principalement utile si vous voulez imbriquer des montages " +"personnalisés qui, autrement, causeraient des erreurs, ou si vous voulez " +"rendre disponible la racine du média en entier (équivalent à au - maintenant " +"déprécié - type de persistance B<home-rw>)." + +#. type: Plain text +#: en/persistence.conf.5:72 +msgid "" +"The following options are mutually exclusive (only the last given one will " +"be in effect):" +msgstr "" +"Les options suivantes sont mutuellement exclusives (uniquement la dernière " +"donnée sera effective) :" + +#. type: IP +#: en/persistence.conf.5:72 +#, no-wrap +msgid "B<bind>" +msgstr "B<bind>" + +#. type: Plain text +#: en/persistence.conf.5:74 +msgid "Bind-mount the source directory to I<DIR>. This is the default." +msgstr "Bind-monte le répertoire source dans I<DIR>. Ceci est le défaut." + +#. type: IP +#: en/persistence.conf.5:74 +#, no-wrap +msgid "B<link>" +msgstr "B<link>" + +#. type: Plain text +#: en/persistence.conf.5:83 +msgid "" +"Create the directory structure of the source directory on the persistence " +"media in I<DIR> and create symbolic links from the corresponding place in " +"I<DIR> to each file in the source directory. Existing files or directories " +"with the same name as any link will be overwritten. Note that deleting the " +"links in I<DIR> will only remove the link, not the corresponding file in the " +"source; removed links will reappear after a reboot. To permanently add or " +"delete a file one must do so directly in the source directory." +msgstr "" +"Crée la structure de répertoire du répertoire source sur le média de " +"persistance dans I<DIR> et crée des liens symboliques depuis l'emplacement " +"correspondant dans I<DIR> pour chaque fichier dans le répertoire source. Les " +"fichiers ou répertoire existants avec le même nom aussi bien que tout lien " +"seront écrasés. Notez que l'effacement des liens dans I<DIR> supprimera " +"uniquement le lien, pas le fichier correspondant dans la source; les liens " +"supprimés réapparaîtront après un redémarrage. Pour ajouter ou supprimer un " +"fichier de façon permanente, on doit le faire directement dans le répertoire " +"source." + +#. type: Plain text +#: en/persistence.conf.5:91 +msgid "" +"Effectively B<link> will make only files already in the source directory " +"persistent, not any other files in I<DIR>. These files must be manually " +"added to the source directory to make use of this option, and they will " +"appear in I<DIR> in addition to files already there. This option is useful " +"when only certain files need to be persistent, not the whole directory " +"they're in, e.g. some configuration files in a user's home directory." +msgstr "" +"En réalité, B<link> rendra persistants uniquement les fichiers déjà présents " +"dans le répertoire source, aucun autre fichier dans I<DIR>. Ces fichiers " +"doivent être ajoutés manuellement au répertoire source pour pouvoir utiliser " +"cette option, et ils apparaîtront dans I<DIR> en addition des fichiers déjà " +"présents. Cette option est utile lorsque seulement certain fichiers doivent " +"être persistants, et pas l'ensemble du répertoire dans lequel ils se " +"trouvent, par exemple certains fichiers de configuration dans le répertoire " +"de l'utilisateur." + +#. type: IP +#: en/persistence.conf.5:91 +#, no-wrap +msgid "B<union>" +msgstr "B<union>" + +#. type: Plain text +#: en/persistence.conf.5:100 +msgid "" +"Save the rw branch of a union on the persistence media, so only the changes " +"are stored persistently. This can potentially reduce disk usage compared to " +"bind-mounts, and will not hide files added to the read-only media. One " +"caveat is that the union will use I<DIR> from the image's read-only file " +"system, not the real file system root, so files created after boot (e.g. by " +"live-config) will not appear in the union. This option will use the union " +"file system specified by live-boot's B<union> boot parameter." +msgstr "" +"Sauvegarde la branche rw d'un union sur le média de persistance, ainsi, " +"seuls les modifications sont emmagasinnées de façon persistante. Ceci peut " +"potentiellement réduire l'utilisation du disque comparé aux montages-bind, " +"et ne cachera pas les fichiers ajoutés au média en lecture seule. Un " +"avertissement est que l'union utilisera I<DIR> depuis le système de fichier " +"en lecture seule de l'image, pas le système de fichier racine réel, et donc " +"les fichiers créés après le démarrage (par exemple par live-config) " +"n'apparaîtront pas dans l'union. Cette option utilisera le système de " +"fichier union spécifié par le paramètre de démarrage B<union> de live-boot." + +#. type: SH +#: en/persistence.conf.5:101 +#, no-wrap +msgid "DIRECTORIES" +msgstr "RÉPERTOIRES" + +#. type: IP +#: en/persistence.conf.5:102 +#, no-wrap +msgid "B</live/persistence>" +msgstr "B</live/persistence>" + +#. type: Plain text +#: en/persistence.conf.5:108 +msgid "" +"All persistence volumes will be mounted here (in a directory corresponding " +"to the device name). The B<persistence.conf> file can easily be edited " +"through this mount, as well as any source directories (which is especially " +"practical for custom mounts using the B<link> option)." +msgstr "" +"Tous les volumes de persistance seront montés ici (dans le répertoire " +"correspondant au nom de périphérique). Le fichier B<persistence.conf> peut " +"être facilement édité à travers ce montage, de la même façon que tout " +"répertoire source (ce qui est spécialement pratique pour les montages " +"personnalisés utilisant l'option B<link>)." + +#. type: SH +#: en/persistence.conf.5:109 +#, no-wrap +msgid "EXAMPLES" +msgstr "EXEMPLES" + +#. type: Plain text +#: en/persistence.conf.5:114 +msgid "" +"Let's say we have a persistence volume I<VOL> with the a B<persistence.conf> " +"file containing the following four lines (numbered for ease of reference):" +msgstr "" +"Disons que nous avons un volume persistant I<VOL> avec un fichier " +"B<persistence.conf> contenantles quatre lignes suivantes (numérotée pour " +"faciliter leur référencement) :" + +#. type: TP +#: en/persistence.conf.5:114 en/persistence.conf.5:128 +#, no-wrap +msgid "1." +msgstr "1." + +#. type: Plain text +#: en/persistence.conf.5:117 +msgid "/home/user1 link,source=config-files/user1" +msgstr "/home/user1 link,source=config-files/user1" + +#. type: TP +#: en/persistence.conf.5:117 en/persistence.conf.5:132 +#, no-wrap +msgid "2." +msgstr "2." + +#. type: Plain text +#: en/persistence.conf.5:120 +msgid "/home/user2 link,source=config-files/user2" +msgstr "/home/user2 link,source=config-files/user2" + +#. type: TP +#: en/persistence.conf.5:120 en/persistence.conf.5:136 +#, no-wrap +msgid "3." +msgstr "3." + +#. type: Plain text +#: en/persistence.conf.5:123 +msgid "/home" +msgstr "/home" + +#. type: TP +#: en/persistence.conf.5:123 en/persistence.conf.5:139 +#, no-wrap +msgid "4." +msgstr "4." + +#. type: Plain text +#: en/persistence.conf.5:126 +msgid "/usr union" +msgstr "/usr union" + +#. type: Plain text +#: en/persistence.conf.5:128 +msgid "The corresponding source directories are:" +msgstr "Les répertoires source correspondant sont :" + +#. type: Plain text +#: en/persistence.conf.5:132 +msgid "" +"I<VOL>/config-files/user1 (but it would be I<VOL>/home/user1 without the " +"B<source> option)" +msgstr "" +"I<VOL>/config-files/user1 (mais ce serait I<VOL>/home/user1 sans l'option " +"B<source>)" + +#. type: Plain text +#: en/persistence.conf.5:136 +msgid "" +"I<VOL>/config-files/user2 (but it would be I<VOL>/home/user2 without the " +"B<source> option)" +msgstr "" +"I<VOL>/config-files/user2 (mais ce serait I<VOL>/home/user2 sans l'option " +"B<source>)" + +#. type: Plain text +#: en/persistence.conf.5:139 +msgid "I<VOL>/home" +msgstr "I<VOL>/home" + +#. type: Plain text +#: en/persistence.conf.5:142 +msgid "I<VOL>/usr" +msgstr "I<VOL>/usr" + +#. type: Plain text +#: en/persistence.conf.5:145 +msgid "" +"It was necessary to set the B<source> options for 1 and 2, since they " +"otherwise would become nested with 3's source, which is invalid." +msgstr "" +"Il était nécessaire de paramétrer les options B<source> pour 1 et 2, " +"puisqu'autrement ils seraient devenus imbriqués avec la source du 3, ce qui " +"est invalide." + +#. type: Plain text +#: en/persistence.conf.5:150 +msgid "" +"Line 3 will be taken care of before line 1 and 2 in order to prevent custom " +"mounts 1 and 2 from being hidden by 3. When line 3 is handled, I<VOL>/home " +"is simply bind-mounted on /home. To illustrate what happens for lines 1 and " +"2, let's say that the following files exist:" +msgstr "" +"La ligne 3 sera prise en compte avant les lignes 1 et 2 afin d'éviter que " +"les montages personnalisés 1 et 2 ne soient cachés par 3. Lorsque la ligne 3 " +"est prise en charge, I<VOL>/home est simplement bind-monté sur /home. Pour " +"illustrer ce qu'il se passe pour les lignes 1 et 2, disons que les fichiers " +"suivants existent :" + +#. type: TP +#: en/persistence.conf.5:150 +#, no-wrap +msgid "a." +msgstr "a." + +#. type: Plain text +#: en/persistence.conf.5:153 +msgid "I<VOL>/config-files/user1/.emacs" +msgstr "I<VOL>/config-files/user1/.emacs" + +#. type: TP +#: en/persistence.conf.5:153 +#, no-wrap +msgid "b." +msgstr "b." + +#. type: Plain text +#: en/persistence.conf.5:156 +msgid "I<VOL>/config-files/user2/.bashrc" +msgstr "I<VOL>/config-files/user2/.bashrc" + +#. type: TP +#: en/persistence.conf.5:156 +#, no-wrap +msgid "c." +msgstr "c." + +#. type: Plain text +#: en/persistence.conf.5:159 +msgid "I<VOL>/config-files/user2/.ssh/config" +msgstr "I<VOL>/config-files/user2/.ssh/config" + +#. type: Plain text +#: en/persistence.conf.5:161 +msgid "Then the following links and directories will be created:" +msgstr "Puis que les liens et les répertoires suivant seront créés :" + +#. type: TP +#: en/persistence.conf.5:161 en/persistence.conf.5:164 +#: en/persistence.conf.5:170 +#, no-wrap +msgid "Link:" +msgstr "Liens :" + +#. type: Plain text +#: en/persistence.conf.5:164 +msgid "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (from a)" +msgstr "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (depuis a)" + +#. type: Plain text +#: en/persistence.conf.5:167 +msgid "/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (from b)" +msgstr "" +"/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (depuis b)" + +#. type: TP +#: en/persistence.conf.5:167 +#, no-wrap +msgid "Dir:" +msgstr "Rép :" + +#. type: Plain text +#: en/persistence.conf.5:170 +msgid "/homea/user2/.ssh (from c)" +msgstr "/homea/user2/.ssh (depuis c)" + +#. type: Plain text +#: en/persistence.conf.5:174 +msgid "" +"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (from c)" +msgstr "" +"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (depuis " +"c)" + +#. type: Plain text +#: en/persistence.conf.5:180 +msgid "" +"One could argue, though, that lines 1 and 2 in the example B<persistence." +"conf> file above are unnecessary since line 3 already would make all of /" +"home persistent. The B<link> option is intended for situations where you " +"don't want a complete directory to be persistent, only certain files in it " +"or its sub-directories." +msgstr "" +"On pourrait dire que les lignes 1 et 2 dans l'exemple de fichier " +"B<persistence.conf> ci-dessus sont non-nécessaires puisque la ligne 3 " +"rendrait déjà presistant l'entierté de /home. L'option B<link> est pensée " +"pour les situations où vous ne voulez pas que tout le répertoire soit " +"persistant, mais seulement certains de fichiers y étant présents ou ses sous-" +"répertoires." + +#. type: Plain text +#: en/persistence.conf.5:189 +msgid "" +"Line 4 can be mounted at any time since its I<DIR> (and source directory) is " +"completely disjoint from all the other custom mounts. When mounted, I<VOL>/" +"usr will be the rw branch due to the B<union> option, and will only contain " +"the difference compared to the underlying read-only file system. Hence " +"packages could be installed into /usr with great space-wise efficiency " +"compared to bind-mounts, since in the latter case all of /usr would have to " +"be copied into I<VOL>/usr during the initial bootstrap." +msgstr "" +"La ligne 4 peut être montée n'importe quand puisque son I<DIR> (et " +"répertoire source) est complètement disjoint de tous les autres montages " +"personnalisés. Lorsque monté, I<VOL>/usr sera la branche rw à cause de " +"l'option B<union>, et contiendra seulement la différence comparée au système " +"de fichier en lecture seule sous-jascent. En conséquence, les paquets " +"pourront être installés dans /usr avec une grande efficacité d'empreinte " +"d'espace comparé aux montages-bind, puisque dans ce dernier cas, tout le " +"contenu de /usr devra être copié dans I<VOL>/usr pendant l'amorçage inital." + +#. type: Plain text +#: en/persistence.conf.5:192 +msgid "I<live-boot>(7)" +msgstr "I<live-boot>(7)" diff --git a/system-boot/manpages/po/ja/live-boot.7.po b/system-boot/manpages/po/ja/live-boot.7.po new file mode 100644 index 0000000..4078ec9 --- /dev/null +++ b/system-boot/manpages/po/ja/live-boot.7.po @@ -0,0 +1,1058 @@ +# Japanese translations for live-boot package +# Copyright (C) 2013-2014 victory <victory.deb@gmail.com> +# This file is distributed under the same license as the live-boot package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-boot\n" +"POT-Creation-Date: 2015-09-22 10:09+0200\n" +"PO-Revision-Date: 2014-08-28 02:52+0900\n" +"Last-Translator: victory <victory.deb@gmail.com>\n" +"Language-Team: none\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "LIVE-BOOT" +msgstr "LIVE-BOOT" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, fuzzy, no-wrap +msgid "2015-09-22" +msgstr "2015-01-04" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, fuzzy, no-wrap +msgid "5.0~a5-1" +msgstr "5.0~a1-1" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "Live Systems Project" +msgstr "Live システムプロジェクト" + +#. type: SH +#: en/live-boot.7:3 en/persistence.conf.5:3 +#, no-wrap +msgid "NAME" +msgstr "名前" + +#. type: Plain text +#: en/live-boot.7:5 +msgid "B<live-boot> - System Boot Components" +msgstr "B<live-boot> - システム起動構成要素" + +#. type: SH +#: en/live-boot.7:6 en/persistence.conf.5:7 +#, no-wrap +msgid "DESCRIPTION" +msgstr "説明" + +#. type: Plain text +#: en/live-boot.7:8 +msgid "" +"B<live-boot> contains the components that configure a live system during the " +"boot process (early userspace)." +msgstr "" +"B<live-boot> はブートプロセス中 (早期ユーザ空間) に Live システムを設定する構" +"成要素を収録しています。" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:11 +msgid "" +"live-boot is a hook for the initramfs-tools, used to generate a initramfs " +"capable to boot live systems, such as those created by I<live-helper>(7). " +"This includes the Live systems ISOs, netboot tarballs, and usb stick images." +msgstr "" +"live-boot は initramfs-tools 用のフックで、例えば I<live-helper>(7) で作成し" +"た Live システムをブートできる initramfs を生成するのに利用します。これには " +"Live システムの ISO やネットワーク経由でブートするための tar アーカイブ、USB " +"メモリ用のイメージ等があります。" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:14 +msgid "" +"At boot time it will look for a (read-only) medium containing a \"/live\" " +"directory where a root filesystems (often a compressed filesystem image like " +"squashfs) is stored. If found, it will create a writable environment, using " +"aufs, to boot the system from." +msgstr "" +"これはブート時に root ファイルシステム (squashfs 等圧縮ファイルシステムのイ" +"メージであることが多い) が置かれている「/live」ディレクトリを収録する (読み取" +"り専用の) メディアを検索します。見つけた場合は aufs を使って書き込み可能な環" +"境を作成してシステムを起動します。" + +#. type: SH +#: en/live-boot.7:15 +#, no-wrap +msgid "CONFIGURATION" +msgstr "設定" + +#. type: Plain text +#: en/live-boot.7:17 +msgid "" +"B<live-boot> can be configured through a boot parameter or a configuration " +"file." +msgstr "B<live-boot> はブートパラメータまたは設定ファイル経由で設定できます。" + +#. type: Plain text +#: en/live-boot.7:19 +msgid "" +"To configure the live-boot parameters used by default in a live image, see " +"the --bootappend-live option in the I<lb_config>(1) manual page." +msgstr "" +"Live イメージで利用されるデフォルトの live-boot パラメータを設定する場合は " +"I<lb_config>(1) マニュアルページの --bootappend-live オプションを見てくださ" +"い。" + +#. type: SS +#: en/live-boot.7:20 +#, no-wrap +msgid "Kernel Parameters" +msgstr "カーネルパラメータ" + +#. type: Plain text +#: en/live-boot.7:22 +msgid "" +"B<live-boot> is only activated if 'boot=live' was used as a kernel parameter." +msgstr "" +"B<live-boot> はカーネルパラメータとして「boot=live」が利用された場合にのみ有" +"効になります。" + +#. type: Plain text +#: en/live-boot.7:24 +msgid "" +"In addition, there are some more boot parameters to influence the behaviour, " +"see below." +msgstr "" +"さらに、挙動に影響するブートパラメータが他にもいくつかあります。下記を見てく" +"ださい。" + +#. type: SS +#: en/live-boot.7:25 +#, no-wrap +msgid "Configuration Files" +msgstr "設定ファイル" + +#. type: Plain text +#: en/live-boot.7:27 +msgid "" +"B<live-boot> can be configured (but not activated) through configuration " +"files. Those files can be placed either in the root filesystem itself (/etc/" +"live/boot.conf, /etc/live/boot/*), or on the live media (live/boot.conf, " +"live/boot/*)." +msgstr "" +"B<live-boot> は設定ファイルを利用して設定 (但し有効化しない) できます。この設" +"定ファイルは root ファイルシステム自体 (/etc/live/boot.conf、 /etc/live/boot/" +"*)、または Live メディア (live/boot.conf、 live/boot/*) に配置できます。" + +#. type: SH +#: en/live-boot.7:28 en/persistence.conf.5:57 +#, no-wrap +msgid "OPTIONS" +msgstr "オプション" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:31 +msgid "B<live-boot> currently features the following parameters." +msgstr "B<live-boot> では以下のパラメータが現在有効です。" + +#. type: IP +#: en/live-boot.7:31 +#, no-wrap +msgid "B<access>=I<ACCESS>" +msgstr "B<access>=I<アクセス>" + +#. type: Plain text +#: en/live-boot.7:33 +msgid "" +"Set the accessibility level for physically or visually impaired users. " +"ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, " +"v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, " +"m2=moderate motor difficulties." +msgstr "" +"物理的または視覚的に障害のあるユーザ向けのアクセシビリティレベルをセットしま" +"す。I<アクセス>に入るのは v1、v2、v3、m1、m2 のどれかでないといけません。v1=" +"軽度の視覚障害、 v2=中程度の視覚障害、 v3=盲目、 m1=運動神経に些細な難あり、 " +"m2=運動神経に中程度の難あり。" + +#. type: IP +#: en/live-boot.7:33 +#, no-wrap +msgid "B<console>=I<TTY,SPEED>" +msgstr "B<console>=I<TTY,速度>" + +#. type: Plain text +#: en/live-boot.7:35 +msgid "" +"Set the default console to be used with the \"live-getty\" option. Example: " +"\"console=ttyS0,115200\"" +msgstr "" +"「live-getty」オプションで利用するデフォルトのコンソールをセットします。例: " +"「console=ttyS0,115200」" + +#. type: IP +#: en/live-boot.7:35 +#, no-wrap +msgid "B<debug>" +msgstr "B<debug>" + +#. type: Plain text +#: en/live-boot.7:37 +msgid "Makes initramfs boot process more verbose." +msgstr "initramfs ブートプロセスの出力をもっと冗長にします。" + +#. type: Plain text +#: en/live-boot.7:39 +msgid "Use: debug=1" +msgstr "debug=1 としてください" + +#. type: Plain text +#: en/live-boot.7:41 +msgid "Without setting debug to a value the messages may not be shown." +msgstr "debug に値をセットしないとメッセージは表示されないかもしれません。" + +#. type: IP +#: en/live-boot.7:41 +#, no-wrap +msgid "B<fetch>=I<URL>" +msgstr "B<fetch>=I<URL>" + +#. type: IP +#: en/live-boot.7:42 +#, no-wrap +msgid "B<httpfs>=I<URL>" +msgstr "B<httpfs>=I<URL>" + +#. type: Plain text +#: en/live-boot.7:50 +msgid "" +"Another form of netboot by downloading a squashfs image from a given URL. " +"The fetch method copies the image to RAM and the httpfs method uses FUSE and " +"httpfs2 to mount the image in place. Copying to RAM requires more memory and " +"might take a long time for large images. However, it is more likely to work " +"correctly because it does not require networking afterwards and the system " +"operates faster once booted because it does not require to contact the " +"server anymore." +msgstr "" +"指定した URL から squashfs イメージをダウンロードしてネットワーク経由でブート" +"する別のやり方で、この取得方法ではイメージを RAM にコピーし、httpfs を使う方" +"法では FUSE と httpfs2 を使ってイメージを適切な位置にマウントします。RAM への" +"コピーにはさらに多くのメモリが必要で、大きなイメージでは多少時間がかかるかも" +"しれません。しかしその後はネットワークを必要としないため正常に動作する可能性" +"が高くなり、それ以上サーバとやりとりする必要がないためブート後はそのシステム" +"は高速に動作します。" + +#. type: Plain text +#: en/live-boot.7:52 +msgid "" +"Due to current limitations in busybox's wget and DNS resolution, an URL can " +"not contain a hostname but an IP address only." +msgstr "" +"busybox の現在の wget 及び DNS 解決の制限のために URL にはホスト名を使えず、" +"IPアドレスにしか対応していません。" + +#. type: Plain text +#: en/live-boot.7:54 +msgid "Not working: http://example.com/path/to/your_filesystem.squashfs" +msgstr "機能しない: http://example.com/path/to/your_filesystem.squashfs" + +#. type: Plain text +#: en/live-boot.7:56 +msgid "Working: http://1.2.3.4/path/to/your_filesystem.squashfs" +msgstr "機能する: http://1.2.3.4/path/to/your_filesystem.squashfs" + +#. type: Plain text +#: en/live-boot.7:58 +msgid "" +"Also note that therefore it's currently not possible to fetch an image from " +"a name-based virtualhost of an httpd if it is sharing the IP address with " +"the main httpd instance." +msgstr "" +"また、そのため httpd の名前ベースのバーチャルホストからイメージを取得すること" +"は、httpd のそのホストの設定で同一のIPアドレスを共有している場合は現在不可能" +"であることにも注意してください。" + +#. type: Plain text +#: en/live-boot.7:60 +msgid "You may also use the live ISO image in place of the squashfs image." +msgstr "" +"また、squashfs イメージの適切な位置にある Live ISO イメージも利用できます。" + +#. type: IP +#: en/live-boot.7:60 +#, no-wrap +msgid "B<iscsi>=I<server-ip[,server-port];target-name>" +msgstr "B<iscsi>=I<サーバのIPアドレス[,サーバのポート];対象の名前>" + +#. type: Plain text +#: en/live-boot.7:62 +msgid "" +"Boot from an iSCSI target that has an ISO or disk live image as one of its " +"LUNs. The specified target is searched for a LUN which looks like a live " +"medium. If you use the B<iscsitarget> software iSCSI target solution your " +"ietd.conf might look like this:" +msgstr "" +"LUN (Logical Unit Number、論理ユニット番号) が iso またはディスクの Live イ" +"メージを指している iSCSI ターゲットからのブートで、指定されたターゲットは " +"LUN のうち Live メディアらしきものから検索されます。B<iscsitarget> ソフトウェ" +"アを使って iSCSI ターゲットを判定している場合の ietd.conf はこのようになりま" +"す:" + +#. type: Plain text +#: en/live-boot.7:64 +msgid "# The target-name you specify in the iscsi= parameter" +msgstr "# iscsi= パラメータで指定したターゲットの名前" + +#. type: Plain text +#: en/live-boot.7:69 +#, no-wrap +msgid "" +"Target E<lt>target-nameE<gt>\n" +" Lun 0 Path=E<lt>path-to-your-live-image.isoE<gt>,Type=fileio,IOMode=ro\n" +" # If you want to boot multiple machines you might want to look at tuning some parameters like\n" +" # Wthreads or MaxConnections\n" +msgstr "" +"Target E<lt>ターゲットの名前E<gt>\n" +" Lun 0 Path=E<lt>live-image.iso のパスE<gt>,Type=fileio,IOMode=ro\n" +" # 複数のマシンのブートに使いたい場合は\n" +" # Wthreads や MaxConnections のような一部の\n" +" # パラメータを調整してみるのもいいかもしれません。\n" + +#. type: IP +#: en/live-boot.7:69 +#, no-wrap +msgid "B<findiso>=I</PATH/TO/IMAGE>" +msgstr "B<findiso>=I</イメージ/への/パス>" + +#. type: Plain text +#: en/live-boot.7:71 +msgid "" +"Look for the specified ISO file on all disks where it usually looks for the ." +"squashfs file (so you don't have to know the device name as in fromiso=....)." +msgstr "" +".squashfs ファイルを通常検索する位置にある全ディスクから、指定した ISO ファイ" +"ルを検索します (そのため fromiso=... で指定するデバイス名を知っている必要はあ" +"りません)。" + +#. type: IP +#: en/live-boot.7:71 +#, no-wrap +msgid "B<fromiso>=I</PATH/TO/IMAGE>" +msgstr "B<fromiso>=I</イメージ/への/パス>" + +#. type: Plain text +#: en/live-boot.7:73 +msgid "" +"Allows to use a filesystem from within an ISO image that's available on live-" +"media." +msgstr "" +"Live メディア上で利用可能な ISO イメージ内からファイルシステムを利用できるよ" +"うにします。" + +#. type: IP +#: en/live-boot.7:73 +#, no-wrap +msgid "B<ignore_uuid>" +msgstr "B<ignore_uuid>" + +#. type: Plain text +#: en/live-boot.7:75 +msgid "" +"Do not check that any UUID embedded in the initramfs matches the discovered " +"medium. live-boot may be told to generate a UUID by setting " +"LIVE_GENERATE_UUID=1 when building the initramfs." +msgstr "" +"検出したメディアに合う initramfs に埋め込まれた UUID の確認を一切行いません。" +"initramfs のビルド時に LIVE_GENERATE_UUID=1 を設定して UUID を生成するように " +"live-boot に指示しているかもしれません。" + +#. type: IP +#: en/live-boot.7:75 +#, no-wrap +msgid "B<verify-checksums>" +msgstr "B<verify-checksums>" + +#. type: Plain text +#: en/live-boot.7:77 +msgid "" +"If specified, an MD5 sum is calculated on the live media during boot and " +"compared to the value found in md5sum.txt found in the root directory of the " +"live media." +msgstr "" +"指定するとブート中に Live メディアの MD5 サムを計算し、その Live メディアの" +"ルートディレクトリにある md5sum.txt 中の値と比較します。" + +#. type: IP +#: en/live-boot.7:77 +#, no-wrap +msgid "B<ip>=[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>] [,[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>]]" +msgstr "B<ip>=[I<デバイス>]:[I<クライアントのIPアドレス>]:[I<ネットマスク>]:[I<ゲートウェイのIPアドレス>]:[I<ネームサーバ>] [,[I<デバイス>]:[I<クライアントのIPアドレス>]:[I<ネットマスク>]:[I<ゲートウェイのIPアドレス>]:[I<ネームサーバ>]]" + +#. type: Plain text +#: en/live-boot.7:79 +msgid "" +"Let you specify the name(s) and the options of the interface(s) that should " +"be configured at boot time. Do not specify this if you want to use dhcp " +"(default). It will be changed in a future release to mimick official kernel " +"boot param specification (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::" +"eth0,:::::eth1:dhcp)." +msgstr "" +"ブート時に設定するインターフェイスの名前とオプションを指定できます。dhcp (デ" +"フォルト) を使いたい場合は指定しないでください。将来のリリースでは公式のカー" +"ネルブートパラメータの仕様に倣って変更される (例えば " +"ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp) かもしれません。" + +#. type: IP +#: en/live-boot.7:79 +#, no-wrap +msgid "B<ip>=[I<frommedia>]" +msgstr "B<ip>=[I<読み込み元メディア>]" + +#. type: Plain text +#: en/live-boot.7:81 +msgid "" +"If this variable is set, dhcp and static configuration are just skipped and " +"the system will use the (must be) media-preconfigured /etc/network/" +"interfaces instead." +msgstr "" +"この変数をセットすると dhcp 及び固定のネットワーク設定は単に飛ばされ、システ" +"ムはメディアで事前に設定されている (設定されていないといけません) /etc/" +"network/interfaces を代わりに利用します。" + +#. type: IP +#: en/live-boot.7:81 +#, no-wrap +msgid "{B<live-media>|B<bootfrom>}=I<DEVICE>" +msgstr "{B<live-media>|B<bootfrom>}=I<デバイス>" + +#. type: Plain text +#: en/live-boot.7:83 +msgid "" +"If you specify one of this two equivalent forms, live-boot will first try to " +"find this device for the \"/live\" directory where the read-only root " +"filesystem should reside. If it did not find something usable, the normal " +"scan for block devices is performed." +msgstr "" +"この2つは等価で、どちらかを指定すると live-boot はまずこのデバイスについて読" +"み取り専用のルートファイルシステムが存在するであろう「/live」ディレクトリを検" +"索します。それで使えそうなものが見つからない場合は通常のブロックデバイスの走" +"査が行われます。" + +#. type: Plain text +#: en/live-boot.7:85 +msgid "" +"Instead of specifing an actual device name, the keyword 'removable' can be " +"used to limit the search of acceptable live media to removable type only. " +"Note that if you want to further restrict the media to usb mass storage " +"only, you can use the 'removable-usb' keyword." +msgstr "" +"実際のデバイス名を指定する代わりに「removable」というキーワードを使って、検索" +"対象とする Live メディアを脱着可能なものだけに限定することができます。メディ" +"アを USB 大容量記憶装置だけにさらに限定したい場合は「removable-usb」という" +"キーワードを使えることに注目してください。" + +#. type: IP +#: en/live-boot.7:85 +#, no-wrap +msgid "{B<live-media-encryption>|B<encryption>}=I<TYPE>" +msgstr "{B<live-media-encryption>|B<encryption>}=I<暗号化の種類>" + +#. type: Plain text +#: en/live-boot.7:87 +msgid "" +"live-boot will mount the encrypted rootfs TYPE, asking the passphrase, " +"useful to build paranoid live systems :-). TYPE supported so far is \"aes\" " +"for loop-aes encryption type." +msgstr "" +"live-boot はパスフレーズを質問することで暗号化する種類の rootfs をマウントで" +"きます。凝った Live システムをビルドするのに有用です :-)。これまでのところサ" +"ポートしているのは loop-aes 暗号化を指示する「aes」です。" + +#. type: IP +#: en/live-boot.7:87 +#, no-wrap +msgid "B<live-media-offset>=I<BYTES>" +msgstr "B<live-media-offset>=I<バイト数>" + +#. type: Plain text +#: en/live-boot.7:89 +msgid "" +"This way you could tell live-boot that your image starts at offset BYTES in " +"the above specified or autodiscovered device, this could be useful to hide " +"the live system ISO or image inside another ISO or image, to create \"clean" +"\" images." +msgstr "" +"このようにして、上記で指定したまたは自動検出したデバイスの、指定バイト数だけ" +"ずれた位置からイメージが開始することを live-boot に指示できます。他の ISO や" +"イメージの中にある Live システムの ISO やイメージを見えないようにして「クリー" +"ン」なイメージを作成するのに有用かもしれません。" + +#. type: IP +#: en/live-boot.7:89 +#, no-wrap +msgid "B<live-media-path>=I<PATH>" +msgstr "B<live-media-path>=I<パス>" + +#. type: Plain text +#: en/live-boot.7:91 +msgid "" +"Sets the path to the live filesystem on the medium. By default, it is set to " +"'/live' and you should not change that unless you have customized your media " +"accordingly." +msgstr "" +"メディア上の Live ファイルシステムへのパスをセットします。このデフォルト値は" +"「/live」で、合わせてメディアを独自化していない限りこの値を変更すべきではあり" +"ません。" + +#. type: IP +#: en/live-boot.7:91 +#, no-wrap +msgid "B<live-media-timeout>=I<SECONDS>" +msgstr "B<live-media-timeout>=I<秒数>" + +#. type: Plain text +#: en/live-boot.7:93 +msgid "" +"Set the timeout in seconds for the device specified by \"live-media=\" to " +"become ready before giving up." +msgstr "" +"「live-media=」により指定したデバイスがその処理をあきらめるまでの制限時間を秒" +"数で指示します。" + +#. type: IP +#: en/live-boot.7:93 +#, no-wrap +msgid "B<module>=I<NAME>" +msgstr "B<module>=I<名前>" + +#. type: Plain text +#: en/live-boot.7:95 +msgid "" +"Instead of using the default optional file \"filesystem.module\" (see below) " +"another file could be specified without the extension \".module\"; it should " +"be placed on \"/live\" directory of the live medium." +msgstr "" +"デフォルトとなっているオプションのファイル「filesystem.module」(以下参照) を" +"使う代わりに別のファイルを拡張子「.module」を外して指定することができます。こ" +"れは Live メディアの「/live」ディレクトリに配置すべきです。" + +#. type: IP +#: en/live-boot.7:95 +#, no-wrap +msgid "B<netboot>[=nfs|cifs]" +msgstr "B<netboot>[=nfs|cifs]" + +#. type: Plain text +#: en/live-boot.7:97 +msgid "" +"This tells live-boot to perform a network mount. The parameter \"nfsroot=" +"\" (with optional \"nfsopts=\"), should specify where is the location of the " +"root filesystem. With no args, will try cifs first, and if it fails nfs." +msgstr "" +"ネットワークマウントを行うことを live-boot に指示します。(オプションの" +"「nfsopts=」で) パラメータ「nfsroot=」によりルートファイルシステムが置かれて" +"いる場所を指定します。引数を付けない場合はまず cifs を試し、それが失敗した場" +"合は nfs を試します。" + +#. type: IP +#: en/live-boot.7:97 +#, no-wrap +msgid "B<nfsopts>=" +msgstr "B<nfsopts>=" + +#. type: Plain text +#: en/live-boot.7:99 +msgid "This lets you specify custom nfs options." +msgstr "これを使って nfs オプションを指定できます。" + +#. type: IP +#: en/live-boot.7:99 +#, no-wrap +msgid "B<nofastboot>" +msgstr "B<nofastboot>" + +#. type: Plain text +#: en/live-boot.7:101 +msgid "" +"This parameter disables the default disabling of filesystem checks in /etc/" +"fstab. If you have static filesystems on your harddisk and you want them to " +"be checked at boot time, use this parameter, otherwise they are skipped." +msgstr "" +"このパラメータは /etc/fstab にあるファイルシステムのチェックがデフォルトで無" +"効化されているのを無効にします。ハードディスクに静的ファイルシステムがあり、" +"ブート時にそれをチェックさせたい場合はこのパラメータを使ってください。使わな" +"い場合はファイルシステムのチェックは飛ばされます。" + +#. type: IP +#: en/live-boot.7:101 +#, no-wrap +msgid "B<nopersistence>" +msgstr "B<nopersistence>" + +#. type: Plain text +#: en/live-boot.7:103 +msgid "" +"disables the \"persistence\" feature, useful if the bootloader (like " +"syslinux) has been installed with persistence enabled." +msgstr "" +"「保持 (persistence)」機能を無効化します。ブートローダ (syslinux のようなも" +"の) が保持機能を有効にしてインストールされている場合に有用です。" + +#. type: IP +#: en/live-boot.7:103 en/live-boot.7:125 +#, no-wrap +msgid "B<noeject>" +msgstr "B<noeject>" + +#. type: Plain text +#: en/live-boot.7:105 +msgid "Do not prompt to eject the live medium." +msgstr "Live メディアを取り出すかどうか確認しません。" + +#. type: IP +#: en/live-boot.7:105 +#, no-wrap +msgid "B<ramdisk-size>" +msgstr "B<ramdisk-size>" + +#. type: Plain text +#: en/live-boot.7:107 +msgid "" +"This parameter allows to set a custom ramdisk size (it's the '-o size' " +"option of tmpfs mount). By default, there is no ramdisk size set, so the " +"default of mount applies (currently 50% of available RAM). Note that this " +"option has currently no effect when booting with toram." +msgstr "" +"このパラメータにより独自の RAM ディスクサイズ (tmpfs マウント時の「-o サイ" +"ズ」オプション) をセットできます。デフォルトでは RAM ディスクサイズはセットさ" +"れていないため、マウント時のデフォルト値が適用されます (現在は利用可能な RAM " +"の 50%)。toram を指定してブートした場合、このオプションは現在のところ効果がな" +"いことに注意してください" + +#. type: IP +#: en/live-boot.7:107 +#, no-wrap +msgid "B<swap=true>" +msgstr "B<swap=true>" + +#. type: Plain text +#: en/live-boot.7:109 +msgid "This parameter enables usage of local swap partitions." +msgstr "このパラメータはローカルのスワップパーティションの利用を有効にします。" + +#. type: IP +#: en/live-boot.7:109 +#, no-wrap +msgid "B<persistence>" +msgstr "B<persistence>" + +#. type: Plain text +#: en/live-boot.7:111 +msgid "" +"live-boot will probe devices for persistence media. These can be partitions " +"(with the correct GPT name), filesystems (with the correct label) or image " +"files (with the correct file name). Overlays are labeled/named \"persistence" +"\" (see I<persistence.conf>(5)). Overlay image files are named \"persistence" +"\"." +msgstr "" +"live-boot は保持用メディアのデバイスを調査します。このデバイスにはパーティ" +"ション (GPT (GUID Partition Table、GUIDパーティションテーブル) の名前を正しく" +"指定) やファイルシステム (ラベルの名前を正しく指定)、イメージファイル (ファイ" +"ル名を正しく指定) を使えます。保存先は「persistence」(I<persistence.conf>(5) " +"参照) という名前/ラベルになります。保存先のイメージファイルは「persistence」" +"という名前になります。" + +#. type: IP +#: en/live-boot.7:111 +#, no-wrap +msgid "B<persistence-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "B<persistence-encryption>=I<種類1>,I<種類2> ... I<種類n>" + +#. type: Plain text +#: en/live-boot.7:113 +msgid "" +"This option determines which types of encryption that we allow to be used " +"when probing devices for persistence media. If \"none\" is in the list, we " +"allow unencrypted media; if \"luks\" is in the list, we allow LUKS-encrypted " +"media. Whenever a device containing encrypted media is probed the user will " +"be prompted for the passphrase. The default value is \"none\"." +msgstr "" +"このオプションは保持用メディアのデバイス調査時に利用を許可する暗号化の種類を" +"決定します。「none」が一覧にある場合は暗号化されていないメディアを許可しま" +"す。「luks」が一覧にある場合は LUKS により暗号化されているメディアを許可しま" +"す。暗号化されているメディアがデバイスにある場合はそのメディアの調査時にパス" +"フレーズをユーザに質問します。デフォルト値は「none」です。" + +#. type: IP +#: en/live-boot.7:113 +#, no-wrap +msgid "B<persistence-media>={I<removable>|I<removable-usb>}" +msgstr "B<persistence-media>={I<removable>|I<removable-usb>}" + +#. type: Plain text +#: en/live-boot.7:115 +msgid "" +"If you specify the keyword 'removable', live-boot will try to find " +"persistence partitions on removable media only. Note that if you want to " +"further restrict the media to usb mass storage only, you can use the " +"'removable-usb' keyword." +msgstr "" +"「removable」というキーワードを指定すると、live-boot は保持用パーティションを" +"脱着可能なメディアからのみ検索します。メディアを USB 大容量記憶装置だけにさら" +"に限定したい場合は「removable-usb」というキーワードを使えることに注目してくだ" +"さい。" + +#. type: IP +#: en/live-boot.7:115 +#, no-wrap +msgid "B<persistence-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "B<persistence-method>=I<種類1>,I<種類2> ... I<種類n>" + +#. type: Plain text +#: en/live-boot.7:117 +msgid "" +"This option determines which types of persistence media we allow. If " +"\"overlay\" is in the list, we consider overlays (i.e. \"live-rw\" and " +"\"home-rw\"). The default is \"overlay\"." +msgstr "" +"このオプションは許可する保持用メディアの種類を決定します。「overlay」が一覧に" +"ある場合はオーバーレイと見なします (つまり「live-rw」と「home-rw」)。デフォル" +"ト値は「overlay」です。" + +#. type: IP +#: en/live-boot.7:117 +#, no-wrap +msgid "B<persistence-path>=I<PATH>" +msgstr "B<persistence-path>=I<パス>" + +#. type: Plain text +#: en/live-boot.7:119 +msgid "" +"live-boot will look for persistency files in the root directory of a " +"partition, with this parameter, the path can be configured so that you can " +"have multiple directories on the same partition to store persistency files." +msgstr "" +"live-boot は保持用ファイルをパーティションのルートディレクトリから検索しま" +"す。このパラメータを使ってパスを設定すると同一のパーティションの複数のディレ" +"クトリを保持用ファイルの保管先にできます。" + +#. type: IP +#: en/live-boot.7:119 +#, no-wrap +msgid "B<persistence-read-only>" +msgstr "B<persistence-read-only>" + +#. type: Plain text +#: en/live-boot.7:121 +msgid "" +"Filesystem changes are not saved back to persistence media. In particular, " +"overlays and netboot NFS mounts are mounted read-only." +msgstr "" +"ファイルシステムの変更は保持用メディアには残されません。特にオーバーレイと" +"ネットワーク経由のブート用の NFS マウントは読み取り専用でマウントされます。" + +#. type: IP +#: en/live-boot.7:121 +#, no-wrap +msgid "B<persistence-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "B<persistence-storage>=I<種類1>,I<種類2> ... I<種類n>" + +#. type: Plain text +#: en/live-boot.7:123 +msgid "" +"This option determines which types of persistence storage to consider when " +"probing for persistence media. If \"filesystem\" is in the list, filesystems " +"with matching labels will be used; if \"file\" is in the list, all " +"filesystems will be probed for archives and image files with matching " +"filenames. The default is \"file,filesystem\"." +msgstr "" +"このオプションは保持用メディアの調査時に対象とする保持用記憶装置の種類を決定" +"します。「filesystem」が一覧にある場合はラベルが該当するファイルシステムを利" +"用します。「file」が一覧にある場合は全ファイルシステムについてファイル名が該" +"当するアーカイブやイメージファイルを調査します。デフォルト値は「file," +"filesystem」です。" + +#. type: IP +#: en/live-boot.7:123 +#, no-wrap +msgid "B<persistence-label>=I<LABEL>" +msgstr "B<persistence-label>=I<ラベル>" + +#. type: Plain text +#: en/live-boot.7:125 +msgid "" +"live-boot will use the name \"LABEL\" instead of \"persistence\" when " +"searching for persistent storage. LABEL can be any valid filename, partition " +"label, or GPT name." +msgstr "" +"live-boot は保持用記憶装置の検索時に「persistence」の代わりにここで指定した" +"「ラベル」を使います。「ラベル」はファイル名やパーティションのラベル、GPT の" +"名前として有効な任意のものを使えます。" + +#. type: Plain text +#: en/live-boot.7:127 +msgid "" +"This option causes live-boot to reboot without attempting to eject the media " +"and without asking the user to remove the boot media." +msgstr "" +"このオプションを使うと live-boot はメディアを取り出さず、ブート用メディアを削" +"除するかユーザに質問することもなくリブートします。" + +#. type: IP +#: en/live-boot.7:127 +#, no-wrap +msgid "B<showmounts>" +msgstr "B<showmounts>" + +#. type: Plain text +#: en/live-boot.7:129 +msgid "" +"This parameter will make live-boot to show on \"/\" the ro filesystems " +"(mostly compressed) on \"/lib/live\". This is not enabled by default because " +"could lead to problems by applications like \"mono\" which store binary " +"paths on installation." +msgstr "" +"このパラメータを使うと live-boot は「/」で「/lib/live」上の (ほとんどの場合圧" +"縮されている) ro ファイルシステムを提示します。これはインストール時にバイナリ" +"のパスを記憶する「mono」のようなアプリケーションで問題を起こす可能性があるた" +"めデフォルトでは有効にされていません。" + +#. type: IP +#: en/live-boot.7:129 +#, no-wrap +msgid "B<silent>" +msgstr "B<silent>" + +#. type: Plain text +#: en/live-boot.7:131 +msgid "" +"If you boot with the normal quiet parameter, live-boot hides most messages " +"of its own. When adding silent, it hides all." +msgstr "" +"通常の quiet パラメータを付けてブートすると live-boot が出すほとんどのメッ" +"セージを非表示にします。「silent」を付けると全て非表示にします。" + +#. type: IP +#: en/live-boot.7:131 +#, no-wrap +msgid "B<todisk>=I<DEVICE>" +msgstr "B<todisk>=I<デバイス>" + +#. type: Plain text +#: en/live-boot.7:133 +msgid "" +"Adding this parameter, live-boot will try to copy the entire read-only media " +"to the specified device before mounting the root filesystem. It probably " +"needs a lot of free space. Subsequent boots should then skip this step and " +"just specify the \"live-media=DEVICE\" boot parameter with the same DEVICE " +"used this time." +msgstr "" +"このパラメータを追加すると、live-boot はルートファイルシステムをマウントする" +"前に読み取り専用メディア全体を指定したデバイスにコピーしようとします。これに" +"は恐らく多くの RAM が必要となります。以後のブートではこの段階を飛ばして、今回" +"そのデバイスで使ったのと同一の「live-media=デバイス」ブートパラメータを単に指" +"定するようにしてください。" + +#. type: IP +#: en/live-boot.7:133 +#, no-wrap +msgid "B<toram>" +msgstr "B<toram>" + +#. type: Plain text +#: en/live-boot.7:135 +msgid "" +"Adding this parameter, live-boot will try to copy the whole read-only media " +"to the computer's RAM before mounting the root filesystem. This could need a " +"lot of ram, according to the space used by the read-only media." +msgstr "" +"このパラメータを追加すると、live-boot はルートファイルシステムをマウントする" +"前に読み取り専用メディア全体をそのコンピュータの RAM にコピーしようとします。" +"その読み取り専用メディアで利用している容量により、これには多くの RAM が必要と" +"なるかもしれません。" + +#. type: IP +#: en/live-boot.7:135 +#, no-wrap +msgid "B<union>=overlay|aufs" +msgstr "B<union>=overlay|aufs" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:138 +msgid "" +"By default, live-boot uses overlay. With this parameter, you can switch to " +"aufs." +msgstr "" +"デフォルトで live-boot は overlay を利用します。このパラメータにより aufs に" +"切り替えることができます。" + +#. FIXME +#. type: SH +#: en/live-boot.7:140 +#, no-wrap +msgid "FILES (old)" +msgstr "ファイル (古い情報)" + +#. type: IP +#: en/live-boot.7:141 +#, no-wrap +msgid "B</etc/live.conf>" +msgstr "B</etc/live.conf>" + +#. type: Plain text +#: en/live-boot.7:143 +msgid "" +"Some variables can be configured via this config file (inside the live " +"system)." +msgstr "一部の変数はこの (Live システム中の) 設定ファイルにより設定できます。" + +#. type: IP +#: en/live-boot.7:143 +#, no-wrap +msgid "B<live/filesystem.module>" +msgstr "B<live/filesystem.module>" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:146 +msgid "" +"This optional file (inside the live media) contains a list of white-space or " +"carriage-return-separated file names corresponding to disk images in the \"/" +"live\" directory. If this file exists, only images listed here will be " +"merged into the root aufs, and they will be loaded in the order listed here. " +"The first entry in this file will be the \"lowest\" point in the aufs, and " +"the last file in this list will be on the \"top\" of the aufs, directly " +"below /overlay. Without this file, any images in the \"/live\" directory " +"are loaded in alphanumeric order." +msgstr "" +"この (Live メディア内の) オプションのファイルは「/live」ディレクトリ中のディ" +"スクイメージに対応するファイル名を空白文字または復帰文字で区切った一覧を収録" +"します。このファイルが存在する場合はその中の一覧にあるイメージだけがルート " +"aufs に統合され、その一覧の順に読み込まれます。このファイルの最初の項目が /" +"overlay 直下で aufs の「最下位の」マウントポイント、この一覧の最後のファイル" +"が /overlay 直下で aufs の「最上位の」マウントポイントとなります。このファイ" +"ルがない場合は「/live」ディレクトリにあるイメージを英数字順に読み込みます。" + +#. type: SH +#: en/live-boot.7:147 +#, no-wrap +msgid "FILES" +msgstr "ファイル" + +#. type: IP +#: en/live-boot.7:148 +#, no-wrap +msgid "B</etc/live/boot.conf>" +msgstr "B</etc/live/boot.conf>" + +#. type: IP +#: en/live-boot.7:149 +#, no-wrap +msgid "B</etc/live/boot/*>" +msgstr "B</etc/live/boot/*>" + +#. type: IP +#: en/live-boot.7:150 +#, no-wrap +msgid "B<live/boot.conf>" +msgstr "B<live/boot.conf>" + +#. type: IP +#: en/live-boot.7:151 +#, no-wrap +msgid "B<live/boot/*>" +msgstr "B<live/boot/*>" + +#. type: IP +#: en/live-boot.7:152 +#, no-wrap +msgid "B<persistence.conf>" +msgstr "B<persistence.conf>" + +#. type: SH +#: en/live-boot.7:154 en/persistence.conf.5:190 +#, no-wrap +msgid "SEE ALSO" +msgstr "関連項目" + +#. type: Plain text +#: en/live-boot.7:156 +msgid "I<persistence.conf>(5)" +msgstr "I<persistence.conf>(5)" + +#. type: Plain text +#: en/live-boot.7:158 en/persistence.conf.5:194 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-boot.7:160 en/persistence.conf.5:196 +msgid "I<live-config>(7)" +msgstr "I<live-config>(7)" + +#. type: Plain text +#: en/live-boot.7:162 en/persistence.conf.5:198 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-boot.7:163 en/persistence.conf.5:199 +#, no-wrap +msgid "HOMEPAGE" +msgstr "ホームページ" + +#. type: Plain text +#: en/live-boot.7:165 en/persistence.conf.5:201 +msgid "" +"More information about live-boot and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"live-boot 及び Live システムプロジェクトについてのさらなる情報は、" +"E<lt>I<http://live-systems.org/>E<gt> のホームページや E<lt>I<http://live-" +"systems.org/manual/>E<gt> のマニュアルにあります。" + +#. type: SH +#: en/live-boot.7:166 en/persistence.conf.5:202 +#, no-wrap +msgid "BUGS" +msgstr "バグ" + +#. type: Plain text +#: en/live-boot.7:168 en/persistence.conf.5:204 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-boot package in " +"the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"バグは E<lt>I<http://bugs.debian.org/>E<gt> にあるバグ追跡システムに live-" +"boot パッケージのバグ報告として提出するか、E<lt>I<debian-live@lists.debian." +"org>E<gt> にある Live システムのメーリングリスト宛てにメールを書くことにより" +"報告できます。" + +#. type: SH +#: en/live-boot.7:169 en/persistence.conf.5:205 +#, no-wrap +msgid "AUTHOR" +msgstr "作者" + +#. type: Plain text +#: en/live-boot.7:170 en/persistence.conf.5:206 +msgid "" +"live-boot was written by Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." +msgstr "" +"live-boot は Daniel Baumann さん E<lt>I<mail@daniel-baumann.ch>E<gt> により書" +"かれました。" diff --git a/system-boot/manpages/po/ja/persistence.conf.5.po b/system-boot/manpages/po/ja/persistence.conf.5.po new file mode 100644 index 0000000..cb209d3 --- /dev/null +++ b/system-boot/manpages/po/ja/persistence.conf.5.po @@ -0,0 +1,615 @@ +# Japanese translations for live-boot package +# Copyright (C) 2013-2015 victory <victory.deb@gmail.com> +# This file is distributed under the same license as the live-boot package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-boot\n" +"POT-Creation-Date: 2015-09-22 10:09+0200\n" +"PO-Revision-Date: 2015-01-05 05:50+0900\n" +"Last-Translator: victory <victory.deb@gmail.com>\n" +"Language-Team: none\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "LIVE-BOOT" +msgstr "LIVE-BOOT" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, fuzzy, no-wrap +msgid "2015-09-22" +msgstr "2015-01-04" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, fuzzy, no-wrap +msgid "5.0~a5-1" +msgstr "5.0~a1-1" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "Live Systems Project" +msgstr "Live システムプロジェクト" + +#. type: SH +#: en/live-boot.7:3 en/persistence.conf.5:3 +#, no-wrap +msgid "NAME" +msgstr "名前" + +#. type: SH +#: en/live-boot.7:6 en/persistence.conf.5:7 +#, no-wrap +msgid "DESCRIPTION" +msgstr "説明" + +#. type: SH +#: en/live-boot.7:28 en/persistence.conf.5:57 +#, no-wrap +msgid "OPTIONS" +msgstr "オプション" + +#. type: SH +#: en/live-boot.7:154 en/persistence.conf.5:190 +#, no-wrap +msgid "SEE ALSO" +msgstr "関連項目" + +#. type: Plain text +#: en/live-boot.7:158 en/persistence.conf.5:194 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-boot.7:160 en/persistence.conf.5:196 +msgid "I<live-config>(7)" +msgstr "I<live-config>(7)" + +#. type: Plain text +#: en/live-boot.7:162 en/persistence.conf.5:198 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-boot.7:163 en/persistence.conf.5:199 +#, no-wrap +msgid "HOMEPAGE" +msgstr "ホームページ" + +#. type: Plain text +#: en/live-boot.7:165 en/persistence.conf.5:201 +msgid "" +"More information about live-boot and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"live-boot 及び Live システムプロジェクトについてのさらなる情報は、" +"E<lt>I<http://live-systems.org/>E<gt> のホームページや E<lt>I<http://live-" +"systems.org/manual/>E<gt> のマニュアルにあります。" + +#. type: SH +#: en/live-boot.7:166 en/persistence.conf.5:202 +#, no-wrap +msgid "BUGS" +msgstr "バグ" + +#. type: Plain text +#: en/live-boot.7:168 en/persistence.conf.5:204 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-boot package in " +"the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"バグは E<lt>I<http://bugs.debian.org/>E<gt> にあるバグ追跡システムに live-" +"boot パッケージのバグ報告として提出するか、E<lt>I<debian-live@lists.debian." +"org>E<gt> にある Live システムのメーリングリスト宛てにメールを書くことにより" +"報告できます。" + +#. type: SH +#: en/live-boot.7:169 en/persistence.conf.5:205 +#, no-wrap +msgid "AUTHOR" +msgstr "作者" + +#. type: Plain text +#: en/live-boot.7:170 en/persistence.conf.5:206 +msgid "" +"live-boot was written by Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." +msgstr "" +"live-boot は Daniel Baumann さん E<lt>I<mail@daniel-baumann.ch>E<gt> により書" +"かれました。" + +#. type: Plain text +#: en/persistence.conf.5:6 +msgid "" +"B<persistence.conf> - Configuration file for persistence media in live-boot" +msgstr "B<persistence.conf> - live-boot 状態保持用メディアの設定ファイル" + +#. type: Plain text +#: en/persistence.conf.5:13 +msgid "" +"If live-boot probes a persistence volume with the label (or GPT name, or " +"file name, but from now on we will just say \"label\") \"persistence\", that " +"volume's persistence is fully customizable through the B<persistence.conf> " +"file stored on the root of its file system. Any such labeled volume must " +"have such a file, or it will be ignored." +msgstr "" +"live-boot が「persistence」というラベル (GPT の名前やファイル名も含みますがこ" +"こからは「ラベル」と呼びます) を付けられた保持用ボリュームを調査するとき、そ" +"のボリュームの保持方法はそのファイルシステムの最上部に置かれた B<persistence." +"conf> ファイルにより全面的に独自化できます。こういったラベルを付けられたボ" +"リュームにはそういったファイルがないといけません。ない場合は無視します。" + +#. type: Plain text +#: en/persistence.conf.5:17 +msgid "" +"The format of B<persistence.conf> allows empty lines and lines starting with " +"a \"#\" (used for comments), both which will be ignored. A so called " +"\"custom mount\" has the format:" +msgstr "" +"B<persistence.conf> の形式では空行や「#」で始まる行 (コメント用) を両方とも利" +"用でき、そういった行は解釈されず無視されます。いわゆる「独自マウント」は" + +#. type: Plain text +#: en/persistence.conf.5:20 +msgid "I<DIR> [I<OPTION>]..." +msgstr "I<ディレクトリ> [I<オプション>]..." + +#. type: Plain text +#: en/persistence.conf.5:24 +msgid "" +"which roughly translates to \"make I<DIR> persistence in the way described " +"by the list of I<OPTION>s\"." +msgstr "" +"の形式で、大まかに言い換えると「I<オプション>一覧により指示した方法でI<ディレ" +"クトリ>を保持する」ということになります。" + +#. type: Plain text +#: en/persistence.conf.5:35 +msgid "" +"For each custom mount I<DIR> must be an absolute path that cannot contain " +"white spaces or the special . and .. path components, and cannot be /live " +"(or any of its sub-directories). Once activated all changes (file deletion, " +"creation and modification) to I<DIR> on the live file system are stored " +"persistently into a path equivalent to I<DIR> on the persistence media, " +"called the source directory. The default way to achieve persistence is to " +"simply bind-mount the corresponding source directory to I<DIR>, but this can " +"be changed through the use of I<OPTION>s." +msgstr "" +"独自マウントそれぞれについてI<ディレクトリ>には絶対パスを使う必要があり、空白" +"文字や特別なパスである「.」や「..」を含めること、/live (やそのサブディレクト" +"リ) を使うことはできません。Live ファイルシステムのI<ディレクトリ>に対するあ" +"らゆる変更 (ファイルの削除や作成、変更) はそれを有効にした段階でソースディレ" +"クトリと呼ばれる保持用メディアのI<ディレクトリ>に相当するパスに持続的に保管さ" +"れます。保持を実現するデフォルトの方法は対応するソースディレクトリをI<ディレ" +"クトリ>に対して単純にバインドマウントする方法ですが、これはI<オプション>を使" +"うことで変更できます。" + +#. type: Plain text +#: en/persistence.conf.5:48 +msgid "" +"All custom mounts will be done in an order so that no two custom mounts can " +"\"hide\" each other. For instance, if we have the two I<DIR>:s /a and /a/b " +"it would always be the case that /a is mounted first, then /a/b. This " +"remains true no matter how the lines in B<persistence.conf> are ordered, or " +"if several B<persistence.conf> files on different persistence media are used " +"at the same time. However, it is forbidden for custom mounts to have their " +"source directory inside the source directory of another custom mount, so the " +"source directories that are auto-created by live-boot does not support " +"\"nested\" mounts like /a and /a/b on the same media. In this case you must " +"use the B<source> option (see below) to make sure that they are stored in " +"different source directories." +msgstr "" +"独自マウントは全て順番に行われるため、2つの独自マウントで互いに「隠す」ような" +"ことはできません。例えば2つのI<ディレクトリ> /a と /a/b があるとすると、この" +"場合は常にまず /a がマウントされ、それから /a/b がマウントされます。これは " +"B<persistence.conf> の他の行の順を問わず成り立ち、異なる保持用メディアにある" +"複数の B<persistence.conf> ファイルを同時に使う場合でも同様です。しかし、独自" +"マウントではソースディレクトリを別の独自マウントのソースディレクトリ内にする" +"ことは禁止されているため、live-boot により自動生成されたソースディレクトリは" +"同一のメディアでの /a と /a/b のような「入り組んだ」マウントをサポートしませ" +"ん。この場合は B<source> オプション (以下参照) を使い、対象ディレクトリが必ず" +"異なるソースディレクトリにあるようにしないといけません。" + +#. type: Plain text +#: en/persistence.conf.5:56 +msgid "" +"When a source directory doesn't exist on the persistence media for a certain " +"custom mount, it will be created automatically, and permissions and " +"ownership will be optimistically set according to I<DIR>. It will also be " +"bootstrapped by copying the contents of the I<DIR> into its source directory " +"on the persistence media. The bootstrapping will not happen when the B<link> " +"or B<union> options are used (see below)." +msgstr "" +"特定の独自マウントのソースディレクトリが保持用メディアに存在しない場合は自動" +"的に作成され、そのI<ディレクトリ>にふさわしい権限と所有がセットされます。I<" +"ディレクトリ>の内容を保持用メディアのソースディレクトリにコピーすることでもこ" +"の自動処理は行われます。B<link> や B<union> オプション (以下参照) を使った場" +"合はこの自動処理は行われません。" + +#. type: Plain text +#: en/persistence.conf.5:60 +msgid "" +"Custom mounts defined in B<persistence.conf> accept the following options in " +"a comma-separated list:" +msgstr "" +"B<persistence.conf> で定義する独自マウントでは以下のオプションをコンマで区" +"切った一覧の形で受け付けます:" + +#. type: IP +#: en/persistence.conf.5:60 +#, no-wrap +msgid "B<source>=I<PATH>" +msgstr "B<source>=I<パス>" + +#. type: Plain text +#: en/persistence.conf.5:69 +msgid "" +"When given, store the persistence changes into I<PATH> on the persistence " +"media. I<PATH> must be a relative path (with respect to the persistence " +"media root) that cannot contain white spaces or the special . or .. path " +"components, with the exception that it can be just . which means the " +"persistence media root. This option is mostly relevant if you want to nest " +"custom mounts, which otherwise would cause errors, or if you want to make " +"the whole media root available (similar to the now deprecated B<home-rw> " +"type of persistence)." +msgstr "" +"指定した場合は保持用メディアのI<パス>に保持内容の変更を保管します。I<パス>は " +"(その保持用メディアのルートからの) 相対パスを使う必要があり、空白文字や特別な" +"パスである「.」や「..」については、「.」だけが単体で使われたときにはその保持" +"用メディアのルートを指しますが、その例外を除いて含めることができません。この" +"オプションが関連するのはほとんどが、これ以外ではエラーを引き起こす入り組んだ" +"独自マウントにしたい場合、またはメディア全体のルートを利用できるようにしたい" +"場合です (現在では非推奨となっている B<home-rw> という種類の保持に似ていま" +"す)。" + +#. type: Plain text +#: en/persistence.conf.5:72 +msgid "" +"The following options are mutually exclusive (only the last given one will " +"be in effect):" +msgstr "" +"以下のオプションは相互に排他です (効果があるのは最後に指定したものだけです):" + +#. type: IP +#: en/persistence.conf.5:72 +#, no-wrap +msgid "B<bind>" +msgstr "B<bind>" + +#. type: Plain text +#: en/persistence.conf.5:74 +msgid "Bind-mount the source directory to I<DIR>. This is the default." +msgstr "" +"ソースディレクトリをI<ディレクトリ>にバインドマウントします。これはデフォルト" +"です。" + +#. type: IP +#: en/persistence.conf.5:74 +#, no-wrap +msgid "B<link>" +msgstr "B<link>" + +#. type: Plain text +#: en/persistence.conf.5:83 +msgid "" +"Create the directory structure of the source directory on the persistence " +"media in I<DIR> and create symbolic links from the corresponding place in " +"I<DIR> to each file in the source directory. Existing files or directories " +"with the same name as any link will be overwritten. Note that deleting the " +"links in I<DIR> will only remove the link, not the corresponding file in the " +"source; removed links will reappear after a reboot. To permanently add or " +"delete a file one must do so directly in the source directory." +msgstr "" +"ソースディレクトリのディレクトリ構造を保持用メディアのI<ディレクトリ>に作成" +"し、I<ディレクトリ>の対応する位置からソースディレクトリの各ファイルに向けてシ" +"ンボリックリンクを作成します。リンクと同一名の既存のファイルやディレクトリは" +"全て上書きされます。I<ディレクトリ>内にあるリンクの削除はリンクを削除するだけ" +"で、ソースの対応するファイルは削除しないことに注意してください。削除したリン" +"クは再起動後には再び現れます。ファイルを恒久的に追加、削除するにはソースディ" +"レクトリで直接その作業を行わないといけません。" + +#. type: Plain text +#: en/persistence.conf.5:91 +msgid "" +"Effectively B<link> will make only files already in the source directory " +"persistent, not any other files in I<DIR>. These files must be manually " +"added to the source directory to make use of this option, and they will " +"appear in I<DIR> in addition to files already there. This option is useful " +"when only certain files need to be persistent, not the whole directory " +"they're in, e.g. some configuration files in a user's home directory." +msgstr "" +"事実上、B<link> は既にソースディレクトリにあるファイルだけを保持し、I<ディレ" +"クトリ>にあるそれ以外のファイルは保持しません。保持するファイルをこのオプショ" +"ンの対象とするには手作業によりソースディレクトリに追加する必要があり、そうす" +"ることでI<ディレクトリ>に、既にそこにあるファイルに加えて現れるようになりま" +"す。このオプションは特定のファイルだけを保持する必要があり、それがあるディレ" +"クトリ全体が必要ではない場合、例えばユーザのホームディレクトリにある設定ファ" +"イルの一部を保持する場合に有用です。" + +#. type: IP +#: en/persistence.conf.5:91 +#, no-wrap +msgid "B<union>" +msgstr "B<union>" + +#. type: Plain text +#: en/persistence.conf.5:100 +msgid "" +"Save the rw branch of a union on the persistence media, so only the changes " +"are stored persistently. This can potentially reduce disk usage compared to " +"bind-mounts, and will not hide files added to the read-only media. One " +"caveat is that the union will use I<DIR> from the image's read-only file " +"system, not the real file system root, so files created after boot (e.g. by " +"live-config) will not appear in the union. This option will use the union " +"file system specified by live-boot's B<union> boot parameter." +msgstr "" +"結合ファイルシステムの rw ブランチを保持用メディアに保存するため、変更点だけ" +"を持続的に保管します。バインドマウントと比較するとこの方法は潜在的にディスク" +"使用量を減らせる可能性があり、また読み取り専用メディアに追加したファイルを隠" +"しません。1つ注意があり、結合後に実際のファイルシステムのルートではなくイメー" +"ジの読み取り専用ファイルシステムからI<ディレクトリ>を使うため、(例えば live-" +"config により) ブート後に作成されたファイルは結合後には見えなくなります。この" +"オプションは live-boot の B<union> ブートパラメータにより指定された結合ファイ" +"ルシステムを使います。" + +#. type: SH +#: en/persistence.conf.5:101 +#, no-wrap +msgid "DIRECTORIES" +msgstr "ディレクトリ" + +#. type: IP +#: en/persistence.conf.5:102 +#, no-wrap +msgid "B</live/persistence>" +msgstr "B</live/persistence>" + +#. type: Plain text +#: en/persistence.conf.5:108 +msgid "" +"All persistence volumes will be mounted here (in a directory corresponding " +"to the device name). The B<persistence.conf> file can easily be edited " +"through this mount, as well as any source directories (which is especially " +"practical for custom mounts using the B<link> option)." +msgstr "" +"保持用ボリュームは全てここで (デバイス名に対応するディレクトリで) マウントさ" +"れます。B<persistence.conf> ファイルはこのマウントや任意のソースディレクトリ" +"から (B<link> オプションを使った独自マウントではこちらが特に実用的) 簡単に編" +"集できます。" + +#. type: SH +#: en/persistence.conf.5:109 +#, no-wrap +msgid "EXAMPLES" +msgstr "例" + +#. type: Plain text +#: en/persistence.conf.5:114 +msgid "" +"Let's say we have a persistence volume I<VOL> with the a B<persistence.conf> " +"file containing the following four lines (numbered for ease of reference):" +msgstr "" +"保持用ボリューム I<VOL> があり、その B<persistence.conf> ファイルに以下の4行" +"を収録しているものとしましょう (番号は参照しやすいように付加しています):" + +#. type: TP +#: en/persistence.conf.5:114 en/persistence.conf.5:128 +#, no-wrap +msgid "1." +msgstr "1." + +#. type: Plain text +#: en/persistence.conf.5:117 +msgid "/home/user1 link,source=config-files/user1" +msgstr "/home/user1 link,source=config-files/user1" + +#. type: TP +#: en/persistence.conf.5:117 en/persistence.conf.5:132 +#, no-wrap +msgid "2." +msgstr "2." + +#. type: Plain text +#: en/persistence.conf.5:120 +msgid "/home/user2 link,source=config-files/user2" +msgstr "/home/user2 link,source=config-files/user2" + +#. type: TP +#: en/persistence.conf.5:120 en/persistence.conf.5:136 +#, no-wrap +msgid "3." +msgstr "3." + +#. type: Plain text +#: en/persistence.conf.5:123 +msgid "/home" +msgstr "/home" + +#. type: TP +#: en/persistence.conf.5:123 en/persistence.conf.5:139 +#, no-wrap +msgid "4." +msgstr "4." + +#. type: Plain text +#: en/persistence.conf.5:126 +msgid "/usr union" +msgstr "/usr union" + +#. type: Plain text +#: en/persistence.conf.5:128 +msgid "The corresponding source directories are:" +msgstr "それぞれに対応するディレクトリ:" + +#. type: Plain text +#: en/persistence.conf.5:132 +msgid "" +"I<VOL>/config-files/user1 (but it would be I<VOL>/home/user1 without the " +"B<source> option)" +msgstr "" +"I<VOL>/config-files/user1 (ただし B<source> オプションを指定しない場合は " +"I<VOL>/home/user1)" + +#. type: Plain text +#: en/persistence.conf.5:136 +msgid "" +"I<VOL>/config-files/user2 (but it would be I<VOL>/home/user2 without the " +"B<source> option)" +msgstr "" +"I<VOL>/config-files/user2 (ただし B<source> オプションを指定しない場合は " +"I<VOL>/home/user2)" + +#. type: Plain text +#: en/persistence.conf.5:139 +msgid "I<VOL>/home" +msgstr "I<VOL>/home" + +#. type: Plain text +#: en/persistence.conf.5:142 +msgid "I<VOL>/usr" +msgstr "I<VOL>/usr" + +#. type: Plain text +#: en/persistence.conf.5:145 +msgid "" +"It was necessary to set the B<source> options for 1 and 2, since they " +"otherwise would become nested with 3's source, which is invalid." +msgstr "" +"1と2の例では B<source> オプションをセットする必要があります。そうしないと3の" +"ソースと入り組んでしまい不正となるためです。" + +#. type: Plain text +#: en/persistence.conf.5:150 +msgid "" +"Line 3 will be taken care of before line 1 and 2 in order to prevent custom " +"mounts 1 and 2 from being hidden by 3. When line 3 is handled, I<VOL>/home " +"is simply bind-mounted on /home. To illustrate what happens for lines 1 and " +"2, let's say that the following files exist:" +msgstr "" +"1行目と2行目の独自マウントが3行目によって隠されるのを回避するため3行目は1行目" +"と2行目よりも先に処理されます。3行目が処理された時点で I<VOL>/home は単純に /" +"home に対してバインドマウントした状態になります。1行目と2行目で起きたことを説" +"明するため、以下のファイルが存在するとしましょう:" + +#. type: TP +#: en/persistence.conf.5:150 +#, no-wrap +msgid "a." +msgstr "a." + +#. type: Plain text +#: en/persistence.conf.5:153 +msgid "I<VOL>/config-files/user1/.emacs" +msgstr "I<VOL>/config-files/user1/.emacs" + +#. type: TP +#: en/persistence.conf.5:153 +#, no-wrap +msgid "b." +msgstr "b." + +#. type: Plain text +#: en/persistence.conf.5:156 +msgid "I<VOL>/config-files/user2/.bashrc" +msgstr "I<VOL>/config-files/user2/.bashrc" + +#. type: TP +#: en/persistence.conf.5:156 +#, no-wrap +msgid "c." +msgstr "c." + +#. type: Plain text +#: en/persistence.conf.5:159 +msgid "I<VOL>/config-files/user2/.ssh/config" +msgstr "I<VOL>/config-files/user2/.ssh/config" + +#. type: Plain text +#: en/persistence.conf.5:161 +msgid "Then the following links and directories will be created:" +msgstr "それにより作成されるリンクやディレクトリ:" + +#. type: TP +#: en/persistence.conf.5:161 en/persistence.conf.5:164 +#: en/persistence.conf.5:170 +#, no-wrap +msgid "Link:" +msgstr "リンク:" + +#. type: Plain text +#: en/persistence.conf.5:164 +msgid "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (from a)" +msgstr "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (a の場合)" + +#. type: Plain text +#: en/persistence.conf.5:167 +msgid "/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (from b)" +msgstr "" +"/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (b の場合)" + +#. type: TP +#: en/persistence.conf.5:167 +#, no-wrap +msgid "Dir:" +msgstr "ディレクトリ:" + +#. type: Plain text +#: en/persistence.conf.5:170 +msgid "/homea/user2/.ssh (from c)" +msgstr "/homea/user2/.ssh (c の場合)" + +#. type: Plain text +#: en/persistence.conf.5:174 +msgid "" +"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (from c)" +msgstr "" +"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (c の場" +"合)" + +#. type: Plain text +#: en/persistence.conf.5:180 +msgid "" +"One could argue, though, that lines 1 and 2 in the example B<persistence." +"conf> file above are unnecessary since line 3 already would make all of /" +"home persistent. The B<link> option is intended for situations where you " +"don't want a complete directory to be persistent, only certain files in it " +"or its sub-directories." +msgstr "" +"別の主張があるかもしれませんが、上記の B<persistence.conf> ファイルの例では3" +"行目が既に /home の全てを保持対象としているため1行目と2行目は不要です。" +"B<link> オプションはディレクトリ全体を保持したいのではなく、そのディレクトリ" +"中やサブディレクトリにある特定のファイルを保持したいという状況を対象としてい" +"ます。" + +#. type: Plain text +#: en/persistence.conf.5:189 +msgid "" +"Line 4 can be mounted at any time since its I<DIR> (and source directory) is " +"completely disjoint from all the other custom mounts. When mounted, I<VOL>/" +"usr will be the rw branch due to the B<union> option, and will only contain " +"the difference compared to the underlying read-only file system. Hence " +"packages could be installed into /usr with great space-wise efficiency " +"compared to bind-mounts, since in the latter case all of /usr would have to " +"be copied into I<VOL>/usr during the initial bootstrap." +msgstr "" +"4行目はそのI<ディレクトリ> (とソースディレクトリ) が他のどの独自マウントとも" +"完全に分離しているためいつでもマウントできます。マウントすると、I<VOL>/usr " +"は B<union> オプションが指定されているため rw ブランチになり、元の読み取り専" +"用ファイルシステムと比較した差分だけが収録されます。そのため、バインドマウン" +"トと比較すると容量の面で非常に効率良くパッケージを /usr にインストールできま" +"す。これは後者では初期の自動処理で /usr 全体を I<VOL>/usr にコピーする必要が" +"あるためです。" + +#. type: Plain text +#: en/persistence.conf.5:192 +msgid "I<live-boot>(7)" +msgstr "I<live-boot>(7)" diff --git a/system-boot/manpages/po4a.cfg b/system-boot/manpages/po4a.cfg new file mode 100644 index 0000000..0f2b1ba --- /dev/null +++ b/system-boot/manpages/po4a.cfg @@ -0,0 +1,4 @@ +[po4a_langs] es fr ja +[po4a_paths] pot/$master.pot $lang:po/$lang/$master.po +[type: man] en/live-boot.7 $lang:$lang/live-boot.$lang.7 +[type: man] en/persistence.conf.5 $lang:$lang/persistence.conf.$lang.5 diff --git a/system-boot/manpages/pot/live-boot.7.pot b/system-boot/manpages/pot/live-boot.7.pot new file mode 100644 index 0000000..32ccf0b --- /dev/null +++ b/system-boot/manpages/pot/live-boot.7.pot @@ -0,0 +1,890 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the live-boot package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: live-boot 5.0~a5-1\n" +"POT-Creation-Date: 2015-09-22 10:09+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "LIVE-BOOT" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "2015-09-22" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "5.0~a5-1" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "Live Systems Project" +msgstr "" + +#. type: SH +#: en/live-boot.7:3 en/persistence.conf.5:3 +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:5 +msgid "B<live-boot> - System Boot Components" +msgstr "" + +#. type: SH +#: en/live-boot.7:6 en/persistence.conf.5:7 +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:8 +msgid "" +"B<live-boot> contains the components that configure a live system during the " +"boot process (early userspace)." +msgstr "" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:11 +msgid "" +"live-boot is a hook for the initramfs-tools, used to generate a initramfs " +"capable to boot live systems, such as those created by I<live-helper>(7). " +"This includes the Live systems ISOs, netboot tarballs, and usb stick images." +msgstr "" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:14 +msgid "" +"At boot time it will look for a (read-only) medium containing a \"/live\" " +"directory where a root filesystems (often a compressed filesystem image like " +"squashfs) is stored. If found, it will create a writable environment, using " +"aufs, to boot the system from." +msgstr "" + +#. type: SH +#: en/live-boot.7:15 +#, no-wrap +msgid "CONFIGURATION" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:17 +msgid "" +"B<live-boot> can be configured through a boot parameter or a configuration " +"file." +msgstr "" + +#. type: Plain text +#: en/live-boot.7:19 +msgid "" +"To configure the live-boot parameters used by default in a live image, see " +"the --bootappend-live option in the I<lb_config>(1) manual page." +msgstr "" + +#. type: SS +#: en/live-boot.7:20 +#, no-wrap +msgid "Kernel Parameters" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:22 +msgid "" +"B<live-boot> is only activated if 'boot=live' was used as a kernel parameter." +msgstr "" + +#. type: Plain text +#: en/live-boot.7:24 +msgid "" +"In addition, there are some more boot parameters to influence the behaviour, " +"see below." +msgstr "" + +#. type: SS +#: en/live-boot.7:25 +#, no-wrap +msgid "Configuration Files" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:27 +msgid "" +"B<live-boot> can be configured (but not activated) through configuration " +"files. Those files can be placed either in the root filesystem itself (/etc/" +"live/boot.conf, /etc/live/boot/*), or on the live media (live/boot.conf, " +"live/boot/*)." +msgstr "" + +#. type: SH +#: en/live-boot.7:28 en/persistence.conf.5:57 +#, no-wrap +msgid "OPTIONS" +msgstr "" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:31 +msgid "B<live-boot> currently features the following parameters." +msgstr "" + +#. type: IP +#: en/live-boot.7:31 +#, no-wrap +msgid "B<access>=I<ACCESS>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:33 +msgid "" +"Set the accessibility level for physically or visually impaired users. " +"ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, " +"v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, " +"m2=moderate motor difficulties." +msgstr "" + +#. type: IP +#: en/live-boot.7:33 +#, no-wrap +msgid "B<console>=I<TTY,SPEED>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:35 +msgid "" +"Set the default console to be used with the \"live-getty\" option. Example: " +"\"console=ttyS0,115200\"" +msgstr "" + +#. type: IP +#: en/live-boot.7:35 +#, no-wrap +msgid "B<debug>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:37 +msgid "Makes initramfs boot process more verbose." +msgstr "" + +#. type: Plain text +#: en/live-boot.7:39 +msgid "Use: debug=1" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:41 +msgid "Without setting debug to a value the messages may not be shown." +msgstr "" + +#. type: IP +#: en/live-boot.7:41 +#, no-wrap +msgid "B<fetch>=I<URL>" +msgstr "" + +#. type: IP +#: en/live-boot.7:42 +#, no-wrap +msgid "B<httpfs>=I<URL>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:50 +msgid "" +"Another form of netboot by downloading a squashfs image from a given URL. " +"The fetch method copies the image to RAM and the httpfs method uses FUSE and " +"httpfs2 to mount the image in place. Copying to RAM requires more memory and " +"might take a long time for large images. However, it is more likely to work " +"correctly because it does not require networking afterwards and the system " +"operates faster once booted because it does not require to contact the " +"server anymore." +msgstr "" + +#. type: Plain text +#: en/live-boot.7:52 +msgid "" +"Due to current limitations in busybox's wget and DNS resolution, an URL can " +"not contain a hostname but an IP address only." +msgstr "" + +#. type: Plain text +#: en/live-boot.7:54 +msgid "Not working: http://example.com/path/to/your_filesystem.squashfs" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:56 +msgid "Working: http://1.2.3.4/path/to/your_filesystem.squashfs" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:58 +msgid "" +"Also note that therefore it's currently not possible to fetch an image from " +"a name-based virtualhost of an httpd if it is sharing the IP address with " +"the main httpd instance." +msgstr "" + +#. type: Plain text +#: en/live-boot.7:60 +msgid "You may also use the live ISO image in place of the squashfs image." +msgstr "" + +#. type: IP +#: en/live-boot.7:60 +#, no-wrap +msgid "B<iscsi>=I<server-ip[,server-port];target-name>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:62 +msgid "" +"Boot from an iSCSI target that has an ISO or disk live image as one of its " +"LUNs. The specified target is searched for a LUN which looks like a live " +"medium. If you use the B<iscsitarget> software iSCSI target solution your " +"ietd.conf might look like this:" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:64 +msgid "# The target-name you specify in the iscsi= parameter" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:69 +#, no-wrap +msgid "" +"Target E<lt>target-nameE<gt>\n" +" Lun 0 Path=E<lt>path-to-your-live-image.isoE<gt>,Type=fileio,IOMode=ro\n" +" # If you want to boot multiple machines you might want to look at tuning some parameters like\n" +" # Wthreads or MaxConnections\n" +msgstr "" + +#. type: IP +#: en/live-boot.7:69 +#, no-wrap +msgid "B<findiso>=I</PATH/TO/IMAGE>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:71 +msgid "" +"Look for the specified ISO file on all disks where it usually looks for the ." +"squashfs file (so you don't have to know the device name as in fromiso=....)." +msgstr "" + +#. type: IP +#: en/live-boot.7:71 +#, no-wrap +msgid "B<fromiso>=I</PATH/TO/IMAGE>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:73 +msgid "" +"Allows to use a filesystem from within an ISO image that's available on live-" +"media." +msgstr "" + +#. type: IP +#: en/live-boot.7:73 +#, no-wrap +msgid "B<ignore_uuid>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:75 +msgid "" +"Do not check that any UUID embedded in the initramfs matches the discovered " +"medium. live-boot may be told to generate a UUID by setting " +"LIVE_GENERATE_UUID=1 when building the initramfs." +msgstr "" + +#. type: IP +#: en/live-boot.7:75 +#, no-wrap +msgid "B<verify-checksums>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:77 +msgid "" +"If specified, an MD5 sum is calculated on the live media during boot and " +"compared to the value found in md5sum.txt found in the root directory of the " +"live media." +msgstr "" + +#. type: IP +#: en/live-boot.7:77 +#, no-wrap +msgid "B<ip>=[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>] [,[I<DEVICE>]:[I<CLIENT_IP>]:[I<NETMASK>]:[I<GATEWAY_IP>]:[I<NAMESERVER>]]" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:79 +msgid "" +"Let you specify the name(s) and the options of the interface(s) that should " +"be configured at boot time. Do not specify this if you want to use dhcp " +"(default). It will be changed in a future release to mimick official kernel " +"boot param specification (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::" +"eth0,:::::eth1:dhcp)." +msgstr "" + +#. type: IP +#: en/live-boot.7:79 +#, no-wrap +msgid "B<ip>=[I<frommedia>]" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:81 +msgid "" +"If this variable is set, dhcp and static configuration are just skipped and " +"the system will use the (must be) media-preconfigured /etc/network/" +"interfaces instead." +msgstr "" + +#. type: IP +#: en/live-boot.7:81 +#, no-wrap +msgid "{B<live-media>|B<bootfrom>}=I<DEVICE>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:83 +msgid "" +"If you specify one of this two equivalent forms, live-boot will first try to " +"find this device for the \"/live\" directory where the read-only root " +"filesystem should reside. If it did not find something usable, the normal " +"scan for block devices is performed." +msgstr "" + +#. type: Plain text +#: en/live-boot.7:85 +msgid "" +"Instead of specifing an actual device name, the keyword 'removable' can be " +"used to limit the search of acceptable live media to removable type only. " +"Note that if you want to further restrict the media to usb mass storage " +"only, you can use the 'removable-usb' keyword." +msgstr "" + +#. type: IP +#: en/live-boot.7:85 +#, no-wrap +msgid "{B<live-media-encryption>|B<encryption>}=I<TYPE>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:87 +msgid "" +"live-boot will mount the encrypted rootfs TYPE, asking the passphrase, " +"useful to build paranoid live systems :-). TYPE supported so far is \"aes\" " +"for loop-aes encryption type." +msgstr "" + +#. type: IP +#: en/live-boot.7:87 +#, no-wrap +msgid "B<live-media-offset>=I<BYTES>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:89 +msgid "" +"This way you could tell live-boot that your image starts at offset BYTES in " +"the above specified or autodiscovered device, this could be useful to hide " +"the live system ISO or image inside another ISO or image, to create \"clean" +"\" images." +msgstr "" + +#. type: IP +#: en/live-boot.7:89 +#, no-wrap +msgid "B<live-media-path>=I<PATH>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:91 +msgid "" +"Sets the path to the live filesystem on the medium. By default, it is set to " +"'/live' and you should not change that unless you have customized your media " +"accordingly." +msgstr "" + +#. type: IP +#: en/live-boot.7:91 +#, no-wrap +msgid "B<live-media-timeout>=I<SECONDS>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:93 +msgid "" +"Set the timeout in seconds for the device specified by \"live-media=\" to " +"become ready before giving up." +msgstr "" + +#. type: IP +#: en/live-boot.7:93 +#, no-wrap +msgid "B<module>=I<NAME>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:95 +msgid "" +"Instead of using the default optional file \"filesystem.module\" (see below) " +"another file could be specified without the extension \".module\"; it should " +"be placed on \"/live\" directory of the live medium." +msgstr "" + +#. type: IP +#: en/live-boot.7:95 +#, no-wrap +msgid "B<netboot>[=nfs|cifs]" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:97 +msgid "" +"This tells live-boot to perform a network mount. The parameter \"nfsroot=" +"\" (with optional \"nfsopts=\"), should specify where is the location of the " +"root filesystem. With no args, will try cifs first, and if it fails nfs." +msgstr "" + +#. type: IP +#: en/live-boot.7:97 +#, no-wrap +msgid "B<nfsopts>=" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:99 +msgid "This lets you specify custom nfs options." +msgstr "" + +#. type: IP +#: en/live-boot.7:99 +#, no-wrap +msgid "B<nofastboot>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:101 +msgid "" +"This parameter disables the default disabling of filesystem checks in /etc/" +"fstab. If you have static filesystems on your harddisk and you want them to " +"be checked at boot time, use this parameter, otherwise they are skipped." +msgstr "" + +#. type: IP +#: en/live-boot.7:101 +#, no-wrap +msgid "B<nopersistence>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:103 +msgid "" +"disables the \"persistence\" feature, useful if the bootloader (like " +"syslinux) has been installed with persistence enabled." +msgstr "" + +#. type: IP +#: en/live-boot.7:103 en/live-boot.7:125 +#, no-wrap +msgid "B<noeject>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:105 +msgid "Do not prompt to eject the live medium." +msgstr "" + +#. type: IP +#: en/live-boot.7:105 +#, no-wrap +msgid "B<ramdisk-size>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:107 +msgid "" +"This parameter allows to set a custom ramdisk size (it's the '-o size' " +"option of tmpfs mount). By default, there is no ramdisk size set, so the " +"default of mount applies (currently 50% of available RAM). Note that this " +"option has currently no effect when booting with toram." +msgstr "" + +#. type: IP +#: en/live-boot.7:107 +#, no-wrap +msgid "B<swap=true>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:109 +msgid "This parameter enables usage of local swap partitions." +msgstr "" + +#. type: IP +#: en/live-boot.7:109 +#, no-wrap +msgid "B<persistence>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:111 +msgid "" +"live-boot will probe devices for persistence media. These can be partitions " +"(with the correct GPT name), filesystems (with the correct label) or image " +"files (with the correct file name). Overlays are labeled/named \"persistence" +"\" (see I<persistence.conf>(5)). Overlay image files are named \"persistence" +"\"." +msgstr "" + +#. type: IP +#: en/live-boot.7:111 +#, no-wrap +msgid "B<persistence-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:113 +msgid "" +"This option determines which types of encryption that we allow to be used " +"when probing devices for persistence media. If \"none\" is in the list, we " +"allow unencrypted media; if \"luks\" is in the list, we allow LUKS-encrypted " +"media. Whenever a device containing encrypted media is probed the user will " +"be prompted for the passphrase. The default value is \"none\"." +msgstr "" + +#. type: IP +#: en/live-boot.7:113 +#, no-wrap +msgid "B<persistence-media>={I<removable>|I<removable-usb>}" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:115 +msgid "" +"If you specify the keyword 'removable', live-boot will try to find " +"persistence partitions on removable media only. Note that if you want to " +"further restrict the media to usb mass storage only, you can use the " +"'removable-usb' keyword." +msgstr "" + +#. type: IP +#: en/live-boot.7:115 +#, no-wrap +msgid "B<persistence-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:117 +msgid "" +"This option determines which types of persistence media we allow. If " +"\"overlay\" is in the list, we consider overlays (i.e. \"live-rw\" and " +"\"home-rw\"). The default is \"overlay\"." +msgstr "" + +#. type: IP +#: en/live-boot.7:117 +#, no-wrap +msgid "B<persistence-path>=I<PATH>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:119 +msgid "" +"live-boot will look for persistency files in the root directory of a " +"partition, with this parameter, the path can be configured so that you can " +"have multiple directories on the same partition to store persistency files." +msgstr "" + +#. type: IP +#: en/live-boot.7:119 +#, no-wrap +msgid "B<persistence-read-only>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:121 +msgid "" +"Filesystem changes are not saved back to persistence media. In particular, " +"overlays and netboot NFS mounts are mounted read-only." +msgstr "" + +#. type: IP +#: en/live-boot.7:121 +#, no-wrap +msgid "B<persistence-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:123 +msgid "" +"This option determines which types of persistence storage to consider when " +"probing for persistence media. If \"filesystem\" is in the list, filesystems " +"with matching labels will be used; if \"file\" is in the list, all " +"filesystems will be probed for archives and image files with matching " +"filenames. The default is \"file,filesystem\"." +msgstr "" + +#. type: IP +#: en/live-boot.7:123 +#, no-wrap +msgid "B<persistence-label>=I<LABEL>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:125 +msgid "" +"live-boot will use the name \"LABEL\" instead of \"persistence\" when " +"searching for persistent storage. LABEL can be any valid filename, partition " +"label, or GPT name." +msgstr "" + +#. type: Plain text +#: en/live-boot.7:127 +msgid "" +"This option causes live-boot to reboot without attempting to eject the media " +"and without asking the user to remove the boot media." +msgstr "" + +#. type: IP +#: en/live-boot.7:127 +#, no-wrap +msgid "B<showmounts>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:129 +msgid "" +"This parameter will make live-boot to show on \"/\" the ro filesystems " +"(mostly compressed) on \"/lib/live\". This is not enabled by default because " +"could lead to problems by applications like \"mono\" which store binary " +"paths on installation." +msgstr "" + +#. type: IP +#: en/live-boot.7:129 +#, no-wrap +msgid "B<silent>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:131 +msgid "" +"If you boot with the normal quiet parameter, live-boot hides most messages " +"of its own. When adding silent, it hides all." +msgstr "" + +#. type: IP +#: en/live-boot.7:131 +#, no-wrap +msgid "B<todisk>=I<DEVICE>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:133 +msgid "" +"Adding this parameter, live-boot will try to copy the entire read-only media " +"to the specified device before mounting the root filesystem. It probably " +"needs a lot of free space. Subsequent boots should then skip this step and " +"just specify the \"live-media=DEVICE\" boot parameter with the same DEVICE " +"used this time." +msgstr "" + +#. type: IP +#: en/live-boot.7:133 +#, no-wrap +msgid "B<toram>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:135 +msgid "" +"Adding this parameter, live-boot will try to copy the whole read-only media " +"to the computer's RAM before mounting the root filesystem. This could need a " +"lot of ram, according to the space used by the read-only media." +msgstr "" + +#. type: IP +#: en/live-boot.7:135 +#, no-wrap +msgid "B<union>=overlay|aufs" +msgstr "" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:138 +msgid "" +"By default, live-boot uses overlay. With this parameter, you can switch to " +"aufs." +msgstr "" + +#. FIXME +#. type: SH +#: en/live-boot.7:140 +#, no-wrap +msgid "FILES (old)" +msgstr "" + +#. type: IP +#: en/live-boot.7:141 +#, no-wrap +msgid "B</etc/live.conf>" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:143 +msgid "" +"Some variables can be configured via this config file (inside the live " +"system)." +msgstr "" + +#. type: IP +#: en/live-boot.7:143 +#, no-wrap +msgid "B<live/filesystem.module>" +msgstr "" + +#. FIXME +#. type: Plain text +#: en/live-boot.7:146 +msgid "" +"This optional file (inside the live media) contains a list of white-space or " +"carriage-return-separated file names corresponding to disk images in the \"/" +"live\" directory. If this file exists, only images listed here will be " +"merged into the root aufs, and they will be loaded in the order listed here. " +"The first entry in this file will be the \"lowest\" point in the aufs, and " +"the last file in this list will be on the \"top\" of the aufs, directly " +"below /overlay. Without this file, any images in the \"/live\" directory " +"are loaded in alphanumeric order." +msgstr "" + +#. type: SH +#: en/live-boot.7:147 +#, no-wrap +msgid "FILES" +msgstr "" + +#. type: IP +#: en/live-boot.7:148 +#, no-wrap +msgid "B</etc/live/boot.conf>" +msgstr "" + +#. type: IP +#: en/live-boot.7:149 +#, no-wrap +msgid "B</etc/live/boot/*>" +msgstr "" + +#. type: IP +#: en/live-boot.7:150 +#, no-wrap +msgid "B<live/boot.conf>" +msgstr "" + +#. type: IP +#: en/live-boot.7:151 +#, no-wrap +msgid "B<live/boot/*>" +msgstr "" + +#. type: IP +#: en/live-boot.7:152 +#, no-wrap +msgid "B<persistence.conf>" +msgstr "" + +#. type: SH +#: en/live-boot.7:154 en/persistence.conf.5:190 +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:156 +msgid "I<persistence.conf>(5)" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:158 en/persistence.conf.5:194 +msgid "I<live-build>(7)" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:160 en/persistence.conf.5:196 +msgid "I<live-config>(7)" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:162 en/persistence.conf.5:198 +msgid "I<live-tools>(7)" +msgstr "" + +#. type: SH +#: en/live-boot.7:163 en/persistence.conf.5:199 +#, no-wrap +msgid "HOMEPAGE" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:165 en/persistence.conf.5:201 +msgid "" +"More information about live-boot and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" + +#. type: SH +#: en/live-boot.7:166 en/persistence.conf.5:202 +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:168 en/persistence.conf.5:204 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-boot package in " +"the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" + +#. type: SH +#: en/live-boot.7:169 en/persistence.conf.5:205 +#, no-wrap +msgid "AUTHOR" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:170 en/persistence.conf.5:206 +msgid "" +"live-boot was written by Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." +msgstr "" diff --git a/system-boot/manpages/pot/persistence.conf.5.pot b/system-boot/manpages/pot/persistence.conf.5.pot new file mode 100644 index 0000000..821fca3 --- /dev/null +++ b/system-boot/manpages/pot/persistence.conf.5.pot @@ -0,0 +1,510 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the live-boot package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: live-boot 5.0~a5-1\n" +"POT-Creation-Date: 2015-09-22 10:09+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "LIVE-BOOT" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "2015-09-22" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "5.0~a5-1" +msgstr "" + +#. type: TH +#: en/live-boot.7:1 en/persistence.conf.5:1 +#, no-wrap +msgid "Live Systems Project" +msgstr "" + +#. type: SH +#: en/live-boot.7:3 en/persistence.conf.5:3 +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: SH +#: en/live-boot.7:6 en/persistence.conf.5:7 +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: SH +#: en/live-boot.7:28 en/persistence.conf.5:57 +#, no-wrap +msgid "OPTIONS" +msgstr "" + +#. type: SH +#: en/live-boot.7:154 en/persistence.conf.5:190 +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:158 en/persistence.conf.5:194 +msgid "I<live-build>(7)" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:160 en/persistence.conf.5:196 +msgid "I<live-config>(7)" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:162 en/persistence.conf.5:198 +msgid "I<live-tools>(7)" +msgstr "" + +#. type: SH +#: en/live-boot.7:163 en/persistence.conf.5:199 +#, no-wrap +msgid "HOMEPAGE" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:165 en/persistence.conf.5:201 +msgid "" +"More information about live-boot and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" + +#. type: SH +#: en/live-boot.7:166 en/persistence.conf.5:202 +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:168 en/persistence.conf.5:204 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-boot package in " +"the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" + +#. type: SH +#: en/live-boot.7:169 en/persistence.conf.5:205 +#, no-wrap +msgid "AUTHOR" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:170 en/persistence.conf.5:206 +msgid "" +"live-boot was written by Daniel Baumann E<lt>I<mail@daniel-baumann.ch>E<gt>." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:6 +msgid "" +"B<persistence.conf> - Configuration file for persistence media in live-boot" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:13 +msgid "" +"If live-boot probes a persistence volume with the label (or GPT name, or " +"file name, but from now on we will just say \"label\") \"persistence\", that " +"volume's persistence is fully customizable through the B<persistence.conf> " +"file stored on the root of its file system. Any such labeled volume must " +"have such a file, or it will be ignored." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:17 +msgid "" +"The format of B<persistence.conf> allows empty lines and lines starting with " +"a \"#\" (used for comments), both which will be ignored. A so called " +"\"custom mount\" has the format:" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:20 +msgid "I<DIR> [I<OPTION>]..." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:24 +msgid "" +"which roughly translates to \"make I<DIR> persistence in the way described " +"by the list of I<OPTION>s\"." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:35 +msgid "" +"For each custom mount I<DIR> must be an absolute path that cannot contain " +"white spaces or the special . and .. path components, and cannot be /live " +"(or any of its sub-directories). Once activated all changes (file deletion, " +"creation and modification) to I<DIR> on the live file system are stored " +"persistently into a path equivalent to I<DIR> on the persistence media, " +"called the source directory. The default way to achieve persistence is to " +"simply bind-mount the corresponding source directory to I<DIR>, but this can " +"be changed through the use of I<OPTION>s." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:48 +msgid "" +"All custom mounts will be done in an order so that no two custom mounts can " +"\"hide\" each other. For instance, if we have the two I<DIR>:s /a and /a/b " +"it would always be the case that /a is mounted first, then /a/b. This " +"remains true no matter how the lines in B<persistence.conf> are ordered, or " +"if several B<persistence.conf> files on different persistence media are used " +"at the same time. However, it is forbidden for custom mounts to have their " +"source directory inside the source directory of another custom mount, so the " +"source directories that are auto-created by live-boot does not support " +"\"nested\" mounts like /a and /a/b on the same media. In this case you must " +"use the B<source> option (see below) to make sure that they are stored in " +"different source directories." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:56 +msgid "" +"When a source directory doesn't exist on the persistence media for a certain " +"custom mount, it will be created automatically, and permissions and " +"ownership will be optimistically set according to I<DIR>. It will also be " +"bootstrapped by copying the contents of the I<DIR> into its source directory " +"on the persistence media. The bootstrapping will not happen when the B<link> " +"or B<union> options are used (see below)." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:60 +msgid "" +"Custom mounts defined in B<persistence.conf> accept the following options in " +"a comma-separated list:" +msgstr "" + +#. type: IP +#: en/persistence.conf.5:60 +#, no-wrap +msgid "B<source>=I<PATH>" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:69 +msgid "" +"When given, store the persistence changes into I<PATH> on the persistence " +"media. I<PATH> must be a relative path (with respect to the persistence " +"media root) that cannot contain white spaces or the special . or .. path " +"components, with the exception that it can be just . which means the " +"persistence media root. This option is mostly relevant if you want to nest " +"custom mounts, which otherwise would cause errors, or if you want to make " +"the whole media root available (similar to the now deprecated B<home-rw> " +"type of persistence)." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:72 +msgid "" +"The following options are mutually exclusive (only the last given one will " +"be in effect):" +msgstr "" + +#. type: IP +#: en/persistence.conf.5:72 +#, no-wrap +msgid "B<bind>" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:74 +msgid "Bind-mount the source directory to I<DIR>. This is the default." +msgstr "" + +#. type: IP +#: en/persistence.conf.5:74 +#, no-wrap +msgid "B<link>" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:83 +msgid "" +"Create the directory structure of the source directory on the persistence " +"media in I<DIR> and create symbolic links from the corresponding place in " +"I<DIR> to each file in the source directory. Existing files or directories " +"with the same name as any link will be overwritten. Note that deleting the " +"links in I<DIR> will only remove the link, not the corresponding file in the " +"source; removed links will reappear after a reboot. To permanently add or " +"delete a file one must do so directly in the source directory." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:91 +msgid "" +"Effectively B<link> will make only files already in the source directory " +"persistent, not any other files in I<DIR>. These files must be manually " +"added to the source directory to make use of this option, and they will " +"appear in I<DIR> in addition to files already there. This option is useful " +"when only certain files need to be persistent, not the whole directory " +"they're in, e.g. some configuration files in a user's home directory." +msgstr "" + +#. type: IP +#: en/persistence.conf.5:91 +#, no-wrap +msgid "B<union>" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:100 +msgid "" +"Save the rw branch of a union on the persistence media, so only the changes " +"are stored persistently. This can potentially reduce disk usage compared to " +"bind-mounts, and will not hide files added to the read-only media. One " +"caveat is that the union will use I<DIR> from the image's read-only file " +"system, not the real file system root, so files created after boot (e.g. by " +"live-config) will not appear in the union. This option will use the union " +"file system specified by live-boot's B<union> boot parameter." +msgstr "" + +#. type: SH +#: en/persistence.conf.5:101 +#, no-wrap +msgid "DIRECTORIES" +msgstr "" + +#. type: IP +#: en/persistence.conf.5:102 +#, no-wrap +msgid "B</live/persistence>" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:108 +msgid "" +"All persistence volumes will be mounted here (in a directory corresponding " +"to the device name). The B<persistence.conf> file can easily be edited " +"through this mount, as well as any source directories (which is especially " +"practical for custom mounts using the B<link> option)." +msgstr "" + +#. type: SH +#: en/persistence.conf.5:109 +#, no-wrap +msgid "EXAMPLES" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:114 +msgid "" +"Let's say we have a persistence volume I<VOL> with the a B<persistence.conf> " +"file containing the following four lines (numbered for ease of reference):" +msgstr "" + +#. type: TP +#: en/persistence.conf.5:114 en/persistence.conf.5:128 +#, no-wrap +msgid "1." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:117 +msgid "/home/user1 link,source=config-files/user1" +msgstr "" + +#. type: TP +#: en/persistence.conf.5:117 en/persistence.conf.5:132 +#, no-wrap +msgid "2." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:120 +msgid "/home/user2 link,source=config-files/user2" +msgstr "" + +#. type: TP +#: en/persistence.conf.5:120 en/persistence.conf.5:136 +#, no-wrap +msgid "3." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:123 +msgid "/home" +msgstr "" + +#. type: TP +#: en/persistence.conf.5:123 en/persistence.conf.5:139 +#, no-wrap +msgid "4." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:126 +msgid "/usr union" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:128 +msgid "The corresponding source directories are:" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:132 +msgid "" +"I<VOL>/config-files/user1 (but it would be I<VOL>/home/user1 without the " +"B<source> option)" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:136 +msgid "" +"I<VOL>/config-files/user2 (but it would be I<VOL>/home/user2 without the " +"B<source> option)" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:139 +msgid "I<VOL>/home" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:142 +msgid "I<VOL>/usr" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:145 +msgid "" +"It was necessary to set the B<source> options for 1 and 2, since they " +"otherwise would become nested with 3's source, which is invalid." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:150 +msgid "" +"Line 3 will be taken care of before line 1 and 2 in order to prevent custom " +"mounts 1 and 2 from being hidden by 3. When line 3 is handled, I<VOL>/home " +"is simply bind-mounted on /home. To illustrate what happens for lines 1 and " +"2, let's say that the following files exist:" +msgstr "" + +#. type: TP +#: en/persistence.conf.5:150 +#, no-wrap +msgid "a." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:153 +msgid "I<VOL>/config-files/user1/.emacs" +msgstr "" + +#. type: TP +#: en/persistence.conf.5:153 +#, no-wrap +msgid "b." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:156 +msgid "I<VOL>/config-files/user2/.bashrc" +msgstr "" + +#. type: TP +#: en/persistence.conf.5:156 +#, no-wrap +msgid "c." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:159 +msgid "I<VOL>/config-files/user2/.ssh/config" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:161 +msgid "Then the following links and directories will be created:" +msgstr "" + +#. type: TP +#: en/persistence.conf.5:161 en/persistence.conf.5:164 +#: en/persistence.conf.5:170 +#, no-wrap +msgid "Link:" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:164 +msgid "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (from a)" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:167 +msgid "/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (from b)" +msgstr "" + +#. type: TP +#: en/persistence.conf.5:167 +#, no-wrap +msgid "Dir:" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:170 +msgid "/homea/user2/.ssh (from c)" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:174 +msgid "" +"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (from c)" +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:180 +msgid "" +"One could argue, though, that lines 1 and 2 in the example B<persistence." +"conf> file above are unnecessary since line 3 already would make all of /" +"home persistent. The B<link> option is intended for situations where you " +"don't want a complete directory to be persistent, only certain files in it " +"or its sub-directories." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:189 +msgid "" +"Line 4 can be mounted at any time since its I<DIR> (and source directory) is " +"completely disjoint from all the other custom mounts. When mounted, I<VOL>/" +"usr will be the rw branch due to the B<union> option, and will only contain " +"the difference compared to the underlying read-only file system. Hence " +"packages could be installed into /usr with great space-wise efficiency " +"compared to bind-mounts, since in the latter case all of /usr would have to " +"be copied into I<VOL>/usr during the initial bootstrap." +msgstr "" + +#. type: Plain text +#: en/persistence.conf.5:192 +msgid "I<live-boot>(7)" +msgstr "" diff --git a/system-build/CHANGELOG.txt b/system-build/CHANGELOG.txt new file mode 100644 index 0000000..315c2f1 --- /dev/null +++ b/system-build/CHANGELOG.txt @@ -0,0 +1,101 @@ +2016-11-15 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20161115. + * Backward incompatible changes: + - renames output files from live-system* to system*. + - renames source tarballs from tar and debian.tar to orig.tar and config.tar. + - renames chroot stage on disk to system. + + [ Daniel Baumann ] + * Setting live-image-name by default to system instead of live-system. + * Renaming upstream source tarball to orig.tar. + * Renaming system-build config tarball to config.tar. + * Renaming config/chroot to config/system. + * Renaming license file for consistency. + * Renaming version file for consistency. + * Removing manpage translations in order to rewrite manpage from scratch. + * Adding chroot hook to remove auto-generated kernel autoremove file. + * Adding chroot hook to remove systemd journal database. + * Including ca-certificates too when including apt-transport-https. + * Correcting https check in archive lists to cover both list and lists.* files. + * Using deb.debian.org with https as default mirror. + * Removing trailing slash in mirror defaults. + +2016-11-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20161101. + + [ Daniel Baumann ] + * Using references to system-build instead of live-build. + * Using system-boot instead of live-boot. + * Using system-config instead of live-config. + * Dropping references to live-tools. + * Making config check for https in archive list files silent. + + [ Chris Lamb ] + * Exposing exposes the SOURCE_DATE_EPOCH variable when running scripts inside the chroot, otherwise the chroot operation resets the environment (Closes: #833118). + + [ Daniel Baumann ] + * Removing automatic mode setting. + * Adding workaround for user-setup. + * Setting default debian mirrors to deb.debian.org. + + [ Sophie Brun ] + * Handling packages.chroot with an explicitly trusted file:// repository. + +2016-07-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160701. + + [ Daniel Baumann ] + * Adding commit messages to previous changelog. + * Removing support for using aptitude instead of apt. + * Including apt-transport-https if archives are used with https. + + [ Kristian Klausen ] + * Fixing typo in binary_syslinux (Closes: #832686). + * Switching d-i.debian.org URIs from http to https (Closes: #832680). + * Disabling ext4 64bit features when using extlinux. + + [ Chris Lamb ] + * Setting xorriso's "modification time" to SOURCE_DATE_EPOCH as a first step for reproducible ISO images (Closes: #832689). + +2016-06-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160601. + + [ Carlos Zuferri ] + * Adding missing file extension to hdd images. + + [ Adrian Gibanel Lopez ] + * Adding multi bootloader support. + * Adding loopback cfg support. + + [ Maximilian Mehnert ] + * Forcing link creation when diverting flash-kernel. + * Starting partition at specific place for old BIOSes. + * Fixing coding style in binary_hdd. + + [ Carlos Zuferri ] + * Using 'Live Systems Project' as default project in .pot files. + + [ trebmuh ] + * Adding French manpage translations. + + [ Ben Armstrong ] + * Removing 586 flavour for i386 architecture (Closes: #832705). + + [ Raphaël Hertzog ] + * Better handling empty package lists. + * Dropping ixp4xx from available armel flavors. + * Adding symlinks for libgpl.c32 and libmenu.c32. + + [ Kristian Klausen ] + * Including ext{3,4} journal size when calculating image size (Closes: #832671). + + [ Daniel Baumann ] + * Correcting version string in changelog. + +2016-05-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160501. diff --git a/system-build/LICENSE.txt b/system-build/LICENSE.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/system-build/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/system-build/Makefile b/system-build/Makefile new file mode 100644 index 0000000..71ec0f2 --- /dev/null +++ b/system-build/Makefile @@ -0,0 +1,70 @@ +# Makefile + +SHELL := sh -e + +SCRIPTS = frontend/* functions/* examples/auto/* examples/hooks/* scripts/*.sh scripts/*/* share/bin/* share/hooks/*/* + +all: build + +test: + @echo -n "Checking for syntax errors" + + @for SCRIPT in $(SCRIPTS); \ + do \ + sh -n $${SCRIPT}; \ + echo -n "."; \ + done + + @echo " done." + + @echo -n "Checking for bashisms" + + @if [ -x /usr/bin/checkbashisms ]; \ + then \ + for SCRIPT in $(SCRIPTS); \ + do \ + checkbashisms -f -x $${SCRIPT}; \ + echo -n "."; \ + done; \ + else \ + echo "WARNING: skipping bashism test - you need to install devscripts."; \ + fi + + @echo " done." + +build: + @echo "Nothing to build." + +install: + # Installing shared data + mkdir -p $(DESTDIR)/usr/share/live/build + cp -r data functions VERSION.txt $(DESTDIR)/usr/share/live/build + cp -r share/* $(DESTDIR)/usr/share/live/build + + # Installing executables + mkdir -p $(DESTDIR)/usr/bin + cp -a frontend/* $(DESTDIR)/usr/bin + + mkdir -p $(DESTDIR)/usr/lib/live + cp -a scripts/* $(DESTDIR)/usr/lib/live + + # Installing documentation + mkdir -p $(DESTDIR)/usr/share/doc/live-build + cp -r LICENSE.txt examples $(DESTDIR)/usr/share/doc/live-build + +uninstall: + # Uninstalling shared data + rm -rf $(DESTDIR)/usr/share/live/build + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/live > /dev/null 2>&1 || true + + # Uninstalling executables + rm -f $(DESTDIR)/usr/bin/lb $(DESTDIR)/usr/bin/live-build + + # Uninstalling documentation + rm -rf $(DESTDIR)/usr/share/doc/live-build + +clean: + +distclean: + +reinstall: uninstall install diff --git a/system-build/VERSION.txt b/system-build/VERSION.txt new file mode 100644 index 0000000..8a548db --- /dev/null +++ b/system-build/VERSION.txt @@ -0,0 +1 @@ +20161115 diff --git a/system-build/data/debian-cd/jessie b/system-build/data/debian-cd/jessie new file mode 120000 index 0000000..20f08b4 --- /dev/null +++ b/system-build/data/debian-cd/jessie @@ -0,0 +1 @@ +squeeze
\ No newline at end of file diff --git a/system-build/data/debian-cd/sid b/system-build/data/debian-cd/sid new file mode 120000 index 0000000..20f08b4 --- /dev/null +++ b/system-build/data/debian-cd/sid @@ -0,0 +1 @@ +squeeze
\ No newline at end of file diff --git a/system-build/data/debian-cd/squeeze/amd64_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/amd64_businesscard_udeb_include new file mode 100644 index 0000000..0089df0 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/amd64_businesscard_udeb_include @@ -0,0 +1,4 @@ +choose-mirror +netcfg +ethdetect +pcmciautils-udeb diff --git a/system-build/data/debian-cd/squeeze/amd64_netinst_udeb_include b/system-build/data/debian-cd/squeeze/amd64_netinst_udeb_include new file mode 100644 index 0000000..1553277 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/amd64_netinst_udeb_include @@ -0,0 +1,3 @@ +netcfg +ethdetect +pcmciautils-udeb diff --git a/system-build/data/debian-cd/squeeze/amd64_udeb_include b/system-build/data/debian-cd/squeeze/amd64_udeb_include new file mode 100644 index 0000000..1553277 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/amd64_udeb_include @@ -0,0 +1,3 @@ +netcfg +ethdetect +pcmciautils-udeb diff --git a/system-build/data/debian-cd/squeeze/arm_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/arm_businesscard_udeb_include new file mode 100644 index 0000000..6326d6c --- /dev/null +++ b/system-build/data/debian-cd/squeeze/arm_businesscard_udeb_include @@ -0,0 +1,3 @@ +choose-mirror +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/arm_netinst_udeb_include b/system-build/data/debian-cd/squeeze/arm_netinst_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/arm_netinst_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/arm_udeb_include b/system-build/data/debian-cd/squeeze/arm_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/arm_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/exclude-udebs b/system-build/data/debian-cd/squeeze/exclude-udebs new file mode 100644 index 0000000..ba3ed4f --- /dev/null +++ b/system-build/data/debian-cd/squeeze/exclude-udebs @@ -0,0 +1,139 @@ +# These udebs build the d-i cdrom initrd. As such, there is no reason +# to keep another copy of them on the CD in udeb form. +# +# This duplicates data found in the file build/pkg-lists/kernel, in d-i svn +kernel-image-* +# build/pkg-lists/base in d-i svn +archdetect +rootskel +main-menu +cdebconf-udeb +udpkg +anna +di-utils +di-utils-shell +di-utils-reboot +lowmemcheck +# build/pkg-lists/cdrom/common, in d-i svn (also included in the +# root+cd-drivers floppies) +busybox-udeb +installation-locale +localechooser +iso-3166-udeb +hw-detect +cdrom-detect +cdrom-retriever +load-cdrom +cdrom-checker +bogl-bterm-udeb +di-utils-terminfo +cdebconf-priority +cdebconf-newt-udeb +usb-discover +preseed-common +initrd-preseed +file-preseed +nano-udeb +floppy-retriever +libfribidi0-udeb +# Already on the initrd as dependencies +libdebconfclient0-udeb +libdebian-installer4-udeb +libdebian-installer-extra4-udeb +# These udebs are only useful in building the boot floppy image +busybox-floppy-udeb +rootskel-bootfloppy +# Graphical installer: common udebs included in initrd +rootskel-gtk +cdebconf-gtk-udeb +fontconfig-udeb +gtk2-engines-udeb +libatk1.0-udeb +libexpat1-udeb +libfreetype6-udeb +libglib2.0-udeb +libgtk2-engines-udeb +libpango1.0-udeb +libpcre3-udeb +libpixman-1-0-udeb +libpng12-0-udeb +libsdl1.2debian-udeb +mouse-modules-* +ttf-* +fbset-udeb +# Graphical installer: udebs for directfb +libdirectfb-*-udeb +libcairo-directfb2-udeb +libgtk-directfb-2.0-0-udeb +# Graphical installer: udebs for X.Org +xserver-xorg-core-udeb +xserver-xorg-input-evdev-udeb +xserver-xorg-video-fbdev-udeb +x11-xkb-utils-udeb +xkb-data-udeb +libcairo2-udeb +libdrm2-udeb +libfontenc1-udeb +libgtk-x11-udeb +libpciaccess0-udeb +libx11-6-udeb +libxau6-udeb +libxcb1-udeb +libxcursor1-udeb +libxdmcp6-udeb +libxext6-udeb +libxfixes3-udeb +libxfont1-udeb +libxft2-udeb +libxi6-udeb +libxinerama1-udeb +libxkbfile1-udeb +libxrender1-udeb +# Graphical installer: terminal support is included in initrd +cdebconf-gtk-terminal +libvte9-udeb +# Not currently used +cdebootstrap-udeb +hdparm-udeb +dhcp-client-udeb +# This package is only useful in the d-i-demo +di-utils-exit-installer +# No need for these loaders. +download-installer +load-floppy +# Only useful in the hd-media initrd +iso-scan +load-iso +# Nothing currently depends on this, and it seems not useful on its own +reiserfsprogs-udeb +# These are not really needed, the regular netcfg subsumes them +netcfg-static +# skolelinux stuff, not for the stock CDs +debian-edu-install-udeb +debian-edu-profile-udeb +debian-edu-archive-keyring-udeb +ltsp-client-builder +autopartkit +# live CD stuff +live-installer +simple-cdd-profiles +# If needed, will be on the initrd already +module-init-tools-udeb +env-preseed +rescue-check +cdebconf-text-udeb +brltty-udeb +klibc-utils-udeb +libklibc-udeb +udev-udeb +udev-gtk-udeb +ai-choosers +auto-install +libslang2-udeb +kbd-chooser +kbd-udeb +# Currently unused +nbd-client-udeb +pwgen-udeb +# Eh? +gnumach-udeb diff --git a/system-build/data/debian-cd/squeeze/exclude-udebs-amd64 b/system-build/data/debian-cd/squeeze/exclude-udebs-amd64 new file mode 100644 index 0000000..8f81f6e --- /dev/null +++ b/system-build/data/debian-cd/squeeze/exclude-udebs-amd64 @@ -0,0 +1,43 @@ +# These udebs are in the d-i cdrom initrd and the hd-media initrd. +# As such, there is no reason to keep another copy of them on the CD +# in udeb form. +console-keymaps-at +console-keymaps-usb +kbd-chooser +acpi-modules-* +ata-modules-* +cdrom-core-modules-* +core-modules-* +fat-modules-* +fb-modules-* +ide-core-modules-* +ide-modules-* +input-modules-* +isofs-modules-* +mmc-modules-* +nls-core-modules-* +parport-modules-* +pcmcia-modules-* +sata-modules-* +scsi-common-modules-* +scsi-core-modules-* +scsi-modules-* +serial-modules-* +speakup-modules-* +usb-modules-* +usb-serial-modules-* +usb-storage-modules-* +zlib-modules-* +# Not used on amd64 +console-keymaps-acorn +console-keymaps-amiga +console-keymaps-atari +console-keymaps-dec +console-keymaps-sun +# Not needed with the 2.6 kernel on amd64. +userdevfs +# Only needed on arches that use partconf or autopartkit. +partconf-mkfstab +# Not needed on arches that use partman +mdcfg +lvmcfg diff --git a/system-build/data/debian-cd/squeeze/exclude-udebs-i386 b/system-build/data/debian-cd/squeeze/exclude-udebs-i386 new file mode 100644 index 0000000..b3af1c9 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/exclude-udebs-i386 @@ -0,0 +1,45 @@ +# These udebs are in the d-i cdrom initrd and the cd-drivers+root floppies. +# As such, there is no reason to keep another copy of them on the CD +# in udeb form. +console-keymaps-at +console-keymaps-usb +kbd-chooser +acpi-modules-* +ata-modules-* +cdrom-core-modules-* +core-modules-* +fat-modules-* +fb-modules-* +ide-core-modules-* +ide-modules-* +input-modules-* +isofs-modules-* +mmc-modules-* +nls-core-modules-* +parport-modules-* +pcmcia-modules-* +sata-modules-* +scsi-common-modules-* +scsi-core-modules-* +scsi-modules-* +serial-modules-* +speakup-modules-* +usb-modules-* +usb-serial-modules-* +usb-storage-modules-* +zlib-modules-* +# 686-bigmem kernel udebs are only used for the Xen netboot image +*-686-bigmem-di !xen +# Not used on i386 +console-keymaps-acorn +console-keymaps-amiga +console-keymaps-atari +console-keymaps-dec +console-keymaps-sun +# Not needed with the 2.4 kernel on i386. +userdevfs +# Only needed on arches that use partconf or autopartkit. +partconf-mkfstab +# Not needed on arches that use partman +mdcfg +lvmcfg diff --git a/system-build/data/debian-cd/squeeze/exclude-udebs-powerpc b/system-build/data/debian-cd/squeeze/exclude-udebs-powerpc new file mode 100644 index 0000000..5a7df81 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/exclude-udebs-powerpc @@ -0,0 +1,28 @@ +# These udebs build the d-i cdrom initrd. As such, there is no reason +# to keep another copy of them on the CD in udeb form. +# +# This duplicates data found in the file build/pkg-lists/cdrom/powerpc, +# in d-i Subversion. + +cdrom-core-modules-* +console-keymaps-at +console-keymaps-usb +eject-udeb +firewire-core-modules-* +fs-common-modules-* +ide-modules-* +input-modules-* +kbd-chooser +scsi-common-modules-* +scsi-core-modules-* +scsi-modules-* +socket-modules-* +usb-modules-* +usb-storage-modules-* +# Not needed with the 2.4 kernel on powerpc. +userdevfs +# Only needed on arches that use partconf or autopartkit. +partconf-mkfstab +# Not needed on arches that use partman +mdcfg +lvmcfg diff --git a/system-build/data/debian-cd/squeeze/exclude-udebs-s390 b/system-build/data/debian-cd/squeeze/exclude-udebs-s390 new file mode 100644 index 0000000..e075e4b --- /dev/null +++ b/system-build/data/debian-cd/squeeze/exclude-udebs-s390 @@ -0,0 +1,3 @@ +# S/390 does not support loading udebs off the CD image, +# so we can exclude all udebs from it +* diff --git a/system-build/data/debian-cd/squeeze/exclude-udebs-sparc b/system-build/data/debian-cd/squeeze/exclude-udebs-sparc new file mode 100644 index 0000000..d11a81b --- /dev/null +++ b/system-build/data/debian-cd/squeeze/exclude-udebs-sparc @@ -0,0 +1,5 @@ +# Only needed on arches that use partconf or autopartkit. +partconf-mkfstab +# Not needed on arches that use partman +mdcfg +lvmcfg diff --git a/system-build/data/debian-cd/squeeze/i386_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/i386_businesscard_udeb_include new file mode 100644 index 0000000..0089df0 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/i386_businesscard_udeb_include @@ -0,0 +1,4 @@ +choose-mirror +netcfg +ethdetect +pcmciautils-udeb diff --git a/system-build/data/debian-cd/squeeze/i386_netinst_udeb_include b/system-build/data/debian-cd/squeeze/i386_netinst_udeb_include new file mode 100644 index 0000000..1553277 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/i386_netinst_udeb_include @@ -0,0 +1,3 @@ +netcfg +ethdetect +pcmciautils-udeb diff --git a/system-build/data/debian-cd/squeeze/i386_udeb_include b/system-build/data/debian-cd/squeeze/i386_udeb_include new file mode 100644 index 0000000..1553277 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/i386_udeb_include @@ -0,0 +1,3 @@ +netcfg +ethdetect +pcmciautils-udeb diff --git a/system-build/data/debian-cd/squeeze/ia64_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/ia64_businesscard_udeb_include new file mode 100644 index 0000000..6326d6c --- /dev/null +++ b/system-build/data/debian-cd/squeeze/ia64_businesscard_udeb_include @@ -0,0 +1,3 @@ +choose-mirror +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/ia64_netinst_udeb_include b/system-build/data/debian-cd/squeeze/ia64_netinst_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/ia64_netinst_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/ia64_udeb_include b/system-build/data/debian-cd/squeeze/ia64_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/ia64_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/m68k_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/m68k_businesscard_udeb_include new file mode 100644 index 0000000..6326d6c --- /dev/null +++ b/system-build/data/debian-cd/squeeze/m68k_businesscard_udeb_include @@ -0,0 +1,3 @@ +choose-mirror +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/m68k_netinst_udeb_include b/system-build/data/debian-cd/squeeze/m68k_netinst_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/m68k_netinst_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/m68k_udeb_include b/system-build/data/debian-cd/squeeze/m68k_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/m68k_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/mips_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/mips_businesscard_udeb_include new file mode 100644 index 0000000..6326d6c --- /dev/null +++ b/system-build/data/debian-cd/squeeze/mips_businesscard_udeb_include @@ -0,0 +1,3 @@ +choose-mirror +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/mips_netinst_udeb_include b/system-build/data/debian-cd/squeeze/mips_netinst_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/mips_netinst_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/mips_udeb_include b/system-build/data/debian-cd/squeeze/mips_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/mips_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/mipsel_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/mipsel_businesscard_udeb_include new file mode 100644 index 0000000..6326d6c --- /dev/null +++ b/system-build/data/debian-cd/squeeze/mipsel_businesscard_udeb_include @@ -0,0 +1,3 @@ +choose-mirror +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/mipsel_netinst_udeb_include b/system-build/data/debian-cd/squeeze/mipsel_netinst_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/mipsel_netinst_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/mipsel_udeb_include b/system-build/data/debian-cd/squeeze/mipsel_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/mipsel_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/powerpc_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/powerpc_businesscard_udeb_include new file mode 100644 index 0000000..6326d6c --- /dev/null +++ b/system-build/data/debian-cd/squeeze/powerpc_businesscard_udeb_include @@ -0,0 +1,3 @@ +choose-mirror +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/powerpc_netinst_udeb_include b/system-build/data/debian-cd/squeeze/powerpc_netinst_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/powerpc_netinst_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/powerpc_udeb_include b/system-build/data/debian-cd/squeeze/powerpc_udeb_include new file mode 100644 index 0000000..1553277 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/powerpc_udeb_include @@ -0,0 +1,3 @@ +netcfg +ethdetect +pcmciautils-udeb diff --git a/system-build/data/debian-cd/squeeze/s390_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/s390_businesscard_udeb_include new file mode 100644 index 0000000..6326d6c --- /dev/null +++ b/system-build/data/debian-cd/squeeze/s390_businesscard_udeb_include @@ -0,0 +1,3 @@ +choose-mirror +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/s390_netinst_udeb_include b/system-build/data/debian-cd/squeeze/s390_netinst_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/s390_netinst_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/s390_udeb_include b/system-build/data/debian-cd/squeeze/s390_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/s390_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/sparc_businesscard_udeb_include b/system-build/data/debian-cd/squeeze/sparc_businesscard_udeb_include new file mode 100644 index 0000000..6326d6c --- /dev/null +++ b/system-build/data/debian-cd/squeeze/sparc_businesscard_udeb_include @@ -0,0 +1,3 @@ +choose-mirror +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/sparc_netinst_udeb_include b/system-build/data/debian-cd/squeeze/sparc_netinst_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/sparc_netinst_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/sparc_udeb_include b/system-build/data/debian-cd/squeeze/sparc_udeb_include new file mode 100644 index 0000000..6f1c801 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/sparc_udeb_include @@ -0,0 +1,2 @@ +netcfg +ethdetect diff --git a/system-build/data/debian-cd/squeeze/udeb_exclude b/system-build/data/debian-cd/squeeze/udeb_exclude new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/system-build/data/debian-cd/squeeze/udeb_exclude @@ -0,0 +1 @@ + diff --git a/system-build/data/debian-cd/stretch b/system-build/data/debian-cd/stretch new file mode 120000 index 0000000..20f08b4 --- /dev/null +++ b/system-build/data/debian-cd/stretch @@ -0,0 +1 @@ +squeeze
\ No newline at end of file diff --git a/system-build/examples/auto/build b/system-build/examples/auto/build new file mode 100755 index 0000000..f8d8346 --- /dev/null +++ b/system-build/examples/auto/build @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +lb build noauto "${@}" 2>&1 | tee build.log diff --git a/system-build/examples/auto/clean b/system-build/examples/auto/clean new file mode 100755 index 0000000..7b5ed5e --- /dev/null +++ b/system-build/examples/auto/clean @@ -0,0 +1,8 @@ +#!/bin/sh + +set -e + +lb clean noauto "${@}" + +rm -f config/binary config/bootstrap config/system config/common config/source +rm -f build.log diff --git a/system-build/examples/auto/config b/system-build/examples/auto/config new file mode 100755 index 0000000..c6d68c6 --- /dev/null +++ b/system-build/examples/auto/config @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e + +lb config noauto \ + "${@}" diff --git a/system-build/examples/gitignore b/system-build/examples/gitignore new file mode 100644 index 0000000..c718546 --- /dev/null +++ b/system-build/examples/gitignore @@ -0,0 +1,31 @@ +binary/ +binary*.iso +binary*.img +binary*.tar* +binary*.contents +binary*.packages +binary*.zsync + +.build/ +build.log + +cache/ + +chroot/ +chroot.packages.* + +config/binary +config/bootstrap +config/system +config/common +config/source + +config/control + +source/ +source*.iso +source*.img +source*.tar* +source*.contents +source*.packages +source*.zsync diff --git a/system-build/examples/hooks/minimal.hook.chroot b/system-build/examples/hooks/minimal.hook.chroot new file mode 100755 index 0000000..d13ba42 --- /dev/null +++ b/system-build/examples/hooks/minimal.hook.chroot @@ -0,0 +1,33 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Removing unused packages +for PACKAGE in apt-utils aptitude man-db manpages info wget +do + if ! apt-get remove --purge --yes "${PACKAGE}" + then + echo "WARNING: ${PACKAGE} isn't installed" + fi +done + +apt-get autoremove --yes || true + +# Removing unused files +find . -name *~ -print0 | xargs -0 rm -f + +rm -rf /var/cache/man/* + +# Truncating logs +for FILE in $(find /var/log/ -type f) +do + : > ${FILE} +done diff --git a/system-build/examples/hooks/stripped.hook.chroot b/system-build/examples/hooks/stripped.hook.chroot new file mode 100755 index 0000000..ade2390 --- /dev/null +++ b/system-build/examples/hooks/stripped.hook.chroot @@ -0,0 +1,52 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# WARNING: Using this hook will result in a stripped system, means, +# it may very well be possible that other packages are depending +# on certain files that get removed here. +# Therefore, this hooks is merely an inspiration for what could be +# removed and not a generic nor recommendet solution to get the +# image filesize down. In any event, using this hook can lead to +# unforseen bugs and breakages in other packages and you should +# be prepared to find and fix it for your own images. + +# Removing unused packages +for PACKAGE in apt-utils aptitude man-db manpages info wget dselect +do + if ! apt-get remove --purge --yes "${PACKAGE}" + then + echo "WARNING: ${PACKAGE} isn't installed" + fi +done + +apt-get autoremove --yes || true + +# Removing unused files +find . -name *~ -print0 | xargs -0 rm -f + +rm -rf /usr/include/* +#rm -rf /usr/share/groff/* +rm -rf /usr/share/doc/* +rm -rf /usr/share/locale/* +rm -rf /usr/share/man/* +rm -rf /usr/share/i18n/* +rm -rf /usr/share/info/* +rm -rf /usr/share/lintian/* +rm -rf /usr/share/linda/* +rm -rf /usr/share/zoneinfo/* +rm -rf /var/cache/man/* + +# Truncating logs +for FILE in $(find /var/log/ -type f) +do + : > ${FILE} +done diff --git a/system-build/frontend/lb b/system-build/frontend/lb new file mode 100755 index 0000000..03ab043 --- /dev/null +++ b/system-build/frontend/lb @@ -0,0 +1,90 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'utility to build live systems')" +HELP="FIXME" +USAGE="FIXME" + +case "${1}" in + -h|--help) + if [ -x "$(which man 2>/dev/null)" ] + then + man lb + exit 0 + else + ${0} --usage + exit 0 + fi + ;; + + ""|-u|--usage) + Usage + ;; + + -v|--version) + echo "${VERSION}" + exit 0 + ;; + + *) + COMMAND="${1}" + shift + + ENV="" + + if [ "${COMMAND}" != "config" ] + then + # Checking user account + if [ "$(id -u)" -ne "0" ] + then + Echo_error "need root privileges" + exit 1 + fi + fi + + for _FILE in config/environment config/environment.binary + do + if [ -e "${_FILE}" ] + then + ENV="${ENV} $(grep -v '^#' ${_FILE})" + fi + done + + if [ -x "${LIVE_BUILD}/scripts/build/${COMMAND}" ] + then + # User has live-build copied locally in the system + SCRIPT="${LIVE_BUILD}/scripts/build/${COMMAND}" + elif [ -x "local/live-build/scripts/build/${COMMAND}" ] + then + # User has live-build copied locally in the config + SCRIPT="local/live-build/scripts/build/${COMMAND}" + elif [ -x /usr/lib/live/build/${COMMAND} ] + then + # User has live-build installed in the system + SCRIPT=/usr/lib/live/build/"${COMMAND}" + elif [ -x "$(which ${COMMAND} 2>/dev/null)" ] + then + # User has live-build commands in path + SCRIPT="${COMMAND}" + else + Echo_error "no such script: ${COMMAND}" + exit 1 + fi + + Echo "[%s] %s" "$(date +'%F %T')" "lb ${COMMAND} $(echo ${@})" + ${ENV} exec "${SCRIPT}" "${@}" + ;; +esac diff --git a/system-build/frontend/live-build b/system-build/frontend/live-build new file mode 100755 index 0000000..52b8437 --- /dev/null +++ b/system-build/frontend/live-build @@ -0,0 +1,37 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see <http://www.gnu.org/licenses/>. +## +## The complete text of the GNU General Public License +## can be found in /usr/share/common-licenses/GPL-3 file. + + +set -e + +if [ -x "$(which man 2>/dev/null)" ] +then + man live-build +else + +cat << EOF +live-build contains the scripts to build a live system from a configuration +directory. + +An introduction to live-build can be found in the live-build(7) manpage. +EOF + +fi diff --git a/system-build/functions/aliases.sh b/system-build/functions/aliases.sh new file mode 100755 index 0000000..3df028f --- /dev/null +++ b/system-build/functions/aliases.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Find_files () +{ + (ls "${@}" | grep -qs .) > /dev/null 2>&1 +} + +In_list () +{ + NEEDLES="${1}" + shift + + for ITEM in ${@} + do + for NEEDLE in ${NEEDLES} + do + if [ "${NEEDLE}" = "${ITEM}" ] + then + return 0 + fi + done + done + + return 1 +} + +Truncate () +{ + for FILE in ${@} + do + if [ ! -L ${FILE} ] + then + : > ${FILE} + fi + done +} diff --git a/system-build/functions/architectures.sh b/system-build/functions/architectures.sh new file mode 100755 index 0000000..7c6c48c --- /dev/null +++ b/system-build/functions/architectures.sh @@ -0,0 +1,124 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Check_architectures () +{ + ARCHITECTURES="${@}" + VALID="false" + + for ARCHITECTURE in ${ARCHITECTURES} + do + if [ "$(echo ${LB_ARCHITECTURES} | grep ${ARCHITECTURE})" ] + then + VALID="true" + break + fi + done + + if [ "${ARCHITECTURES}" = "${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" ] + then + VALID="true" + + if [ ! -e "${LB_BOOTSTRAP_QEMU_STATIC}" ] + then + Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_ARCHITECTURES} was not found" + VALID="false" + fi + + if [ ! -x "${LB_BOOTSTRAP_QEMU_STATIC}" ] + then + Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_STATIC} is not executable" + VALID="false" + fi + + fi + + if [ "${VALID}" = "false" ] + then + Echo_warning "skipping %s, foreign architecture(s)." "${0}" + exit 0 + fi +} + +Check_crossarchitectures () +{ + if [ -x /usr/bin/dpkg ] + then + HOST="$(dpkg --print-architecture)" + else + HOST="$(uname -m)" + fi + + case "${HOST}" in + amd64|i386|x86_64) + CROSS="amd64 i386" + ;; + + powerpc|ppc64) + CROSS="powerpc ppc64" + ;; + + *) + CROSS="${HOST}" + ;; + esac + + if [ "${LB_ARCHITECTURES}" = "${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" ] + then + + if [ ! -e "${LB_BOOTSTRAP_QEMU_STATIC}" ] + then + Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_ARCHITECTURES} was not found" + exit 0 + fi + + if [ ! -x "${LB_BOOTSTRAP_QEMU_STATIC}" ] + then + Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_STATIC} is not executable" + exit 0 + fi + return + fi + + + Check_architectures "${CROSS}" +} + +Check_multiarchitectures () +{ + if [ "$(echo ${LB_ARCHITECTURES} | wc -w)" -gt "1" ] + then + # First, only support multiarch on iso + case "${LIVE_IMAGE_TYPE}" in + iso*) + # Assemble multi-arch + case "${LB_CURRENT_ARCHITECTURE}" in + amd64) + DESTDIR="${DESTDIR}.amd" + DESTDIR_LIVE="${DESTDIR_LIVE}.amd" + DESTDIR_INSTALL="${DESTDIR_INSTALL}.amd" + ;; + + i386) + DESTDIR="${DESTDIR}.386" + DESTDIR_LIVE="${DESTDIR_LIVE}.386" + DESTDIR_INSTALL="${DESTDIR_INSTALL}.386" + ;; + + powerpc) + DESTDIR="${DESTDIR}.ppc" + DESTDIR_LIVE="${DESTDIR_LIVE}.ppc" + DESTDIR_INSTALL="${DESTDIR_INSTALL}.ppc" + ;; + esac + ;; + esac + fi +} diff --git a/system-build/functions/arguments.sh b/system-build/functions/arguments.sh new file mode 100755 index 0000000..eede5c5 --- /dev/null +++ b/system-build/functions/arguments.sh @@ -0,0 +1,82 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Arguments () +{ + ARGUMENTS="$(getopt --longoptions breakpoints,conffile:,debug,force,help,quiet,usage,verbose,version --name=${PROGRAM} --options c:huv --shell sh -- "${@}")" + + if [ "${?}" != "0" ] + then + Echo_error "terminating" >&2 + exit 1 + fi + + eval set -- "${ARGUMENTS}" + + while true + do + case "${1}" in + --breakpoints) + _BREAKPOINTS="true" + shift + ;; + + -c|--conffile) + _CONFFILE="${2}" + shift 2 + ;; + + --debug) + _DEBUG="true" + shift + ;; + + --force) + _FORCE="true" + shift + ;; + + -h|--help) + Man + shift + ;; + + --quiet) + _QUIET="true" + shift + ;; + + -u|--usage) + Usage + shift + ;; + + --verbose) + _VERBOSE="true" + shift + ;; + + -v|--version) + echo "${VERSION}" + exit 0 + ;; + + --) + shift + break + ;; + + *) + Echo_error "internal error %s" "${0}" + exit 1 + ;; + esac + done +} diff --git a/system-build/functions/breakpoints.sh b/system-build/functions/breakpoints.sh new file mode 100755 index 0000000..55f4d42 --- /dev/null +++ b/system-build/functions/breakpoints.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Breakpoint () +{ + NAME="${1}" + + if [ "${_BREAKPOINTS}" = "true" ] + then + Echo_message "Waiting at %s" "${NAME}" + read WAIT + fi +} diff --git a/system-build/functions/cache.sh b/system-build/functions/cache.sh new file mode 100755 index 0000000..467a674 --- /dev/null +++ b/system-build/functions/cache.sh @@ -0,0 +1,63 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Restore_cache () +{ + DIRECTORY="${1}" + + if [ "${LB_CACHE}" = "true" ] && [ "${LB_CACHE_PACKAGES}" = "true" ] + then + if [ -e "${DIRECTORY}" ] + then + # Restore old cache + if [ "$(stat --printf %d ${DIRECTORY}/)" = "$(stat --printf %d chroot/var/cache/apt/archives/)" ] + then + # with hardlinks + find "${DIRECTORY}" -name "*.deb" | xargs cp -fl -t chroot/var/cache/apt/archives + else + # without hardlinks + find "${DIRECTORY}" -name "*.deb" | xargs cp -t chroot/var/cache/apt/archives + fi + fi + fi +} + +Save_cache () +{ + DIRECTORY="${1}" + + if [ "${LB_CACHE}" = "true" ] && [ "${LB_CACHE_PACKAGES}" = "true" ] + then + # Cleaning current cache + # In case of interrupted or incomplete builds, this may return an error, + # but we still do want to save the cache. + Chroot chroot "apt-get autoclean" || true + + if ls chroot/var/cache/apt/archives/*.deb > /dev/null 2>&1 + then + # Creating cache directory + mkdir -p "${DIRECTORY}" + + # Saving new cache + for PACKAGE in chroot/var/cache/apt/archives/*.deb + do + if [ -e "${DIRECTORY}"/"$(basename ${PACKAGE})" ] + then + rm -f "${PACKAGE}" + else + mv "${PACKAGE}" "${DIRECTORY}" + fi + done + fi + else + # Purging current cache + rm -f chroot/var/cache/apt/archives/*.deb + fi +} diff --git a/system-build/functions/chroot.sh b/system-build/functions/chroot.sh new file mode 100755 index 0000000..88c5466 --- /dev/null +++ b/system-build/functions/chroot.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Chroot () +{ + CHROOT="${1}"; shift + COMMANDS="${@}" + + # Executing commands in chroot + Echo_debug "Executing: %s" "${COMMANDS}" + + ENV="" + + for _FILE in config/environment config/environment.chroot + do + if [ -e "${_FILE}" ] + then + ENV="${ENV} $(grep -v '^#' ${_FILE})" + fi + done + + # Only pass SOURCE_DATE_EPOCH if its already set + if [ "${SOURCE_DATE_EPOCH:-}" != "" ] + then + ENV="${ENV} SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH}" + fi + + ${_LINUX32} chroot "${CHROOT}" /usr/bin/env -i HOME="/root" PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" TERM="${TERM}" DEBIAN_FRONTEND="${LB_DEBCONF_FRONTEND}" DEBIAN_PRIORITY="${LB_DEBCONF_PRIORITY}" DEBCONF_NONINTERACTIVE_SEEN="true" DEBCONF_NOWARNINGS="true" ${ENV} ${COMMANDS} + + return "${?}" +} diff --git a/system-build/functions/chroot_bind_path.sh b/system-build/functions/chroot_bind_path.sh new file mode 100755 index 0000000..b296f69 --- /dev/null +++ b/system-build/functions/chroot_bind_path.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Chroot_bind_path () +{ + CHROOT="$(readlink -f ${1})" + BIND_SRC="$(readlink -f ${2})" + + BIND_DEST=$(echo "${BIND_SRC}" | sed -e 's|/\+||') + if [ ! -d "${CHROOT}/${BIND_DEST}" -o \ + -z "$(cat /proc/mounts | awk -vdir="${CHROOT}/${BIND_DEST}" '$2 ~ dir { print $2}')" ] + then + Echo_message "Binding local repository path" + mkdir -p "${CHROOT}/${BIND_DEST}" + mount --bind "${LB_PARENT_MIRROR_CHROOT#file:}" \ + "${CHROOT}/${BIND_DEST}" + fi +} + +Chroot_unbind_path () +{ + CHROOT="$(readlink -f ${1})" + BIND_SRC="$(readlink -f ${2})" + + BIND_DEST=$(echo "${BIND_SRC}" | sed -e 's|/\+||') + if [ -d "${CHROOT}/${BIND_DEST}" ] + then + Echo_message "Unbinding local repository path" + umount "${CHROOT}/${BIND_DEST}" > /dev/null 2>&1 || true + fi +} diff --git a/system-build/functions/color.sh b/system-build/functions/color.sh new file mode 100755 index 0000000..6eb4019 --- /dev/null +++ b/system-build/functions/color.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +NO_COLOR="\033[0m" + +UNDERSCORE="\033[4m" +BLINK="\033[5m" + +BLACK="\033[0;30m" +DARK_GRAY="\033[1;30m" + +RED="\033[0;31m" +LIGHT_RED="\033[1;31m" + +GREEN="\033[0;32m" +LIGHT_GREEN="\033[1;32m" + +BROWN="\033[0;33m" +YELLOW="\033[1;33m" + +BLUE="\033[0;34m" +LIGHT_BLUE="\033[1;34m" + +PURPLE="\033[0;35m" +LIGHT_PURPLE="\033[1;35m" + +CYAN="\033[0;36m" +LIGHT_CYAN="\033[1;36m" + +GRAY="\033[0;37m" +WHITE="\033[1;37m" diff --git a/system-build/functions/common.sh b/system-build/functions/common.sh new file mode 100755 index 0000000..9fbdc3f --- /dev/null +++ b/system-build/functions/common.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +PROGRAM="live-build" +VERSION="$(if [ -e ${LIVE_BUILD}/VERSION.txt ]; then cat ${LIVE_BUILD}/VERSION.txt; else cat /usr/share/live/build/VERSION.txt; fi)" +CONFIG_VERSION="$(echo ${VERSION} | awk -F- '{ print $1 }')" + +# FIXME +LIVE_BUILD_VERSION="${CONFIG_VERSION}" + +PATH="${PWD}/local/bin:${PATH}" diff --git a/system-build/functions/conffile.sh b/system-build/functions/conffile.sh new file mode 100755 index 0000000..13407c3 --- /dev/null +++ b/system-build/functions/conffile.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Get_conffiles () +{ + if [ -n "${LB_CONFIG}" ] + then + FILES="${LB_CONFIG}" + else + for FILE in ${@} + do + FILES="${FILES} ${FILE} ${FILE}.${LB_ARCHITECTURES} ${FILE}.${DISTRIBUTION}" + FILES="${FILES} config/$(echo ${PROGRAM} | sed -e 's|^lb_||')" + FILES="${FILES} config/$(echo ${PROGRAM} | sed -e 's|^lb_||').${ARCHITECTURE}" + FILES="${FILES} config/$(echo ${PROGRAM} | sed -e 's|^lb_||').${DISTRIBUTION}" + done + fi + + echo ${FILES} +} + +Read_conffiles () +{ + for CONFFILE in $(Get_conffiles "${@}") + do + if [ -f "${CONFFILE}" ] + then + if [ -r "${CONFFILE}" ] + then + Echo_debug "Reading configuration file %s" "${CONFFILE}" + . "${CONFFILE}" + else + Echo_warning "Failed to read configuration file %s" "${CONFFILE}" + fi + fi + done +} + +Print_conffiles () +{ + for CONFFILE in $(Get_conffiles "${@}") + do + if [ -f "${CONFFILE}" ] + then + Echo_file "${CONFFILE}" + fi + done +} diff --git a/system-build/functions/configuration.sh b/system-build/functions/configuration.sh new file mode 100755 index 0000000..6c0fb2f --- /dev/null +++ b/system-build/functions/configuration.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Get_configuration () +{ + _CONFIGURATION_FILE="${1}" + _FIELD_NAME="${2}" + + if [ -e "${_CONFIGURATION_FILE}" ] + then + _FIELD_BODY="$(grep ^${_FIELD_NAME}: ${_CONFIGURATION_FILE} | awk '{ $1=""; print $0 }' | sed -e 's|^ ||')" + fi + + echo ${_FIELD_BODY} +} + +Set_configuration () +{ + _CONFIGURATION_FILE="${1}" + _FIELD_NAME="${2}" + _FIELD_BODY="${3}" + + if grep -qs "^${_FIELD_NAME}:" "${_CONFIGURATION_FILE}" + then + # Update configuration + sed -i -e "s|^${_FIELD_NAME}:.*$|${_FIELD_NAME}: ${_FIELD_BODY}|" "${_CONFIGURATION_FILE}" + else + # Append configuration + echo "${_FIELD_NAME}: ${_FIELD_BODY}" >> "${_CONFIGURATION_FILE}" + fi +} diff --git a/system-build/functions/cursor.sh b/system-build/functions/cursor.sh new file mode 100755 index 0000000..1f683a1 --- /dev/null +++ b/system-build/functions/cursor.sh @@ -0,0 +1,74 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Cursor_goto_position () +{ + __LINE="${1}" + __COLUMN="${2}" + + #echo -e "[${__LINE};${__COLUMN};H\c" + printf "[${__LINE};${__COLUMN};H" +} + +Cursor_save_position () +{ + #echo -e "[s\c" + printf "[s" +} + +Cursor_restore_position () +{ + #echo -e "[u\c" + printf "[u" +} + +Cursor_line_up () +{ + __LINES="${1}" + + #echo -e "[${__LINES}A\c" + printf "[${__LINES}A" +} + +Cursor_line_down () +{ + __LINES="${1}" + + #echo -e "[${__LINES}B\c" + printf "[${__LINES}B" +} + +Cursor_columns_forward () +{ + __COLUMNS="${1}" + + #echo -e "[${__COLUMNS}C\c" + printf "[${__COLUMNS}C" +} + +Cursor_columns_backward () +{ + __COLUMNS="${1}" + + #echo -e "[${__COLUMNS}D\c" + printf "[${__COLUMNS}D" +} + +Cursor_clear_screen () +{ + #echo -e "[2J\c" + printf "[2J" +} + +Cursor_erase_EOL () +{ + #echo -e "[K\c" + printf "[K" +} diff --git a/system-build/functions/defaults.sh b/system-build/functions/defaults.sh new file mode 100755 index 0000000..e1106a7 --- /dev/null +++ b/system-build/functions/defaults.sh @@ -0,0 +1,882 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +New_configuration () +{ + ## Runtime + + # Image: Architecture + if [ -x "/usr/bin/dpkg" ] + then + CURRENT_IMAGE_ARCHITECTURE="$(dpkg --print-architecture)" + else + case "$(uname -m)" in + x86_64) + CURRENT_IMAGE_ARCHITECTURE="amd64" + ;; + + i?86) + CURRENT_IMAGE_ARCHITECTURE="i386" + ;; + + *) + Echo_warning "Unable to determine current architecture, using ${CURRENT_IMAGE_ARCHITECTURE}" + ;; + esac + fi + + + ## Configuration + + # Configuration-Version + LIVE_CONFIGURATION_VERSION="${LIVE_CONFIGURATION_VERSION:-$(Get_configuration config/build Configuration-Version)}" + LIVE_CONFIGURATION_VERSION="${LIVE_CONFIGURATION_VERSION:-${LIVE_BUILD_VERSION}}" + export LIVE_CONFIGURATION_VERSION + + # Image: Name + LIVE_IMAGE_NAME="${LIVE_IMAGE_NAME:-$(Get_configuration config/build Name)}" + LIVE_IMAGE_NAME="${LIVE_IMAGE_NAME:-system}" + export LIVE_IMAGE_NAME + + # Image: Architecture (FIXME: Support and default to 'any') + LB_ARCHITECTURES="${LB_ARCHITECTURES:-$(Get_configuration config/build Architecture)}" + LB_ARCHITECTURES="${LB_ARCHITECTURES:-${CURRENT_IMAGE_ARCHITECTURE}}" + export LB_ARCHITECTURES + + # Image: Archive Areas + LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-$(Get_configuration config/build Archive-Areas)}" + + case "${LB_MODE}" in + progress-linux) + LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-main contrib non-free}" + ;; + + *) + LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-main}" + ;; + esac + + export LB_ARCHIVE_AREAS + + # Image: Archive Areas + LB_PARENT_ARCHIVE_AREAS="${LB_PARENT_ARCHIVE_AREAS:-$(Get_configuration config/build Parent-Archive-Areas)}" + LB_PARENT_ARCHIVE_AREAS="${LB_PARENT_ARCHIVE_AREAS:-${LB_ARCHIVE_AREAS}}" + export LB_PARENT_ARCHIVE_AREAS + + # Image: Type + LIVE_IMAGE_TYPE="${LIVE_IMAGE_TYPE:-$(Get_configuration config/build Type)}" + LIVE_IMAGE_TYPE="${LIVE_IMAGE_TYPE:-iso-hybrid}" + export LIVE_IMAGE_TYPE +} + +Set_defaults () +{ + # FIXME + New_configuration + + ## config/common + + if [ -e local/live-build ] + then + LIVE_BUILD="${LIVE_BUILD:-${PWD}/local/live-build}" + export LIVE_BUILD + fi + + # Setting system type + LB_SYSTEM="${LB_SYSTEM:-live}" + + # Setting mode + LB_MODE="${LB_MODE:-debian}" + + # Setting distribution name + case "${LB_MODE}" in + progress-linux) + LB_DISTRIBUTION="${LB_DISTRIBUTION:-cairon}" + LB_DERIVATIVE="true" + LB_DERIVATIVE_IS_BASED_ON="debian" + ;; + + *) + LB_DISTRIBUTION="${LB_DISTRIBUTION:-stretch}" + LB_DERIVATIVE="false" + ;; + esac + + case "${LB_MODE}" in + progress-linux) + case "${LB_DISTRIBUTION}" in + baureo|baureo-backports) + LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-wheezy}" + LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}" + ;; + + cairon|cairon-backports) + LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-sid}" + LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}" + ;; + esac + + LB_BACKPORTS="${LB_BACKPORTS:-true}" + ;; + + *) + LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-${LB_DISTRIBUTION}}" + LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}" + + LB_BACKPORTS="${LB_BACKPORTS:-false}" + ;; + esac + + # Setting package manager + LB_APT="${LB_APT:-apt}" + + # Setting apt ftp proxy + LB_APT_FTP_PROXY="${LB_APT_FTP_PROXY}" + + # Setting apt http proxy + LB_APT_HTTP_PROXY="${LB_APT_HTTP_PROXY}" + + # Setting apt pipeline + # LB_APT_PIPELINE + + APT_OPTIONS="${APT_OPTIONS:---yes}" + + BZIP2_OPTIONS="${BZIP2_OPTIONS:--6}" + + GZIP_OPTIONS="${GZIP_OPTIONS:--6}" + + if gzip --help | grep -qs "\-\-rsyncable" + then + GZIP_OPTIONS="$(echo ${GZIP_OPTIONS} | sed -e 's|--rsyncable||') --rsyncable" + fi + + LZIP_OPTIONS="${LZIP_OPTIONS:--6}" + + LZMA_OPTIONS="${LZMA_OPTIONS:--6}" + + XZ_OPTIONS="${XZ_OPTIONS:--6}" + + # Setting apt recommends + case "${LB_MODE}" in + progress-linux) + LB_APT_RECOMMENDS="${LB_APT_RECOMMENDS:-false}" + ;; + + *) + LB_APT_RECOMMENDS="${LB_APT_RECOMMENDS:-true}" + ;; + esac + + # Setting apt secure + LB_APT_SECURE="${LB_APT_SECURE:-true}" + + # Setting apt source + case "${LB_MODE}" in + progress-linux) + LB_APT_SOURCE_ARCHIVES="${LB_APT_SOURCE_ARCHIVES:-false}" + ;; + + *) + LB_APT_SOURCE_ARCHIVES="${LB_APT_SOURCE_ARCHIVES:-true}" + ;; + esac + + # Setting cache option + LB_CACHE="${LB_CACHE:-true}" + LB_CACHE_INDICES="${LB_CACHE_INDICES:-false}" + LB_CACHE_PACKAGES="${LB_CACHE_PACKAGES:-true}" + LB_CACHE_STAGES="${LB_CACHE_STAGES:-bootstrap}" + + # Setting debconf frontend + LB_DEBCONF_FRONTEND="${LB_DEBCONF_FRONTEND:-noninteractive}" + LB_DEBCONF_PRIORITY="${LB_DEBCONF_PRIORITY:-critical}" + + # Setting initramfs hook + case "${LB_SYSTEM}" in + live) + LB_INITRAMFS="${LB_INITRAMFS:-system-boot}" + ;; + + normal) + LB_INITRAMFS="${LB_INITRAMFS:-none}" + ;; + esac + + LB_INITRAMFS_COMPRESSION="${LB_INITRAMFS_COMPRESSION:-gzip}" + + # Setting initsystem + case "${LB_MODE}" in + progress-linux) + case "${LB_DISTRIBUTION}" in + cairon*) + LB_INITSYSTEM="${LB_INITSYSTEM:-systemd}" + ;; + + *) + LB_INITSYSTEM="${LB_INITSYSTEM:-sysvinit}" + ;; + esac + ;; + + *) + case "${LB_SYSTEM}" in + live) + LB_INITSYSTEM="${LB_INITSYSTEM:-systemd}" + ;; + + normal) + LB_INITSYSTEM="${LB_INITSYSTEM:-none}" + ;; + esac + ;; + esac + + # Setting fdisk + if [ -z "${LB_FDISK}" ] || [ ! -x "${LB_FDISK}" ] + then + # Workaround for gnu-fdisk divertion + # (gnu-fdisk is buggy, #445304). + if [ -x /sbin/fdisk.distrib ] + then + LB_FDISK="fdisk.distrib" + elif [ -x /sbin/fdisk ] + then + LB_FDISK="fdisk" + else + Echo_error "Can't process file /sbin/fdisk" + fi + fi + + # Setting losetup + if [ -z "${LB_LOSETUP}" ] || [ "${LB_LOSETUP}" != "/sbin/losetup.orig" ] + then + # Workaround for loop-aes-utils divertion + # (loop-aes-utils' losetup lacks features). + if [ -x /sbin/losetup.orig ] + then + LB_LOSETUP="losetup.orig" + elif [ -x /sbin/losetup ] + then + LB_LOSETUP="losetup" + else + Echo_error "Can't process file /sbin/losetup" + fi + fi + + if [ "${LB_ARCHITECTURES}" = "i386" ] && [ "${CURRENT_IMAGE_ARCHITECTURE}" = "amd64" ] + then + # Use linux32 when building amd64 images on i386 + _LINUX32="linux32" + else + _LINUX32="" + fi + + # Setting tasksel + LB_TASKSEL="${LB_TASKSEL:-apt}" + + # Setting root directory + case "${LB_MODE}" in + progress-linux) + LB_ROOT="${LB_ROOT:-progress-linux}" + ;; + + *) + LB_ROOT="${LB_ROOT:-${LB_MODE}-live}" + ;; + esac + + # Setting live build options + _BREAKPOINTS="${_BREAKPOINTS:-false}" + _COLOR="${_COLOR:-false}" + _DEBUG="${_DEBUG:-false}" + _FORCE="${_FORCE:-false}" + _QUIET="${_QUIET:-false}" + _VERBOSE="${_VERBOSE:-false}" + + ## config/bootstrap + + # Setting mirror to fetch packages from + case "${LB_MODE}" in + debian) + LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP:-https://deb.debian.org/debian}" + LB_PARENT_MIRROR_BOOTSTRAP="${LB_PARENT_MIRROR_BOOTSTRAP:-${LB_MIRROR_BOOTSTRAP}}" + ;; + + progress-linux) + LB_PARENT_MIRROR_BOOTSTRAP="${LB_PARENT_MIRROR_BOOTSTRAP:-https://deb.debian.org/debian}" + LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP:-http://cdn.archive.progress-linux.org/packages}" + ;; + esac + + LB_PARENT_MIRROR_CHROOT="${LB_PARENT_MIRROR_CHROOT:-${LB_PARENT_MIRROR_BOOTSTRAP}}" + LB_MIRROR_CHROOT="${LB_MIRROR_CHROOT:-${LB_MIRROR_BOOTSTRAP}}" + + # Setting security mirror to fetch packages from + case "${LB_MODE}" in + debian) + LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY:-http://security.debian.org}" + LB_PARENT_MIRROR_CHROOT_SECURITY="${LB_PARENT_MIRROR_CHROOT_SECURITY:-${LB_MIRROR_CHROOT_SECURITY}}" + ;; + + progress-linux) + LB_PARENT_MIRROR_CHROOT_SECURITY="${LB_PARENT_MIRROR_CHROOT_SECURITY:-http://security.debian.org}" + LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY:-${LB_MIRROR_CHROOT}}" + ;; + esac + + # Setting mirror which ends up in the image + case "${LB_MODE}" in + debian) + LB_MIRROR_BINARY="${LB_MIRROR_BINARY:-https://deb.debian.org/debian}" + LB_PARENT_MIRROR_BINARY="${LB_PARENT_MIRROR_BINARY:-${LB_MIRROR_BINARY}}" + ;; + + progress-linux) + LB_PARENT_MIRROR_BINARY="${LB_PARENT_MIRROR_BINARY:-https://deb.debian.org/debian}" + LB_MIRROR_BINARY="${LB_MIRROR_BINARY:-${LB_MIRROR_CHROOT}}" + ;; + esac + + # Setting security mirror which ends up in the image + case "${LB_MODE}" in + debian) + LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY:-http://security.debian.org}" + LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY:-${LB_MIRROR_BINARY_SECURITY}}" + ;; + + progress-linux) + LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY:-http://security.debian.org}" + LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY:-${LB_MIRROR_CHROOT}}" + ;; + esac + + case "${LB_MODE}" in + progress-linux) + LB_PARENT_MIRROR_DEBIAN_INSTALLER="${LB_PARENT_MIRROR_DEBIAN_INSTALLER:-${LB_MIRROR_CHROOT}}" + LB_MIRROR_DEBIAN_INSTALLER="${LB_MIRROR_DEBIAN_INSTALLER:-${LB_MIRROR_CHROOT}}" + ;; + + *) + LB_MIRROR_DEBIAN_INSTALLER="${LB_MIRROR_DEBIAN_INSTALLER:-${LB_MIRROR_CHROOT}}" + LB_PARENT_MIRROR_DEBIAN_INSTALLER="${LB_PARENT_MIRROR_DEBIAN_INSTALLER:-${LB_PARENT_MIRROR_CHROOT}}" + ;; + esac + + ## config/system + + # Setting chroot filesystem + LB_CHROOT_FILESYSTEM="${LB_CHROOT_FILESYSTEM:-squashfs}" + + # Setting union filesystem + LB_UNION_FILESYSTEM="${LB_UNION_FILESYSTEM:-aufs}" + + # Setting interactive shell/X11/Xnest + LB_INTERACTIVE="${LB_INTERACTIVE:-false}" + + # Setting keyring packages + LB_KEYRING_PACKAGES="${LB_KEYRING_PACKAGES:-debian-archive-keyring}" + + # Setting linux flavour string + case "${LB_ARCHITECTURES}" in + arm64) + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-arm64}" + ;; + + armel) + # armel will have special images: one rootfs image and many additional kernel images. + # therefore we default to all available armel flavours + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-kirkwood orion5x versatile}" + ;; + + armhf) + # armhf will have special images: one rootfs image and many additional kernel images. + # therefore we default to all available armhf flavours + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-armmp armmp-lpae}" + ;; + + amd64) + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-amd64}" + ;; + + i386) + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-686-pae}" + ;; + + ia64) + case "${LB_MODE}" in + progress-linux) + Echo_error "Architecture ${LB_ARCHITECTURES} not supported in the ${LB_MODE} mode." + exit 1 + ;; + + *) + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-itanium}" + ;; + esac + ;; + + powerpc) + case "${LB_MODE}" in + progress-linux) + Echo_error "Architecture ${LB_ARCHITECTURES} not supported in the ${LB_MODE} mode." + exit 1 + ;; + + *) + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-powerpc64 powerpc}" + ;; + esac + ;; + + s390x) + case "${LB_MODE}" in + progress-linux) + Echo_error "Architecture ${LB_ARCHITECTURES} not supported in the ${LB_MODE} mode." + exit 1 + ;; + + *) + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-s390x}" + ;; + esac + ;; + + *) + Echo_error "Architecture(s) ${LB_ARCHITECTURES} not yet supported (FIXME)" + exit 1 + ;; + esac + + # Set linux packages + LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES:-linux-image}" + + # Setting security updates option + case "${LB_PARENT_DISTRIBUTION}" in + sid) + LB_SECURITY="${LB_SECURITY:-false}" + ;; + + *) + LB_SECURITY="${LB_SECURITY:-true}" + ;; + esac + + # Setting updates updates option + case "${LB_PARENT_DISTRIBUTION}" in + sid) + LB_UPDATES="${LB_UPDATES:-false}" + ;; + + *) + LB_UPDATES="${LB_UPDATES:-true}" + ;; + esac + + ## config/binary + + # Setting image filesystem + LB_BINARY_FILESYSTEM="${LB_BINARY_FILESYSTEM:-fat32}" + + # Setting image type + case "${LB_ARCHITECTURES}" in + amd64|i386) + LIVE_IMAGE_TYPE="${LIVE_IMAGE_TYPE:-iso-hybrid}" + ;; + + *) + LIVE_IMAGE_TYPE="${LIVE_IMAGE_TYPE:-iso}" + ;; + esac + + # Setting apt indices + case "${LB_MODE}" in + progress-linux) + LB_APT_INDICES="${LB_APT_INDICES:-false}" + ;; + + *) + LB_APT_INDICES="${LB_APT_INDICES:-true}" + ;; + esac + + # Setting bootloader + if [ -z "${LB_BOOTLOADERS}" ] + then + case "${LB_ARCHITECTURES}" in + amd64|i386) + LB_BOOTLOADERS="syslinux" + ;; + esac + fi + + # Setting checksums + case "${LB_MODE}" in + progress-linux) + LB_CHECKSUMS="${LB_CHECKSUMS:-sha256}" + ;; + + *) + LB_CHECKSUMS="${LB_CHECKSUMS:-md5}" + ;; + esac + + # Setting compression + LB_COMPRESSION="${LB_COMPRESSION:-none}" + + # Setting zsync + LB_ZSYNC="${LB_ZSYNC:-true}" + + # Setting chroot option + LB_BUILD_WITH_CHROOT="${LB_BUILD_WITH_CHROOT:-true}" + + LB_BUILD_WITH_TMPFS="${LB_BUILD_WITH_TMPFS:-false}" + + # Setting debian-installer option + LB_DEBIAN_INSTALLER="${LB_DEBIAN_INSTALLER:-false}" + + LB_DEBIAN_INSTALLER_DISTRIBUTION="${LB_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_DISTRIBUTION}}" + + # Setting debian-installer-gui + case "${LB_MODE}" in + debian|progress-linux) + LB_DEBIAN_INSTALLER_GUI="${LB_DEBIAN_INSTALLER_GUI:-true}" + ;; + + *) + LB_DEBIAN_INSTALLER_GUI="${LB_DEBIAN_INSTALLER_GUI:-false}" + ;; + esac + + # Setting debian-installer preseed filename + if [ -z "${LB_DEBIAN_INSTALLER_PRESEEDFILE}" ] + then + if Find_files config/debian-installer/preseed.cfg + then + LB_DEBIAN_INSTALLER_PRESEEDFILE="/preseed.cfg" + fi + + if Find_files config/debian-installer/*.cfg && [ ! -e config/debian-installer/preseed.cfg ] + then + Echo_warning "You have placed some preseeding files into config/debian-installer but you didn't specify the default preseeding file through LB_DEBIAN_INSTALLER_PRESEEDFILE. This means that debian-installer will not take up a preseeding file by default." + fi + fi + + # Setting boot parameters + case "${LB_INITRAMFS}" in + system-boot) + LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE:-boot=live components quiet splash}" + LB_BOOTAPPEND_LIVE_FAILSAFE="${LB_BOOTAPPEND_LIVE_FAILSAFE:-boot=live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal}" + ;; + + none) + LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE:-quiet splash}" + LB_BOOTAPPEND_LIVE_FAILSAFE="${LB_BOOTAPPEND_LIVE_FAILSAFE:-memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal}" + ;; + esac + + if [ -n "${LB_DEBIAN_INSTALLER_PRESEEDFILE}" ] + then + case "${LIVE_IMAGE_TYPE}" in + iso*) + _LB_BOOTAPPEND_PRESEED="file=/cdrom/install/${LB_DEBIAN_INSTALLER_PRESEEDFILE}" + ;; + + hdd*) + _LB_BOOTAPPEND_PRESEED="file=/hd-media/install/${LB_DEBIAN_INSTALLER_PRESEEDFILE}" + ;; + + netboot) + case "${LB_DEBIAN_INSTALLER_PRESEEDFILE}" in + *://*) + _LB_BOOTAPPEND_PRESEED="file=${LB_DEBIAN_INSTALLER_PRESEEDFILE}" + ;; + + *) + _LB_BOOTAPPEND_PRESEED="file=/${LB_DEBIAN_INSTALLER_PRESEEDFILE}" + ;; + esac + ;; + esac + fi + + if [ -n ${_LB_BOOTAPPEND_PRESEED} ] + then + LB_BOOTAPPEND_INSTALL="${LB_BOOTAPPEND_INSTALL} ${_LB_BOOTAPPEND_PRESEED}" + fi + + LB_BOOTAPPEND_INSTALL="$(echo ${LB_BOOTAPPEND_INSTALL} | sed -e 's/[ \t]*$//')" + + # Setting grub splash + # LB_GRUB_SPLASH + + # Setting iso author + case "${LB_MODE}" in + debian) + LB_ISO_APPLICATION="${LB_ISO_APPLICATION:-Debian Live}" + ;; + + progress-linux) + LB_ISO_APPLICATION="${LB_ISO_APPLICATION:-Progress Linux}" + ;; + esac + + # Set iso preparer + LB_ISO_PREPARER="${LB_ISO_PREPARER:-live-build \$VERSION; http://live-systems.org/devel/live-build}" + + # Set iso publisher + case "${LB_MODE}" in + progress-linux) + LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER:-Progress Linux; http://www.progress-linux.org/; progress-project@lists.progress-linux.org}" + ;; + + *) + LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER:-Live Systems project; http://live-systems.org/; debian-live@lists.debian.org}" + ;; + esac + + # Setting hdd options + case "${LB_MODE}" in + debian) + LB_HDD_LABEL="${LB_HDD_LABEL:-DEBIAN_LIVE}" + ;; + + progress-linux) + LB_HDD_LABEL="${LB_HDD_LABEL:-PROGRESS_$(echo ${LB_DISTRIBUTION} | tr "[a-z]" "[A-Z]")}" + ;; + esac + + # Setting hdd size + LB_HDD_SIZE="${LB_HDD_SIZE:-auto}" + + # Setting iso volume + case "${LB_MODE}" in + debian) + LB_ISO_VOLUME="${LB_ISO_VOLUME:-Debian ${LB_DISTRIBUTION} \$(date +%Y%m%d-%H:%M)}" + ;; + + progress-linux) + LB_ISO_VOLUME="${LB_ISO_VOLUME:-Progress ${LB_DISTRIBUTION}}" + ;; + esac + + # Setting memtest option + LB_MEMTEST="${LB_MEMTEST:-none}" + + # Setting loadlin option + case "${LB_MODE}" in + progress-linux) + + ;; + + *) + case "${LB_ARCHITECTURES}" in + amd64|i386) + if [ "${LB_DEBIAN_INSTALLER}" != "false" ] + then + LB_LOADLIN="${LB_LOADLIN:-true}" + else + LB_LOADLIN="${LB_LOADLIN:-false}" + fi + ;; + + *) + LB_LOADLIN="${LB_LOADLIN:-false}" + ;; + esac + ;; + esac + + # Setting win32-loader option + case "${LB_MODE}" in + progress-linux) + + ;; + + *) + case "${LB_ARCHITECTURES}" in + amd64|i386) + if [ "${LB_DEBIAN_INSTALLER}" != "false" ] + then + LB_WIN32_LOADER="${LB_WIN32_LOADER:-true}" + else + LB_WIN32_LOADER="${LB_WIN32_LOADER:-false}" + fi + ;; + + *) + LB_WIN32_LOADER="${LB_WIN32_LOADER:-false}" + ;; + esac + ;; + esac + + # Setting netboot filesystem + LB_NET_ROOT_FILESYSTEM="${LB_NET_ROOT_FILESYSTEM:-nfs}" + + # Setting netboot server path + case "${LB_MODE}" in + progress-linux) + LB_NET_ROOT_PATH="${LB_NET_ROOT_PATH:-/srv/progress-linux}" + ;; + + *) + LB_NET_ROOT_PATH="${LB_NET_ROOT_PATH:-/srv/${LB_MODE}-live}" + ;; + esac + + # Setting netboot server address + LB_NET_ROOT_SERVER="${LB_NET_ROOT_SERVER:-192.168.1.1}" + + # Setting net cow filesystem + LB_NET_COW_FILESYSTEM="${LB_NET_COW_FILESYSTEM:-nfs}" + + # Setting net tarball + LB_NET_TARBALL="${LB_NET_TARBALL:-true}" + + # Setting firmware option + LB_FIRMWARE_CHROOT="${LB_FIRMWARE_CHROOT:-true}" + LB_FIRMWARE_BINARY="${LB_FIRMWARE_BINARY:-true}" + + # Setting swap file + LB_SWAP_FILE_SIZE="${LB_SWAP_FILE_SIZE:-512}" + + ## config/source + + # Setting source option + LB_SOURCE="${LB_SOURCE:-false}" + + # Setting image type + LB_SOURCE_IMAGES="${LB_SOURCE_IMAGES:-tar}" +} + +Check_defaults () +{ + if [ -n "${LIVE_BUILD_VERSION}" ] + then + # We're only checking when we're actually running the checks + # that's why the check for emptyness of the version; + # however, as live-build always declares LIVE_BUILD_VERSION + # internally, this is safe assumption (no cases where it's unset, + # except when bootstrapping the functions/defaults etc.). + + CURRENT_CONFIGURATION_VERSION="$(echo ${LIVE_CONFIGURATION_VERSION} | awk -F. ' { print $1 }')" + + if [ -n "${CURRENT_CONFIGURATION_VERSION}" ] + then + CORRECT_VERSION="$(echo ${LIVE_BUILD_VERSION} | awk -F. '{ print $1 }')" + TOO_NEW_VERSION="$((${CORRECT_VERSION} + 1))" + TOO_OLD_VERSION="$((${CORRECT_VERSION} - 1))" + + if [ ${CURRENT_CONFIGURATION_VERSION} -ne ${CORRECT_VERSION} ] + then + if [ ${CURRENT_CONFIGURATION_VERSION} -ge ${TOO_NEW_VERSION} ] + then + Echo_error "This config tree is too new for live-build (${VERSION})." + Echo_error "Aborting build, please update live-build." + + exit 1 + elif [ ${CURRENT_CONFIGURATION_VERSION} -le ${TOO_OLD_VERSION} ] + then + Echo_error "This config tree is too old for live-build (${VERSION})." + Echo_error "Aborting build, please update the configuration." + + exit 1 + else + Echo_warning "This configuration does not specify a version or has a unknown version." + Echo_warning "Continuing build, please correct the configuration." + fi + fi + fi + fi + + case "${LB_BINARY_FILESYSTEM}" in + ntfs) + if [ ! -x "$(which ntfs-3g 2>/dev/null)" ] + then + Echo_error "Using ntfs as the binary filesystem is currently only supported" + Echo_error "if ntfs-3g is installed on the host system." + + exit 1 + fi + ;; + esac + + if echo ${LB_HDD_LABEL} | grep -qs ' ' + then + Echo_error "There are currently no whitespaces supported in hdd labels." + + exit 1 + fi + + if [ "${LB_DEBIAN_INSTALLER}" != "false" ] + then + # d-i true, no caching + if ! echo ${LB_CACHE_STAGES} | grep -qs "bootstrap\b" || [ "${LB_CACHE}" != "true" ] || [ "${LB_CACHE_PACKAGES}" != "true" ] + then + Echo_warning "You have selected values of LB_CACHE, LB_CACHE_PACKAGES, LB_CACHE_STAGES and LB_DEBIAN_INSTALLER which will result in 'bootstrap' packages not being cached. This configuration is potentially unsafe as the bootstrap packages are re-used when integrating the Debian Installer." + fi + fi + + + LB_PRIMARY_BOOTLOADER=$(echo "${LB_BOOTLOADERS}" | awk -F, '{ print $1 }') + + if [ "${LB_PRIMARY_BOOTLOADER}" = "syslinux" ] + then + # syslinux + fat or ntfs, or extlinux + ext[234] or btrfs + case "${LB_BINARY_FILESYSTEM}" in + fat*|ntfs|ext[234]|btrfs) + ;; + *) + Echo_warning "You have selected values of LB_BOOTLOADER and LB_BINARY_FILESYSTEM which are incompatible - the syslinux family only support FAT, NTFS, ext[234] or btrfs filesystems." + ;; + esac + fi + + case "${LIVE_IMAGE_TYPE}" in + hdd*) + case "${LB_PRIMARY_BOOTLOADER}" in + grub) + Echo_error "You have selected a combination of bootloader and image type that is currently not supported by live-build. Please use either another bootloader or a different image type." + exit 1 + ;; + esac + ;; + esac + + if [ "$(echo \"${LB_ISO_APPLICATION}\" | wc -c)" -gt 128 ] + then + Echo_warning "You have specified a value of LB_ISO_APPLICATION that is too long; the maximum length is 128 characters." + fi + + if [ "$(echo \"${LB_ISO_PREPARER}\" | wc -c)" -gt 128 ] + then + Echo_warning "You have specified a value of LB_ISO_PREPARER that is too long; the maximum length is 128 characters." + fi + + if [ "$(echo \"${LB_ISO_PUBLISHER}\" | wc -c)" -gt 128 ] + then + Echo_warning "You have specified a value of LB_ISO_PUBLISHER that is too long; the maximum length is 128 characters." + fi + + if [ "$(eval "echo \"${LB_ISO_VOLUME}\"" | wc -c)" -gt 32 ] + then + Echo_warning "You have specified a value of LB_ISO_VOLUME that is too long; the maximum length is 32 characters." + fi + + # Architectures to use foreign bootstrap for + LB_BOOTSTRAP_QEMU_ARCHITECTURES="${LB_BOOTSTRAP_QEMU_ARCHITECTURES:-}" + + # Packages to exclude for the foreign/ports bootstrapping + LB_BOOTSTRAP_QEMU_EXCLUDE="${LB_BOOTSTRAP_QEMU_EXCLUDE:-}" + + # Ports using foreign bootstrap need a working qemu-*-system. This is the location it + LB_BOOTSTRAP_QEMU_STATIC="${LB_BOOTSTRAP_QEMU_STATIC:-}" + +} diff --git a/system-build/functions/echo.sh b/system-build/functions/echo.sh new file mode 100755 index 0000000..96b742c --- /dev/null +++ b/system-build/functions/echo.sh @@ -0,0 +1,206 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Echo () +{ + STRING="${1}" + shift + + printf "${STRING}\n" "${@}" +} + +Echo_debug () +{ + if [ "${_DEBUG}" = "true" ] + then + STRING="${1}" + shift + + printf "D: ${STRING}\n" "${@}" + fi +} + +Echo_debug_running () +{ + if [ "${_DEBUG}" = "true" ] + then + STRING="${1}" + shift + + printf "D: ${STRING}" "${@}" + + if [ "${_COLOR}" = "false" ] + then + printf "..." + else + printf "... ${YELLOW}${BLINK}running${NO_COLOR}" + fi + fi +} + +Echo_error () +{ + STRING="${1}" + shift + + if [ "${_COLOR}" = "false" ] + then + printf "E:" + else + printf "${RED}E${NO_COLOR}:" + fi + + printf " ${STRING}\n" "${@}" >&2 +} + +Echo_message () +{ + if [ "${_QUIET}" != "true" ] + then + STRING="${1}" + shift + + if [ "${_COLOR}" = "false" ] + then + printf "P:" + else + printf "${WHITE}P${NO_COLOR}:" + fi + + printf " ${STRING}\n" "${@}" + fi +} + +Echo_message_running () +{ + if [ "${_QUIET}" != "true" ] + then + STRING="${1}" + shift + + if [ "${_COLOR}" = "false" ] + then + printf "P:" + else + printf "${WHITE}P${NO_COLOR}:" + fi + + printf " ${STRING}" "${@}" + + if [ "${_COLOR}" = "true" ] + then + printf "... ${YELLOW}${BLINK}running${NO_COLOR}" + else + printf "..." + fi + fi +} + +Echo_verbose () +{ + if [ "${_VERBOSE}" = "true" ] + then + STRING="${1}" + shift + + printf "I: ${STRING}\n" "${@}" + fi +} + +Echo_verbose_running () +{ + if [ "${_VERBOSE}" != "true" ] + then + STRING="${1}" + shift + + printf "I: ${STRING}" "${@}" + + if [ "${_COLOR}" = "true" ] + then + printf "... ${YELLOW}${BLINK}running${NO_COLOR}" + else + printf "..." + fi + fi +} + +Echo_warning () +{ + STRING="${1}" + shift + + if [ "${_COLOR}" = "false" ] + then + printf "W:" + else + printf "${YELLOW}W${NO_COLOR}:" + fi + + printf " ${STRING}\n" "${@}" +} + +Echo_status () +{ + __RETURN="${?}" + + if [ "${_COLOR}" = "false" ] + then + if [ "${__RETURN}" = "0" ] + then + printf " done.\n" + else + printf " failed.\n" + fi + else + Cursor_columns_backward 8 + + if [ "${__RETURN}" = "0" ] + then + printf " ${GREEN}done${NO_COLOR}. \n" + else + printf " ${RED}failed${NO_COLOR}.\n" + fi + fi +} + +Echo_done () +{ + if [ "${_COLOR}" = "false" ] + then + printf " already done.\n" + else + Cursor_columns_backward 8 + + printf " ${GREEN}already done${NO_COLOR}.\n" + fi +} + +Echo_file () +{ + while read LINE + do + echo "${1}: ${LINE}" + done < "${1}" +} + +Echo_breakage () +{ + case "${LB_PARENT_DISTRIBUTION}" in + sid) + Echo_message "If the following stage fails, the most likely cause of the problem is with your mirror configuration, a caching proxy or the sid distribution." + ;; + *) + Echo_message "If the following stage fails, the most likely cause of the problem is with your mirror configuration or a caching proxy." + ;; + esac + + Echo_message "${@}" +} diff --git a/system-build/functions/exit.sh b/system-build/functions/exit.sh new file mode 100755 index 0000000..6ff9cdc --- /dev/null +++ b/system-build/functions/exit.sh @@ -0,0 +1,63 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Exit () +{ + VALUE="${?}" + + if [ "${_DEBUG}" = "true" ] + then + # Dump variables + set | grep -e ^LB + fi + + # Always exit true in case we are not able to unmount + # (e.g. due to running processes in chroot from user customizations) + Echo_message "Begin unmounting filesystems..." + + if [ -e /proc/mounts ] + then + for DIRECTORY in $(awk -v dir="${PWD}/chroot/" '$2 ~ dir { print $2 }' /proc/mounts | sort -r) + do + umount ${DIRECTORY} > /dev/null 2>&1 || true + done + else + for DIRECTORY in /dev/shm /dev/pts /dev /proc /selinux /sys /root/config + do + umount -f chroot/${DIRECTORY} > /dev/null 2>&1 || true + done + fi + + rm -f .build/chroot_devpts + rm -f .build/chroot_proc + rm -f .build/chroot_selinuxfs + rm -f .build/chroot_sysfs + + Echo_message "Saving caches..." + + # We can't really know at which part we're failing, + # but let's assume that if there's any binary stage file arround + # we are in binary stage. + + if ls .build/binary* > /dev/null 2>&1 + then + Save_cache cache/packages.binary + else + Save_cache cache/packages.chroot + fi + + return ${VALUE} +} + +Setup_cleanup () +{ + Echo_message "Setting up cleanup function" + trap 'Exit' EXIT HUP INT QUIT TERM +} diff --git a/system-build/functions/help.sh b/system-build/functions/help.sh new file mode 100755 index 0000000..cd9344b --- /dev/null +++ b/system-build/functions/help.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Help () +{ + Echo "%s - %s" "${PROGRAM}" "${DESCRIPTION}" + echo + Echo "Usage:" + echo + + if [ -n "${USAGE}" ] + then + Echo "${USAGE}" + echo + fi + Echo " %s [-h|--help]" "${PROGRAM}" + Echo " %s [-u|--usage]" "${PROGRAM}" + Echo " %s [-v|--version]" "${PROGRAM}" + echo + + if [ -n "${HELP}" ] + then + Echo "${HELP}" + echo + fi + + Echo "Report bugs to the Live Systems project <http://live-systems.org/>." + exit 0 +} diff --git a/system-build/functions/lockfile.sh b/system-build/functions/lockfile.sh new file mode 100755 index 0000000..cabb85f --- /dev/null +++ b/system-build/functions/lockfile.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Check_lockfile () +{ + FILE="${1}" + + if [ -z "${FILE}" ] + then + FILE=".build/lock" + fi + + # Checking lock file + if [ -f "${FILE}" ] + then + Echo_error "${PROGRAM} locked" + exit 1 + fi +} + +Create_lockfile () +{ + FILE="${1}" + + if [ -z "${FILE}" ] + then + FILE=".build/lock" + fi + + DIRECTORY="$(dirname ${FILE})" + + # Creating lock directory + mkdir -p "${DIRECTORY}" + + # Creating lock trap + trap 'ret=${?}; '"rm -f \"${FILE}\";"' exit ${ret}' EXIT HUP INT QUIT TERM + + # Creating lock file + touch "${FILE}" +} diff --git a/system-build/functions/losetup.sh b/system-build/functions/losetup.sh new file mode 100755 index 0000000..0346ff6 --- /dev/null +++ b/system-build/functions/losetup.sh @@ -0,0 +1,119 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + +Lodetach () +{ + DEVICE="${1}" + ATTEMPT="${2:-1}" + + if [ "${ATTEMPT}" -gt 3 ] + then + Echo_error "Failed to detach loop device '${DEVICE}'." + exit 1 + fi + + # Changes to block devices result in uevents which trigger rules which in + # turn access the loop device (ex. udisks-part-id, blkid) which can cause + # a race condition. We call 'udevadm settle' to help avoid this. + if [ -x "$(which udevadm 2>/dev/null)" ] + then + udevadm settle + fi + + # Loop back devices aren't the most reliable when it comes to writes. + # We sleep and sync for good measure - better than build failure. + sync + sleep 1 + + ${LB_LOSETUP} -d "${DEVICE}" || Lodetach "${DEVICE}" "$(expr ${ATTEMPT} + 1)" +} + +Losetup () +{ + DEVICE="${1}" + FILE="${2}" + PARTITION="${3:-1}" + + ${LB_LOSETUP} --read-only "${DEVICE}" "${FILE}" + FDISK_OUT="$(${LB_FDISK} -l -u ${DEVICE} 2>&1)" + Lodetach "${DEVICE}" + + LOOPDEVICE="$(echo ${DEVICE}p${PARTITION})" + + if [ "${PARTITION}" = "0" ] + then + Echo_message "Mounting %s with offset 0" "${DEVICE}" + + ${LB_LOSETUP} "${DEVICE}" "${FILE}" + else + SECTORS="$(echo "$FDISK_OUT" | sed -ne "s|^$LOOPDEVICE[ *]*\([0-9]*\).*|\1|p")" + OFFSET="$(expr ${SECTORS} '*' 512)" + + Echo_message "Mounting %s with offset %s" "${DEVICE}" "${OFFSET}" + + ${LB_LOSETUP} -o "${OFFSET}" "${DEVICE}" "${FILE}" + fi +} + +# adapted from lib/ext2fs/mkjournal.c, default block size is 4096 bytes (/etc/mke2fs.conf). +ext2fs_default_journal_size() +{ + SIZE="$1" + if [ "${SIZE}" -lt "8" ]; then # 2048*4096 + echo 0 + elif [ "${SIZE}" -lt "128" ]; then # 32768*4096 + echo 4 + elif [ "${SIZE}" -lt "1024" ]; then # 256*1024*4096 + echo 16 + elif [ "${SIZE}" -lt "2048" ]; then # 512*1024*4096 + echo 32 + elif [ "${SIZE}" -lt "4096" ]; then # 1024*1024*4096 + echo 64 + else + echo 128 + fi +} + +Calculate_partition_size_without_journal () +{ + WITHOUT_JOURNAL_ORIGINAL_SIZE="${1}" + WITHOUT_JOURNAL_FILESYSTEM="${2}" + + case "${WITHOUT_JOURNAL_FILESYSTEM}" in + ext2|ext3|ext4) + PERCENT="6" + ;; + *) + PERCENT="3" + ;; + esac + + echo $(expr ${WITHOUT_JOURNAL_ORIGINAL_SIZE} + ${WITHOUT_JOURNAL_ORIGINAL_SIZE} \* ${PERCENT} / 100 + 1) +} + +Calculate_partition_size () +{ + ORIGINAL_SIZE="${1}" + FILESYSTEM="${2}" + + case "${FILESYSTEM}" in + ext3|ext4) + NON_JOURNAL_SIZE=$(Calculate_partition_size_without_journal ${ORIGINAL_SIZE} ${FILESYSTEM}) + PROJECTED_JOURNAL_SIZE=$(ext2fs_default_journal_size ${NON_JOURNAL_SIZE}) + PROJECTED_PARTITION_SIZE=$(expr ${ORIGINAL_SIZE} + ${PROJECTED_JOURNAL_SIZE}) + PRE_FINAL_PARTITION_SIZE=$(Calculate_partition_size_without_journal ${PROJECTED_PARTITION_SIZE} ${FILESYSTEM}) + JOURNAL_SIZE=$(ext2fs_default_journal_size ${PRE_FINAL_PARTITION_SIZE}) + + expr $(Calculate_partition_size_without_journal ${ORIGINAL_SIZE} ${FILESYSTEM}) + ${JOURNAL_SIZE} + ;; + *) + Calculate_partition_size_without_journal ${ORIGINAL_SIZE} ${FILESYSTEM} + ;; + esac +} diff --git a/system-build/functions/man.sh b/system-build/functions/man.sh new file mode 100755 index 0000000..11366b7 --- /dev/null +++ b/system-build/functions/man.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Man () +{ + if [ -x "$(which man 2>/dev/null)" ] + then + man $(basename ${0}) + exit 0 + fi +} diff --git a/system-build/functions/packagelists.sh b/system-build/functions/packagelists.sh new file mode 100755 index 0000000..0ee13ce --- /dev/null +++ b/system-build/functions/packagelists.sh @@ -0,0 +1,151 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Expand_packagelist () +{ + _LB_EXPAND_QUEUE="$(basename "${1}")" + + shift + + while [ -n "${_LB_EXPAND_QUEUE}" ] + do + _LB_LIST_NAME="$(echo ${_LB_EXPAND_QUEUE} | cut -d" " -f1)" + _LB_EXPAND_QUEUE="$(echo ${_LB_EXPAND_QUEUE} | cut -s -d" " -f2-)" + _LB_LIST_LOCATION="" + _LB_NESTED=0 + _LB_ENABLED=1 + + for _LB_SEARCH_PATH in ${@} + do + if [ -e "${_LB_SEARCH_PATH}/${_LB_LIST_NAME}" ] + then + _LB_LIST_LOCATION="${_LB_SEARCH_PATH}/${_LB_LIST_NAME}" + break + fi + done + + if [ -z "${_LB_LIST_LOCATION}" ] + then + echo "W: Unknown package list '${_LB_LIST_NAME}'" >&2 + continue + fi + + printf "$(cat ${_LB_LIST_LOCATION})\n" | while read _LB_LINE + do + case "${_LB_LINE}" in + \!*) + _EXEC="$(echo ${_LB_LINE} | sed -e 's|^!||')" + + case "${LB_BUILD_WITH_CHROOT}" in + true) + chroot chroot sh -c "${_EXEC}" + ;; + + false) + eval ${_EXEC} + ;; + esac + ;; + + \#if\ *) + if [ ${_LB_NESTED} -eq 1 ] + then + echo "E: Nesting conditionals is not supported" >&2 + exit 1 + fi + _LB_NESTED=1 + + _LB_NEEDLE="$(echo "${_LB_LINE}" | cut -d' ' -f3-)" + _LB_HAYSTACK="$(eval "echo \$LB_$(echo "${_LB_LINE}" | cut -d' ' -f2)")" + + _LB_ENABLED=0 + for _LB_NEEDLE_PART in ${_LB_NEEDLE} + do + for _LB_HAYSTACK_PART in ${_LB_HAYSTACK} + do + if [ "${_LB_NEEDLE_PART}" = "${_LB_HAYSTACK_PART}" ] + then + _LB_ENABLED=1 + fi + done + done + ;; + + \#nif\ *) + if [ ${_LB_NESTED} -eq 1 ] + then + echo "E: Nesting conditionals is not supported" >&2 + exit 1 + fi + _LB_NESTED=1 + + _LB_NEEDLE="$(echo "${_LB_LINE}" | cut -d' ' -f3-)" + _LB_HAYSTACK="$(eval "echo \$LB_$(echo "${_LB_LINE}" | cut -d' ' -f2)")" + + _LB_ENABLED=0 + for _LB_NEEDLE_PART in ${_LB_NEEDLE} + do + for _LB_HAYSTACK_PART in ${_LB_HAYSTACK} + do + if [ "${_LB_NEEDLE_PART}" != "${_LB_HAYSTACK_PART}" ] + then + _LB_ENABLED=1 + fi + done + done + ;; + + \#endif*) + _LB_NESTED=0 + _LB_ENABLED=1 + ;; + + \#*) + # Skip comments + ;; + + *) + if [ ${_LB_ENABLED} -eq 1 ] + then + echo "${_LB_LINE}" + fi + ;; + + esac + done + done +} + +Discover_package_architectures () +{ + _LB_EXPANDED_PKG_LIST="${1}" + _LB_DISCOVERED_ARCHITECTURES="" + + shift + + if [ -e "${_LB_EXPANDED_PKG_LIST}" ] && [ -s "${_LB_EXPANDED_PKG_LIST}" ] + then + while read _LB_PACKAGE_LINE + do + # Lines from the expanded package list may have multiple, space-separated packages + for _LB_PACKAGE_LINE_PART in ${_LB_PACKAGE_LINE} + do + # Looking for <package>:<architecture> + if [ -n "$(echo ${_LB_PACKAGE_LINE_PART} | awk -F"=" '{print $1}' | awk -F':' '{print $2}')" ] + then + _LB_DISCOVERED_ARCHITECTURES="${_LB_DISCOVERED_ARCHITECTURES} $(echo ${_LB_PACKAGE_LINE_PART} | awk -F':' '{print $2}')" + fi + done + done < "${_LB_EXPANDED_PKG_LIST}" + + # Output unique architectures, alpha-sorted, one per line + echo "${_LB_DISCOVERED_ARCHITECTURES}" | tr -s '[:space:]' '\n' | sort | uniq + fi +} diff --git a/system-build/functions/packages.sh b/system-build/functions/packages.sh new file mode 100755 index 0000000..fce097f --- /dev/null +++ b/system-build/functions/packages.sh @@ -0,0 +1,85 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Check_package () +{ + CHROOT="${1}" + FILE="${2}" + PACKAGE="${3}" + + Check_installed "${CHROOT}" "${FILE}" "${PACKAGE}" + + case "${INSTALL_STATUS}" in + 1) + _LB_PACKAGES="${_LB_PACKAGES} ${PACKAGE}" + ;; + + 2) + Echo_error "You need to install %s on your host system." "${PACKAGE}" + exit 1 + ;; + esac +} + +Install_package () +{ + if [ -n "${_LB_PACKAGES}" ] && [ "${LB_BUILD_WITH_CHROOT}" != "false" ] + then + Chroot chroot "apt-get install -o APT::Install-Recommends=false ${APT_OPTIONS} ${_LB_PACKAGES}" + fi +} + +Remove_package () +{ + if [ -n "${_LB_PACKAGES}" ] && [ "${LB_BUILD_WITH_CHROOT}" != "false" ] + then + Chroot chroot "apt-get remove --purge ${APT_OPTIONS} ${_LB_PACKAGES}" + fi +} + +# Check_installed +# uses as return value global var INSTALL_STATUS +# INSTALL_STATUS : 0 if package is installed +# 1 if package isn't installed and we're in an apt managed system +# 2 if package isn't installed and we aren't in an apt managed system +Check_installed () +{ + CHROOT="${1}" + FILE="${2}" + PACKAGE="${3}" + + if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] && [ "${CHROOT}" = "chroot" ] + then + if Chroot chroot "dpkg-query -s ${PACKAGE}" 2> /dev/null | grep -qs "Status: install" + then + INSTALL_STATUS=0 + else + INSTALL_STATUS=1 + fi + else + if which dpkg-query > /dev/null 2>&1 + then + if Chroot chroot "dpkg-query -s ${PACKAGE}" 2> /dev/null | grep -qs "Status: install" + then + INSTALL_STATUS=0 + else + INSTALL_STATUS=1 + fi + else + if [ ! -e "${FILE}" ] + then + INSTALL_STATUS=2 + else + INSTALL_STATUS=0 + fi + fi + fi +} + diff --git a/system-build/functions/stagefile.sh b/system-build/functions/stagefile.sh new file mode 100755 index 0000000..c1be52c --- /dev/null +++ b/system-build/functions/stagefile.sh @@ -0,0 +1,71 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Check_stagefile () +{ + FILE="${1}" + NAME="$(basename ${1})" + + # Checking stage file + if [ -f "${FILE}" ] + then + if [ "${_FORCE}" != "true" ] + then + # Skipping execution + Echo_warning "skipping %s, already done" "${NAME}" + exit 0 + else + # Forcing execution + Echo_message "forcing %s" "${NAME}" + rm -f "${FILE}" + fi + fi +} + +Create_stagefile () +{ + FILE="${1}" + DIRECTORY="$(dirname ${1})" + + # Creating stage directory + mkdir -p "${DIRECTORY}" + + # Creating stage file + touch "${FILE}" +} + +Require_stagefile () +{ + NAME="$(basename ${0})" + FILES="${@}" + NUMBER="$(echo ${@} | wc -w)" + + for FILE in ${FILES} + do + # Find at least one of the required stages + if [ -f ${FILE} ] + then + CONTINUE="true" + NAME="${NAME} $(basename ${FILE})" + fi + done + + if [ "${CONTINUE}" != "true" ] + then + if [ "${NUMBER}" -eq 1 ] + then + Echo_error "%s: %s missing" "${NAME}" "${FILE}" + else + Echo_error "%s: one of %s is missing" "${NAME}" "${FILES}" + fi + + exit 1 + fi +} diff --git a/system-build/functions/usage.sh b/system-build/functions/usage.sh new file mode 100755 index 0000000..86809ad --- /dev/null +++ b/system-build/functions/usage.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Usage () +{ + printf "%s - %s\n" "${PROGRAM}" "${DESCRIPTION}" + echo + Echo "Usage:" + echo + + if [ -n "${USAGE}" ] + then + Echo " ${USAGE}" + echo + fi + + printf " %s [-h|--help]\n" "${PROGRAM}" + printf " %s [-u|--usage]\n" "${PROGRAM}" + printf " %s [-v|--version]\n" "${PROGRAM}" + echo + Echo "Try \"%s --help\" for more information." "${PROGRAM}" + + exit 1 +} diff --git a/system-build/functions/wrapper.sh b/system-build/functions/wrapper.sh new file mode 100755 index 0000000..c8dccb3 --- /dev/null +++ b/system-build/functions/wrapper.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Apt () +{ + CHROOT="${1}" + shift + + Chroot ${CHROOT} apt-get ${APT_OPTIONS} ${@} +} diff --git a/system-build/manpages/lb.1 b/system-build/manpages/lb.1 new file mode 100644 index 0000000..4bc54ee --- /dev/null +++ b/system-build/manpages/lb.1 @@ -0,0 +1,34 @@ +.TH LIVE\-BUILD 1 2016\-07\-28 20160601 "Live Systems Project" + +.SH NAME +\fBlb\fR \- wrapper for live\-build programs + +.SH SYNOPSIS +\fBlb\fR COMMAND [COMMAND_OPTIONS] +.PP +\fBlb\fR [\fIlive\-build\ options\fR] + +.SH DESCRIPTION +\fBlb\fR is a high\-level command (porcelain) of \fIlive\-build\fR(7), the live systems tool suite. +.PP +.\" FIXME + +.SH OPTIONS +\fBlb\fR has no specific options but understands all generic live\-build options. See \fIlive\-build\fR(7) for a complete list of all generic live\-build options. + +.SH FILES +.IP "\fBnone\fR" 4 + +.SH SEE ALSO +\fIlive\-build\fR(7) +.PP +This program is a part of live\-build. + +.SH HOMEPAGE +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-build was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-build/manpages/lb_binary.1 b/system-build/manpages/lb_binary.1 new file mode 100644 index 0000000..0d07ace --- /dev/null +++ b/system-build/manpages/lb_binary.1 @@ -0,0 +1,32 @@ +.TH LIVE\-BUILD 1 2016\-07\-28 20160601 "Live Systems Project" + +.SH NAME +\fBlb binary\fR \- Complete the binary stage + +.SH SYNOPSIS +\fBlb binary\fR [\fIlive\-build options\fR] + +.SH DESCRIPTION +\fBlb binary\fR is a high\-level command (porcelain) of \fIlive\-build\fR(7), the live systems tool suite. +.PP +\fBlb binary\fR calls all necessary live\-build programs in the correct order to complete the binary stage. + +.SH OPTIONS +\fBlb binary\fR has no specific options but understands all generic live\-build options. See \fIlive\-build\fR(7) for a complete list of all generic live\-build options. + +.SH FILES +.IP "\fBnone\fR" 4 + +.SH SEE ALSO +\fIlive\-build\fR(7) +.PP +This program is a part of live\-build. + +.SH HOMEPAGE +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-build was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-build/manpages/lb_bootstrap.1 b/system-build/manpages/lb_bootstrap.1 new file mode 100644 index 0000000..64bfb75 --- /dev/null +++ b/system-build/manpages/lb_bootstrap.1 @@ -0,0 +1,32 @@ +.TH LIVE\-BUILD 1 2016\-07\-28 20160601 "Live Systems Project" + +.SH NAME +\fBlb bootstrap\fR \- Complete the bootstrap stage + +.SH SYNOPSIS +\fBlb bootstrap\fR [\fIlive\-build options\fR] + +.SH DESCRIPTION +\fBlb bootstrap\fR is a high\-level command (porcelain) of \fIlive\-build\fR(7), the live systems tool suite. +.PP +\fBlb bootstrap\fR calls all necessary live\-build programs in the correct order to complete the bootstrap stage. + +.SH OPTIONS +\fBlb bootstrap\fR has no specific options but understands all generic live\-build options. See \fIlive\-build\fR(7) for a complete list of all generic live\-build options. + +.SH FILES +.IP "\fBnone\fR" 4 + +.SH SEE ALSO +\fIlive\-build\fR(7) +.PP +This program is a part of live\-build. + +.SH HOMEPAGE +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-build was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-build/manpages/lb_build.1 b/system-build/manpages/lb_build.1 new file mode 100644 index 0000000..4253787 --- /dev/null +++ b/system-build/manpages/lb_build.1 @@ -0,0 +1,34 @@ +.TH LIVE\-BUILD 1 2016\-07\-28 20160601 "Live Systems Project" + +.SH NAME +\fBlb build\fR \- Complete the bootstrap, chroot, binary, and source stages + +.SH SYNOPSIS +\fBlb build\fR [\fIlive\-build options\fR] + +.SH DESCRIPTION +\fBlb build\fR is a high\-level command (porcelain) of \fIlive\-build\fR(7), the live systems tool suite. +.PP +\fBlb build\fR calls all necessary live\-build programs in the correct order to complete the bootstrap, chroot, binary, and source stages. + +.SH OPTIONS +\fBlb build\fR has no specific options but understands all generic live\-build options. See \fIlive\-build\fR(7) for a complete list of all generic live\-build options. + +.SH FILES +.\" FIXME +.IP "\fBauto/build\fR" 4 +.\" FIXME + +.SH SEE ALSO +\fIlive\-build\fR(7) +.PP +This program is a part of live\-build. + +.SH HOMEPAGE +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-build was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-build/manpages/lb_chroot.1 b/system-build/manpages/lb_chroot.1 new file mode 100644 index 0000000..a921e87 --- /dev/null +++ b/system-build/manpages/lb_chroot.1 @@ -0,0 +1,32 @@ +.TH LIVE\-BUILD 1 2016\-07\-28 20160601 "Live Systems Project" + +.SH NAME +\fBlb chroot\fR \- Complete the chroot stage + +.SH SYNOPSIS +\fBlb chroot\fR [\fIlive\-build options\fR] + +.SH DESCRIPTION +\fBlb chroot\fR is a high\-level command (porcelain) of \fIlive\-build\fR(7), the live systems tool suite. +.PP +\fBlb chroot\fR calls all necessary live\-build programs in the correct order to complete the chroot stage. + +.SH OPTIONS +\fBlb chroot\fR has no specific options but understands all generic live\-build options. See \fIlive\-build\fR(7) for a complete list of all generic live\-build options. + +.SH FILES +.IP "\fBnone\fR" 4 + +.SH SEE ALSO +\fIlive\-build\fR(7) +.PP +This program is a part of live\-build. + +.SH HOMEPAGE +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-build was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-build/manpages/lb_clean.1 b/system-build/manpages/lb_clean.1 new file mode 100644 index 0000000..adadafa --- /dev/null +++ b/system-build/manpages/lb_clean.1 @@ -0,0 +1,55 @@ +.TH LIVE\-BUILD 1 2016\-07\-28 20160601 "Live Systems Project" + +.SH NAME +\fBlb clean\fR \- Clean build directory + +.SH SYNOPSIS +\fBlb clean\fR [\fIlive\-build options\fR] + +.SH DESCRIPTION +\fBlb clean\fR is a high\-level command (porcelain) of \fIlive\-build\fR(7), the live systems tool suite. +.PP +.\" FIXME +\fBlb clean\fR is responsible for cleaning up after a system is built. It removes the build directories, and removes some other files including stage files, and any detritus left behind by other live\-build commands. +.\" FIXME + +.SH OPTIONS +In addition to its specific options \fBlb clean\fR understands all generic live\-build options. See \fIlive\-build\fR(7) for a complete list of all generic live\-build options. +.PP +.\" FIXME +.IP "\fB\-\-all\fR" 4 +removes chroot, binary, stage, and source. The cache directory is kept. This is the default operation and will be performed if no argument is given. +.IP "\fB\-\-cache\fR" 4 +removes the cache directories. +.IP "\fB\-\-chroot\fR" 4 +unmounts and removes the chroot directory. +.IP "\fB\-\-binary\fR" 4 +removes all binary related caches, files, directories, and stages files. +.IP "\fB\-\-purge\fR" 4 +removes everything, including all caches. The config directory is kept. +.IP "\fB\-\-remove\fR" 4 +removes everything, including package cache but not stage cache. The config directory is kept. +.IP "\fB\-\-stage\fR" 4 +removes all stage files. +.IP "\fB\-\-source\fR" 4 +removes all source related caches, files, directories, and stage files. +.\" FIXME + +.SH FILES +.\" FIXME +.IP "\fBauto/clean\fR" 4 +.\" FIXME + +.SH SEE ALSO +\fIlive\-build\fR(7) +.PP +This program is a part of live\-build. + +.SH HOMEPAGE +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-build was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-build/manpages/lb_config.1 b/system-build/manpages/lb_config.1 new file mode 100644 index 0000000..956d8ef --- /dev/null +++ b/system-build/manpages/lb_config.1 @@ -0,0 +1,477 @@ +.TH LIVE\-BUILD 1 2016\-07\-28 20160601 "Live Systems Project" + +.SH NAME +\fBlb config\fR \- Create config directory + +.SH SYNOPSIS +\fBlb config\fR [\fIlive\-build options\fR] +.PP +.\" FIXME +\fBlb config\fR +.br + [\fB\-\-apt\-ftp\-proxy\fR \fIURL\fR] +.br + [\fB\-\-apt\-http\-proxy\fR \fIURL\fR] +.br + [\fB\-\-apt\-indices\fR true|false] +.br + [\fB\-\-apt\-options\fR \fIOPTION\fR|"\fIOPTIONS\fR"] +.br + [\fB\-\-apt\-pipeline\fR \fIDEPTH\fR] +.br + [\fB\-\-apt\-recommends\fR true|false] +.br + [\fB\-\-apt\-secure\fR true|false] +.br + [\fB\-\-apt\-source\-archives\fR true|false] +.br + [\-a|\fB\-\-architectures\fR \fIARCHITECTURE\fR] +.br + [\-b|\fB\-\-binary\-images\fR iso|iso\-hybrid|netboot|tar|hdd] +.br + [\fB\-\-binary\-filesystem\fR fat16|fat32|ext2|ext3|ext4] +.br + [\fB\-\-bootappend\-install\fR \fIPARAMETER\fR|\fI"PARAMETERS"\fR] +.br + [\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|\fI"PARAMETERS"\fR] +.br + [\fB\-\-bootloader\fR grub|grub2|syslinux] +.br + [\fB\-\-cache\fR true|false] +.br + [\fB\-\-cache\-indices\fR true|false] +.br + [\fB\-\-cache\-packages\fR true|false] +.br + [\fB\-\-cache\-stages\fR \fISTAGE\fR|\fI"STAGES"\fR] +.br + [\fB\-\-checksums\fR md5|sha1|sha256|none] +.br + [\fB\-\-compression\fR bzip2|gzip|lzip|none] +.br + [\fB\-\-config\fR \fIGIT_URL::GIT_ID\fR] +.br + [\fB\-\-build\-with\-chroot\fR true|false] +.br + [\fB\-\-chroot\-filesystem\fR ext2|ext3|ext4|squashfs|jffs2|none] +.br + [\fB\-\-clean\fR] +.br + [\-c|\fB\-\-conffile\fR \fIFILE\fR] +.br + [\fB\-\-debconf\-frontend\fR dialog|editor|noninteractive|readline] +.br + [\fB\-\-debconf\-priority\fR low|medium|high|critical] +.br + [\fB\-\-debian\-installer\fR true|cdrom|netinst|netboot|businesscard|live|false] +.br + [\fB\-\-debian\-installer\-distribution\fR daily|\fICODENAME\fR] +.br + [\fB\-\-debian\-installer\-preseedfile\fR \fIFILE\fR|\fIURL\fR] +.br + [\fB\-\-debian\-installer\-gui\fR true|false] +.br + [\fB\-\-debug\fR] +.br + [\-d|\fB\-\-distribution\fR \fICODENAME\fR] +.br + [\fB\-\-parent\-distribution\fR \fICODENAME\fR] +.br + [\fB\-\-parent\-debian\-installer\-distribution\fR \fICODENAME\fR] +.br + [\fB\-\-dump\fR] +.br + [\fB\-\-fdisk\fR fdisk|fdisk.dist] +.br + [\fB\-\-firmware\-binary true|false\fR] +.br + [\fB\-\-firmware\-chroot true|false\fR] +.br + [\fB\-\-force\fR] +.br + [\fB\-\-grub\-splash\fR \fIFILE\fR] +.br + [\fB\-\-gzip\-options\fR \fIOPTION\fR|"\fIOPTIONS\fR"] +.br + [\fB\-\-hooks\fR \fIFILE\fR] +.br + [\fB\-\-ignore\-system\-defaults\fR] +.br + [\fB\-\-initramfs\fR auto|none|live\-boot|casper] +.br + [\fB\-\-initramfs\-compression\fR bzip2|gzip|lzma] +.br + [\fB\-\-initsystem\fR sysvinit|runit|systemd|upstart|none] +.br + [\fB\-\-interactive\fR shell] +.br + [\fB\-\-isohybrid\-options\fR \fIOPTION\fR|"\fIOPTIONS\fR"] +.br + [\fB\-\-iso\-application\fR \fINAME\fR] +.br + [\fB\-\-iso\-preparer\fR \fINAME\fR] +.br + [\fB\-\-iso\-publisher\fR \fINAME\fR] +.br + [\fB\-\-iso\-volume\fR \fINAME\fR] +.br + [\fB\-\-jffs2\-eraseblock\fR \fISIZE\fR] +.br + [\fB\-\-keyring\-packages\fR \fIPACKAGE\fI|\fI"PACKAGES"\fR] +.br + [\-k|\fB\-\-linux\-flavours\fR \fIFLAVOUR\fR|\fI"FLAVOURS"\fR] +.br + [\fB\-\-linux\-packages\fR \fI"PACKAGES"\fR] +.br + [\fB\-\-losetup\fR losetup|losetup.orig] +.br + [\fB\-\-memtest\fR memtest86+|memtest86|none] +.br + [\-m|\fB\-\-parent\-mirror\-bootstrap\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-chroot\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-chroot\-security\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-chroot\-updates\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-chroot\-backports\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-binary\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-binary\-security\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-binary\-updates\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-binary\-backports\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-debian\-installer\fR \fIURL\fR] +.br + [\fB\-\-mirror\-bootstrap\fR \fIURL\fR] +.br + [\fB\-\-mirror\-chroot\fR \fIURL\fR] +.br + [\fB\-\-mirror\-chroot\-security\fR \fIURL\fR] +.br + [\fB\-\-mirror\-chroot\-updates\fR \fIURL\fR] +.br + [\fB\-\-mirror\-chroot\-backports\fR \fIURL\fR] +.br + [\fB\-\-mirror\-binary\fR \fIURL\fR] +.br + [\fB\-\-mirror\-binary\-security\fR \fIURL\fR] +.br + [\fB\-\-mirror\-binary\-updates\fR \fIURL\fR] +.br + [\fB\-\-mirror\-binary\-backports\fR \fIURL\fR] +.br + [\fB\-\-mirror\-debian\-installer\fR \fIURL\fR] +.br + [\fB\-\-mode\fR debian|progress-linux|ubuntu] +.br + [\fB\-\-system\fR live|normal] +.br + [\fB\-\-net\-root\-filesystem\fR nfs|cfs] +.br + [\fB\-\-net\-root\-mountoptions\fR \fIOPTIONS\fR] +.br + [\fB\-\-net\-root\-path\fR \fIPATH\fR] +.br + [\fB\-\-net\-root\-server\fR \fIIP\fR|\fIHOSTNAME\fR] +.br + [\fB\-\-net\-cow\-filesystem\fR nfs|cfs] +.br + [\fB\-\-net\-cow\-mountoptions\fR \fIOPTIONS\fR] +.br + [\fB\-\-net\-cow\-path\fR \fIPATH\fR] +.br + [\fB\-\-net\-cow\-server\fR \fIIP\fR|\fIHOSTNAME\fR] +.br + [\fB\-\-net\-tarball\fR true|false] +.br + [\fB\-\-quiet\fR] +.br + [\fB\-\-archive\-areas\fR \fIARCHIVE_AREA\fR|\fI"ARCHIVE_AREAS"\fR] +.br + [\fB\-\-parent\-archive\-areas\fR \fIPARENT_ARCHIVE_AREA\fR|\fI"PARENT_ARCHIVE_AREAS"\fR] +.br + [\fB\-\-security\fR true|false] +.br + [\fB\-\-source\fR true|false] +.br + [\-s|\fB\-\-source\-images\fR iso|netboot|tar|hdd] +.br + [\fB\-\-tasksel\fR apt|tasksel] +.br + [\fB\-\-templates\fR \fIPATH\fR] +.br + [\fB\-\-hdd\-size \fIMB\fR] +.br + [\fB\-\-updates\fR true|false] +.br + [\fB\-\-backports\fR true|false] +.br + [\fB\-\-verbose\fR] +.br + [\fB\-\-win32\-loader true|false] +.\" FIXME + +.SH DESCRIPTION +\fBlb config\fR is a high\-level command (porcelain) of \fIlive\-build\fR(7), the live systems tool suite. +.PP +.\" FIXME +\fBlb config\fR populates the configuration directory for live\-build. By default, this directory is named 'config' and is created in the current directory where \fBlb config\fR was executed. +.PP +Note: Currently \fBlb config\fR tries to be smart and sets defaults for some options depending on the setting of other options (e.g. which linux packages to be used depending on if a wheezy system gets build or not). This means that when generating a new configuration, you should call \fBlb config\fR only once with all options specified. Calling it several times with only a subset of the options each can result in non working configurations. This is also caused by the fact that \fBlb config\fR called with one option only changes that option, and leaves everything else as is unless its not defined. However, \fBlb config\fR does warn about know impossible or likely impossible combinations that would lead to non working live systems. If unsure, remove config/{binary,bootstrap,chroot,common,source} and call \fBlb config\fR again. +.\" FIXME + +.SH OPTIONS +In addition to its specific options \fBlb config\fR understands all generic live\-build options. See \fIlive\-build\fR(7) for a complete list of all generic live\-build options. +.PP +.\" FIXME +.IP "\fB\-\-apt\-ftp\-proxy\fR \fIURL\fR" 4 +sets the ftp proxy to be used by apt. By default, this is empty. Note that this variable is only for the proxy that gets used by apt internally within the chroot, it is not used for anything else. +.IP "\fB\-\-apt\-http\-proxy\fR \fIURL\fR" 4 +sets the http proxy to be used by apt. By default, this is empty. Note that this variable is only for the proxy that gets used by apt internally within the chroot, it is not used for anything else. +.IP "\fB\-\-apt\-indices\fR true|false|none" 4 +defines if the resulting images should have apt indices or not and defaults to true. If set to none, no indices are included at all. +.IP "\fB\-\-apt\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 +defines the default options that will be appended to every apt call that is made inside chroot during the building of the image. By default, this is set to \-\-yes to allow non-interactive installation of packages. +.IP "\fB\-\-apt\-pipeline\fR \fIDEPTH\fR" 4 +sets the depth of the apt pipeline. In cases where the remote server is not RFC conforming or buggy (such as Squid 2.0.2) this option can be a value from 0 to 5 indicating how many outstanding requests APT should send. A value of zero MUST be specified if the remote host does not properly linger on TCP connections \- otherwise data corruption will occur. Hosts which require this are in violation of RFC 2068. By default, live\-build does not set this option. +.IP "\fB\-\-apt\-recommends\fR true|false" 4 +defines if apt should install recommended packages automatically. By default, this is true. +.IP "\fB\-\-apt\-secure\fR true|false" 4 +defines if apt should check repository signatures. This is true by default. +.IP "\fB\-\-apt\-source\-archives\fR true|false" 4 +defines if deb-src entries should be included in the resulting live image or not, defaults to true. +.IP "\-a|\fB\-\-architectures\fR \fIARCHITECTURE\fR" 4 +defines the architecture of the to be build image. By default, this is set to the host architecture. Note that you cannot crossbuild for another architecture if your host system is not able to execute binaries for the target architecture natively. For example, building amd64 images on i386 and vice versa is possible if you have a 64bit capable i386 processor and the right kernel. But building powerpc images on an i386 system is not possible. +.IP "\-b|\fB\-\-binary\-images\fR iso|iso\-hybrid|netboot|tar|hdd" 4 +defines the image type to build. By default, for images using syslinux this is set to iso\-hybrid to build CD/DVD images that may also be used like hdd images, for non\-syslinux images, it defaults to iso. +.IP "\fB\-\-binary\-filesystem\fR fat16|fat32|ext2|ext3|ext4" 4 +defines the filesystem to be used in the image type. This only has an effect if the selected binary image type does allow to choose a filesystem. For example, when selection iso the resulting CD/DVD has always the filesystem ISO9660. When building hdd images for usb sticks, this is active. Note that it defaults to fat16 on all architectures except sparc where it defaults to ext4. Also note that if you choose fat16 and your resulting binary image gets bigger than 2GB, the binary filesystem automatically gets switched to fat32. +.IP "\fB\-\-bootappend\-install\fR \fIPARAMETER\fR|""\fIPARAMETERS\fR""" 4 +sets boot parameters specific to debian\-installer, if included. +.IP "\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|""\fIPARAMETERS\fR""" 4 +sets boot parameters specific to debian\-live. A complete list of boot parameters can be found in the \fIlive\-boot\fR(7) and \fIlive\-config\fR(7) manual pages. +.IP "\fB\-\-bootloader\fR grub|grub2|syslinux" 4 +defines which bootloader is being used in the generated image. This has only an effect if the selected binary image type does allow to choose the bootloader. For example, if you build a iso, always syslinux (or more precise, isolinux) is being used. Also note that some combinations of binary images types and bootloaders may be possible but live\-build does not support them yet. \fBlb config\fR will fail to create such a not yet supported configuration and give a explanation about it. For hdd images on amd64 and i386, the default is syslinux. +.IP "\fB\-\-cache\fR true|false" 4 +defines globally if any cache should be used at all. Different caches can be controlled through the their own options. +.IP "\fB\-\-cache\-indices\fR true|false" 4 +defines if downloaded package indices and lists should be cached which is false by default. Enabling it would allow to rebuild an image completely offline, however, you would not get updates anymore then. +.IP "\fB\-\-cache\-packages\fR true|false" 4 +defines if downloaded packages files should be cached which is true by default. Disabling it does save space consumption in your build directory, but remember that you will cause much unnecessary traffic if you do a couple of rebuilds. In general you should always leave it true, however, in some particular rare build setups, it can be faster to refetch packages from the local network mirror rather than to utilize the local disk. +.IP "\fB\-\-cache\-stages\fR true|false|\fISTAGE\fR|""\fISTAGES\fR""" 4 +sets which stages should be cached. By default set to bootstrap. As an exception to the normal stage names, also rootfs can be used here which does only cache the generated root filesystem in filesystem.{dir,ext*,squashfs}. This is useful during development if you want to rebuild the binary stage but not regenerate the root filesystem all the time. +.IP "\fB\-\-checksums\fR md5|sha1|sha256|none" 4 +defines if the binary image should contain a file called md5sums.txt, sha1sums.txt and/or sha256sums.txt. These lists all files on the image together with their checksums. This in turn can be used by live\-boot's built\-in integrity\-check to verify the medium if specified at boot prompt. In general, this should not be false and is an important feature of live system released to the public. However, during development of very big images it can save some time by not calculating the checksums. +.IP "\fB\-\-compression\fR bzip2|gzip|lzip|none" 4 +defines the compression program to be used to compress tarballs. Defaults to gzip. +.IP "\fB\-\-config\fR \fIGIT_URL\fR::\fIGIT_ID\fR" 4 +allows to bootstrap a config tree from a git repositories, optionally appended by a Git Id (branch, commit, tag, etc.). +.IP "\fB\-\-build\-with\-chroot\fR true|false" 4 +defines whether live\-build should use the tools from within the chroot to build the binary image or not by using and including the host system's tools. This is a very dangerous option, using the tools of the host system can lead to tainted and even non-bootable images if the host systems version of the required tools (mainly these are the bootloaders such as syslinux and grub, and the auxiliary tools such as dosfstools, xorriso, squashfs-tools and others) do not \fBexactly\fR match what is present at build-time in the target distribution. Never do disable this option unless you are \fBexactly\fR sure what you are doing and have \fBcompletely\fI understood its consequences. +.IP "\fB\-\-chroot\-filesystem\fR ext2|ext3|ext4|squashfs|jffs2|none" 4 +defines which filesystem type should be used for the root filesystem image. If you use none, then no filesystem image is created and the root filesystem content is copied on the binary image filesystem as flat files. Depending on what binary filesystem you have chosen, it may not be possible to build with such a plain root filesystem, e.g. fat16/fat32 will not work as linux does not support to run directly on them. +.IP "\fB\-\-clean\fR" 4 +minimizes config directory by automatically removing unused and thus empty subdirectories. +.IP "\-c|\fB\-\-conffile\fR \fIFILE\fR" 4 +using a user specified alternative configuration file in addition to the normally used one in the config directory. +.IP "\fB\-\-debconf\-frontend\fR dialog|editor|noninteractive|readline" 4 +defines what value the debconf frontend should be set to inside the chroot. Note that setting it to anything but noninteractive, which is the default, makes your build asking questions during the build. +.IP "\fB\-\-debconf\-priority\fR low|medium|high|critical" 4 +defines what value the debconf priority should be set to inside the chroot. By default, it is set to critical, which means that almost no questions are displayed. Note that this only has an effect if you use any debconf frontend different from noninteractive. +.IP "\fB\-\-debian\-installer\fR true|cdrom|netinst|netboot|businesscard|live|false" 4 +defines which type, if any, of the debian\-installer should be included in the resulting binary image. By default, no installer is included. All available flavours except live are the identical configurations used on the installer media produced by regular debian\-cd. When live is chosen, the live\-installer udeb is included so that debian\-installer will behave different than usual \- instead of installing the debian system from packages from the medium or the network, it installs the live system to the disk. +.IP "\fB\-\-debian\-installer\-distribution\fR daily|\fICODENAME\fR" 4 +defines the distribution where the debian\-installer files should be taken out from. Normally, this should be set to the same distribution as the live system. However, some times, one wants to use a newer or even daily built installer. +.IP "\fB\-\-debian\-installer\-preseedfile\fR \fIFILE\fR|\fIURL\fR" 4 +sets the filename or URL for an optionally used and included preseeding file for debian\-installer. If config/binary_debian\-installer/preseed.cfg exists, it will be used by default. +.IP "\fB\-\-debian\-installer\-gui\fR true|false" 4 +defines if the debian\-installer graphical GTK interface should be true or not. In Debian mode and for most versions of Ubuntu, this option is true, whereas otherwise false, by default. +.IP "\fB\-\-debug\fR" 4 +turn on debugging informational messages. +.IP "\-d|\fB\-\-distribution\fR \fICODENAME\fR" 4 +defines the distribution of the resulting live system. +.IP "\-d|\fB\-\-parent\-distribution\fR \fICODENAME\fR" 4 +defines the parent distribution for derivatives of the resulting live system. +.IP "\-d|\fB\-\-parent\-debian\-installer\-distribution\fR \fICODENAME\fR" 4 +defines the parent debian\-installer distribution for derivatives of the resulting live system. +.IP "\fB\-\-dump\fR" 4 +prepares a report of the currently present live system configuration and the version of live\-build used. This is useful to provide if you submit bug reports, we do get all informations required for us to locate and replicate an error. +.IP "\fB\-\-fdisk\fR fdisk|fdisk.dist" 4 +sets the filename of the fdisk binary from the host system that should be used. This is autodetected and does generally not need any customization. +.IP "\fB\-\-force\fR" 4 +forces re\-execution of already run stages. Use only if you know what you are doing. It is generally safer to use \fBlb clean\fR to clean up before re\-executing \fBlb build\fR. +.IP "\fB\-\-grub\-splash\fR \fIFILE\fR" 4 +defines the name of an optional to be included splash screen graphic for the grub bootloader. +.IP "\fB\-\-gzip\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 +defines the default options that will be appended to (almost) every gzip call during the building of the image. By default, this is set to \-\-best to use highest (but slowest) compression. Dynamically, if the host system supports it, also \-\-rsyncable is added. +.IP "\fB\-\-hooks\fR \fIFILE\fR" 4 +defines which hooks available in /usr/share/live/build/examples/hooks should be activated. Normally, there are no hooks executed. Make sure you know and understood the hook before you enable it. +.IP "\fB\-\-ignore\-system\-defaults\fR" 4 +\fBlb config\fR by default reads system defaults from \fI/etc/live/build.conf\fR and \fI/etc/live/build/*\fR when generating a new live system config directory. This is useful if you want to set global settings, such as mirror locations, and don't want to specify them all of the time. +.IP "\fB\-\-initramfs\fR auto|none|live\-boot|casper" 4 +sets the name of package that contains the live system specific initramfs modification. By default, auto is used, which means that at build time of the image rather than on configuration time, the value will be expanded to casper when building ubuntu systems, to live\-boot for all other systems. Using 'none' is useful if the resulting system image should not be a live image (experimental). +.IP "\fB\-\-initramfs\-compression\fR bzip2|gzip|lzma] +defines the compression program to be used to compress the initramfs. Defaults to gzip. +.IP "\fB\-\-interactive\fR shell" 4 +defines if after the chroot stage and before the beginning of the binary stage, a interactive shell login should be spawned in the chroot in order to allow you to do manual customizations. Once you close the shell with logout or exit, the build will continue as usual. Note that it's strongly discouraged to use this for anything else than testing. Modifications that should be present in all builds of a live system should be properly made through hooks. Everything else destroys the beauty of being able to completely automatise the build process and making it non interactive. By default, this is of course false. +.IP "\fB\-\-isohybrid\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 +defines options to pass to isohybrid. +.IP "\fB\-\-iso\-application\fR \fINAME\fR" 4 +sets the APPLICATION field in the header of a resulting CD/DVD image and defaults to "Debian Live" in debian mode, and "Ubuntu Live" in ubuntu mode. +.IP "\fB\-\-iso\-preparer\fR \fINAME\fR" 4 +sets the PREPARER field in the header of a resulting CD/DVD image. By default this is set to "live\-build \fIVERSION\fR; http://packages.qa.debian.org/live\-build", where VERSION is expanded to the version of live\-build that was used to build the image. +.IP "\fB\-\-iso\-publisher\fR \fINAME\fR" 4 +sets the PUBLISHED field in the header of a resulting CD/DVD image. By default, this is set to 'Live Systems project; http:/live-systems.org/; debian\-live@lists.debian.org'. Remember to change this to the appropriate values at latest when you distributing custom and unofficial images. +.IP "\fB\-\-iso\-volume\fR \fINAME\fR" 4 +sets the VOLUME field in the header of a resulting CD/DVD and defaults to '(\fIMODE\fR) (\fIDISTRIBUTION\fR) (\fIDATE\fR)' whereas MODE is expanded to the name of the mode in use, DISTRIBUTION the distribution name, and DATE with the current date and time of the generation. +.IP "\fB\-\-jffs2\-eraseblock\fR \fISIZE\fR" 4 +sets the eraseblock size for a JFFS2 (Second Journaling Flash File System) filesystem. The default is 64 KiB. If you use an erase block size different than the erase block size of the target MTD device, JFFS2 may not perform optimally. If the SIZE specified is below 4096, the units are assumed to be KiB. +.IP "\fB\-\-keyring\-packages\fR \fIPACKAGE\fI|""\fIPACKAGES\fR""" 4 +sets the keyring package or additional keyring packages. By default this is set to debian\-archive\-keyring. +.IP "\-k|\fB\-\-linux\-flavours\fR \fIFLAVOUR\fR|""\fIFLAVOURS\fR""" 4 +sets the kernel flavours to be installed. Note that in case you specify more than that the first will be configured the default kernel that gets booted. +.IP "\fB\-\-linux\-packages\fR ""\fIPACKAGES\fR""" 4 +sets the internal name of the kernel packages naming scheme. If you use debian kernel packages, you will not have to adjust it. If you decide to use custom kernel packages that do not follow the debian naming scheme, remember to set this option to the stub of the packages only (for debian this is linux\-image\-2.6), so that \fISTUB\fR-\fIFLAVOUR\fR results in a valid package name (for debian e.g. linux\-image\-686\-pae). Preferably you use the meta package name, if any, for the stub, so that your configuration is ABI independent. Also don't forget that you have to include stubs of the binary modules packages for unionfs or aufs, and squashfs if you built them out-of-tree. +.IP "\fB\-\-losetup\fR losetup|losetup.orig" 4 +sets the filename of the losetup binary from the host system that should be used. This is autodetected and does generally not need any customization. +.IP "\fB\-\-memtest\fR memtest86+|memtest86|none" 4 +defines if memtest, memtest86+ or no memory tester at all should be included as secondary bootloader configuration. This is only available on amd64 and i386 and defaults to memtest86+. +.IP "\-m|\fB\-\-parent\-mirror\-bootstrap\fR \fIURL\fR" 4 +sets the location of the debian package mirror that should be used to bootstrap from. This defaults to http://ftp.de.debian.org/debian/ which may not be a good default if you live outside of Europe. +.IP "\fB\-\-parent\-mirror\-chroot\fR \fIURL\fR" 4 +sets the location of the debian package mirror that will be used to fetch the packages in order to build the live system. By default, this is set to the value of \-\-parent\-mirror\-bootstrap. +.IP "\fB\-\-parent\-mirror\-chroot\-security\fR \fIURL\fR" 4 +sets the location of the debian security package mirror that will be used to fetch the packages in order to build the live system. By default, this points to http://security.debian.org/debian/. +.IP "\fB\-\-parent\-mirror\-chroot\-updates\fR \fIURL\fR" 4 +sets the location of the debian updates package mirror that will be used to fetch packages in order to build the live system. By default, this is set to the value of \-\-parent\-mirror\-chroot. +.IP "\fB\-\-parent\-mirror\-chroot\-backports\fR \fIURL\fR" 4 +sets the location of the debian backports package mirror that will be used to fetch packages in order to build the live system. By default, this points to http://backports.debian.org/debian-backports/. +.IP "\fB\-\-parent\-mirror\-binary\fR \fIURL\fR" 4 +sets the location of the debian package mirror that should end up configured in the final image and which is the one a user would see and use. This has not necessarily to be the same that is used to build the image, e.g. if you use a local mirror but want to have an official mirror in the image. By default, 'http://httpredir.debian.org/debian/' is used. +.IP "\fB\-\-parent\-mirror\-binary\-security\fR \fIURL\fR" 4 +sets the location of the debian security package mirror that should end up configured in the final image. By default, 'http://security.debian.org/' is used. +.IP "\fB\-\-parent\-mirror\-binary\-updates\fR \fIURL\fR" 4 +sets the location of the debian updates package mirror that should end up configured in the final image. By default, the value of \-\-parent\-mirror\-binary is used. +.IP "\fB\-\-parent\-mirror\-binary\-backports\fR \fIURL\fR" 4 +sets the location of the debian backports package mirror that should end up configured in the final image. By default, 'http://backports.debian.org/debian-backports/' is used. +.IP "\fB\-\-parent\-mirror\-debian\-installer\fR \fIURL\fR" 4 +sets the location of the mirror that will be used to fetch the debian installer images. By default, this points to the same mirror used to build the live system, i.e. the value of \-\-parent\-mirror\-bootstrap. +.IP "\fB\-\-mirror\-bootstrap\fR \fIURL\fR" 4 +sets the location of the debian package mirror that should be used to bootstrap the derivative from. This defaults to http://ftp.de.debian.org/debian/ which may not be a good default if you live outside of Europe. +.IP "\fB\-\-mirror\-chroot\fR \fIURL\fR" 4 +sets the location of the debian package mirror that will be used to fetch the packages of the derivative in order to build the live system. By default, this is set to the value of \-\-mirror\-bootstrap. +.IP "\fB\-\-mirror\-chroot\-security\fR \fIURL\fR" 4 +sets the location of the debian security package mirror that will be used to fetch the packages of the derivative in order to build the live system. By default, this points to http://security.debian.org/debian/. +.IP "\fB\-\-mirror\-chroot\-updates\fR \fIURL\fR" 4 +sets the location of the debian updates package mirror that will be used to fetch packages of the derivative in order to build the live system. By default, this is set to the value of \-\-mirror\-chroot. +.IP "\fB\-\-mirror\-chroot\-backports\fR \fIURL\fR" 4 +sets the location of the debian backports package mirror that will be used to fetch packages of the derivative in order to build the live system. By default, this points to http://backports.debian.org/debian-backports/. +.IP "\fB\-\-mirror\-binary\fR \fIURL\fR" 4 +sets the location of the derivative package mirror that should end up configured in the final image and which is the one a user would see and use. This has not necessarily to be the same that is used to build the image, e.g. if you use a local mirror but want to have an official mirror in the image. +.IP "\fB\-\-mirror\-binary\-security\fR \fIURL\fR" 4 +sets the location of the derivatives security package mirror that should end up configured in the final image. +.IP "\fB\-\-mirror\-binary\-updates\fR \fIURL\fR" 4 +sets the location of the derivatives updates package mirror that should end up configured in the final image. +.IP "\fB\-\-mirror\-binary\-backports\fR \fIURL\fR" 4 +sets the location of the derivatives backports package mirror that should end up configured in the final image. +.IP "\fB\-\-mirror\-debian\-installer\fR \fIURL\fR" 4 +sets the location of the mirror that will be used to fetch the debian installer images of the derivative. By default, this points to the same mirror used to build the live system, i.e. the value of \-\-mirror\-bootstrap. +.IP "\fB\-\-mode\fR debian|progress|ubuntu" 4 +defines a global mode to load project specific defaults. By default this is set to debian. +.IP "\fB\-\-system\fR live|normal" 4 +defines if the resulting system image should a live system or a normal, non-live system. +.IP "\fB\-\-net\-root\-filesystem\fR nfs|cfs" 4 +defines the filesystem that will be configured in the bootloader configuration for your netboot image. This defaults to nfs. +.IP "\fB\-\-net\-root\-mountoptions\fR \fIOPTIONS\fR" 4 +sets additional options for mounting the root filesystem in netboot images and is by default empty. +.IP "\fB\-\-net\-root\-path\fR \fIPATH\fR" 4 +sets the file path that will be configured in the bootloader configuration for your netboot image. This defaults to /srv/debian\-live in debian mode, and /srv/ubuntu-live when in ubuntu mode. +.IP "\fB\-\-net\-root\-server\fR \fIIP\fR|\fIHOSTNAME\fR" 4 +sets the IP or hostname that will be configured in the bootloader configuration for the root filesystem of your netboot image. This defaults to 192.168.1.1. +.IP "\fB\-\-net\-cow\-filesystem\fR nfs|cfs" 4 +defines the filesystem type for the copy\-on\-write layer and defaults to nfs. +.IP "\fB\-\-net\-cow\-mountoptions\fR \fIOPTIONS\fR" 4 +sets additional options for mounting the copy\-on\-write layer in netboot images and is by default empty. +.IP "\fB\-\-net\-cow\-path\fR \fIPATH\fR" 4 +defines the path to client writable filesystem. Anywhere that \fIclient_mac_address\fR is specified in the path live\-boot will substitute the MAC address of the client delimited with hyphens. +.PP +.IP "" 4 +Example: +.br +/export/hosts/client_mac_address +.br +/export/hosts/00\-16\-D3\-33\-92\-E8 +.IP "\fB\-\-net\-cow\-server\fR \fIIP\fR|\fIHOSTNAME\fR" 4 +sets the IP or hostname that will be configured in the bootloader configuration for the copy\-on\-write filesystem of your netboot image and is by default empty. +.IP "\fB\-\-net\-tarball\fR true|false" 4 +defines if a compressed tarball should be created. Disabling this options leads to no tarball at all, the plain binary directory is considered the output in this case. Default is true. +.IP "\fB\-\-quiet\fR" 4 +reduces the verbosity of messages output by \fBlb build\fR. +.IP "\fB\-\-archive\-areas\fR \fIARCHIVE_AREA\fR|""\fIARCHIVE_AREAS\fR""" 4 +defines which package archive areas of a debian packages archive should be used for configured debian package mirrors. By default, this is set to main. Remember to check the licenses of each packages with respect to their redistributability in your juristiction when enabling contrib or non\-free with this mechanism. +.IP "\fB\-\-parent\-archive\-areas\fR \fIPARENT_ARCHIVE_AREA\fR|""\fIPARENT_ARCHIVE_AREAS\fR""" 4 +defines the archive areas for derivatives of the resulting live system. +.IP "\fB\-\-security\fR true|false" 4 +defines if the security repositories specified in the security mirror options should be used or not. +.IP "\fB\-\-source\fR true|false" 4 +defines if a corresponding source image to the binary image should be build. By default this is false because most people do not require this and would require to download quite a few source packages. However, once you start distributing your live image, you should make sure you build it with a source image alongside. +.IP "\-s|\fB\-\-source\-images\fR iso|netboot|tar|hdd" 4 +defines the image type for the source image. Default is tar. +.IP "\fB\-\-firmware\-binary\fR true|false" 4 +defines if firmware packages should be automatically included into the binary pool for debian\-installer. Note that only firmware packages available within the configured archive areas are included, e.g. an image with packages from main only will not automatically include firmware from non\-free. This option does not interfere with explicitly listed packages in binary package lists. +.IP "\fB\-\-firmware\-chroot\fR true|false" 4 +defines if firmware packages should be automatically included into the live image. Note that only firmware packages available within the configured archive areas are included, e.g. an image with packages from main only will not automatically include firmware from non\-free. This option does not interfere with explicitly listed packages in chroot package lists. +.IP "\fB\-\-swap\-file\-path\fR \fIPATH\fR" 4 +defines the path to a swap file to create in the binary image. Default is not to create a swap file. +.IP "\fB\-\-swap\-file\-size\fR \fIMB\fR" 4 +defines what size in megabytes the swap file should be, if one is to be created. Default is 512MB. +.IP "\fB\-\-tasksel\fR apt|tasksel" 4 +selects which program is used to install tasks. By default, this is set to tasksel. +.IP "\fB\-\-templates\fR \fIPATH\fR" 4 +sets the path to the templates that live\-build is going to use, e.g. for bootloaders. By default, this is set to /usr/share/live/build/templates/. +.IP "\fB\-\-hdd\-size\fR MB" 4 +defines what size the hdd image should be. Note that although the default is set to 10000 (= 10GB), it will not need 10GB space on your harddisk as the files are created as sparse files. +.IP "\fB\-\-updates\fR true|false" 4 +defines if debian updates package archives should be included in the image or not. +.IP "\fB\-\-backports\fR true|false" 4 +defines if debian backports package archives should be included in the image or not. +.IP "\fB\-\-verbose\fR" 4 +increases the verbosity of messages output by \fBlb build\fR. +.IP "\fB\-\-win32\-loader true|false" 4 +defines if win32\-loader should be included in the binary image or not. +.\" FIXME + +.SH ENVIRONMENT +.\" FIXME +Currently, command line switches can also be specified through the corresponding environment variable. However, this generally should not be relied upon, as it is an implementation detail that is subject to change in future releases. For options applying directly to live\-build, environment variables are named LB_FOO, meaning, e.g. \fB\-\-apt\-ftp\-proxy\fR becomes LB_APT_FTP_PROXY (the exception being internal options such as \fB\-\-debug\fR). For options passed to another program, as in APT_OPTIONS or GZIP_OPTIONS, no LB_ prefix is used. +\" FIXME + +.SH FILES +.\" FIXME +.IP "\fBauto/config\fR" 4 +.IP "\fB/etc/live/build.conf, /etc/live/build/*\fR" 4 +An optional, global configuration file for \fBlb config\fR variables. It is useful to specify a few system wide defaults, like LB_PARENT_MIRROR_BOOTSTRAP. This feature can be false by specifying the \fB\-\-ignore\-system\-defaults\fR option. +.\" FIXME + +.SH SEE ALSO +\fIlive\-build\fR(7) +.PP +\fIlive\-boot\fR(7) +.PP +\fIlive\-config\fR(7) +.PP +This program is a part of live\-build. + +.SH HOMEPAGE +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-build was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-build/manpages/lb_source.1 b/system-build/manpages/lb_source.1 new file mode 100644 index 0000000..f9d05f9 --- /dev/null +++ b/system-build/manpages/lb_source.1 @@ -0,0 +1,32 @@ +.TH LIVE\-BUILD 1 2016\-07\-28 20160601 "Live Systems Project" + +.SH NAME +\fBlb source\fR \- Complete the source stage + +.SH SYNOPSIS +\fBlb source\fR [\fIlive\-build options\fR] + +.SH DESCRIPTION +\fBlb source\fR is a high\-level command (porcelain) of \fIlive\-build\fR(7), the live systems tool suite. +.PP +\fBlb source\fR calls all necessary live\-build programs in the correct order to complete the source stage. + +.SH OPTIONS +\fBlb source\fR has no specific options but understands all generic live\-build options. See \fIlive\-build\fR(7) for a complete list of all generic live\-build options. + +.SH FILES +.IP "\fBnone\fR" 4 + +.SH SEE ALSO +\fIlive\-build\fR(7) +.PP +This program is a part of live\-build. + +.SH HOMEPAGE +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-build was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-build/manpages/live-build.7 b/system-build/manpages/live-build.7 new file mode 100644 index 0000000..1734143 --- /dev/null +++ b/system-build/manpages/live-build.7 @@ -0,0 +1,231 @@ +.TH LIVE\-BUILD 7 2016\-07\-28 20160601 "Live Systems Project" + +.SH NAME +\fBlive\-build\fR \- the live systems tool suite + +.SH SYNOPSIS +.\" FIXME +\fBlb \fR\fICOMMAND\fR [\fB\-h|\-\-help\fR] [\fB\-u|\-\-usage\fR] [\fB\-v|\-\-version\fR] [\fB\-\-breakpoints\fR] [\fB\-\-conffile\fR] [\fB\-\-debug\fR] [\fB\-\-force\fR] [\fB\-\-quiet\fR] [\fB\-\-verbose\fR] +.\" FIXME + +.SH DESCRIPTION +.\" FIXME +live\-build is a set of scripts to build live system images. The idea behind live\-build is a tool suite that uses a configuration directory to completely automate and customize all aspects of building a Live image. +.PP +The \fICOMMAND\fR is a name of a live\-build command (see below). +.PP +More documentation about how to use live\-build is available in the individual manpages for each helper and in the manual at <\fIhttp://live-systems.org/manual/\fR>. +.\" FIXME + +.SH OPTIONS +.\" FIXME +.SS Shared live\-build options +The following command line options are supported by all live\-build programs. +.IP "\fB-h, \-\-help\fR" 4 +display help and exit. +.IP "\fB-u, \-\-usage\fR" 4 +show usage and exit. +.IP "\fB-v, \-\-version\fR" 4 +output version information and exit. +.SS Common live\-build options +The following command line options are supported by most live\-build programs. See the man page of each program for a complete explanation of what each option does. +.IP "\fB\-\-breakpoints\fR" 4 +run with breakpoints. +.IP "\fB\-\-conffile\fR" 4 +use custom configuration file. +.IP "\fB\-\-debug\fR" 4 +show debug information. +.IP "\fB\-\-force\fR" 4 +force helper execution, even if stage file exists. +.IP "\fB\-\-quiet\fR" 4 +be quiet. +.IP "\fB\-\-verbose\fR" 4 +be verbose. +.\" FIXME + +.SH LIVE\-BUILD COMMANDS +.\" FIXME +We divide live\-build into high level ("porcelain") commands and low level ("plumbing") commands. +.PP +Here is the complete list of all available live\-build commands. See their man +pages for additional documentation. +.\" FIXME + +.SH HIGH\-LEVEL COMMANDS (PORCELAIN) +.\" FIXME +We separate the porcelain commands into the main commands and some ancillary user utilities. +.SS Main porcelain commands +.IP "\fBlb_config\fR(1)" 4 +create configuration for live\-build +.IP "\fBlb_bootstrap\fR(1)" 4 +create the first stage by bootstrapping a basic debian system +.IP "\fBlb_chroot\fR(1)" 4 +create the second stage by customizing the chroot +.IP "\fBlb_binary\fR(1)" 4 +create the third stage by generating a binary image +.IP "\fBlb_source\fR(1)" 4 +create the optional fourth stage by generating a source image +.IP "\fBlb_clean\fR(1)" 4 +clean up system build directories +.SS Ancillary Commands +.IP "\fBlb\fR(1)" 4 +generic live\-build wrapper +.IP "\fBlb_build\fR(1)" 4 +alias for all stages +.IP "\fBlb_local\fR(1)" 4 +helper for using a local live\-build +.IP "\fBlb_testroot\fR(1)" 4 +ensure that a system is built as root +.\" FIXME + +.SH LOW\-LEVEL COMMANDS (PLUMBING) +.\" FIXME +The actual work of live\-build is implemented in the low-level commands, called plumbing. They are not supposed to be used by end users, they should stick with porcelains as they ensure that all the different plumbing commands are executed in the right order. However, if you intend to reuse live\-build commands in your own scripts, then the plumbings might be of interest for you. +.PP +Note that the interface (set of options and the semantics) to these low\-level commands are meant to be a lot more stable than Porcelain level commands. The interface to Porcelain commands on the other hand are subject to change in order to improve the end user experience. +.SS Bootstrap commands +.IP "\fBlb_bootstrap_cache\fR(1)" 4 +cache bootstrap stage +.IP "\fBlb_bootstrap_debootstrap\fR(1)" 4 +bootstrap a Debian system with debootstrap(8) +.SS Chroot commands +.IP "\fBlb_chroot_apt\fR(1)" 4 +manage /etc/apt/apt.conf +.IP "\fBlb_chroot_cache\fR(1)" 4 +cache chroot stage +.IP "\fBlb_chroot_debianchroot\fR(1)" 4 +manage /etc/debian_chroot +.IP "\fBlb_chroot_devpts\fR(1)" 4 +mount /dev/pts +.IP "\fBlb_chroot_dpkg\fR(1)" 4 +manage /sbin/dpkg +.IP "\fBlb_chroot_hacks\fR(1)" 4 +execute hacks in chroot +.IP "\fBlb_chroot_hostname\fR(1)" 4 +manage /bin/hostname +.IP "\fBlb_chroot_hosts\fR(1)" 4 +manage /etc/hosts +.IP "\fBlb_chroot_install\-packages\fR(1)" 4 +install queued packages into chroot +.IP "\fBlb_chroot_interactive\fR(1)" 4 +make build interactive +.IP "\fBlb_chroot_linux\-image\fR(1)" 4 +manage /etc/kernel\-img.conf +.IP "\fBlb_chroot_hooks\fR(1)" 4 +execute local hooks in chroot +.IP "\fBlb_chroot_local\-includes\fR(1)" 4 +copy local files into chroot +.IP "\fBlb_chroot_packages\fR(1)" 4 +queue install of packages into chroot +.IP "\fBlb_chroot_local\-patches\fR(1)" 4 +apply local patches against chroot +.IP "\fBlb_chroot_local\-preseed\fR(1)" 4 +use debconf local preseeding file +.IP "\fBlb_chroot_packagelists\fR(1)" 4 +queue install of package lists into chroot +.IP "\fBlb_chroot_proc\fR(1)" 4 +mount /proc +.IP "\fBlb_chroot_resolv\fR(1)" 4 +manage /etc/resolv.conf +.IP "\fBlb_chroot_selinuxfs\fR(1)" 4 +mount /selinux +.IP "\fBlb_chroot_archives\fR(1)" 4 +manage /etc/apt/sources.list +.IP "\fBlb_chroot_sysfs\fR(1)" 4 +mount /sys +.IP "\fBlb_chroot_sysv\-rc\fR(1)" 4 +manage /usr/sbin/policy\-rc.d +.IP "\fBlb_chroot_task\-lists\fR(1)" 4 +install task lists into chroot +.SS Binary commands +.IP "\fBlb_binary_chroot\fR(1)" 4 +copy chroot into chroot +.IP "\fBlb_binary_debian\-installer\fR(1)" 4 +install debian\-installer into binary +.IP "\fBlb_binary_disk\fR(1)" 4 +install disk information into binary +.IP "\fBlb_binary_grub\fR(1)" 4 +installs grub into binary +.IP "\fBlb_binary_grub2\fR(1)" 4 +installs grub2 into binary +.IP "\fBlb_binary_includes\fR(1)" 4 +copy files into binary +.IP "\fBlb_binary_iso\fR(1)" 4 +build iso binary image +.IP "\fBlb_binary_linux\-image\fR(1)" 4 +install linux\-image into binary +.IP "\fBlb_binary_local\-hooks\fR(1)" 4 +execute local hooks in binary +.IP "\fBlb_binary_local\-includes\fR(1)" 4 +copy files into binary +.IP "\fBlb_binary_local\-packagelists\fR(1)" 4 +install local package lists into binary +.IP "\fBlb_binary_manifest\fR(1)" 4 +create manifest +.IP "\fBlb_binary_checksums\fR(1)" 4 +create binary checksums (md5, sha1, and/or sha256) +.IP "\fBlb_binary_memtest\fR(1)" 4 +installs a memtest into binary +.IP "\fBlb_binary_net\fR(1)" 4 +build netboot binary image +.IP "\fBlb_binary_rootfs\fR(1)" 4 +build rootfs image +.IP "\fBlb_binary_syslinux\fR(1)" 4 +installs syslinux into binary +.IP "\fBlb_binary_tar\fR(1)" 4 +build harddisk binary image +.IP "\fBlb_binary_hdd\fR(1)" 4 +build binary hdd image +.IP "\fBlb_binary_win32\-loader\fR(1)" 4 +installs win32\-loader into binary +.SS Source commands +.IP "\fBlb_source_debian\fR(1)" 4 +download sources +.IP "\fBlb_source_debian\-live\fR(1)" 4 +copy debian\-live config into source +.IP "\fBlb_source_disk\fR(1)" 4 +install disk information into source +.IP "\fBlb_source_iso\fR(1)" 4 +build iso source image +.IP "\fBlb_source_checksums\fR(1)" 4 +create source checksums (md5, sha1, and/or sha256) +.IP "\fBlb_source_net\fR(1)" 4 +build source net image +.IP "\fBlb_source_tar\fR(1)" 4 +build source tarball +.IP "\fBlb_source_hdd\fR(1)" 4 +build source hdd image +.\" FIXME + +.SH CONFIG FILES +.\" FIXME +Many live\-build commands make use of files in the \fIconfig/\fR directory to control what they do. Besides the common \fIconfig/common\fR, which is used by all live\-build commands, some additional files can be used to configure the behavior of specific live\-build commands. These files are typically named config/stage or config/stage_helper (where "stage" of course, is replaced with the name of the stage that they belong to, and "helper" with the name of the helper). +.PP +For example, lb_bootstrap_debootstrap uses files named config/bootstrap and config/bootstrap_debootstrap to read the options it will use. See the man pages of individual commands for details about the names and formats of the files they use. Generally, these files contain variables with values assigned, one variable per line. Some programs in live\-build use pairs of values or slightly more complicated variable assignments. +.PP +Note that live\-build will respect environment variables which are present in the context of the shell it is running. If variables can be read from config files, then they override environment variables, and if command line options are used, they override values from config files. If no value for a given variable can be found and thus is unset, live\-build will automatically set it to the default value. +.PP +In some rare cases, you may want to have different versions of these files for different architectures or distributions. If files named config/stage.arch or config/stage_helper.arch, and config/stage.dist or config/stage_helper.dist exist, where "arch" is the same as the output of "dpkg \-\-print\-architecture" and "dist" is the same as the codename of the target distribution, then they will be used in preference to other, more general files. +.PP +All config files are shell scripts which are sourced by a live\-build program. That means they have to follow the normal shell syntax. You can also put comments in these files; lines beginning with "#" are ignored. +.\" FIXME + +.SH FILES +.IP "\fB/etc/live/build.conf\fR" 4 +.IP "\fB/etc/live/build/*\fR" 4 + +.SH SEE ALSO +\fIlive\-boot\fR(7) +.PP +\fIlive\-config\fR(7) +.PP +This program is a part of live\-build. + +.SH HOMEPAGE +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-build was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-build/scripts/build.sh b/system-build/scripts/build.sh new file mode 100755 index 0000000..abeb29c --- /dev/null +++ b/system-build/scripts/build.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see <http://www.gnu.org/licenses/>. +## +## The complete text of the GNU General Public License +## can be found in /usr/share/common-licenses/GPL-3 file. + + +set -e + +if [ -e local/live-build ] +then + LIVE_BUILD="${LIVE_BUILD:-${PWD}/local/live-build}" + export LIVE_BUILD +fi + +for _DIRECTORY in "${LIVE_BUILD}/functions" /usr/share/live/build/functions +do + if [ -e "${_DIRECTORY}" ] + then + for _FILE in "${_DIRECTORY}"/*.sh + do + if [ -e "${_FILE}" ] + then + . "${_FILE}" + fi + done + + break + fi +done diff --git a/system-build/scripts/build/binary b/system-build/scripts/build/binary new file mode 100755 index 0000000..551431d --- /dev/null +++ b/system-build/scripts/build/binary @@ -0,0 +1,106 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Automatically populating config tree +if [ -x auto/config ] && [ ! -e .build/config ] +then + Echo_message "Automatically populating config tree." + lb config +fi + +# Setting static variables +DESCRIPTION="$(Echo 'build binary images')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Setup cleanup function +Setup_cleanup + +# Preparing root filesystem +lb binary_chroot ${@} + +if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] +then + # Configuring chroot + lb chroot_devpts install ${@} + lb chroot_proc install ${@} + lb chroot_selinuxfs install ${@} + lb chroot_sysfs install ${@} + lb chroot_hosts install ${@} + lb chroot_resolv install ${@} + lb chroot_hostname install ${@} + lb chroot_sysv-rc install ${@} + lb chroot_apt install-binary ${@} + lb chroot_archives chroot install ${@} +fi + +# Building root filesystem +lb binary_rootfs ${@} +lb binary_manifest ${@} + +# Prepare images +lb binary_package-lists ${@} +lb binary_linux-image ${@} +lb binary_memtest ${@} +lb binary_grub-legacy ${@} +lb binary_grub-pc ${@} +lb binary_loopback_cfg ${@} +lb binary_syslinux ${@} +lb binary_disk ${@} +lb binary_loadlin ${@} +lb binary_win32-loader ${@} +lb binary_includes ${@} +lb binary_hooks ${@} +lb binary_checksums ${@} + +if [ "${LB_BUILD_WITH_CHROOT}" != "true" ] +then + lb chroot_devpts install ${@} + lb chroot_proc install ${@} + lb chroot_selinuxfs install ${@} + lb chroot_sysfs install ${@} +fi + +# Building images +lb binary_iso ${@} +lb binary_netboot ${@} +lb binary_tar ${@} +lb binary_hdd ${@} + +lb binary_zsync ${@} + +if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] +then + # Deconfiguring chroot + rm -f .build/chroot_archives + lb chroot_apt remove ${@} + lb chroot_hostname remove ${@} + lb chroot_resolv remove ${@} + lb chroot_hosts remove ${@} + lb chroot_sysv-rc remove ${@} + lb chroot_dpkg remove ${@} + lb chroot_debianchroot remove ${@} +fi + +lb chroot_sysfs remove ${@} +lb chroot_selinuxfs remove ${@} +lb chroot_proc remove ${@} +lb chroot_devpts remove ${@} diff --git a/system-build/scripts/build/binary_checksums b/system-build/scripts/build/binary_checksums new file mode 100755 index 0000000..a64334e --- /dev/null +++ b/system-build/scripts/build/binary_checksums @@ -0,0 +1,96 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'create binary checksums')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_CHECKSUMS}" = "none" ] +then + exit 0 +fi + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_checksums + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +for CHECKSUM in ${LB_CHECKSUMS} +do + case "${LB_MODE}" in + progress-linux) + CHECKSUMS="$(echo ${CHECKSUM} | tr [a-z] [A-Z])SUMS" + ;; + + *) + CHECKSUMS="${CHECKSUM}sum.txt" + ;; + esac + + Echo_message "Begin creating binary ${CHECKSUMS}..." + + # Remove old checksums + if [ -f binary/${CHECKSUMS} ] + then + rm -f binary/${CHECKSUMS} + fi + + # Calculating checksums + cd binary + find . -type f \ + \! -path './isolinux/isolinux.bin' \ + \! -path './boot/boot.bin' \ + \! -path './boot/grub/stage2_eltorito' \ + \! -path './*SUMS' \ + \! -path './*sum.txt' \ + -print0 | sort -z | xargs -0 ${CHECKSUM}sum > ../${CHECKSUMS} + +cat > ${CHECKSUMS} << EOF +## This file contains the list of ${CHECKSUM} checksums of all files on this +## medium. +## +## You can verify them automatically with the 'verify-checksums' boot parameter, +## or, manually with: '${CHECKSUM}sum -c ${CHECKSUMS}'. +## +## +EOF + + cat ../${CHECKSUMS} >> ${CHECKSUMS} + rm -f ../${CHECKSUMS} + + cd "${OLDPWD}" +done + +# File list +cd binary +find . | sed -e 's|^.||g' | grep "^/" | sort > ../${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.contents +cd "${OLDPWD}" + +# Creating stage file +Create_stagefile .build/binary_checksums diff --git a/system-build/scripts/build/binary_chroot b/system-build/scripts/build/binary_chroot new file mode 100755 index 0000000..d809b7f --- /dev/null +++ b/system-build/scripts/build/binary_chroot @@ -0,0 +1,101 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'copy chroot into chroot')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin copying chroot..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_chroot + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Normally, virtual filesystems are not mounted here, but people tend to be lazy +if [ -f chroot/proc/version ] +then + umount chroot/proc +fi + +if [ -d chroot/sys/kernel ] +then + umount chroot/sys +fi + +if [ "${LB_BUILD_WITH_CHROOT}" = "false" ] +then + exit 0 +fi + +if [ "${LB_CACHE}" = "true" ] && Find_files cache/binary_rootfs/filesystem* +then + exit 0 +fi + +Echo_message "This may take a while." + +# Removing old chroot +rm -rf chroot/chroot +rm -rf chroot.tmp + +# Copying new chroot +if [ -d cache/bootstrap ] && [ "${LB_CHROOT_FILESYSTEM}" != "none" ] && [ "${LB_CHROOT_FILESYSTEM}" != "plain" ] +then + mv chroot chroot.tmp + cp -a cache/bootstrap chroot + touch chroot/chroot.cache +else + cp -a chroot chroot.tmp +fi + +mv chroot.tmp chroot/chroot + +# Handling chroot excludes +if [ -f config/rootfs/excludes ] && [ "${LB_CHROOT_FILESYSTEM}" != "squashfs" ] +then + case "${LB_BUILD_WITH_CHROOT}" in + true) + cp config/rootfs/excludes chroot/chroot/excludes + # Not using Chroot() here because we want explicitly /bin/bash (for the time being) + chroot chroot/chroot /usr/bin/env -i xargs --arg-file=/excludes -I FILE bash -c 'rm -rf FILE' + rm -f chroot/chroot/excludes + ;; + + false) + cp config/rootfs/excludes chroot/excludes + # Not using Chroot() here because we want explicitly /bin/bash (for the time being) + chroot chroot /usr/bin/env -i xargs --arg-file=/excludes -I FILE bash -c 'rm -rf FILE' + rm -f chroot/excludes + ;; + esac +fi + +# Creating stage file +Create_stagefile .build/binary_chroot diff --git a/system-build/scripts/build/binary_disk b/system-build/scripts/build/binary_disk new file mode 100755 index 0000000..7ddcc35 --- /dev/null +++ b/system-build/scripts/build/binary_disk @@ -0,0 +1,175 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'install disk information into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +case "${LIVE_IMAGE_TYPE}" in + iso*|hdd*) + ;; + *) + exit 0 + ;; +esac + +Echo_message "Begin installing disk information..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_disk + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +mkdir -p binary/.disk + +ARCHITECTURE="$(echo ${LB_ARCHITECTURES} | sed -e 's| |/|g')" +DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]')" +DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION} | cut -b 2-)" + +if [ -e chroot/etc/os-release ] +then + VERSION="$(. chroot/etc/os-release && echo ${VERSION_ID})" +fi + +VERSION="${VERSION:-none}" + +case "${LB_MODE}" in + debian) + TITLE="Debian GNU/Linux" + STRING="Official Snapshot ${ARCHITECTURE}" + TRACE="project/trace/ftp-master.debian.org" + ;; + + progress-linux) + TITLE="Progress Linux" + STRING="${VERSION} (${DISTRIBUTION}) - ${ARCHITECTURE}" + TRACE="project/trace/archive-master.progress-linux.org" + ;; + + *) + TITLE="Debian GNU/Linux" + STRING="Snapshot ${ARCHITECTURE}" + TRACE="" + ;; +esac + +if [ -n "${TRACE}" ] +then + case "${LB_DERIVATIVE}" in + true) + echo "$(echo ${LB_PARENT_MIRROR_BOOTSTRAP} | awk -F:// '{ print $2 }'): $(wget -q ${LB_PARENT_MIRROR_BOOTSTRAP}/${TRACE} -O - | head -n 1)" \ + > binary/.disk/archive_trace + + echo "$(echo ${LB_MIRROR_BOOTSTRAP} | awk -F:// '{ print $2 }'): $(wget -q ${LB_MIRROR_BOOTSTRAP}/${TRACE} -O - | head -n 1)" \ + >> binary/.disk/archive_trace + ;; + + false) + echo "$(wget -q ${LB_PARENT_MIRROR_BOOTSTRAP}/${TRACE} -O - | head -n 1)" \ + > binary/.disk/archive_trace + ;; + esac +fi + +case "${LB_DEBIAN_INSTALLER}" in + cdrom) + echo "main" > binary/.disk/base_components + + touch binary/.disk/base_installable + + echo "full_cd" > binary/.disk/cd_type + + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE/CD Binary $(date +%Y%m%d-%H:%M)" > binary/.disk/info + + for LOCATION in "${LIVE_BUILD}/data/debian-cd" /usr/share/live/build/data/debian-cd + do + if [ -e "${LOCATION}" ] + then + cp "${LOCATION}/${LB_PARENT_DISTRIBUTION}/${LB_ARCHITECTURES}_udeb_include" binary/.disk/udeb_include + + continue + fi + done + ;; + + true|netinst|live) + echo "main" > binary/.disk/base_components + + touch binary/.disk/base_installable + + if [ "${LB_DEBIAN_INSTALLER}" = "live" ] + then + echo "live" > binary/.disk/cd_type + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE/INSTALL Binary $(date +%Y%m%d-%H:%M)" > binary/.disk/info + else + echo "not_complete" > binary/.disk/cd_type + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE/NETINST Binary $(date +%Y%m%d-%H:%M)" > binary/.disk/info + fi + + for LOCATION in "${LIVE_BUILD}/data/debian-cd" /usr/share/live/build/data/debian-cd + do + if [ -e "${LOCATION}" ] + then + cp "${LOCATION}/${LB_PARENT_DISTRIBUTION}/${LB_ARCHITECTURES}_netinst_udeb_include" binary/.disk/udeb_include + + continue + fi + done + + if [ "${LB_DEBIAN_INSTALLER}" = "live" ] + then + echo "live-installer" >> binary/.disk/udeb_include + fi + ;; + + businesscard) + echo "main" > binary/.disk/base_components + + echo "not_complete" > binary/.disk/cd_type + + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE/BC Binary $(date +%Y%m%d-%H:%M)" > binary/.disk/info + + for LOCATION in "${LIVE_BUILD}/data/debian-cd" /usr/share/live/build/data/debian-cd + do + if [ -e "${LOCATION}" ] + then + cp "${LOCATION}/${LB_PARENT_DISTRIBUTION}/${LB_ARCHITECTURES}_businesscard_udeb_include" binary/.disk/udeb_include + + continue + fi + done + ;; + + false) + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE Binary $(date +%Y%m%d-%H:%M)" > binary/.disk/info + ;; +esac + +# Creating stage file +Create_stagefile .build/binary_disk diff --git a/system-build/scripts/build/binary_grub-legacy b/system-build/scripts/build/binary_grub-legacy new file mode 100755 index 0000000..a9fb74b --- /dev/null +++ b/system-build/scripts/build/binary_grub-legacy @@ -0,0 +1,288 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'installs grub-legacy into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +FOUND_MYSELF="" +IFS="," +for BOOTLOADER in ${LB_BOOTLOADERS} +do + + case ${BOOTLOADER} in + "grub-legacy" ) + FOUND_MYSELF="True" + break ;; + esac + +done + +if [ -z ${FOUND_MYSELF} ] ; then + exit 0 +fi + +Echo_message "Begin installing grub-legacy..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_grub-legacy + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Check architecture +Check_architectures amd64 i386 +Check_crossarchitectures + +# Checking depends +Check_package chroot /usr/sbin/grub grub-legacy + +# Restoring cache +Restore_cache cache/packages.binary + +# Installing depends +Install_package + +# Local functions +Grub_live_entry () +{ + LABEL="${1}" + KERNEL="${2}" + INITRD="${3}" + APPEND="${4}" + + LINUX_LIVE="${LINUX_LIVE}\ntitle\t\tDebian GNU/Linux - ${LABEL}" + LINUX_LIVE="${LINUX_LIVE}\nkernel\t\t/${KERNEL} ${INITFS:+boot=${INITFS} }config LB_BOOTAPPEND_LIVE ${APPEND}" + LINUX_LIVE="${LINUX_LIVE}\ninitrd\t\t/${INITRD}" +} + +Grub_install_entry () +{ + LABEL="${1}" + KERNEL="${2}" + INITRD="${3}" + APPEND="${4}" + + QAPPEND="quiet" + + for TYPE in Install Expert Rescue Auto + do + case "${TYPE}" in + Install) + TAPPEND="${APPEND} ${QAPPEND}" + ;; + + Expert) + TAPPEND="priority=low ${APPEND}" + ;; + + Rescue) + TAPPEND="rescue/enable=true ${APPEND} ${QAPPEND}" + ;; + + Auto) + TAPPEND="auto=true priority=critical ${APPEND} ${QAPPEND}" + ;; + esac + + case "${LABEL}" in + Text) + TYPE_SUFFIX="" + ;; + GUI) + TYPE_SUFFIX="gui" + ;; + esac + + + LINUX_INSTALL="${LINUX_INSTALL}\ntitle\t\t${LABEL} ${TYPE}" + LINUX_INSTALL="${LINUX_INSTALL}\nkernel\t\t/${KERNEL} ${TAPPEND} ${LB_BOOTAPPEND_INSTALL}" + LINUX_INSTALL="${LINUX_INSTALL}\ninitrd\t\t/${INITRD}" + done +} + +if [ -e "config/bootloaders/grub-legacy" ] +then + # Internal local copy + _SOURCE="config/bootloaders/grub-legacy" +else + # Internal system copy + if [ -n "${LIVE_BUILD}" ] + then + _SOURCE="${LIVE_BUILD}/share/bootloaders/grub-legacy" + else + _SOURCE="/usr/share/live/build/bootloaders/grub-legacy" + fi +fi + +case "${LB_INITRAMFS}" in + system-boot) + INITFS="live" + ;; + + *) + INITFS="" + ;; +esac + +# Setting destination directory +case "${LIVE_IMAGE_TYPE}" in + iso*|tar) + case "${LB_INITRAMFS}" in + system-boot) + DESTDIR_LIVE="binary/live" + ;; + + *) + DESTDIR_LIVE="binary/boot" + ;; + esac + + DESTDIR_INSTALL="binary/install" + ;; + + hdd*|netboot) + Echo_warning "Bootloader in this image type not yet supported by live-build." + Echo_warning "This would produce a not bootable image, aborting (FIXME)." + exit 1 + ;; +esac + +Check_multiarchitectures + +# Creating directory +mkdir -p "${DESTDIR_LIVE}" + +# Setting boot parameters +if [ "${LB_UNION_FILESYSTEM}" != "aufs" ] +then + LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE} union=${LB_UNION_FILESYSTEM}" +fi + +if [ -n "${LB_NET_COW_PATH}" ] +then + Echo_error "Net cow not yet supported on grub-legacy" + exit 1 +fi + +LB_BOOTAPPEND_LIVE="$(echo ${LB_BOOTAPPEND_LIVE} | sed -e 's| ||')" + +# Assembling kernel configuration + +# Default entries +DEFAULT_FLAVOUR="$(echo ${LB_LINUX_FLAVOURS} | awk '{ print $1 }')" +DEFAULT_KERNEL="$(basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR})" +DEFAULT_INITRD="initrd.img-$(echo ${DEFAULT_KERNEL} | sed -e 's|vmlinuz-||')" + +Grub_live_entry "live" "$(basename ${DESTDIR_LIVE})/${DEFAULT_KERNEL}" "$(basename ${DESTDIR_LIVE})/${DEFAULT_INITRD}" + +if [ "${LB_BOOTAPPEND_FAILSAFE}" != "none" ] +then + Grub_live_entry "live (fail-safe mode)" "$(basename ${DESTDIR_LIVE})/${DEFAULT_KERNEL}" "$(basename ${DESTDIR_LIVE})/${DEFAULT_INITRD}" "${LB_BOOTAPPEND_FAILSAFE}" +fi + +for KERNEL in chroot/boot/vmlinuz-* +do + VERSION="$(basename ${KERNEL} | sed -e 's|vmlinuz-||')" + + Grub_live_entry "live, kernel ${VERSION}" "$(basename ${DESTDIR_LIVE})/$(basename ${KERNEL})" "$(basename ${DESTDIR_LIVE})/initrd.img-${VERSION}" + Grub_live_entry "live, kernel ${VERSION} (fail-safe mode)" "$(basename ${DESTDIR_LIVE})/$(basename ${KERNEL})" "$(basename ${DESTDIR_LIVE})/initrd.img-${VERSION}" "${LB_BOOTAPPEND_FAILSAFE}" +done + +LINUX_LIVE="$(/bin/echo ${LINUX_LIVE} | sed -e 's|binary||g' -e 's|//|/|g')" + +# Assembling debian-installer configuration +if [ "${LB_DEBIAN_INSTALLER}" != "false" ] +then + LINUX_LIVE="title\t\tLive:\nroot\n\n${LINUX_LIVE}" + LINUX_INSTALL="title\t\tInstaller:\nroot" + + VMLINUZ_DI="install/vmlinuz" + INITRD_DI="install/initrd.gz" + APPEND_DI="vga=normal" + + VMLINUZ_GI="install/gtk/vmlinuz" + INITRD_GI="install/gtk/initrd.gz" + APPEND_GI="video=vesa:ywrap,mtrr vga=788" + + if [ -f "binary/${VMLINUZ_DI}" ] && [ -f "binary/${INITRD_DI}" ] + then + Grub_install_entry "Text" "${VMLINUZ_DI}" "${INITRD_DI}" "${APPEND_DI}" + fi + + if [ -f "binary/${VMLINUZ_GI}" ] && [ -f "binary/${INITRD_GI}" ] + then + Grub_install_entry "GUI" "${VMLINUZ_GI}" "${INITRD_GI}" "${APPEND_GI}" + fi +fi + +LINUX_INSTALL="$(/bin/echo ${LINUX_INSTALL} | sed -e 's|binary||g' -e 's|//|/|g')" + +# Assembling memtest configuration +if [ -f "${DESTDIR_LIVE}"/memtest ] +then + MEMTEST="title\t\tOther:\nroot" + MEMTEST="${MEMTEST}\n\ntitle\t\t${LB_MEMTEST}\nkernel\t\t/$(basename ${DESTDIR_LIVE})/memtest" + MEMTEST="$(/bin/echo ${MEMTEST} | sed -e 's|//|/|g')" +fi + +# Copying templates +mkdir -p binary/boot/grub +cp -r "${_SOURCE}"/* binary/boot/grub + +case ${LIVE_IMAGE_TYPE} in + iso*) + FILES="chroot/usr/lib/grub/*/stage2_eltorito" + ;; + + hdd*|tar) + FILES="chroot/usr/lib/grub/*/stage1 chroot/usr/lib/grub/*/e2fs_stage1_5 chroot/usr/lib/grub/*/stage2" + ;; +esac + +if [ "${LB_BUILD_WITH_CHROOT}" = "false" ] +then + FILES="$(echo ${FILES} | sed -e 's|chroot||g')" +fi + +# Copying grub +cp ${FILES} binary/boot/grub + +sed -i -e "s|LINUX_LIVE|${LINUX_LIVE}|" -e "s|LINUX_INSTALL|${LINUX_INSTALL}|" -e "s|MEMTEST|${MEMTEST}|" binary/boot/grub/menu.lst +sed -i -e "s#LB_BOOTAPPEND_INSTALL#${LB_BOOTAPPEND_INSTALL}#" -e "s#LB_BOOTAPPEND_LIVE#${LB_BOOTAPPEND_LIVE}#" binary/boot/grub/menu.lst + +sed -i -e 's|\ $||g' binary/boot/grub/menu.lst + +# Saving cache +Save_cache cache/packages.binary + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .build/binary_grub diff --git a/system-build/scripts/build/binary_grub-pc b/system-build/scripts/build/binary_grub-pc new file mode 100755 index 0000000..f3a6450 --- /dev/null +++ b/system-build/scripts/build/binary_grub-pc @@ -0,0 +1,263 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'installs grub-pc into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +FOUND_MYSELF="" +OLDIFS="$IFS" +IFS="," +for BOOTLOADER in ${LB_BOOTLOADERS} +do + + case ${BOOTLOADER} in + "grub-pc" ) + FOUND_MYSELF="True" + break ;; + esac + +done +IFS="$OLDIFS" + +if [ -z ${FOUND_MYSELF} ] ; then + exit 0 +fi + +Echo_message "Begin installing grub-pc..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_grub + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Check architecture +Check_architectures amd64 i386 +Check_crossarchitectures + +# Checking depends +Check_package chroot /usr/bin/grub-mkimage grub-pc + +# Restoring cache +Restore_cache cache/packages.binary + +# Installing depends +Install_package + +# Local functions +Grub_live_entry () +{ + LABEL="${1}" + KERNEL="${2}" + INITRD="${3}" + APPEND="${4}" + + LINUX_LIVE="${LINUX_LIVE}\nmenuentry \"Debian GNU/Linux - ${LABEL}\" {" + LINUX_LIVE="${LINUX_LIVE}\nlinux\t\t/${KERNEL} ${INITFS:+boot=${INITFS} }config LB_BOOTAPPEND_LIVE ${APPEND}" + LINUX_LIVE="${LINUX_LIVE}\ninitrd\t\t/${INITRD}" + LINUX_LIVE="${LINUX_LIVE}\n}" +} + +Grub_install_entry () +{ + LABEL="${1}" + KERNEL="${2}" + INITRD="${3}" + APPEND="${4}" + + if [ "${LABEL}" != "rescue" ] && [ "${LABEL}" != "rescuegui" ] + then + APPEND="${APPEND} quiet" + fi + + LINUX_INSTALL="${LINUX_INSTALL}\nmenuentry \"Debian GNU/Linux - ${LABEL}\" {" + LINUX_INSTALL="${LINUX_INSTALL}\nlinux\t\t/${KERNEL} ${APPEND} LB_BOOTAPPEND_INSTALL" + LINUX_INSTALL="${LINUX_INSTALL}\ninitrd\t\t/${INITRD}" + LINUX_INSTALL="${LINUX_INSTALL}\n}" +} + +if [ -e "config/bootloaders/grub-pc" ] +then + # Internal local copy + _SOURCE="config/bootloaders/grub-pc" +else + # Internal system copy + if [ -n "${LIVE_BUILD}" ] + then + _SOURCE="${LIVE_BUILD}/share/bootloaders/grub-pc" + else + _SOURCE="/usr/share/live/build/bootloaders/grub-pc" + fi +fi + +case "${LB_INITRAMFS}" in + system-boot) + INITFS="live" + ;; + + *) + INITFS="" + ;; +esac + +# Setting destination directory +case "${LIVE_IMAGE_TYPE}" in + iso*|tar) + case "${LB_INITRAMFS}" in + system-boot) + DESTDIR_LIVE="binary/live" + ;; + + *) + DESTDIR_LIVE="binary/live" + ;; + esac + + DESTDIR_INSTALL="binary/install" + ;; + + hdd*|netboot) + Echo_warning "Bootloader in this image type not yet supported by live-build." + Echo_warning "This would produce a not bootable image, aborting (FIXME)." + exit 1 + ;; +esac + +Check_multiarchitectures + +# Creating directory +mkdir -p "${DESTDIR_LIVE}" + +# Setting boot parameters +if [ "${LB_UNION_FILESYSTEM}" != "aufs" ] +then + LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE} union=${LB_UNION_FILESYSTEM}" +fi + +if [ -n "${LB_NET_COW_PATH}" ] +then + Echo_error "Net cow not yet supported on grub" + exit 1 +fi + +LB_BOOTAPPEND_LIVE="$(echo ${LB_BOOTAPPEND_LIVE} | sed -e 's| ||')" + +# Assembling kernel configuration + +# Default entries +DEFAULT_FLAVOUR="$(echo ${LB_LINUX_FLAVOURS} | awk '{ print $1 }')" +DEFAULT_KERNEL="$(basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR})" +DEFAULT_INITRD="initrd.img-$(echo ${DEFAULT_KERNEL} | sed -e 's|vmlinuz-||')" + +Grub_live_entry "live" "$(basename ${DESTDIR_LIVE})/${DEFAULT_KERNEL}" "$(basename ${DESTDIR_LIVE})/${DEFAULT_INITRD}" + +if [ "${LB_BOOTAPPEND_FAILSAFE}" != "none" ] +then + Grub_live_entry "live (fail-safe mode)" "$(basename ${DESTDIR_LIVE})/${DEFAULT_KERNEL}" "$(basename ${DESTDIR_LIVE})/${DEFAULT_INITRD}" "${LB_BOOTAPPEND_FAILSAFE}" +fi + +for KERNEL in chroot/boot/vmlinuz-* +do + VERSION="$(basename ${KERNEL} | sed -e 's|vmlinuz-||')" + + Grub_live_entry "live, kernel ${VERSION}" "$(basename ${DESTDIR_LIVE})/$(basename ${KERNEL})" "$(basename ${DESTDIR_LIVE})/initrd.img-${VERSION}" + Grub_live_entry "live, kernel ${VERSION} (fail-safe mode)" "$(basename ${DESTDIR_LIVE})/$(basename ${KERNEL})" "$(basename ${DESTDIR_LIVE})/initrd.img-${VERSION}" "${LB_BOOTAPPEND_FAILSAFE}" +done + +LINUX_LIVE="$(/bin/echo ${LINUX_LIVE} | sed -e 's|binary||g' -e 's|//|/|g')" + +# Assembling debian-installer configuration +if [ "${LB_DEBIAN_INSTALLER}" != "false" ] +then + LINUX_LIVE="#\t \"Live\"\n${LINUX_LIVE}" + LINUX_INSTALL="#\t \"Installer\"\n" + + VMLINUZ_DI="install/vmlinuz" + INITRD_DI="install/initrd.gz" + APPEND_DI="vga=normal" + + VMLINUZ_GI="install/gtk/vmlinuz" + INITRD_GI="install/gtk/initrd.gz" + APPEND_GI="video=vesa:ywrap,mtrr vga=788" + + Grub_install_entry "install" "${VMLINUZ_DI}" "${INITRD_DI}" "${APPEND_DI}" + Grub_install_entry "installgui" "${VMLINUZ_GI}" "${INITRD_GI}" "${APPEND_GI}" + Grub_install_entry "expert" "${VMLINUZ_DI}" "${INITRD_DI}" "priority=low ${APPEND_DI}" + Grub_install_entry "expertgui" "${VMLINUZ_GI}" "${INITRD_GI}" "priority=low ${APPEND_GI}" + Grub_install_entry "rescue" "${VMLINUZ_DI}" "${INITRD_DI}" "rescue/enable=true ${APPEND_DI}" + Grub_install_entry "rescuegui" "${VMLINUZ_GI}" "${INITRD_GI}" "rescue/enable=true ${APPEND_GI}" + Grub_install_entry "auto" "${VMLINUZ_DI}" "${INITRD_DI}" "auto=true priority=critical ${APPEND_DI}" + Grub_install_entry "autogui" "${VMLINUZ_GI}" "${INITRD_GI}" "auto=true priority=critical ${APPEND_GI}" +fi + +LINUX_INSTALL="$(/bin/echo ${LINUX_INSTALL} | sed -e 's|binary||g' -e 's|//|/|g')" + +# Assembling memtest configuration +if [ -f "${DESTDIR_LIVE}"/memtest ] +then + MEMTEST="#\t \"Other\"\n" + MEMTEST="${MEMTEST}\nmenuentry\t\"${LB_MEMTEST}\" {\nlinux16\t$(basename ${DESTDIR_LIVE})/memtest\n}" + MEMTEST="$(/bin/echo ${MEMTEST} | sed -e 's|//|/|g')" +fi + +# Copying templates +mkdir -p binary/boot/grub/i386-pc +cp -r "${_SOURCE}"/* binary/boot/grub + +case ${LIVE_IMAGE_TYPE} in + iso*) + FILES="chroot/usr/lib/grub/i386-pc/*.mod chroot/usr/lib/grub/i386-pc/*.lst chroot/usr/lib/grub/i386-pc/efiemu??.o chroot/usr/share/grub/*.pf2" + ;; + + hdd*|tar) + FILES="chroot/usr/lib/grub/i386-pc/*" + ;; +esac + +if [ "${LB_BUILD_WITH_CHROOT}" = "false" ] +then + FILES="$(echo ${FILES} | sed -e 's|chroot||g')" +fi + +# Copying grub +cp ${FILES} binary/boot/grub/i386-pc + +sed -i -e "s|LINUX_LIVE|${LINUX_LIVE}|" -e "s|LINUX_INSTALL|${LINUX_INSTALL}|" -e "s|MEMTEST|${MEMTEST}|" binary/boot/grub/grub.cfg +sed -i -e "s#LB_BOOTAPPEND_INSTALL#${LB_BOOTAPPEND_INSTALL}#" -e "s#LB_BOOTAPPEND_LIVE#${LB_BOOTAPPEND_LIVE}#" binary/boot/grub/grub.cfg + +sed -i -e 's|\ $||g' binary/boot/grub/grub.cfg + +# Saving cache +Save_cache cache/packages.binary + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .build/binary_grub diff --git a/system-build/scripts/build/binary_hdd b/system-build/scripts/build/binary_hdd new file mode 100755 index 0000000..1e7489c --- /dev/null +++ b/system-build/scripts/build/binary_hdd @@ -0,0 +1,348 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build binary image')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if ! In_list hdd "${LIVE_IMAGE_TYPE}" +then + exit 0 +fi + +Echo_message "Begin building binary hdd image..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap .build/chroot_proc + +# Checking stage file +Check_stagefile .build/binary_hdd + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Checking depends +case "${LB_BINARY_FILESYSTEM}" in + fat*) + Check_package chroot /sbin/mkdosfs dosfstools + ;; + + ntfs) + Check_package chroot /sbin/mkfs.nfts ntfs-3g + ;; +esac + +Check_package chroot /usr/share/doc/mtools mtools +Check_package chroot /sbin/parted parted + +echo "${LB_BOOTLOADERS}" | \ +while IFS="," read -r BOOTLOADER +do + case "${BOOTLOADER}" in + grub) + Check_package chroot /usr/sbin/grub grub + ;; + esac +done + +LB_PRIMARY_BOOTLOADER=$(echo "${LB_BOOTLOADERS}" | awk -F, '{ print $1 }') + +case ${LB_PRIMARY_BOOTLOADER} in + syslinux) + case ${LB_BINARY_FILESYSTEM} in + fat*|ntfs) + _BOOTLOADER=syslinux + ;; + ext[234]|btrfs) + _BOOTLOADER=extlinux + ;; + *) + Echo_error "syslinux/extlinux doesn't support ${LB_BINARY_FILESYSTEM}" + exit 1 + ;; + esac + Check_package chroot /usr/bin/${_BOOTLOADER} ${_BOOTLOADER} + ;; +esac + +# Restoring cache +Restore_cache cache/packages.binary + +# Installing depends +Install_package + +# Remove old binary +if [ -f ${LIVE_iMAGE_NAME}.img ] +then + rm -f ${LIVE_iMAGE_NAME}.img +fi + +# Enforce fat32 if we find individual files bigger than 2GB +if [ "${LB_BINARY_FILESYSTEM}" = "fat16" ] && [ -n "$(find binary -size +1999M)" ] +then + Echo_warning "FAT16 doesn't support files larger than 2GB, automatically enforcing FAT32." + + LB_BINARY_FILESYSTEM="fat32" + export LB_BINARY_FILESYSTEM +fi + +# Enforce fat32 if we have images in total bigger than 2GB +if [ "${LB_BINARY_FILESYSTEM}" = "fat16" ] && [ "$(du -s binary | awk '{ print $1 }')" -gt "1900000" ] +then + Echo_warning "FAT16 doesn't support partitions larger than 2GB, automatically enforcing FAT32" + + LB_BINARY_FILESYSTEM="fat32" + export LB_BINARY_FILESYSTEM +fi + +# Enforce ntfs if we find individual files bigger than 4GB +if [ "${LB_BINARY_FILESYSTEM}" = "fat32" ] && [ -n "$(find binary -size +3999M)" ] +then + Echo_warning "FAT32 doesn't support files larger than 4GB, automatically enforcing NTFS." + + LB_BINARY_FILESYSTEM="ntfs" + export LB_BINARY_FILESYSTEM +fi + +# Everything which comes here needs to be cleaned up, +if [ "$LB_HDD_SIZE" = "auto" ]; +then + DU_DIM="$(du -ms binary | cut -f1)" + REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LB_BINARY_FILESYSTEM})" +else + REAL_DIM=$LB_HDD_SIZE +fi + +dd if=/dev/zero of=chroot/binary.img bs=1024k count=0 seek=${REAL_DIM} +FREELO="$(${LB_LOSETUP} -f)" +if [ ! -b chroot/${FREELO} ] +then + MAKEDEV="true" + + mv chroot/dev chroot/dev.tmp + find /dev | cpio -dmpu chroot +fi + +echo "!!! The following error/warning messages can be ignored !!!" +Losetup $FREELO chroot/binary.img 0 + +PARTITION_TABLE_TYPE="msdos" + +case "${LB_BINARY_FILESYSTEM}" in + ext2|ext3|ext4) + PARTITION_TYPE="ext2" + ;; + + fat16|fat32) + PARTITION_TYPE="${LB_BINARY_FILESYSTEM}" + ;; + + ntfs) + PARTITION_TYPE="NTFS" + ;; + + *) + Echo_error "Unsupported binary filesystem %s" "${LB_BINARY_FILESYSTEM}" + exit 1 + ;; +esac + +case "${LB_BUILD_WITH_CHROOT}" in + true) + Chroot chroot "parted -s ${FREELO} mklabel ${PARTITION_TABLE_TYPE}" || true + if [ "x${LB_HDD_PARTITION_START}" = "x" ]; + then + Chroot chroot "parted -a optimal -s ${FREELO} mkpart primary\ + ${PARTITION_TYPE} 0% 100%" || true + else + Echo_message "using partition start at ${LB_HDD_PARTITION_START}" + Chroot chroot "parted -s ${FREELO} mkpart primary ${PARTITION_TYPE}\ + ${LB_HDD_PARTITION_START} 100%" || true + fi + Chroot chroot "parted -s ${FREELO} set 1 boot on" || true + Chroot chroot "parted -s ${FREELO} set 1 lba off" || true + + if [ "${LB_PRIMARY_BOOTLOADER}" = "syslinux" ] + then + dd if=chroot/usr/lib/SYSLINUX/mbr.bin of=${FREELO} bs=440 count=1 + fi + ;; + + false) + parted -s ${FREELO} mklabel ${PARTITION_TABLE_TYPE} || true + if [ "x${LB_HDD_PARTITION_START}" = "x" ]; + then + parted -a optimal -s ${FREELO} mkpart primary ${PARTITION_TYPE}\ + 0% 100% || true + else + Echo_message "using partition start at ${LB_HDD_PARTITION_START}" + parted -s ${FREELO} mkpart primary ${PARTITION_TYPE}\ + ${LB_HDD_PARTITION_START} 100% || true + fi + parted -s "${FREELO}" set 1 boot on || true + parted -s "${FREELO}" set 1 lba off || true + + if [ "${LB_PRIMARY_BOOTLOADER}" = "syslinux" ] + then + dd if=/usr/lib/SYSLINUX/mbr.bin of=${FREELO} bs=440 count=1 + fi + ;; +esac + +Lodetach ${FREELO} + +FREELO="$(${LB_LOSETUP} -f)" +Losetup $FREELO chroot/binary.img 1 + +case "${LB_BINARY_FILESYSTEM}" in + ext2|ext3|ext4) + MKFS="${LB_BINARY_FILESYSTEM}" + MKFS_OPTIONS="-L ${LB_HDD_LABEL} -m 0 -O ^64bit" + MOUNT_OPTIONS="" + ;; + + fat16) + MKFS="vfat" + MKFS_OPTIONS="-F 16 -n ${LB_HDD_LABEL}" + MOUNT_OPTIONS="" + ;; + + fat32) + MKFS="vfat" + MKFS_OPTIONS="-F 32 -n ${LB_HDD_LABEL}" + MOUNT_OPTIONS="" + ;; + + ntfs) + MKFS="ntfs" + MKFS_OPTIONS="-L ${LB_HDD_LABEL}" + MOUNT_OPTIONS="-t ntfs-3g" + ;; +esac + +case "${LB_BUILD_WITH_CHROOT}" in + true) + Chroot chroot "mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO}" + ;; + + false) + mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO} + ;; +esac + +case "${LB_BINARY_FILESYSTEM}" in + fat*) + CP_OPTIONS="-r -L" + ;; + + *) + CP_OPTIONS="-a" + ;; +esac + +Echo_message "Copying binary contents into image..." + +mkdir -p chroot/binary.tmp +mount ${MOUNT_OPTIONS} ${FREELO} chroot/binary.tmp +cp -T ${CP_OPTIONS} binary/ chroot/binary.tmp + +FIXME() +{ +if [ "${LB_PRIMARY_BOOTLOADER}" = "grub" ] +then + +cat > chroot/grub.sh << EOF +cd binary.tmp +grub --batch << EOM +find /live/vmlinuz +EOM +EOF + + rootpartition="$(Chroot chroot 'sh grub.sh' 2>/dev/null | grep -A 1 'find /live/vmlinuz' | grep -v 'find /live/vmlinuz')" + hdddev="$(echo $rootpartition | sed -e 's|,[[:digit:]]||')" + echo "Root partition is $rootpartition, device is: $hdddev" + + echo "WAITING..." && read WAIT + +#cat > chroot/grub.sh << EOF +#grub --batch << EOM +#root $rootpartition +#setup $hdddev +#EOM +#EOF + +#Chroot chroot "sh grub.sh" + + rm -f chroot/grub.sh +fi +} + +case "${_BOOTLOADER}" in + syslinux) + _SYSLINUX_INSTALLER="syslinux ${FREELO}" + ;; + extlinux) + _SYSLINUX_INSTALLER="extlinux --install /binary.tmp/boot/extlinux" + ;; + *) + _SYSLINUX_INSTALLER="" + ;; +esac + +if [ -n "${_SYSLINUX_INSTALLER}" ] +then + case "${LB_BUILD_WITH_CHROOT}" in + true) + Chroot chroot "${_SYSLINUX_INSTALLER}" + ;; + false) + ${_SYSLINUX_INSTALLER} + ;; + esac +fi + +umount chroot/binary.tmp +rmdir chroot/binary.tmp + +Lodetach ${FREELO} + +echo "!!! The above error/warning messages can be ignored !!!" + +if [ -n "${MAKEDEV}" ] +then + rm -rf chroot/dev + mv chroot/dev.tmp chroot/dev +fi + +mv chroot/binary.img ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.img + +# Saving cache +Save_cache cache/packages.binary + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .build/binary_hdd diff --git a/system-build/scripts/build/binary_hooks b/system-build/scripts/build/binary_hooks new file mode 100755 index 0000000..0458ce9 --- /dev/null +++ b/system-build/scripts/build/binary_hooks @@ -0,0 +1,81 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'execute hooks in binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin executing hooks..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_hooks + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +## Processing distribution hooks + +# Running hooks +for _HOOK in ${LB_BINARY_HOOKS} +do + for LOCATION in "${LIVE_BUILD}/hooks" /usr/share/live/build/hooks + do + for FILE in "${LOCATION}"/????-"${_HOOK}".binary + do + if [ -e "${FILE}" ] + then + cd binary + "${FILE}" || { Echo_error "${_HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} + cd "${OLDPWD}" + fi + done + done +done + +## Processing local hooks +for HOOK in config/hooks/normal/*.binary config/hooks/live/*.binary +do + if [ ! -e "${HOOK}" ] + then + continue + fi + + # Making hook executable + if [ ! -x "${HOOK}" ] + then + chmod +x "${HOOK}" + fi + + # Executing hook + cd binary + ../"${HOOK}" || { Echo_error "${HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} + cd "${OLDPWD}" +done + +# Creating stage file +Create_stagefile .build/binary_hooks diff --git a/system-build/scripts/build/binary_includes b/system-build/scripts/build/binary_includes new file mode 100755 index 0000000..48bb6e5 --- /dev/null +++ b/system-build/scripts/build/binary_includes @@ -0,0 +1,57 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'copy files into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin copying binary includes..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/includes.binary + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +if Find_files config/includes.binary/ +then + # Copying includes + cd config/includes.binary + find . | cpio -dmpu --no-preserve-owner "${OLDPWD}"/binary + cd "${OLDPWD}" + + # Removing symlinks + case "${LIVE_IMAGE_TYPE}" in + hdd*) + find binary -type l | xargs rm -f + ;; + esac + + # Creating stage file + Create_stagefile .build/binary_includes +fi diff --git a/system-build/scripts/build/binary_iso b/system-build/scripts/build/binary_iso new file mode 100755 index 0000000..bd659a2 --- /dev/null +++ b/system-build/scripts/build/binary_iso @@ -0,0 +1,220 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build iso binary image')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +case "${LIVE_IMAGE_TYPE}" in + iso) + IMAGE="${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.iso" + ;; + + iso-hybrid) + IMAGE="${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.hybrid.iso" + ;; + + *) + exit 0 + ;; +esac + +Echo_message "Begin building binary iso image..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_iso + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Checking depends +Check_package chroot /usr/bin/xorriso xorriso +Check_package chroot /usr/lib/ISOLINUX/isohdpfx.bin isolinux + +# Restoring cache +Restore_cache cache/packages.binary + +# Installing depends +Install_package + +# Remove old iso image +if [ -f ${IMAGE} ] +then + rm -f ${IMAGE} +fi + +# Handle xorriso generic options +XORRISO_OPTIONS="-R -r -J -joliet-long -l -cache-inodes -iso-level 3" + +# Handle xorriso live-build specific options +if [ "${LIVE_IMAGE_TYPE}" = "iso-hybrid" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -partition_offset 16" +fi + +if [ "${_QUIET}" = "true" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -quiet" +fi + +if [ "${_VERBOSE}" = "true" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -v" +fi + +if [ -n "${LB_ISO_APPLICATION}" ] && [ "${LB_ISO_APPLICATION}" != "none" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -A \"${LB_ISO_APPLICATION}\"" +fi + +if [ -n "${LB_ISO_PREPARER}" ] && [ "${LB_ISO_PREPARER}" != "none" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -p \"${LB_ISO_PREPARER}\"" +fi + +if [ -n "${LB_ISO_PUBLISHER}" ] && [ "${LB_ISO_PUBLISHER}" != "none" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -publisher \"${LB_ISO_PUBLISHER}\"" +fi + +if [ -n "${LB_ISO_VOLUME}" ] && [ "${LB_ISO_VOLUME}" != "none" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -V \"${LB_ISO_VOLUME}\"" +fi + +# Set an explicit modification date +XORRISO_OPTIONS="${XORRISO_OPTIONS} --modification-date=$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m%d%H%m%S00)" + +LB_PRIMARY_BOOTLOADER=$(echo "${LB_BOOTLOADERS}" | awk -F, '{ print $1 }') + +# Handle xorriso architecture specific options +case "${LB_PRIMARY_BOOTLOADER}" in + grub) + XORRISO_OPTIONS="${XORRISO_OPTIONS} -no-emul-boot -boot-load-size 4 -boot-info-table" + XORRISO_OPTIONS="${XORRISO_OPTIONS} -b boot/grub/stage2_eltorito" + XORRISO_EXCLUDE="boot/grub/stage2_eltorito" + ;; + + grub-pc) + XORRISO_OPTIONS="${XORRISO_OPTIONS} -no-emul-boot -boot-load-size 4 -boot-info-table" + XORRISO_OPTIONS="${XORRISO_OPTIONS} -b boot/grub/grub_eltorito -J" + XORRISO_EXCLUDE="boot/grub/grub_eltorito" + ;; + + syslinux) + case "${LB_MODE}" in + progress-linux) + XORRISO_OPTIONS="${XORRISO_OPTIONS} -b boot/boot.bin -c boot/boot.cat" + XORRISO_EXCLUDE="boot/boot.bin" + ;; + + *) + XORRISO_OPTIONS="${XORRISO_OPTIONS} -b isolinux/isolinux.bin -c isolinux/boot.cat" + XORRISO_EXCLUDE="isolinux/isolinux.bin" + ;; + esac + + XORRISO_OPTIONS="${XORRISO_OPTIONS} -no-emul-boot -boot-load-size 4 -boot-info-table" + ;; + + *) + Echo_warning "Bootloader on your architecture not yet supported by live-build." + Echo_warning "This will produce a most likely not bootable image (Continuing in 5 seconds)." + sleep 5 + ;; +esac + +#if [ "${LB_DEBIAN_INSTALLER}" != "live" ] +#then +# XORRISO_OPTIONS="${XORRISO_OPTIONS} -m ${XORRISO_EXCLUDE}" +#fi + +if [ "${LB_PRIMARY_BOOTLOADER}" = "grub-pc" ] +then + +cat > binary.sh << EOF +#!/bin/sh + +input_dir=/usr/lib/grub/i386-pc + +# build core.img +core_img=\$(mktemp) +grub-mkimage -d \${input_dir} -o \${core_img} -O i386-pc biosdisk iso9660 + +# build grub_eltorito image +cat \${input_dir}/cdboot.img \${core_img} > binary/boot/grub/grub_eltorito + +rm -f \${core_img} + +for file in \${input_dir}/*.mod \${input_dir}/efiemu??.o \ + \${input_dir}/command.lst \${input_dir}/moddep.lst \${input_dir}/fs.lst \ + \${input_dir}/handler.lst \${input_dir}/parttool.lst +do + if test -f "\$file" + then + cp -f "\$file" binary/boot/grub/i386-pc + fi +done +EOF + +else + echo "#!/bin/sh" > binary.sh +fi + +cat >> binary.sh << EOF + +xorriso -as mkisofs ${XORRISO_OPTIONS} -o ${IMAGE} binary +EOF + +case "${LB_BUILD_WITH_CHROOT}" in + true) + # Moving image + mv binary.sh chroot + mv binary chroot + + Chroot chroot "sh binary.sh" + + # Move image + mv chroot/binary chroot/${IMAGE} ./ + rm -f chroot/binary.sh + ;; + + false) + sh binary.sh + rm -f binary.sh + ;; +esac + +# Saving cache +Save_cache cache/packages.binary + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .build/binary_iso diff --git a/system-build/scripts/build/binary_linux-image b/system-build/scripts/build/binary_linux-image new file mode 100755 index 0000000..34676ce --- /dev/null +++ b/system-build/scripts/build/binary_linux-image @@ -0,0 +1,85 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'install linux-image into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_LINUX_PACKAGES}" = "none" ] +then + exit 0 +fi + +Echo_message "Begin install linux-image..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_linux-image + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LB_INITRAMFS}" in + system-boot) + DESTDIR="binary/live" + ;; + + *) + DESTDIR="binary/boot" + ;; +esac + +case "${LB_ARCHITECTURES}" in + powerpc) + LINUX="vmlinux" + ;; + + *) + LINUX="vmlinuz" + ;; +esac + +Check_multiarchitectures + +# Creating directory +mkdir -p "${DESTDIR}" + +# Installing linux-image +cp chroot/boot/"${LINUX}"-* "${DESTDIR}" +cp chroot/boot/initrd.img-* "${DESTDIR}" + +case "${LB_INITRAMFS}" in + system-boot) + if ls chroot/usr/share/doc/*system-boot/parameters.txt > /dev/null 2>&1 + then + cp chroot/usr/share/doc/*system-boot/parameters.txt "${DESTDIR}"/parameters + fi + ;; +esac + +# Creating stage file +Create_stagefile .build/binary_linux-image diff --git a/system-build/scripts/build/binary_loadlin b/system-build/scripts/build/binary_loadlin new file mode 100755 index 0000000..1fed0a5 --- /dev/null +++ b/system-build/scripts/build/binary_loadlin @@ -0,0 +1,102 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'copy loadlin into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_LOADLIN}" != "true" ] || [ "${LB_BINARY_IMAGES}" = "netboot" ] +then + exit 0 +fi + +Echo_message "Begin copying loadlin..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_loadlin + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LB_ARCHITECTURES}" in + amd64|i386) + case "${LB_BUILD_WITH_CHROOT}" in + true) + # Checking depends + Check_package chroot /usr/lib/loadlin/loadlin.exe.gz loadlin + + # Restoring cache + Restore_cache cache/packages.binary + + # Installing depends + Install_package + + _PREFIX="chroot" + ;; + + false) + _PREFIX="" + ;; + esac + + # Copying loadlin + mkdir -p binary/tools + gunzip -c "${_PREFIX}/usr/lib/loadlin/loadlin.exe.gz" > binary/tools/loadlin.exe + gunzip -c "${_PREFIX}/usr/share/doc/loadlin/manual.txt.gz" > binary/tools/loadlin.txt + + case "${LB_BUILD_WITH_CHROOT}" in + true) + # Saving cache + Save_cache cache/packages.binary + + # Removing depends + Remove_package + ;; + esac + +cat > binary/install/install.bat << EOF +\tools\loadlin.exe vmlinuz initrd=initrd.gz +EOF + + if [ -e binary/install/gtk ] + then + +cat > binary/install/gtk/install.bat << EOF +\tools\loadlin.exe \install\vmlinuz initrd=initrd.gz vga=788 +EOF + + fi + + # Creating stage file + Create_stagefile .build/binary_loadlin + ;; + + *) + Echo_warning "loadlin inclusion is set to true but not compatible with your architecture, ignoring." + ;; +esac diff --git a/system-build/scripts/build/binary_loopback_cfg b/system-build/scripts/build/binary_loopback_cfg new file mode 100755 index 0000000..87c1d67 --- /dev/null +++ b/system-build/scripts/build/binary_loopback_cfg @@ -0,0 +1,341 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'installs loopback.cfg into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# We avoid checking if we need to be running this bootloader +# on purpose. The reason: You will always want to have +# a loopback.cfg file +# TODO: Add an option to be able to disable this file creation +Echo_message "Begin installing loopback.cfg..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_loopback_cfg + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Check architecture +Check_architectures amd64 i386 +Check_crossarchitectures + +# Local functions +Grub_live_entry_commands () +{ + local KERNEL="${1}" + local INITRD="${2}" + local APPEND="${3}" + + LINUX_LIVE="${LINUX_LIVE}\nlinux\t\t/${KERNEL} ${INITFS:+boot=${INITFS} }config LB_BOOTAPPEND_LIVE ${APPEND}" + LINUX_LIVE="${LINUX_LIVE}\ninitrd\t\t/${INITRD}" +} + +Grub_live_entry () +{ + local LABEL="${1}" + local KERNEL="${2}" + local INITRD="${3}" + local APPEND="${4}" + + LINUX_LIVE="${LINUX_LIVE}\nmenuentry \"Debian GNU/Linux - ${LABEL}\" {" + Grub_live_entry_commands "${KERNEL}" "${INITRD}" "${APPEND} findiso=\${iso_path}" + LINUX_LIVE="${LINUX_LIVE}\n}" +} + +Grub_live_autodetect_entry () +{ + local LABEL="${1}" + local AMD64_KERNEL="${2}" + local AMD64_INITRD="${3}" + local _486_KERNEL="${4}" + local _486_INITRD="${5}" + local APPEND="${6}" + + LINUX_LIVE="${LINUX_LIVE}\nmenuentry \"Debian GNU/Linux - ${LABEL}\" {" + LINUX_LIVE="${LINUX_LIVE}\nif cpuid -l ; then" + Grub_live_entry_commands "${AMD64_KERNEL}" "${AMD64_INITRD}" "${APPEND} findiso=\${iso_path}" + LINUX_LIVE="${LINUX_LIVE}\nelse" + Grub_live_entry_commands "${_486_KERNEL}" "${_486_INITRD}" "${APPEND} findiso=\${iso_path}" + LINUX_LIVE="${LINUX_LIVE}\nfi" + LINUX_LIVE="${LINUX_LIVE}\n}" +} + +if [ -e "config/bootloaders/grub-pc" ] +then + # Internal local copy + _SOURCE="config/bootloaders/grub-pc" +else + # Internal system copy + if [ -n "${LIVE_BUILD}" ] + then + _SOURCE="${LIVE_BUILD}/share/bootloaders/grub-pc" + else + _SOURCE="/usr/share/live/build/bootloaders/grub-pc" + fi +fi + +case "${LB_INITRAMFS}" in + system-boot) + INITFS="live" + ;; + + *) + INITFS="" + ;; +esac + +# Assembling image specifics +case "${LIVE_IMAGE_TYPE}" in + iso*) + _BOOTLOADER="isolinux" + + case "${LB_MODE}" in + progress-linux) + _TARGET="binary/boot" + ;; + + *) + _TARGET="binary/isolinux" + ;; + esac + ;; + + netboot) + _BOOTLOADER="pxelinux" + _TARGET="tftpboot" + ;; + + hdd*|*) + case ${LB_BINARY_FILESYSTEM} in + fat*|ntfs) + _BOOTLOADER=syslinux + + case "${LB_MODE}" in + progress-linux) + _TARGET="binary/boot" + ;; + + *) + _TARGET="binary/syslinux" + ;; + esac + ;; + + ext[234]|btrfs) + _BOOTLOADER=extlinux + _TARGET="binary/boot/extlinux" + ;; + *) + Echo_error "syslinux/extlinux doesn't support ${LB_BINARY_FILESYSTEM}" + exit 1 + ;; + esac + ;; +esac + +DESTDIR_LIVE="${_TARGET}" + +Check_multiarchitectures + +# Creating directory +mkdir -p "${DESTDIR_LIVE}" + +# Setting boot parameters +if [ "${LB_UNION_FILESYSTEM}" != "aufs" ] +then + LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE} union=${LB_UNION_FILESYSTEM}" +fi + +if [ -n "${LB_NET_COW_PATH}" ] +then + Echo_error "Net cow not yet supported on grub" + exit 1 +fi + +LB_BOOTAPPEND_LIVE="$(echo ${LB_BOOTAPPEND_LIVE} | sed -e 's| ||')" + +# Assembling kernel configuration +# If Bootloader is not syslinux that means +# binary_syslinux it's not going to rename kernel filenames in a later stage. +# We will use binary_grub2 algorithm which does not rename kernel filenames. + +FOUND_SYSLINUX="" +OLDIFS="$IFS" +IFS="," +for BOOTLOADER in ${LB_BOOTLOADERS} +do + + case ${BOOTLOADER} in + "syslinux" ) + FOUND_SYSLINUX="True" + break ;; + esac + +done +IFS="$OLDIFS" + +if [ -z ${FOUND_SYSLINUX} ] +then + + _AMD64_486_NUMBER="0" + + for _FLAVOUR in ${LB_LINUX_FLAVOURS} + do + if [ "${_FLAVOUR}" = "amd64" -o "${_FLAVOUR}" = "486" ] ; then + _AMD64_486_NUMBER="$((${_AMD64_486_NUMBER} + 1))" + fi + done + + if [ "${_AMD64_486_NUMBER}" -ge 2 ] ; then + # Default entries + AMD64_KERNEL="$(basename chroot/boot/vmlinuz-*amd64)" + AMD64_INITRD="initrd.img-$(echo ${AMD64_KERNEL} | sed -e 's|vmlinuz-||')" + _486_KERNEL="$(basename chroot/boot/vmlinuz-*486)" + _486_INITRD="initrd.img-$(echo ${_486_KERNEL} | sed -e 's|vmlinuz-||')" + + Grub_live_autodetect_entry "live (autodetect)" \ + "${INITFS}/${AMD64_KERNEL}" \ + "${INITFS}/${AMD64_INITRD}" \ + "${INITFS}/${_486_KERNEL}" \ + "${INITFS}/${_486_INITRD}" + fi + + # Default entries + DEFAULT_FLAVOUR="$(echo ${LB_LINUX_FLAVOURS} | awk '{ print $1 }')" + DEFAULT_KERNEL="$(basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR})" + DEFAULT_INITRD="initrd.img-$(echo ${DEFAULT_KERNEL} | sed -e 's|vmlinuz-||')" + + Grub_live_entry "live" "${INITFS}/${DEFAULT_KERNEL}" "${INITFS}/${DEFAULT_INITRD}" + + if [ "${LB_BOOTAPPEND_FAILSAFE}" != "none" ] + then + Grub_live_entry "live (fail-safe mode)" "${INITFS}/${DEFAULT_KERNEL}" "${INITFS}/${DEFAULT_INITRD}" "${LB_BOOTAPPEND_FAILSAFE}" + fi + + for KERNEL in chroot/boot/vmlinuz-* + do + VERSION="$(basename ${KERNEL} | sed -e 's|vmlinuz-||')" + + Grub_live_entry "live, kernel ${VERSION}" "${INITFS}/$(basename ${KERNEL})" "${INITFS}/initrd.img-${VERSION}" + Grub_live_entry "live, kernel ${VERSION} (fail-safe mode)" "${INITFS}/$(basename ${KERNEL})" "${INITFS}/initrd.img-${VERSION}" "${LB_BOOTAPPEND_FAILSAFE}" + done +else # LB_BOOTLOADERS does not contain syslinux +# If one of the bootloader is syslinux that means +# binary_syslinux it's going to rename kernel filenames. +# We will use binary_syslinux algorithm but without renaming kernel filenames. +# That will ensure binary_syslinux will find the original kernel filenames. + #if [ -e "${_TARGET}/live.cfg.in" ] + #then + # This is all rather suboptimal.. needs prettifying at some point + _FLAVOURS="$(echo ${LB_LINUX_FLAVOURS} | wc -w)" + + case "${_FLAVOURS}" in + 1) + Grub_live_entry "live (${LB_LINUX_FLAVOURS})" "${INITFS}/vmlinuz" "${INITFS}/initrd.img" "${LB_BOOTAPPEND_LIVE}" + Grub_live_entry "live (${LB_LINUX_FLAVOURS}) (failsafe mode)" "${INITFS}/vmlinuz" "${INITFS}/initrd.img" "${LB_BOOTAPPEND_LIVE_FAILSAFE}" + ;; + + *) + _AMD64_486_NUMBER="0" + + for _FLAVOUR in ${LB_LINUX_FLAVOURS} + do + if [ "${_FLAVOUR}" = "amd64" -o "${_FLAVOUR}" = "486" ] ; then + _AMD64_486_NUMBER="$((${_AMD64_486_NUMBER} + 1))" + fi + done + + _NUMBER="0" + for _FLAVOUR in ${LB_LINUX_FLAVOURS} + do + _NUMBER="$((${_NUMBER} + 1))" + if [ "${_FLAVOUR}" = "amd64" ] ; then + AMD64_KERNEL="vmlinuz${_NUMBER}" + AMD64_INITRD="initrd${_NUMBER}.img" + fi + + if [ "${_FLAVOUR}" = "486" ] ; then + _486_KERNEL="vmlinuz${_NUMBER}" + _486_INITRD="initrd${_NUMBER}.img" + fi + done + + _NUMBER="0" + + for _FLAVOUR in ${LB_LINUX_FLAVOURS} + do + _NUMBER="$((${_NUMBER} + 1))" + + if [ "${_NUMBER}" -gt 1 ] + then + Grub_live_entry "live (${_FLAVOUR})" "${INITFS}/vmlinuz${_NUMBER}" "${INITFS}/initrd${_NUMBER}.img" "${LB_BOOTAPPEND_LIVE}" + Grub_live_entry "live (${_FLAVOUR}) (failsafe mode)" "${INITFS}/vmlinuz${_NUMBER}" "${INITFS}/initrd${_NUMBER}.img" "${LB_BOOTAPPEND_LIVE_FAILSAFE}" + + else + if [ "${_AMD64_486_NUMBER}" -ge 2 ] ; then + + Grub_live_autodetect_entry "live (autodetect)" \ + "${INITFS}/${AMD64_KERNEL}" \ + "${INITFS}/${AMD64_INITRD}" \ + "${INITFS}/${_486_KERNEL}" \ + "${INITFS}/${_486_INITRD}" + fi + + Grub_live_entry "live (${_FLAVOUR})" "${INITFS}/vmlinuz${_NUMBER}" "${INITFS}/initrd${_NUMBER}.img" "${LB_BOOTAPPEND_LIVE}" + Grub_live_entry "live (${_FLAVOUR}) (failsafe mode)" "${INITFS}/vmlinuz${_NUMBER}" "${INITFS}/initrd${_NUMBER}.img" "${LB_BOOTAPPEND_LIVE_FAILSAFE}" + fi + + done + + ;; + esac + #fi +fi +LINUX_LIVE="$(/bin/echo ${LINUX_LIVE} | sed -e 's|binary||g' -e 's|//|/|g')" + +# Assembling memtest configuration +if [ -f "${DESTDIR_LIVE}"/memtest ] +then + MEMTEST="#\t \"Other\"\n" + MEMTEST="${MEMTEST}\nmenuentry\t\"${LB_MEMTEST}\" {\nlinux16\t${INITFS}/memtest\n}" + MEMTEST="$(/bin/echo ${MEMTEST} | sed -e 's|//|/|g')" +fi + +# Copying templates +mkdir -p binary/boot/grub +cp "${_SOURCE}"/grub.cfg binary/boot/grub/loopback.cfg + +sed -i -e "s|LINUX_LIVE|${LINUX_LIVE}|" -e "s|LINUX_INSTALL||" -e "s|MEMTEST|${MEMTEST}|" binary/boot/grub/loopback.cfg +sed -i -e "s#LB_BOOTAPPEND_INSTALL##" -e "s#LB_BOOTAPPEND_LIVE#${LB_BOOTAPPEND_LIVE}#" binary/boot/grub/loopback.cfg + +sed -i -e 's|\ $||g' binary/boot/grub/loopback.cfg + +# Creating stage file +Create_stagefile .build/binary_loopback_cfg diff --git a/system-build/scripts/build/binary_manifest b/system-build/scripts/build/binary_manifest new file mode 100755 index 0000000..55c6520 --- /dev/null +++ b/system-build/scripts/build/binary_manifest @@ -0,0 +1,68 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'create manifest')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_CHROOT_FILESYSTEM}" = "none" ] +then + exit 0 +fi + +Echo_message "Begin creating manifest..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_manifest + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LB_INITRAMFS}" in + system-boot) + INITFS="live" + SUFFIX="packages" + ;; + + *) + INITFS="boot" + SUFFIX="packages" + ;; +esac + +# Add filesystem.packages +cp chroot.packages.live "binary/${INITFS}/filesystem.${SUFFIX}" +echo "$(diff chroot.packages.live chroot.packages.install | awk '/^< / { print $2 }')" \ + > "binary/${INITFS}/filesystem.${SUFFIX}-remove" + +cp chroot.packages.live ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.packages + +cp chroot.files ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.files + +# Creating stage file +Create_stagefile .build/binary_manifest diff --git a/system-build/scripts/build/binary_memtest b/system-build/scripts/build/binary_memtest new file mode 100755 index 0000000..1ce4195 --- /dev/null +++ b/system-build/scripts/build/binary_memtest @@ -0,0 +1,120 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'installs a memtest into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_MEMTEST}" = "false" ] || [ "${LB_MEMTEST}" = "none" ] || [ "${LB_CHROOT_FILESYSTEM}" = "none" ] +then + exit 0 +fi + +Echo_message "Begin installing memtest..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_memtest + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +if [ "${LB_ARCHITECTURES}" != "amd64" ] && [ "${LB_ARCHITECTURES}" != "i386" ] +then + Echo_warning "skipping binary_memtest, foreign architecture." + exit 0 +fi + +if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] +then + + if [ -f chroot/usr/sbin/grub ] && [ ! -f chroot/boot/grub/menu.lst ] + then + GRUB="yes" + + mkdir -p chroot/boot/grub + touch chroot/boot/grub/menu.lst + fi +fi + +# Checking depends +case "${LB_MEMTEST}" in + memtest86) + Check_package chroot /boot/memtest86.bin memtest86 + ;; + + memtest86+) + Check_package chroot /boot/memtest86+.bin memtest86+ + ;; +esac + +# Restoring cache +Restore_cache cache/packages.binary + +# Installing depends +Install_package + +# Setting destination directory +case "${LB_INITRAMFS}" in + system-boot) + DESTDIR="binary/live" + ;; + + *) + DESTDIR="binary/boot" + ;; +esac + +Check_multiarchitectures + +# Creating directory +mkdir -p "${DESTDIR}" + +# Installing memtest +case "${LB_BUILD_WITH_CHROOT}" in + true) + cp chroot/boot/${LB_MEMTEST}.bin "${DESTDIR}"/memtest + ;; + + false) + cp /boot/${LB_MEMTEST}.bin "${DESTDIR}"/memtest + ;; +esac + +# Saving cache +Save_cache cache/packages.binary + +# Removing depends +Remove_package + +if [ "${GRUB}" ] +then + rm -rf chroot/boot/grub +fi + +# Creating stage file +Create_stagefile .build/binary_memtest diff --git a/system-build/scripts/build/binary_netboot b/system-build/scripts/build/binary_netboot new file mode 100755 index 0000000..d8cfe51 --- /dev/null +++ b/system-build/scripts/build/binary_netboot @@ -0,0 +1,113 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build netboot binary image')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if ! In_list netboot "${LIVE_IMAGE_TYPE}" +then + exit 0 +fi + +if [ "${LB_NET_TARBALL}" = "false" ] +then + exit 0 +fi + +Echo_message "Begin building binary netboot image..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_netboot + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Remove old binary +rm -f ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar.gz ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar.bz2 ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar.xz ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar.xz + +# Creating image file +ROOT_DIR=$(basename ${LB_NET_ROOT_PATH}) + +if [ "${ROOT_DIR}" = "chroot" ] +then + mv chroot chroot.tmp +fi + +if [ "${ROOT_DIR}" != "binary" ] +then + mv binary ${ROOT_DIR} +fi + +mkdir binary.tmp +mv ${ROOT_DIR} tftpboot binary.tmp +cd binary.tmp + +# Moving kernel and initrd image arround +mkdir tftpboot/live +mv */live/vmlinuz* */live/initrd* tftpboot/live + +tar cf ../${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar * + +case "${LB_COMPRESSION}" in + bzip2) + bzip2 ${BZIP2_OPTIONS} ../${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar + ;; + + gzip) + gzip ${GZIP_OPTIONS} ../${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar + ;; + + lzip) + lzip ${LZIP_OPTIONS} ../${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar + ;; + + xz) + xz ${XZ_OPTIONS} ../${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar + ;; + + none) + ;; +esac + +mv * ../ +cd "${OLDPWD}" +rmdir binary.tmp + +if [ "${ROOT_DIR}" != "binary" ] +then + mv ${ROOT_DIR} binary +fi + +if [ "${ROOT_DIR}" = "chroot" ] +then + mv chroot.tmp chroot +fi + +# Creating stage file +Create_stagefile .build/binary_netboot diff --git a/system-build/scripts/build/binary_package-lists b/system-build/scripts/build/binary_package-lists new file mode 100755 index 0000000..fc47154 --- /dev/null +++ b/system-build/scripts/build/binary_package-lists @@ -0,0 +1,178 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'install local packages into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin installing local package lists..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_package-lists + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LB_MODE}" in + progress-linux) + DISTS="installer/dists" + POOL="installer/pool" + ;; + + *) + DISTS="dists" + POOL="pool" + ;; +esac + +if ls config/package-lists/*.list > /dev/null 2>&1 || \ + ls config/package-lists/*.list.binary > /dev/null 2>&1 +then + # Check depends + Check_package host /usr/bin/apt-ftparchive apt-utils + + case "${LB_BUILD_WITH_CHROOT}" in + true) + # Restoring cache + Restore_cache cache/packages.chroot + + # Check depends + Check_package chroot /usr/bin/grep-aptavail dctrl-tools + + # Installing depends + Install_package + ;; + + false) + Check_package host /usr/bin/grep-aptavail dctrl-tools + ;; + esac + + if [ -e "${LIVE_BUILD}/share/bin/Packages" ] + then + cp "${LIVE_BUILD}/share/bin/Packages" chroot/bin + else + cp /usr/share/live/build/bin/Packages chroot/bin + fi + + mkdir -p chroot/binary.deb/archives/partial + mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp + touch chroot/var/lib/dpkg/status + + for LIST in config/package-lists/*.list \ + config/package-lists/*.list.binary + do + if [ -e "${LIST}" ] + then + # Generate package list + Expand_packagelist "${LIST}" "config/package-lists" > chroot/root/"$(basename ${LIST})" + + # Downloading additional packages + Chroot chroot "xargs --no-run-if-empty --arg-file=/root/$(basename ${LIST}) apt-get ${APT_OPTIONS} -o Dir::Cache=/binary.deb --download-only install" + + # Remove package list + rm chroot/root/"$(basename ${LIST})" + fi + done + + for FILE in chroot/binary.deb/archives/*.deb + do + if [ ! -e ${FILE} ]; then + break # Do nothing if the package lists were empty... + fi + + SOURCE="$(dpkg -f ${FILE} Source | awk '{ print $1 }')" + SECTION="$(dpkg -f ${FILE} Section | awk '{ print $1 }')" + + if [ -z "${SOURCE}" ] + then + SOURCE="$(basename ${FILE} | awk -F_ '{ print $1 }')" + fi + + case "${SOURCE}" in + lib?*) + LETTER="$(echo ${SOURCE} | sed 's|\(....\).*|\1|')" + ;; + + *) + LETTER="$(echo ${SOURCE} | sed 's|\(.\).*|\1|')" + ;; + esac + + if echo "${SECTION}" | grep -qs contrib + then + SECTION="contrib" + elif echo "${SECTION}" | grep -qs non-free + then + SECTION="non-free" + else + SECTION="main" + fi + + # Install directory + mkdir -p binary/${POOL}/${SECTION}/"${LETTER}"/"${SOURCE}" + + # Move files + mv "${FILE}" binary/${POOL}/${SECTION}/"${LETTER}"/"${SOURCE}" + done + + cd binary + + for SECTION in ${POOL}/* + do + if [ ! -d "${SECTION}" ]; then + break # Do nothing if the package lists were empty... + fi + + SECTION="$(basename ${SECTION})" + + mkdir -p ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES} + apt-ftparchive packages ${POOL}/${SECTION} > ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages + gzip -9 -c ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages > ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages.gz + done + + cd "${OLDPWD}" + + rm -f chroot/bin/Packages + + rm -rf chroot/binary.deb + mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status + + case "${LB_BUILD_WITH_CHROOT}" in + true) + # Removing depends + Remove_package + + # Saving cache + Save_cache cache/packages.chroot + ;; + esac + + # Creating stage file + Create_stagefile .build/binary_package-lists +fi diff --git a/system-build/scripts/build/binary_rootfs b/system-build/scripts/build/binary_rootfs new file mode 100755 index 0000000..f230d17 --- /dev/null +++ b/system-build/scripts/build/binary_rootfs @@ -0,0 +1,462 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build rootfs image')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin building root filesystem image..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap .build/binary_chroot + +# Checking stage file +Check_stagefile .build/binary_rootfs + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LB_ARCHITECTURES}" in + amd64|i386) + LINUX="vmlinuz" + ;; + + powerpc) + LINUX="vmlinux" + ;; +esac + +case "${LB_INITRAMFS}" in + system-boot) + INITFS="live" + ;; + + *) + INITFS="boot" + ;; +esac + +# Creating directory +mkdir -p binary/${INITFS} + +for STAGE in ${LB_CACHE_STAGES} +do + if [ "${STAGE}" = "rootfs" ] && [ -d cache/binary_rootfs ] + then + # Removing old chroot + rm -rf binary/"${INITFS}"/filesystem.* + + # Restoring old cache + mkdir -p binary/"${INITFS}" + cp -a cache/binary_rootfs/filesystem.* binary/"${INITFS}" + + # Creating stage file + Create_stagefile .build/binary_rootfs + exit 0 + fi +done + +case "${LB_CHROOT_FILESYSTEM}" in + ext2|ext3|ext4) + # Checking depends + Check_package chroot /sbin/mkfs.${LB_CHROOT_FILESYSTEM} e2fsprogs + + # Restoring cache + Restore_cache cache/packages.binary + + # Installing depends + Install_package + + # Remove old image + if [ -f binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} ] + then + rm -f binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} + fi + + case "${LB_BUILD_WITH_CHROOT}" in + true) + DU_DIM="$(du -ms chroot/chroot | cut -f1)" + INODES="$(find chroot/chroot | wc -l)" + ;; + + false) + DU_DIM="$(du -ms chroot | cut -f1)" + INODES="$(find chroot | wc -l)" + ;; + esac + + REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LB_CHROOT_FILESYSTEM})" + REAL_INODES="$(Calculate_partition_size ${INODES} ${LB_CHROOT_FILESYSTEM})" + + case "${LB_BUILD_WITH_CHROOT}" in + true) + dd if=/dev/zero of=chroot/filesystem.${LB_CHROOT_FILESYSTEM} bs=1024k count=0 seek=${REAL_DIM} + + if ! Chroot chroot "test -s /etc/mtab" + then + Chroot chroot "ln -s /proc/mounts/mtab /etc/mtab" + FAKE_MTAB="true" + fi + + Chroot chroot "mkfs.${LB_CHROOT_FILESYSTEM} -F -b 1024 -N ${REAL_INODES} -m 0 filesystem.${LB_CHROOT_FILESYSTEM}" + + mkdir -p filesystem.tmp + mount -o loop chroot/filesystem.${LB_CHROOT_FILESYSTEM} filesystem.tmp + cp -a chroot/chroot/* filesystem.tmp + + if [ "${FAKE_MTAB}" = "true" ] + then + Chroot chroot "rm -f /etc/mtab" + fi + + umount filesystem.tmp + rmdir filesystem.tmp + + # Move image + mv chroot/filesystem.${LB_CHROOT_FILESYSTEM} binary/${INITFS} + + du -B 1 -s chroot/chroot | cut -f1 > binary/${INITFS}/filesystem.size + + if [ -e chroot/chroot.cache ] + then + rm -f .lock + mv chroot/chroot chroot.tmp + + lb chroot_archives binary remove ${@} + lb chroot_apt remove ${@} + lb chroot_hostname remove ${@} + lb chroot_resolv remove ${@} + lb chroot_hosts remove ${@} + lb chroot_sysv-rc remove ${@} + lb chroot_dpkg remove ${@} + lb chroot_debianchroot remove ${@} + lb chroot_sysfs remove ${@} + lb chroot_selinuxfs remove ${@} + lb chroot_proc remove ${@} + lb chroot_devpts remove ${@} + + rm -rf chroot + mv chroot.tmp chroot + + lb chroot_devpts install ${@} + lb chroot_proc install ${@} + lb chroot_selinuxfs install ${@} + lb chroot_sysfs install ${@} + lb chroot_debianchroot install ${@} + lb chroot_dpkg install ${@} + lb chroot_sysv-rc install ${@} + lb chroot_hosts install ${@} + lb chroot_resolv install ${@} + lb chroot_hostname install ${@} + lb chroot_apt install ${@} + lb chroot_archives binary install ${@} + + touch .lock + else + rm -rf chroot/chroot + + # Removing depends + Remove_package + fi + ;; + + false) + dd if=/dev/zero of=binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} bs=1024k count=0 seek=${REAL_DIM} + mkfs.${LB_CHROOT_FILESYSTEM} -F -b 1024 -N ${REAL_INODES} -m 0 binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} + + mkdir -p filesystem.tmp + mount -o loop binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} filesystem.tmp + cp -a chroot/* filesystem.tmp + + umount filesystem.tmp + rmdir filesystem.tmp + ;; + esac + + # Saving cache + Save_cache cache/packages.binary + ;; + + jffs2) + # Checking depends + Check_package chroot /usr/sbin/mkfs.jffs2 mtd-tools + + # Restoring cache + Restore_cache cache/packages.binary + + # Installing depends + Install_package + + # Remove old jffs2 image + if [ -f binary/${INITFS}/filesystem.jffs2 ] + then + rm -f binary/${INITFS}/filesystem.jffs2 + fi + + if [ -n "${LB_JFFS2_ERASEBLOCK}" ] + then + JFFS2_OPTIONS="--eraseblock=${LB_JFFS2_ERASEBLOCK}" + fi + + case "${LB_BUILD_WITH_CHROOT}" in + true) + Chroot chroot "mkfs.jffs2 ${JFFS2_OPTIONS} --root=chroot --output filesystem.jffs2" + + # Move image + mv chroot/filesystem.jffs2 binary/${INITFS} + + if [ -e chroot/chroot.cache ] + then + rm -f .lock + mv chroot/chroot chroot.tmp + + lb chroot_archives binary remove ${@} + lb chroot_apt remove ${@} + lb chroot_hostname remove ${@} + lb chroot_resolv remove ${@} + lb chroot_hosts remove ${@} + lb chroot_sysv-rc remove ${@} + lb chroot_dpkg remove ${@} + lb chroot_debianchroot remove ${@} + lb chroot_sysfs remove ${@} + lb chroot_selinuxfs remove ${@} + lb chroot_proc remove ${@} + lb chroot_devpts remove ${@} + + rm -rf chroot + mv chroot.tmp chroot + + lb chroot_devpts install ${@} + lb chroot_proc install ${@} + lb chroot_selinuxfs install ${@} + lb chroot_sysfs install ${@} + lb chroot_debianchroot install ${@} + lb chroot_dpkg install ${@} + lb chroot_sysv-rc install ${@} + lb chroot_hosts install ${@} + lb chroot_resolv install ${@} + lb chroot_hostname install ${@} + lb chroot_apt install ${@} + lb chroot_archives binary install ${@} + + touch .lock + else + rm -rf chroot/chroot + + # Removing depends + Remove_package + fi + ;; + + false) + mkfs.jffs2 ${JFFS2_OPTIONS} --root=chroot --output binary/${INITFS}/filesystem.jffs2 + ;; + esac + + # Saving cache + Save_cache cache/packages.binary + ;; + + plain) + if [ -d binary/${INITFS}/filesystem.dir ] + then + rm -rf binary/${INITFS}/filesystem.dir + fi + + case "${LB_BUILD_WITH_CHROOT}" in + true) + mv chroot/chroot binary/${INITFS}/filesystem.dir + ;; + + false) + cp -a chroot binary/${INITFS}/filesystem.dir + ;; + esac + ;; + + squashfs) + # Checking depends + Check_package chroot /usr/share/doc/squashfs-tools squashfs-tools + + # Restoring cache + Restore_cache cache/packages.binary + + # Installing depends + Install_package + + Echo_message "Preparing squashfs image..." + Echo_message "This may take a while." + + # Remove old squashfs image + if [ -f binary/${INITFS}/filesystem.squashfs ] + then + rm -f binary/${INITFS}/filesystem.squashfs + fi + + # Remove stale squashfs image + rm -f chroot/filesystem.squashfs + + MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -no-progress" + + if [ "${_VERBOSE}" = "true" ] + then + MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -info" + fi + + if [ -f config/rootfs/squashfs.sort ] + then + MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -sort squashfs.sort" + + case "${LB_BUILD_WITH_CHROOT}" in + true) + cp config/rootfs/squashfs.sort chroot + ;; + + false) + cp config/rootfs/squashfs.sort . + ;; + esac + fi + + MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -comp xz" + + case "${LB_BUILD_WITH_CHROOT}" in + true) + if [ -e config/rootfs/excludes ] + then + cp config/rootfs/excludes chroot/excludes + + MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -wildcards -ef /excludes" + fi + + # Create image + Chroot chroot "mksquashfs chroot filesystem.squashfs ${MKSQUASHFS_OPTIONS}" + + rm -f chroot/chroot/excludes + + du -B 1 -s chroot/chroot | cut -f1 > binary/${INITFS}/filesystem.size + + # Move image + mv chroot/filesystem.squashfs binary/${INITFS} + rm -f chroot/squashfs.sort + + if [ -e chroot/chroot.cache ] + then + rm -f .lock + mv chroot/chroot chroot.tmp + + lb chroot_archives binary remove ${@} + lb chroot_apt remove ${@} + lb chroot_hostname remove ${@} + lb chroot_resolv remove ${@} + lb chroot_hosts remove ${@} + lb chroot_sysv-rc remove ${@} + lb chroot_dpkg remove ${@} + lb chroot_debianchroot remove ${@} + lb chroot_sysfs remove ${@} + lb chroot_selinuxfs remove ${@} + lb chroot_proc remove ${@} + lb chroot_devpts remove ${@} + + rm -rf chroot + mv chroot.tmp chroot + + lb chroot_devpts install ${@} + lb chroot_proc install ${@} + lb chroot_selinuxfs install ${@} + lb chroot_sysfs install ${@} + lb chroot_debianchroot install ${@} + lb chroot_dpkg install ${@} + lb chroot_sysv-rc install ${@} + lb chroot_hosts install ${@} + lb chroot_resolv install ${@} + lb chroot_hostname install ${@} + lb chroot_apt install ${@} + lb chroot_archives binary install ${@} + + touch .lock + else + rm -rf chroot/chroot + + # Removing depends + Remove_package + fi + + chmod 0644 binary/${INITFS}/filesystem.squashfs + ;; + + false) + if [ -e config/rootfs/excludes ] + then + MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -wildcards -ef config/rootfs/excludes" + fi + + mksquashfs chroot binary/${INITFS}/filesystem.squashfs ${MKSQUASHFS_OPTIONS} + + du -B 1 -s chroot | cut -f1 > binary/${INITFS}/filesystem.size + ;; + esac + + # Saving cache + Save_cache cache/packages.binary + ;; + + none) + if [ -d binary ] + then + rm -rf binary + fi + + case "${LB_BUILD_WITH_CHROOT}" in + true) + mv chroot/chroot binary + ;; + + false) + Echo_message "This may take a while." + cp -a chroot binary + ;; + esac + ;; + +esac + +for STAGE in ${LB_CACHE_STAGES} +do + if [ "${STAGE}" = "rootfs" ] + then + rm -rf cache/binary_rootfs + + mkdir -p cache/binary_rootfs + + if [ "${LB_CHROOT_FILESYSTEM}" != "none" ] + then + cp -a binary/"${INITFS}"/filesystem.* cache/binary_rootfs + fi + fi +done + +# Creating stage file +Create_stagefile .build/binary_rootfs diff --git a/system-build/scripts/build/binary_syslinux b/system-build/scripts/build/binary_syslinux new file mode 100755 index 0000000..3224d21 --- /dev/null +++ b/system-build/scripts/build/binary_syslinux @@ -0,0 +1,349 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'installs syslinux into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +FOUND_MYSELF="" +OLDIFS="$IFS" +IFS="," +for BOOTLOADER in ${LB_BOOTLOADERS} +do + + case ${BOOTLOADER} in + "syslinux" ) + FOUND_MYSELF="True" + break ;; + esac + +done +IFS="$OLDIFS" + +if [ -z ${FOUND_MYSELF} ] ; then + exit 0 +fi + +Echo_message "Begin installing syslinux..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_syslinux + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Check architecture +Check_architectures amd64 i386 +Check_crossarchitectures + +case "${LB_INITRAMFS}" in + *) + _INITRAMFS="live" + ;; +esac + +# Assembling image specifics +case "${LIVE_IMAGE_TYPE}" in + iso*) + _BOOTLOADER="isolinux" + + case "${LB_MODE}" in + progress-linux) + _TARGET="binary/boot" + ;; + + *) + _TARGET="binary/isolinux" + ;; + esac + ;; + + netboot) + _BOOTLOADER="pxelinux" + _TARGET="tftpboot" + ;; + + hdd*|*) + case ${LB_BINARY_FILESYSTEM} in + fat*|ntfs) + _BOOTLOADER=syslinux + + case "${LB_MODE}" in + progress-linux) + _TARGET="binary/boot" + ;; + + *) + _TARGET="binary/syslinux" + ;; + esac + ;; + + ext[234]|btrfs) + _BOOTLOADER=extlinux + _TARGET="binary/boot/extlinux" + ;; + *) + Echo_error "syslinux/extlinux doesn't support ${LB_BINARY_FILESYSTEM}" + exit 1 + ;; + esac + ;; +esac + +if [ -e "config/bootloaders/${_BOOTLOADER}" ] +then + # Internal local copy + _SOURCE="config/bootloaders/${_BOOTLOADER}" +else + # Internal system copy + if [ -n "${LIVE_BUILD}" ] + then + _SOURCE="${LIVE_BUILD}/share/bootloaders/${_BOOTLOADER}" + else + _SOURCE="/usr/share/live/build/bootloaders/${_BOOTLOADER}" + fi +fi + +# Checking depends +case "${LB_BUILD_WITH_CHROOT}" in + true) + Check_package chroot /usr/lib/$(echo ${_BOOTLOADER} | tr [a-z] [A-Z]) ${_BOOTLOADER} + Check_package chroot /usr/lib/syslinux syslinux-common + + if ls "${_SOURCE}"/*.svg* > /dev/null 2>&1 + then + Check_package chroot /usr/bin/rsvg-convert librsvg2-bin + fi + ;; + + false) + if [ ! -e "/usr/share/$(echo ${_BOOTLOADER} | tr [a-z] [A-Z])" ] + then + Echo_error "/usr/share/$(echo ${_BOOTLOADER} | tr [a-z] [A-Z])" + exit 1 + fi + + if [ ! -e /usr/lib/syslinux ] + then + # syslinux-common + Echo_error "/usr/lib/syslinux - no such directory" + exit 1 + fi + + if ls "${_SOURCE}"/*.svg* > /dev/null 2>&1 + then + if [ ! -e /usr/bin/rsvg-convert ] + then + # librsvg2-bin + Echo_error "/usr/bin/rsvg-convert - no such file" + exit 1 + fi + fi + ;; +esac + +# Restoring cache +Restore_cache cache/packages.binary + +# Installing depends +Install_package + +# Copying files +case "${LB_BUILD_WITH_CHROOT}" in + true) + mkdir -p ${_TARGET} + + # Copy in two steps since the theme can have absolute symlinks and would therefore not be dereferenced correctly + cp -a ${_SOURCE} chroot/root + Chroot chroot cp -aL /root/$(basename ${_SOURCE}) /root/$(basename ${_SOURCE}).tmp > /dev/null 2>&1 || true + cp -a chroot/root/$(basename ${_SOURCE}).tmp/* ${_TARGET} + rm -rf chroot/root/$(basename ${_SOURCE}) chroot/root/$(basename ${_SOURCE}).tmp + ;; + + false) + mkdir -p ${_TARGET} + + cp -aL ${_SOURCE}/* ${_TARGET} > /dev/null 2>&1 || true + ;; +esac + +# Configuring files +if [ -e "${_TARGET}/live.cfg.in" ] +then + # This is all rather suboptimal.. needs prettifying at some point + _FLAVOURS="$(echo ${LB_LINUX_FLAVOURS} | wc -w)" + + case "${_FLAVOURS}" in + 1) + # If multiple initrd images are being generated (by DKMS packages, etc), + # we likely only want the latest version. + mv $(ls -r1 --sort=version binary/${_INITRAMFS}/vmlinuz-* | head -n 1) binary/${_INITRAMFS}/vmlinuz + mv $(ls -r1 --sort=version binary/${_INITRAMFS}/initrd.img-* | head -n 1) binary/${_INITRAMFS}/initrd.img + + sed -e "s|@FLAVOUR@|${LB_LINUX_FLAVOURS}|g" \ + -e "s|@LINUX@|/${_INITRAMFS}/vmlinuz|g" \ + -e "s|@INITRD@|/${_INITRAMFS}/initrd.img|g" \ + "${_TARGET}/live.cfg.in" >> "${_TARGET}/live.cfg" + + rm -f "${_TARGET}/live.cfg.in" + ;; + + *) + _NUMBER="0" + + for _FLAVOUR in ${LB_LINUX_FLAVOURS} + do + _NUMBER="$((${_NUMBER} + 1))" + + mv binary/${_INITRAMFS}/vmlinuz-*-${_FLAVOUR} binary/${_INITRAMFS}/vmlinuz${_NUMBER} + mv binary/${_INITRAMFS}/initrd.img-*-${_FLAVOUR} binary/${_INITRAMFS}/initrd${_NUMBER}.img + + if [ "${_NUMBER}" -gt 1 ] + then + echo "" >> "${_TARGET}/live.cfg" + grep -v 'menu default' "${_TARGET}/live.cfg.in" >> "${_TARGET}/live.cfg" + else + cat "${_TARGET}/live.cfg.in" >> "${_TARGET}/live.cfg" + fi + + sed -i -e "s|@FLAVOUR@|${_FLAVOUR}|g" \ + -e "s|@LINUX@|/${_INITRAMFS}/vmlinuz${_NUMBER}|g" \ + -e "s|@INITRD@|/${_INITRAMFS}/initrd${_NUMBER}.img|g" \ + "${_TARGET}/live.cfg" + done + + rm -f "${_TARGET}/live.cfg.in" + ;; + esac +fi + +if [ -e chroot/etc/os-release ] +then + _VERSION="$(. chroot/etc/os-release && echo ${VERSION_ID})" +fi + +_VERSION="${_VERSION:-none}" + +_DISTRIBUTION="${LB_DISTRIBUTION}" +_ARCHITECTURE="${LB_ARCHITECTURES}" + +_DATE=$(date -R) +_YEAR="$(date +%Y)" +_MONTH="$(date +%m)" +_DAY="$(date +%d)" +_HOUR="$(date +%H)" +_MINUTE="$(date +%M)" +_SECOND="$(date +%S)" + +_LINUX_VERSIONS="$(for _LINUX in chroot/boot/vmlinuz-* ; do chroot chroot apt-cache policy $(basename ${_LINUX} | sed -e 's|vmlinuz-|linux-image-|') | awk '/Installed: / { print $2 }' ; done | sort -Vru | tr "\n" " ")" + +_SYSTEM_BUILD_VERSION="$(lb --version)" +_SYSTEM_BOOT_VERSION="$(chroot chroot apt-cache policy open-infrastructure-system-boot | awk '/Installed: / { print $2 }')" +_SYSTEM_CONFIG_VERSION="$(chroot chroot apt-cache policy open-infrastructure-system-config | awk '/Installed: / { print $2 }')" + +case "${LB_MODE}" in + progress-linux) + _PROJECT="Progress Linux" + ;; + + *) + _PROJECT="Debian GNU/Linux" + ;; +esac + +for _FILE in "${_TARGET}"/*.cfg ${_TARGET}/*.svg +do + if [ -e "${_FILE}" ] && [ ! -d "${_FILE}" ] + then + sed -i -e "s#@APPEND_LIVE@#${LB_BOOTAPPEND_LIVE}#g" \ + -e "s#@APPEND_LIVE_FAILSAFE@#${LB_BOOTAPPEND_LIVE_FAILSAFE}#g" \ + -e "s#@APPEND_INSTALL@#${LB_BOOTAPPEND_INSTALL}#g" \ + -e "s#@APPEND_INSTALL_FAILSAFE@#${LB_BOOTAPPEND_INSTALL_FAILSAFE}#g" \ + -e "s|@PROJECT@|${_PROJECT}|g" \ + -e "s|@DISTRIBUTION@|${_DISTRIBUTION}|g" \ + -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \ + -e "s|@VERSION@|${_VERSION}|g" \ + -e "s|@ARCHITECTURE@|${_ARCHITECTURE}|g" \ + -e "s|@DATE@|${_DATE}|g" \ + -e "s|@YEAR@|${_YEAR}|g" \ + -e "s|@MONTH@|${_MONTH}|g" \ + -e "s|@DAY@|${_DAY}|g" \ + -e "s|@HOUR@|${_HOUR}|g" \ + -e "s|@MINUTE@|${_MINUTE}|g" \ + -e "s|@SECOND@|${_SECOND}|g" \ + -e "s|@LINUX_VERSIONS@|${_LINUX_VERSIONS}|g" \ + -e "s|@SYSTEM_BUILD_VERSION@|${_SYSTEM_BUILD_VERSION}|g" \ + -e "s|@SYSTEM_BOOT_VERSION@|${_SYSTEM_BOOT_VERSION}|g" \ + -e "s|@SYSTEM_CONFIG_VERSION@|${_SYSTEM_CONFIG_VERSION}|g" \ + "${_FILE}" + fi +done + +if [ -e "${_TARGET}/splash.svg" ] +then + case "${LB_BUILD_WITH_CHROOT}" in + true) + cp "${_TARGET}/splash.svg" chroot + Chroot chroot "rsvg-convert --format png --height 480 --width 640 splash.svg -o splash.png" + mv chroot/splash.png "${_TARGET}" + rm -f chroot/splash.svg + ;; + + false) + rsvg-convert --format png --height 480 --width 640 "${_TARGET}/splash.svg" -o "${_TARGET}/splash.png" + ;; + esac + + rm -f "${_TARGET}/splash.svg" +fi + +case "${LB_MODE}" in + progress-linux) + for _FILE in "${_TARGET}/isolinux.bin" "${_TARGET}/isolinux.cfg" "${_TARGET}/syslinux.cfg" + do + if [ -e "${_FILE}" ] + then + mv "${_FILE}" "${_TARGET}/$(echo ${_FILE} | sed -e 's|.*linux|boot|')" + fi + done + ;; +esac + +case "${LB_BUILD_WITH_CHROOT}" in + true) + # Saving cache + Save_cache cache/packages.binary + + # Removing depends + Remove_package + ;; +esac + +# Creating stage file +Create_stagefile .build/binary_syslinux diff --git a/system-build/scripts/build/binary_tar b/system-build/scripts/build/binary_tar new file mode 100755 index 0000000..2200586 --- /dev/null +++ b/system-build/scripts/build/binary_tar @@ -0,0 +1,73 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build binary tarball')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if ! In_list tar "${LIVE_IMAGE_TYPE}" +then + exit 0 +fi + +Echo_message "Begin building binary tarball..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_tar + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Remove old binary +rm -f ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar.bz2 ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar.gz ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar.lz ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar + +tar cf ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar.tar binary + +case "${LB_COMPRESSION}" in + bzip2) + bzip2 ${BZIP2_OPTIONS} ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar.tar + ;; + + gzip) + gzip ${GZIP_OPTIONS} ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar.tar + ;; + + lzip) + lzip ${LZIP_OPTIONS} ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar.tar + ;; + + xz) + xz ${XZ_OPTIONS} ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar.tar + ;; + + none) + ;; +esac + +# Creating stage file +Create_stagefile .build/binary_tar diff --git a/system-build/scripts/build/binary_win32-loader b/system-build/scripts/build/binary_win32-loader new file mode 100755 index 0000000..b04103a --- /dev/null +++ b/system-build/scripts/build/binary_win32-loader @@ -0,0 +1,135 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'copy win32-loader into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_WIN32_LOADER}" != "true" ] +then + exit 0 +fi + +Echo_message "Begin copying win32-loader..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_win32-loader + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LB_MODE}" in + progress-linux) + RUN_LABEL="Run Progress Linux" + ;; + + *) + RUN_LABEL="Run Debian GNU/Linux" + ;; +esac + +case "${LB_ARCHITECTURES}" in + amd64|i386) + if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] + then + # Checking depends + Check_package chroot /usr/share/win32/win32-loader.exe win32-loader + + # Restoring cache + Restore_cache cache/packages.binary + + # Installing depends + Install_package + + # Copying win32-loader + cp -r chroot/usr/share/win32/* binary + else + cp -r usr/share/win32/* binary + fi + + mv binary/win32-loader.exe binary/setup.exe + mv binary/win32-loader/g2ldr* binary + rmdir binary/win32-loader > /dev/null 2>&1 || true + +cat > binary/autorun.inf << EOF +[autorun] +open=setup.exe +icon=setup.exe,0 +label=${RUN_LABEL} + +[Content] +MusicFiles=false +PictureFiles=false +VideoFiles=false +EOF + + if [ "${LB_DEBIAN_INSTALLER}" != "false" ] + then + +cat > binary/win32-loader.ini << EOF +[installer] +kernel=linux +arch=${LB_ARCHITECTURES} +default_desktop=gnome +${LB_ARCHITECTURES}/linux=install/vmlinuz +${LB_ARCHITECTURES}/initrd=install/initrd.gz +EOF + + if [ -e binary/install/gtk ] + then + +cat >> binary/win32-loader.ini << EOF +${LB_ARCHITECTURES}/gtk/linux=install/vmlinuz +${LB_ARCHITECTURES}/gtk/initrd=install/gtk/initrd.gz +EOF + + fi + +cat >> binary/win32-loader.ini << EOF + +[grub] +g2ldr=g2ldr +g2ldr.mbr=g2ldr.mbr +EOF + + fi + + # Saving cache + Save_cache cache/packages.binary + + # Removing depends + Remove_package + ;; + + *) + Echo_warning "win32-loader inclusion is set to true but not compatible with your architecture, ignoring." + ;; +esac + +# Creating stage file +Create_stagefile .build/binary_win32-loader diff --git a/system-build/scripts/build/binary_zsync b/system-build/scripts/build/binary_zsync new file mode 100755 index 0000000..83fdb55 --- /dev/null +++ b/system-build/scripts/build/binary_zsync @@ -0,0 +1,130 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build zsync control files')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LIVE_IMAGE_TYPE}" != "iso" ] && [ "${LIVE_IMAGE_TYPE}" != "iso-hybrid" ] +then + exit 0 +fi + +if [ "${LB_ZSYNC}" != "true" ] +then + exit 0 +fi + +Echo_message "Begin building zsync control files..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_zsync + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Checking depends +Check_package chroot /usr/bin/zsyncmake zsync + +# Restoring cache +Restore_cache cache/packages.binary + +# Installing depends +Install_package + +case "${LIVE_IMAGE_TYPE}" in + iso) + _IMAGES="${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.iso" + ;; + + iso-hybrid) + _IMAGES="${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.hybrid.iso" + ;; + + hdd) + _IMAGES="${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.img" + ;; + + net) + _IMAGES="${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.netboot.tar*" + ;; + + tar) + _IMAGES="${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.tar*" + ;; +esac + +for _IMAGE in ${_IMAGES} +do + if [ -e "${_IMAGE}" ] + then + case "${LB_BUILD_WITH_CHROOT}" in + true) + mv ${_IMAGE} chroot + Chroot chroot "zsyncmake -C -b 2048 -u ${_IMAGE} ${_IMAGE}" + mv chroot/${_IMAGE} chroot/${_IMAGE}.zsync ./ + ;; + + false) + zsyncmake -C -b 2048 -u "${_IMAGE}" "${_IMAGE}" + ;; + esac + + case "${LB_COMPRESSION}" in + bzip2) + bzip2 ${BZIP2_OPTIONS} ${_IMAGE}.zsync + ;; + + gzip) + gzip ${GZIP_OPTIONS} ${_IMAGE}.zsync + ;; + + lzip) + lzip ${LZIP_OPTIONS} ${_IMAGE}.zsync + ;; + + xz) + xz ${XZ_OPTIONS} ${_IMAGE}.zsync + ;; + + none) + ;; + esac + fi +done + +#CHECKSUMS + +# Saving cache +Save_cache cache/packages.binary + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .build/binary_zsync diff --git a/system-build/scripts/build/bootstrap b/system-build/scripts/build/bootstrap new file mode 100755 index 0000000..48f2119 --- /dev/null +++ b/system-build/scripts/build/bootstrap @@ -0,0 +1,71 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Automatically populating config tree +if [ -x auto/config ] && [ ! -e .build/config ] +then + Echo_message "Automatically populating config tree." + lb config +fi + +# Setting static variables +DESCRIPTION="$(Echo 'bootstrap a Debian system')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Setup cleanup function +Setup_cleanup + +# Bootstrapping system +lb bootstrap_cache restore ${@} +lb bootstrap_debootstrap ${@} +lb bootstrap_archive-keys ${@} +lb bootstrap_cache save ${@} + +# Configuring chroot +lb chroot_devpts install ${@} +lb chroot_proc install ${@} +lb chroot_selinuxfs install ${@} +lb chroot_sysfs install ${@} +lb chroot_debianchroot install ${@} +lb chroot_dpkg install ${@} +lb chroot_tmpfs install ${@} +lb chroot_sysv-rc install ${@} +lb chroot_hosts install ${@} +lb chroot_resolv install ${@} +lb chroot_hostname install ${@} +lb chroot_apt install ${@} + +lb bootstrap_archives binary ${@} + +# Deconfiguring chroot +lb chroot_apt remove ${@} +lb chroot_hostname remove ${@} +lb chroot_resolv remove ${@} +lb chroot_hosts remove ${@} +lb chroot_sysv-rc remove ${@} +lb chroot_tmpfs remove ${@} +lb chroot_dpkg remove ${@} +lb chroot_debianchroot remove ${@} +lb chroot_sysfs remove ${@} +lb chroot_selinuxfs remove ${@} +lb chroot_proc remove ${@} +lb chroot_devpts remove ${@} diff --git a/system-build/scripts/build/bootstrap_archive-keys b/system-build/scripts/build/bootstrap_archive-keys new file mode 100755 index 0000000..3f4fd45 --- /dev/null +++ b/system-build/scripts/build/bootstrap_archive-keys @@ -0,0 +1,77 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'bootstrap non-Debian archive-signing-keys')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# TODO: allow verification against user-specified keyring +# For now, we'll only validate against debian-keyring + +# TODO2: use chrooted validation rather than host system based one + +case "${LB_MODE}" in + progress-linux) + case "${LB_DISTRIBUTION}" in + artax*) + _KEYS="artax artax-backports" + ;; + + baureo*) + _KEYS="baureo baureo-backports" + ;; + + cairon*) + _KEYS="cairon cairon-backports" + ;; + esac + + _URL="${LB_MIRROR_CHROOT}/project/pgp" + ;; +esac + +for _KEY in ${_KEYS} +do + Echo_message "Fetching archive-key ${_KEY}..." + + wget -q "${_URL}/archive-key-${_KEY}.asc" -O chroot/key.asc + wget -q "${_URL}/archive-key-${_KEY}.asc.sig" -O chroot/key.asc.sig + + if [ -e /usr/bin/gpgv ] && [ -e /usr/share/keyrings/debian-keyring.gpg ] + then + Echo_message "Verifying archive-key ${_KEY} against debian-keyring..." + + /usr/bin/gpgv --quiet --keyring /usr/share/keyrings/debian-keyring.gpg chroot/key.asc.sig chroot/key.asc > /dev/null 2>&1 || { Echo_error "archive-key ${_KEY} has invalid signature."; return 1;} + else + Echo_warning "Skipping archive-key ${_KEY} verification, either gpgv or debian-keyring not available on host system..." + fi + + Echo_message "Importing archive-key ${_KEY}..." + + Chroot chroot "apt-key add key.asc" + rm -f chroot/key.asc chroot/key.asc.sig +done + +Chroot chroot "apt-get update" + +# Creating stage file +Create_stagefile .build/bootstrap_archive-keys diff --git a/system-build/scripts/build/bootstrap_archives b/system-build/scripts/build/bootstrap_archives new file mode 100755 index 0000000..4e07051 --- /dev/null +++ b/system-build/scripts/build/bootstrap_archives @@ -0,0 +1,273 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /etc/apt/sources.list')" +HELP="" +USAGE="${PROGRAM} [--force]" + +_PASS="${1:-binary}" +if [ -n "${1}" ] +then + shift +fi + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${LB_DERIVATIVE}" in + true) + _PARENT_FILE="sources.list.d/debian.list" + ;; + + false) + _PARENT_FILE="sources.list" + ;; +esac + +Echo_message "Configuring file /etc/apt/sources.list" + +# Checking stage file +Check_stagefile .build/chroot_archives + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Restoring cache +Restore_cache cache/packages.chroot + +# Configure custom sources.list + +if echo "${LB_PARENT_MIRROR_CHROOT}" | grep -q '^file:/' +then + Chroot_bind_path chroot "$(echo ${LB_PARENT_MIRROR_CHROOT} | sed -e 's|file:||')" +fi + +cat > chroot/etc/apt/${_PARENT_FILE} << EOF +deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS} +EOF + +if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] +then + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} +fi + +if [ "${LB_DERIVATIVE}" = "true" ] +then + rm -f chroot/etc/apt/sources.list.d/${LB_MODE}.list + + _DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')" + + echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi +fi + +if [ "${LB_SECURITY}" = "true" ] +then + case "${LB_MODE}" in + debian|progress-linux) + case "${LB_PARENT_DISTRIBUTION}" in + sid) + + ;; + + *) + echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + ;; + esac + + if [ "${LB_MODE}" = progress-linux ] + then + echo "deb ${LB_MIRROR_CHROOT_SECURITY} ${_DISTRIBUTION}-security ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT_SECURITY} ${_DISTRIBUTION}-security ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + else + if [ "${LB_DERIVATIVE}" = "true" ] + then + echo "deb ${LB_MIRROR_CHROOT_SECURITY} ${_DISTRIBUTION}/updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT_SECURITY} ${_DISTRIBUTION}/updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi + fi + ;; + esac +fi + +if [ "${LB_UPDATES}" = "true" ] +then + echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + + if [ "${LB_DERIVATIVE}" = "true" ] + then + echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION}-updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT} ${_DISTRIBUTION}-updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi +fi + +if [ "${LB_BACKPORTS}" = "true" ] +then + case "${LB_MODE}" in + debian) + if [ "${LB_PARENT_DISTRIBUTION}" != "sid" ] + then + echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + fi + ;; + esac + + if [ "${LB_DERIVATIVE}" = "true" ] + then + echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION}-backports ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT} ${_DISTRIBUTION}-backports ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi +fi + +# Adding local apt sources (chroot) +for FILE in config/archives/*.list config/archives/*.list.chroot +do + if [ -e "${FILE}" ] + then + sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION}|g" \ + -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \ + -e "s|@ARCHIVE_AREAS@|${LB_ARCHIVE_AREAS}|g" \ + -e "s|@PARENT_ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \ + "${FILE}" > "chroot/etc/apt/sources.list.d/$(basename ${FILE} .chroot)" + + if [ "${_PASS}" != "source" ] && [ "${LB_APT_SOURCE_ARCHIVES}" = "false" ] + then + # Strip out source archives + sed "/^deb-src /d" "chroot/etc/apt/sources.list.d/$(basename ${FILE} .chroot)" + fi + fi +done + +# Adding local apt configuration (chroot) +for FILE in config/archives/*.conf config/archives/*.conf.chroot +do + if [ -e "${FILE}" ] + then + cp ${FILE} chroot/etc/apt/apt.conf.d/$(basename ${FILE} .chroot) + fi +done + +# Adding local apt preferences (chroot) +for FILE in config/archives/*.pref config/archives/*.pref.chroot +do + if [ -e "${FILE}" ] + then + cp ${FILE} chroot/etc/apt/preferences.d/$(basename ${FILE} .chroot) + fi +done + +# Check local archive keys +if Find_files config/archives/*.key || \ + Find_files config/archives/*.key.chroot +then + for FILE in config/archives/*.key \ + config/archives/*.key.chroot + do + if [ -e "${FILE}" ] + then + cp ${FILE} chroot/root + Chroot chroot "apt-key add /root/$(basename ${FILE})" + rm -f chroot/root/$(basename ${FILE}) + fi + done +fi + +# Check local keyring packages +if Find_files config/archives/*.deb +then + for PACKAGE in config/archives/*.deb + do + cp ${PACKAGE} chroot/root + Chroot chroot "dpkg -i /root/$(basename ${PACKAGE})" + rm -f chroot/root/$(basename ${PACKAGE}) + done +fi + +# Rebuild apt indices from scratch. +# Due to the fact that apt doesn't understand +# pinning on the fly, we need to manually remove +# the cached indices and rebuild them again. +rm -rf chroot/var/cache/apt/*.bin + +Apt chroot update + +# Installing keyring packages +if [ -n "${LB_KEYRING_PACKAGES}" ] +then + Apt chroot "install ${LB_KEYRING_PACKAGES}" +fi + +rm -rf chroot/var/cache/apt/*.bin + +Apt chroot update + +if [ "${LB_DERIVATIVE}" = "true" ] +then + Apt chroot install apt dpkg +fi + +Apt chroot "upgrade" +Apt chroot "dist-upgrade" + +# Saving cache +Save_cache cache/packages.chroot + +# Creating stage file +Create_stagefile .build/bootstrap_archives diff --git a/system-build/scripts/build/bootstrap_cache b/system-build/scripts/build/bootstrap_cache new file mode 100755 index 0000000..bef9e5e --- /dev/null +++ b/system-build/scripts/build/bootstrap_cache @@ -0,0 +1,86 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'cache bootstrap stage')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Check architecture +Check_crossarchitectures + +for STAGE in ${LB_CACHE_STAGES} +do + if [ "${STAGE}" = "bootstrap" ] + then + case "${1}" in + restore) + Echo_message "Restoring bootstrap stage from cache..." + + # Checking stage file + Check_stagefile .build/bootstrap_cache.restore + + if [ -d cache/bootstrap ] + then + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Removing old chroot + rm -rf chroot + + # Restoring old cache + cp -a cache/bootstrap chroot + + # Creating stage file + Create_stagefile .build/bootstrap_cache.restore + Create_stagefile .build/bootstrap + + exit 0 + fi + ;; + + save) + Echo_message "Saving bootstrap stage to cache..." + + # Checking stage file + Check_stagefile .build/bootstrap_cache.save + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + rm -rf cache/bootstrap + + mkdir -p cache + + cp -a chroot cache/bootstrap + + # Creating stage file + Create_stagefile .build/bootstrap_cache.save + ;; + esac + fi +done diff --git a/system-build/scripts/build/bootstrap_debootstrap b/system-build/scripts/build/bootstrap_debootstrap new file mode 100755 index 0000000..b95475e --- /dev/null +++ b/system-build/scripts/build/bootstrap_debootstrap @@ -0,0 +1,138 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'bootstrap a Debian system with debootstrap(8)')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ ! -x "$(which debootstrap 2>/dev/null)" ] +then + echo "E: debootstrap - command not found" + echo "I: debootstrap can be obtained from http://ftp.debian.org/debian/pool/main/d/debootstrap/" + echo "I: On Debian based systems, debootstrap can be installed with 'apt-get install debootstrap'." + exit 1 +fi + +# Check architecture +Check_crossarchitectures + +Echo_message "Begin bootstrapping system..." + +Check_package chroot bin/debootstrap debootstrap + +# Checking stage file +Check_stagefile .build/bootstrap +Check_stagefile .build/bootstrap_cache.restore + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Creating chroot directory +mkdir -p chroot + +# Setting debootstrap options +if [ -n "${LB_ARCHITECTURES}" ] +then + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --arch=${LB_ARCHITECTURES}" +fi + +if [ "${LB_ARCHIVE_AREAS}" != "main" ] +then + # Modify archive areas to remove leading/trailing whitespaces and replace other whitepspace with commas + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --components=$(echo ${LB_ARCHIVE_AREAS} | sed -e 's| |,|g')" +fi + +if [ "${_VERBOSE}" = "true" ] +then + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --verbose" +fi + +# If LB_APT_SECURE is false, do not check signatures of the Release file +# (requires debootstrap >= 1.0.30) +if [ "${LB_APT_SECURE}" = "false" ] && /usr/sbin/debootstrap --help | grep -qs '\-\-no-check-gpg' +then + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --no-check-gpg" +fi + +# Include apt-transport-https +if grep -qs '^deb https' config/archives/*.list || + grep -qs '^deb https' config/archives/*.list.* +then + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --include=apt-transport-https,ca-certificates" +fi + +if [ -x "/usr/sbin/debootstrap" ] +then + if [ "${LB_CACHE_PACKAGES}" = "true" ] + then + if ls cache/packages.bootstrap/*.deb > /dev/null 2>&1 + then + mkdir -p chroot/var/cache/apt/archives + cp cache/packages.bootstrap/*.deb chroot/var/cache/apt/archives + fi + + Echo_breakage "Running debootstrap (download-only)... " + debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" + + # Removing old cache + rm -f cache/packages.bootstrap/*.deb + + # Saving new cache + mkdir -p cache/packages.bootstrap + cp chroot/var/cache/apt/archives/*.deb cache/packages.bootstrap + fi + + Echo_breakage "Running debootstrap... " + + # Run appropriate bootstrap, i.e. foreign or regular bootstrap + if [ "${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" = "${LB_ARCHITECTURES}" ]; then + + if [ -n "${LB_BOOTSTRAP_QEMU_EXCLUDE}" ] + then + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --exclude=$(echo ${LB_BOOTSTRAP_QEMU_EXCLUDE} | sed 's| *|,|g')" + fi + + Echo_message "Bootstrap will be foreign" + debootstrap ${DEBOOTSTRAP_OPTIONS} --foreign "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" + + Echo_message "Running debootstrap second stage under QEMU" + cp ${LB_BOOTSTRAP_QEMU_STATIC} chroot/usr/bin + Chroot chroot /bin/sh /debootstrap/debootstrap --second-stage + else + debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" + fi + + # Deconfiguring debootstrap configurations + rm -f chroot/etc/hosts + + # Removing bootstrap cache + rm -f chroot/var/cache/apt/archives/*.deb + + # Creating stage file + Create_stagefile .build/bootstrap +else + Echo_error "Can't process file /usr/bin/debootstrap (FIXME)" + exit 1 +fi diff --git a/system-build/scripts/build/build b/system-build/scripts/build/build new file mode 100755 index 0000000..18971ea --- /dev/null +++ b/system-build/scripts/build/build @@ -0,0 +1,84 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Automatically populating config tree +if [ -x auto/config ] && [ ! -e .build/config ] +then + Echo_message "Automatically populating config tree." + lb config +fi + +# Read meta config +if [ "${1}" != "noauto" ] && [ -x auto/build ] +then + Echo_message "Executing auto/build script." + ./auto/build "${@}" + exit ${?} +fi + +if [ "${1}" = "noauto" ] +then + shift +fi + +# Setting static variables +DESCRIPTION="$(Echo 'build a Debian Live system')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +if [ ! -d config ] +then + Echo_warning "No config/ directory; using defaults for all options" + lb config +fi + +if [ "$(pwd)" = "/" ] +then + Echo_error "Cannot build live image from the root directory (/)" + exit 1 +fi + +if echo $(pwd) | grep -qs " " +then + Echo_error "Cannot build live image from a directory containing spaces" + exit 1 +fi + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Checking defaults +Check_defaults + +Echo_message "live-build ${LIVE_BUILD_VERSION}" +Echo_message "Building config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system" + +# Bootstrapping system +lb bootstrap ${@} + +# Customizing chroot +lb chroot ${@} + +# Building installer images +lb installer ${@} + +# Building binary images +lb binary ${@} + +# Building source images +lb source ${@} diff --git a/system-build/scripts/build/chroot b/system-build/scripts/build/chroot new file mode 100755 index 0000000..d6277e6 --- /dev/null +++ b/system-build/scripts/build/chroot @@ -0,0 +1,92 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Automatically populating config tree +if [ -x auto/config ] && [ ! -e .build/config ] +then + Echo_message "Automatically populating config tree." + lb config +fi + +# Setting static variables +DESCRIPTION="$(Echo 'customize the Debian system')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Setup cleanup function +Setup_cleanup + +# Configuring chroot +lb chroot_cache restore ${@} +lb chroot_devpts install ${@} +lb chroot_proc install ${@} +lb chroot_selinuxfs install ${@} +lb chroot_sysfs install ${@} +lb chroot_debianchroot install ${@} +lb chroot_dpkg install ${@} +lb chroot_tmpfs install ${@} +lb chroot_sysv-rc install ${@} +lb chroot_hosts install ${@} +lb chroot_resolv install ${@} +lb chroot_hostname install ${@} +lb chroot_apt install ${@} +lb chroot_archives chroot install ${@} + +# Customizing chroot +lb chroot_linux-image ${@} +lb chroot_firmware ${@} +lb chroot_preseed ${@} + +for _PASS in install live +do + lb chroot_package-lists ${_PASS} ${@} + lb chroot_install-packages ${_PASS} ${@} + + if [ "${_PASS}" = install ] + then + Chroot chroot "dpkg-query -W" > chroot.packages.install + fi +done + +lb chroot_includes ${@} +lb chroot_hooks ${@} +lb chroot_hacks ${@} +lb chroot_interactive ${@} + +Chroot chroot "dpkg-query -W" > chroot.packages.live + +# Deconfiguring chroot +lb chroot_archives chroot remove ${@} +lb chroot_apt remove ${@} +lb chroot_hostname remove ${@} +lb chroot_resolv remove ${@} +lb chroot_hosts remove ${@} +lb chroot_sysv-rc remove ${@} +lb chroot_tmpfs remove ${@} +lb chroot_dpkg remove ${@} +lb chroot_debianchroot remove ${@} +lb chroot_sysfs remove ${@} +lb chroot_selinuxfs remove ${@} +lb chroot_proc remove ${@} +lb chroot_devpts remove ${@} +lb chroot_cache save ${@} + +Chroot chroot "ls -lR" > chroot.files diff --git a/system-build/scripts/build/chroot_apt b/system-build/scripts/build/chroot_apt new file mode 100755 index 0000000..5f7c2cc --- /dev/null +++ b/system-build/scripts/build/chroot_apt @@ -0,0 +1,315 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /etc/apt/apt.conf')" +HELP="" +USAGE="${PROGRAM} {install|install-binary|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install|install-binary) + Echo_message "Configuring file /etc/apt/apt.conf" + + # Checking stage file + Check_stagefile .build/chroot_apt + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + mkdir -p chroot/etc/apt/apt.conf.d + + # Configuring apt ftp proxy + if [ -n "${LB_APT_FTP_PROXY}" ] + then + echo "Acquire::ftp::Proxy \"${LB_APT_FTP_PROXY}\";" > chroot/etc/apt/apt.conf.d/00ftp-proxy + fi + + # Configuring apt http proxy + if [ -n "${LB_APT_HTTP_PROXY}" ] + then + echo "Acquire::http::Proxy \"${LB_APT_HTTP_PROXY}\";" > chroot/etc/apt/apt.conf.d/00http-proxy + fi + + # Configuring apt pipeline + if [ -n "${LB_APT_PIPELINE}" ] + then + echo "Acquire::http::Pipeline-Depth \"${LB_APT_PIPELINE}\";" > chroot/etc/apt/apt.conf.d/00pipeline + fi + + # Configuring apt recommends + case "${LB_APT_RECOMMENDS}" in + true) + echo "APT::Install-Recommends \"true\";" > chroot/etc/apt/apt.conf.d/00recommends + ;; + + false) + echo "APT::Install-Recommends \"false\";" > chroot/etc/apt/apt.conf.d/00recommends + ;; + esac + + # Configuring apt secure + case "${LB_APT_SECURE}" in + true) + echo "APT::Get::AllowUnauthenticated \"false\";" > chroot/etc/apt/apt.conf.d/00secure + ;; + + false) + echo "APT::Get::AllowUnauthenticated \"true\";" > chroot/etc/apt/apt.conf.d/00secure + ;; + esac + + # Configuring apt config + if [ -f config/apt/apt.conf ] + then + if [ -f chroot/etc/apt/apt.conf ] + then + mv chroot/etc/apt/apt.conf chroot/etc/apt/apt.conf.orig + fi + + cp config/apt/apt.conf chroot/etc/apt/apt.conf + fi + + # Configuring apt preferences + if [ -f config/apt/preferences ] + then + if [ -f chroot/etc/apt/preferences ] + then + mv chroot/etc/apt/preferences chroot/etc/apt/preferences.orig + fi + + cp config/apt/preferences chroot/etc/apt/preferences + fi + + if Find_files config/apt/*.pref + then + for _FILE in config/apt/*.pref + do + if [ -f chroot/etc/apt/preferences.d/$(basename ${_FILE}) ] + then + mv chroot/etc/apt/preferences.d/$(basename ${_FILE}) chroot/etc/apt/preferences.d/$(basename ${_FILE}).orig + fi + + cp -aL ${_FILE} chroot/etc/apt/preferences.d + done + fi + + if Find_files config/packages.chroot/*.deb || Find_files config/packages/*.deb + then + echo >> chroot/etc/apt/preferences + echo "# Added by lb_chroot_apt ${@}" >> chroot/etc/apt/preferences + echo "Package: *" >> chroot/etc/apt/preferences + echo "Pin: release o=config/packages.chroot" >> chroot/etc/apt/preferences + + case "${1}" in + install) + # Ensure local packages have priority + echo "Pin-Priority: 1001" >> chroot/etc/apt/preferences + ;; + + install-binary) + # Ensure local packages are not re-installed during lb_binary + echo "Pin-Priority: 99" >> chroot/etc/apt/preferences + + echo >> chroot/etc/apt/preferences + echo "Package: *" >> chroot/etc/apt/preferences + echo "Pin: release o=debian" >> chroot/etc/apt/preferences + echo "Pin-Priority: 99" >> chroot/etc/apt/preferences + ;; + esac + fi + + case "${LB_MODE}" in + progress-linux) + if [ ! -e chroot/etc/apt/preferences.d/progress-linux.pref ] + then + _DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')" + + _ENABLE_DISTRIBUTIONS="${_DISTRIBUTION}" + _DISABLE_DISTRIBUTIONS="" + + if [ "${LB_SECURITY}" = "true" ] + then + _ENABLE_DISTRIBUTIONS="${_ENABLE_DISTRIBUTIONS} ${_DISTRIBUTION}-security" + fi + + if [ "${LB_UPDATES}" = "true" ] + then + _ENABLE_DISTRIBUTIONS="${_ENABLE_DISTRIBUTIONS} ${_DISTRIBUTION}-updates" + fi + + case "${LB_DISTRIBUTION}" in + *-backports) + if [ "${LB_BACKPORTS}" = "true" ] + then + _ENABLE_DISTRIBUTIONS="${_ENABLE_DISTRIBUTIONS} ${_DISTRIBUTION}-backports" + fi + ;; + + *) + if [ "${LB_BACKPORTS}" = "true" ] + then + _DISABLE_DISTRIBUTIONS="${_DISABLE_DISTRIBUTIONS} ${_DISTRIBUTION}-backports" + fi + ;; + esac + + for _DISTRIBUTION in ${_ENABLE_DISTRIBUTIONS} + do + +cat >> chroot/etc/apt/preferences.d/progress-linux.pref << EOF + +Package: * +Pin: release n=${_DISTRIBUTION} +Pin-Priority: 999 +EOF + + done + + for _DISTRIBUTION in ${_DISABLE_DISTRIBUTIONS} + do + +cat >> chroot/etc/apt/preferences.d/progress-linux.pref << EOF + +#Package: * +#Pin: release n=${_DISTRIBUTION} +#Pin-Priority: 999 +EOF + + done + fi + ;; + esac + + # Creating stage file + Create_stagefile .build/chroot_apt + ;; + + remove) + Echo_message "Deconfiguring file /etc/apt/apt.conf" + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Deconfiguring apt ftp proxy + rm -f chroot/etc/apt/apt.conf.d/00ftp-proxy + + # Deconfiguring apt http proxy + rm -f chroot/etc/apt/apt.conf.d/00http-proxy + + # Deconfiguring apt pipeline + rm -f chroot/etc/apt/apt.conf.d/00pipeline + + # Deconfiguring apt recommends + if [ "${LB_APT_RECOMMENDS}" = "true" ] + then + rm -f chroot/etc/apt/apt.conf.d/00recommends + fi + + # Deconfiguring apt secure + if [ "${LB_APT_SECURE}" = "true" ] + then + rm -f chroot/etc/apt/apt.conf.d/00secure + fi + + # Configuring apt config + if [ -f config/apt/apt.conf ] + then + if [ -f chroot/etc/apt/apt.conf ] + then + mv chroot/etc/apt/apt.conf chroot/etc/apt/apt.conf.orig + fi + + cp config/apt/apt.conf chroot/etc/apt/apt.conf + + if [ -f chroot/etc/apt/apt.conf.orig ] + then + mv chroot/etc/apt/apt.conf.orig chroot/etc/apt/apt.conf + fi + fi + + # Deconfiguring apt preferences + if [ -f config/apt/preferences ] + then + if [ -f chroot/etc/apt/preferences ] + then + mv chroot/etc/apt/preferences chroot/etc/apt/preferences.orig + fi + + cp config/apt/preferences chroot/etc/apt/preferences + + if [ -f chroot/etc/apt/preferences.orig ] + then + mv chroot/etc/apt/preferences.orig chroot/etc/apt/preferences + fi + fi + + if Find_files config/apt/*.pref + then + for _FILE in config/apt/*.pref + do + if [ -f chroot/etc/apt/preferences.d/$(basename ${_FILE}) ] + then + mv chroot/etc/apt/preferences.d/$(basename ${_FILE}) chroot/etc/apt/preferences.d/$(basename ${_FILE}).orig + fi + + cp -aL ${_FILE} chroot/etc/apt/preferences.d + + if [ -f chroot/etc/apt/preferences.d/$(basename ${_FILE}).orig ] + then + mv chroot/etc/apt/preferences.d/$(basename ${_FILE}).orig chroot/etc/apt/preferences.d/$(basename ${_FILE}) + fi + done + fi + + if Find_files config/packages.chroot/*.deb || Find_files config/packages/*.deb + then + if [ -f chroot/etc/apt/preferences ] + then + # delete additions from lb_chroot_apt install|install-binary to preferences + sed -i '/# Added by lb_chroot_apt/,$d' chroot/etc/apt/preferences + # delete the last empty line + sed -i '${/^[[:blank:]]*$/d;}' chroot/etc/apt/preferences + # if the resulting preferences file is empty there was no user additions, remove it + if [ ! -s chroot/etc/apt/preferences ] + then + rm -rf chroot/etc/apt/preferences + fi + fi + + fi + + # Removing stage file + rm -f .build/chroot_apt + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_archives b/system-build/scripts/build/chroot_archives new file mode 100755 index 0000000..063f3b6 --- /dev/null +++ b/system-build/scripts/build/chroot_archives @@ -0,0 +1,675 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /etc/apt/sources.list')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +_PASS="${1}" +shift + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${LB_DERIVATIVE}" in + true) + _PARENT_FILE="sources.list.d/debian.list" + ;; + + false) + _PARENT_FILE="sources.list" + ;; +esac + +case "${1}" in + install) + Echo_message "Configuring file /etc/apt/sources.list" + + # Checking stage file + Check_stagefile .build/chroot_archives + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Restoring cache + Restore_cache cache/packages.chroot + + # Configure custom sources.list + +if echo "${LB_PARENT_MIRROR_CHROOT}" | grep -q '^file:/' +then + Chroot_bind_path chroot "$(echo ${LB_PARENT_MIRROR_CHROOT} | sed -e 's|file:||')" +fi + +cat > chroot/etc/apt/${_PARENT_FILE} << EOF +deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS} +EOF + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + + if [ "${LB_DERIVATIVE}" = "true" ] + then + rm -f chroot/etc/apt/sources.list.d/${LB_MODE}.list + + _DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')" + + echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi + + if [ "${LB_SECURITY}" = "true" ] + then + case "${LB_MODE}" in + debian|progress-linux) + case "${LB_PARENT_DISTRIBUTION}" in + sid) + + ;; + + *) + echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + ;; + esac + + if [ "${LB_MODE}" = progress-linux ] + then + echo "deb ${LB_MIRROR_CHROOT_SECURITY} ${_DISTRIBUTION}-security ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT_SECURITY} ${_DISTRIBUTION}-security ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + else + if [ "${LB_DERIVATIVE}" = "true" ] + then + echo "deb ${LB_MIRROR_CHROOT_SECURITY} ${_DISTRIBUTION}/updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT_SECURITY} ${_DISTRIBUTION}/updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi + fi + ;; + esac + fi + + if [ "${LB_UPDATES}" = "true" ] + then + echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + + if [ "${LB_DERIVATIVE}" = "true" ] + then + echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION}-updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT} ${_DISTRIBUTION}-updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi + fi + + if [ "${LB_BACKPORTS}" = "true" ] + then + case "${LB_MODE}" in + debian) + if [ "${LB_PARENT_DISTRIBUTION}" != "sid" ] + then + echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + fi + ;; + esac + + if [ "${LB_DERIVATIVE}" = "true" ] + then + echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION}-backports ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_CHROOT} ${_DISTRIBUTION}-backports ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi + fi + + # Adding local apt sources (chroot) + for FILE in config/archives/*.list config/archives/*.list.chroot + do + if [ -e "${FILE}" ] + then + sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION}|g" \ + -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \ + -e "s|@ARCHIVE_AREAS@|${LB_ARCHIVE_AREAS}|g" \ + -e "s|@PARENT_ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \ + "${FILE}" > "chroot/etc/apt/sources.list.d/$(basename ${FILE} .chroot)" + + if [ "${_PASS}" != "source" ] && [ "${LB_APT_SOURCE_ARCHIVES}" = "false" ] + then + # Strip out source archives + sed "/^deb-src /d" "chroot/etc/apt/sources.list.d/$(basename ${FILE} .chroot)" + fi + fi + done + + # Adding local apt configuration (chroot) + for FILE in config/archives/*.conf config/archives/*.conf.chroot + do + if [ -e "${FILE}" ] + then + cp ${FILE} chroot/etc/apt/apt.conf.d/$(basename ${FILE} .chroot) + fi + done + + # Adding local apt preferences (chroot) + for FILE in config/archives/*.pref config/archives/*.pref.chroot + do + if [ -e "${FILE}" ] + then + cp ${FILE} chroot/etc/apt/preferences.d/$(basename ${FILE} .chroot) + fi + done + + # Configure local package repository + if Find_files config/packages.chroot/*.deb || Find_files config/packages/*.deb + then + rm -rf chroot/root/packages + mkdir -p chroot/root/packages + + if [ "$(stat --printf %d config/packages.chroot/)" = "$(stat --printf %d chroot/root/packages/)" ] || + [ "$(stat --printf %d config/packages/)" = "$(stat --printf %d chroot/root/packages/)" ] + then + CP_OPTIONS="-l" + fi + + # Copy packages + if Find_files config/packages.chroot/*_"${LB_ARCHITECTURES}".deb || Find_files config/packages/*_"${LB_ARCHITECTURES}".deb + then + for FILE in config/packages.chroot/*_"${LB_ARCHITECTURES}".deb config/packages/*_"${LB_ARCHITECTURES}".deb + do + if [ -L "${FILE}" ] + then + cp -L "${FILE}" chroot/root/packages + elif [ -e "${FILE}" ] + then + cp ${CP_OPTIONS} "${FILE}" chroot/root/packages + fi + done + fi + + if Find_files config/packages.chroot/*_all.deb || Find_files config/packages/*_all.deb + then + for FILE in config/packages.chroot/*_all.deb config/packages/*_all.deb + do + if [ -L "${FILE}" ] + then + cp -L "${FILE}" chroot/root/packages + elif [ -e "${FILE}" ] + then + cp ${CP_OPTIONS} "${FILE}" chroot/root/packages + fi + done + fi + + if Find_files chroot/root/packages/*.deb + then + # If we bootstrapped a minimal chroot, we need + # to install apt-utils before we have + # completed all the indices. + if [ ! -e chroot/usr/bin/apt-ftparchive ] + then + Apt chroot update + fi + + # Check depends + Check_package chroot /usr/bin/apt-ftparchive apt-utils + + # Installing depends + Install_package + + # Generate Packages and Packages.gz + echo "cd /root/packages && apt-ftparchive packages . > Packages" | Chroot chroot sh + gzip -9 -c chroot/root/packages/Packages > chroot/root/packages/Packages.gz + + # Generate Release + echo "cd /root/packages && apt-ftparchive \ + -o APT::FTPArchive::Release::Origin=config/packages.chroot \ + release . > Release" | Chroot chroot sh + + # Add to sources.list.d + echo "deb [ trusted=yes ] file:/root/packages ./" > chroot/etc/apt/sources.list.d/packages.list + + # Move top-level sources away, otherwise apt always preferes it (#644148) + if [ -e chroot/etc/apt/sources.list ] + then + mv chroot/etc/apt/sources.list chroot/etc/apt/sources.list.d/zz-sources.list + fi + + # Removing depends + Remove_package + else + Echo_warning "Local packages must be named with suffix '_all.deb' or '_\$architecture.deb'." + fi + fi + + if Find_files chroot/root/packages/*.deb + then + gunzip < chroot/root/packages/Packages.gz | awk '/^Package: / { print $2 }' \ + >> chroot/root/packages.chroot + fi + + # Update indices from cache + if [ "${LB_CACHE_INDICES}" = "true" ] && [ -d cache/indices.bootstrap ] + then + if Find_files cache/indices.bootstrap/secring.gpg* + then + cp -f cache/indices.bootstrap/secring.gpg* chroot/etc/apt + fi + + if Find_files cache/indices.bootstrap/trusted.gpg* + then + cp -rf cache/indices.bootstrap/trusted.gpg* chroot/etc/apt + fi + + if [ -f cache/indices.bootstrap/pkgcache.bin ] + then + cp -f cache/indices.bootstrap/pkgcache.bin chroot/var/cache/apt + fi + + if [ -f cache/indices.bootstrap/srcpkgcache.bin ] + then + cp -f cache/indices.bootstrap/srcpkgcache.bin chroot/var/cache/apt + fi + + if Find_files cache/indices.bootstrap/*_Packages + then + cp -f cache/indices.bootstrap/*_Packages chroot/var/lib/apt/lists + fi + + if Find_files cache/indices.bootstrap/*_Sources + then + cp -f cache/indices.bootstrap/*_Sources chroot/var/lib/apt/lists + fi + + if Find_files cache/indices.bootstrap/*Release* + then + cp -f cache/indices.bootstrap/*Release* chroot/var/lib/apt/lists + fi + else # Get fresh indices + # Check local archive keys + if Find_files config/archives/*.key || \ + Find_files config/archives/*.key.chroot + then + for FILE in config/archives/*.key \ + config/archives/*.key.chroot + do + if [ -e "${FILE}" ] + then + cp ${FILE} chroot/root + Chroot chroot "apt-key add /root/$(basename ${FILE})" + rm -f chroot/root/$(basename ${FILE}) + fi + done + fi + + # Check local keyring packages + if Find_files config/archives/*.deb + then + for PACKAGE in config/archives/*.deb + do + cp ${PACKAGE} chroot/root + Chroot chroot "dpkg -i /root/$(basename ${PACKAGE})" + rm -f chroot/root/$(basename ${PACKAGE}) + done + fi + + # Rebuild apt indices from scratch. + # Due to the fact that apt doesn't understand + # pinning on the fly, we need to manually remove + # the cached indices and rebuild them again. + rm -rf chroot/var/cache/apt/*.bin + + Apt chroot update + + # Installing keyring packages + if [ -n "${LB_KEYRING_PACKAGES}" ] + then + Apt chroot "install ${LB_KEYRING_PACKAGES}" + fi + + rm -rf chroot/var/cache/apt/*.bin + + Apt chroot update + Apt chroot "upgrade" + Apt chroot "dist-upgrade" + + if [ "${LB_CACHE_INDICES}" = "true" ] + then + mkdir -p cache/indices.bootstrap + + if Find_files chroot/etc/apt/secring.gpg* + then + cp -f chroot/etc/apt/secring.gpg* cache/indices.bootstrap + fi + + cp -rf chroot/etc/apt/trusted.gpg* cache/indices.bootstrap + + cp -f chroot/var/cache/apt/pkgcache.bin cache/indices.bootstrap + + if Find_files chroot/var/cache/apt/srcpkgcache.bin + then + cp -f chroot/var/cache/apt/srcpkgcache.bin cache/indices.bootstrap + fi + + cp -f chroot/var/lib/apt/lists/*_Packages cache/indices.bootstrap + + if Find_files chroot/var/lib/apt/lists/*_Sources + then + cp -f chroot/var/lib/apt/lists/*_Sources cache/indices.bootstrap + fi + + cp -f chroot/var/lib/apt/lists/*Release* cache/indices.bootstrap + fi + fi + + # Saving cache + Save_cache cache/packages.chroot + + # Creating stage file + Create_stagefile .build/chroot_archives + ;; + + remove) + Echo_message "Deconfiguring file /etc/apt/sources.list" + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Restore top-level sources + if [ -e chroot/etc/apt/sources.list.d/zz-sources.list ] + then + mv chroot/etc/apt/sources.list.d/zz-sources.list chroot/etc/apt/sources.list + fi + + # Unmount local repository +if echo "${LB_PARENT_MIRROR_CHROOT}" | grep -q '^file:/' +then + Chroot_unbind_path chroot "$(echo ${LB_PARENT_MIRROR_CHROOT} | sed -e 's|file:||')" +fi + + # Configure generic indices + # Don't do anything if it's not required + if [ "${LB_PARENT_MIRROR_CHROOT}" = "${LB_PARENT_MIRROR_BINARY}" ] && \ + [ "${LB_PARENT_MIRROR_CHROOT_SECURITY}" = "${LB_PARENT_MIRROR_BINARY_SECURITY}" ] && \ + [ ! -d chroot/root/packages ] + then + # Removing stage file + rm -f .build/chroot_archives + + exit 0 + fi + + # Cleaning apt list cache + rm -rf chroot/var/lib/apt/lists + mkdir -p chroot/var/lib/apt/lists/partial + + # Configure custom sources.list + +cat > chroot/etc/apt/${_PARENT_FILE} << EOF +deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS} +EOF + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + + if [ "${LB_DERIVATIVE}" = "true" ] + then + rm -f chroot/etc/apt/sources.list.d/${LB_MODE}.list + + _DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')" + + echo "deb ${LB_MIRROR_BINARY} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_BINARY} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi + + if [ "${LB_SECURITY}" = "true" ] + then + case "${LB_MODE}" in + debian|progress-linux) + case "${LB_PARENT_DISTRIBUTION}" in + sid) + + ;; + + *) + echo "deb ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + ;; + esac + + if [ "${LB_MODE}" = progress-linux ] + then + echo "deb ${LB_MIRROR_BINARY_SECURITY} ${_DISTRIBUTION}-security ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_BINARY_SECURITY} ${_DISTRIBUTION}-security ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + else + if [ "${LB_DERIVATIVE}" = "true" ] + then + echo "deb ${LB_MIRROR_BINARY_SECURITY} ${_DISTRIBUTION}/updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_BINARY_SECURITY} ${_DISTRIBUTION}/updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi + fi + ;; + esac + fi + + if [ "${LB_UPDATES}" = "true" ] + then + echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + + if [ "${LB_DERIVATIVE}" = "true" ] + then + echo "deb ${LB_MIRROR_BINARY} ${_DISTRIBUTION}-updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_BINARY} ${_DISTRIBUTION}-updates ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi + fi + + if [ "${LB_BACKPORTS}" = "true" ] + then + case "${LB_MODE}" in + debian) + if [ "${LB_PARENT_DISTRIBUTION}" != "sid" ] + then + echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + fi + fi + ;; + esac + + if [ "${LB_DERIVATIVE}" = "true" ] + then + echo "deb ${LB_MIRROR_BINARY} ${_DISTRIBUTION}-backports ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + + if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] + then + echo "deb-src ${LB_MIRROR_BINARY} ${_DISTRIBUTION}-backports ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list + fi + fi + fi + + # Removing chroot-only apt sources + for FILE in config/archives/*.list.chroot + do + if [ -e "${FILE}" ] + then + rm -f "chroot/etc/apt/sources.list.d/$(basename ${FILE} .chroot)" + fi + done + + # Removing chroot-only apt configuration + for FILE in config/archives/*.conf.chroot + do + if [ -e "${FILE}" ] + then + rm -f "chroot/etc/apt/apt.conf.d/$(basename ${FILE} .chroot)" + fi + done + + # Removing chroot-only apt preferences + for FILE in config/archives/*.pref.chroot + do + if [ -e "${FILE}" ] + then + rm -f "chroot/etc/apt/preferences.d/$(basename ${FILE} .chroot)" + fi + done + + # Adding local apt sources (binary) + for FILE in config/archives/*.list config/archives/*.list.binary + do + if [ -e "${FILE}" ] + then + sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION}|g" \ + -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \ + -e "s|@ARCHIVE_AREAS@|${LB_ARCHIVE_AREAS}|g" \ + -e "s|@PARENT_ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \ + "${FILE}" > "chroot/etc/apt/sources.list.d/$(basename ${FILE} .binary)" + + if [ "${_PASS}" != "source" ] && [ "${LB_APT_SOURCE_ARCHIVES}" = "false" ] + then + # Strip out source archives + sed "/^deb-src /d" "chroot/etc/apt/sources.list.d/$(basename ${FILE} .binary)" + fi + fi + done + + # Adding local apt configuration (binary) + for FILE in config/archives/*.conf config/archives/*.conf.binary + do + if [ -e "${FILE}" ] + then + cp ${FILE} chroot/etc/apt/apt.conf.d/$(basename ${FILE} .binary) + fi + done + + # Adding local apt preferences (binary) + for FILE in config/archives/*.pref config/archives/*.pref.binary + do + if [ -e "${FILE}" ] + then + cp ${FILE} chroot/etc/apt/preferences.d/$(basename ${FILE} .binary) + fi + done + + # Adding local apt keys (binary) + for FILE in config/archives/*.key config/archives/*.key.binary + do + if [ -e "${FILE}" ] + then + cp ${FILE} chroot/root + Chroot chroot "apt-key add /root/$(basename ${FILE})" + rm -f chroot/root/$(basename ${FILE}) + fi + done + + # Updating indices + Apt chroot update + + # Cleaning apt package cache + rm -rf chroot/var/cache/apt + mkdir -p chroot/var/cache/apt/archives/partial + + # Cleaning apt package lists + if [ "${LB_APT_INDICES}" = "false" ] + then + rm -rf chroot/var/lib/apt/lists + mkdir -p chroot/var/lib/apt/lists/partial + fi + + # Remove local package repository + rm -f chroot/etc/apt/sources.list.d/packages.list + rm -rf chroot/root/packages + + # Removing stage file + rm -f .build/chroot_archives + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_cache b/system-build/scripts/build/chroot_cache new file mode 100755 index 0000000..96f7af2 --- /dev/null +++ b/system-build/scripts/build/chroot_cache @@ -0,0 +1,82 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'cache chroot stage')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +for STAGE in ${LB_CACHE_STAGES} +do + if [ "${STAGE}" = "chroot" ] + then + case "${1}" in + restore) + Echo_message "Restoring chroot stage from cache..." + + # Checking stage file + Check_stagefile .build/chroot_cache.restore + + if [ -d cache/chroot ] + then + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Removing old chroot + rm -rf chroot + + # Restoring old cache + cp -a cache/chroot chroot + + # Creating stage file + Create_stagefile .build/chroot_cache.restore + + exit 0 + fi + ;; + + save) + Echo_message "Saving chroot stage to cache..." + + # Checking stage file + Check_stagefile .build/chroot_cache.save + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + rm -rf cache/chroot + + mkdir -p cache + + cp -a chroot cache/chroot + + # Creating stage file + Create_stagefile .build/chroot_cache.save + ;; + esac + fi +done diff --git a/system-build/scripts/build/chroot_debianchroot b/system-build/scripts/build/chroot_debianchroot new file mode 100755 index 0000000..77680f0 --- /dev/null +++ b/system-build/scripts/build/chroot_debianchroot @@ -0,0 +1,81 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /etc/debian_chroot')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + Echo_message "Configuring file /etc/debian_chroot" + + # Checking stage file + Check_stagefile .build/chroot_debianchroot + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + if [ -f chroot/etc/debian_chroot ] + then + # Save chroot file + mv chroot/etc/debian_chroot chroot/etc/debian_chroot.orig + fi + + # Create chroot file + echo "live" > chroot/etc/debian_chroot + + # Creating stage file + Create_stagefile .build/chroot_debianchroot + ;; + + remove) + Echo_message "Deconfiguring file /etc/debian_chroot" + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + if [ -f chroot/etc/debian_chroot.orig ] + then + # Restore chroot file + mv chroot/etc/debian_chroot.orig chroot/etc/debian_chroot + else + # Remove chroot file + rm -f chroot/etc/debian_chroot + fi + + # Removing stage file + rm -f .build/chroot_debianchroot + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_devpts b/system-build/scripts/build/chroot_devpts new file mode 100755 index 0000000..8fb76a7 --- /dev/null +++ b/system-build/scripts/build/chroot_devpts @@ -0,0 +1,77 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'mount /dev/pts')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + Echo_message "Begin mounting /dev/pts..." + + # Checking stage file + Check_stagefile .build/chroot_devpts + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Creating mountpoint + mkdir -p chroot/dev/pts + + # Mounting /dev/pts + mount devpts-live -t devpts -o gid=5,mode=620 chroot/dev/pts || true + + # Creating stage file + Create_stagefile .build/chroot_devpts + ;; + + remove) + Echo_message "Begin unmounting /dev/pts..." + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Unmounting /dev/pts + if grep -qs "$(pwd)/chroot/dev/pts" /proc/mounts || Find_files chroot/dev/pts/* + then + umount chroot/dev/pts + else + umount -f chroot/dev/pts > /dev/null 2>&1 || true + fi + + # Removing stage file + rm -f .build/chroot_devpts + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_dpkg b/system-build/scripts/build/chroot_dpkg new file mode 100755 index 0000000..c6f1574 --- /dev/null +++ b/system-build/scripts/build/chroot_dpkg @@ -0,0 +1,105 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /sbin/dpkg')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + Echo_message "Configuring file /sbin/start-stop-daemon" + + # Checking stage file + Check_stagefile .build/chroot_dpkg + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Create custom start-stop-daemon program + Chroot chroot dpkg-divert --rename --quiet --add /sbin/start-stop-daemon + +cat > chroot/sbin/start-stop-daemon << EOF +#!/bin/sh + +exit 0 +EOF + + chmod 755 chroot/sbin/start-stop-daemon + + # Disable dpkg syncing + +cat > chroot/etc/dpkg/dpkg.cfg.d/live-build << EOF +force-unsafe-io +EOF + + # Manual hacks for special packages + + # Generic live-build handle for other live packages to act upon + touch chroot/.live-build + + # flash-kernel + Chroot chroot dpkg-divert --rename --quiet --add /usr/sbin/flash-kernel + ln -fs /bin/true chroot/usr/sbin/flash-kernel + + # Creating stage file + Create_stagefile .build/chroot_dpkg + ;; + + remove) + Echo_message "Deconfiguring file /sbin/start-stop-daemon" + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Manual hacks for special packages + + # Generic live-build handle + rm -f chroot/.live-build + + # flash-kernel + rm -f chroot/usr/sbin/flash-kernel + Chroot chroot dpkg-divert --rename --quiet --remove /usr/sbin/flash-kernel + + # Remove custom start-stop-daemon program + rm -f chroot/sbin/start-stop-daemon + Chroot chroot dpkg-divert --rename --quiet --remove /sbin/start-stop-daemon + + # Remove dpkg sync configuration + rm -f chroot/etc/dpkg/dpkg.cfg.d/live-build + + # Removing stage file + rm -f .build/chroot_dpkg + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_firmware b/system-build/scripts/build/chroot_firmware new file mode 100755 index 0000000..d91f570 --- /dev/null +++ b/system-build/scripts/build/chroot_firmware @@ -0,0 +1,124 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'schedule kernel packages for installation')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_FIRMWARE_CHROOT}" != "true" ] +then + exit 0 +fi + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/chroot_firmware + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Checking depends +Check_package host /usr/bin/wget wget + +# Diverting update-initramfs +#case "${LB_INITRAMFS}" in +# system-boot) +# mv chroot/usr/sbin/update-initramfs chroot/usr/sbin/update-initramfs.live-build +# ;; +#esac + +# Include firmware packages +# Assumption: firmware packages install files into /lib/firmware + +# Get all firmware packages names +mkdir -p cache/contents.chroot + +FIRMWARE_PACKAGES="" + +_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" + +rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} + +for _CONTENT in ${_CONTENTS} +do + wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} + + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" +done + +if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free" +then + # Manually add firmware-linux/non-free meta package + if [ "${LB_DERIVATIVE}" != "true" ] + then + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux" + else + case "${LB_DERIVATIVE_IS_BASED_ON}" in + debian) + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux" + ;; + *) + ;; + esac + fi +fi + +if [ "${LB_DERIVATIVE}" = "true" ] +then + # FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents). + + _CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" + + rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} + + for _CONTENT in ${_CONTENTS} + do + wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} + + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" + done +fi + +# Drop section and keep package names only +for _PACKAGE in ${FIRMWARE_PACKAGES} +do + echo $(echo ${_PACKAGE} | awk -F/ '{ print $NF }') >> chroot/root/packages.chroot +done + +# Some known licenses required to be accepted +if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free" +then + +cat >> chroot/root/packages.chroot.cfg << EOF +firmware-ivtv firmware-ivtv/license/accepted boolean true +firmware-ipw2x00 firmware-ipw2x00/license/accepted boolean true +EOF + +fi + +# Creating stage file +Create_stagefile .build/chroot_firmware diff --git a/system-build/scripts/build/chroot_hacks b/system-build/scripts/build/chroot_hacks new file mode 100755 index 0000000..f439ca1 --- /dev/null +++ b/system-build/scripts/build/chroot_hacks @@ -0,0 +1,128 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'execute hacks in chroot')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin executing hacks..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/chroot_hacks + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LIVE_IMAGE_TYPE}" in + netboot) + if [ ! -f chroot/sbin/mount.cifs ] + then + Apt chroot install cifs-utils + fi + + if [ ! -d chroot/etc/initramfs-tools ] + then + mkdir chroot/etc/initramfs-tools + fi + + # Configuring initramfs for NFS + if ! grep -qs "BOOT=nfs" chroot/etc/initramfs-tools/initramfs.conf + then + echo "BOOT=nfs" >> chroot/etc/initramfs-tools/initramfs.conf + fi + + if ! grep -qs "NFSROOT=auto" chroot/etc/initramfs-tools/initramfs.conf + then + echo "NFSROOT=auto" >> chroot/etc/initramfs-tools/initramfs.conf + fi + ;; +esac + +# Update initramfs (always, because of udev rules in initrd) +case "${LB_INITRAMFS}" in + system-boot) + #UPDATE_INITRAMFS_OPTIONS="LIVE_GENERATE_UUID=1" + ;; +esac + +if [ "${LB_INITRAMFS}" != "none" ] +then + Chroot chroot "${UPDATE_INITRAMFS_OPTIONS} update-initramfs -k all -t -u" +fi + +# We probably ought to use COMPRESS= in a temporary file in +# /etc/initramfs-tools/conf.d/ instead, but it's hard to pass options that +# way. +case "${LB_INITRAMFS_COMPRESSION}" in + gzip) + ;; + + bzip2) + for INITRAMFS in $(find chroot/boot -name 'initrd*'); do + zcat "${INITRAMFS}" | bzip2 -c ${BZIP2_OPTIONS} > "${INITRAMFS}.new" + mv "${INITRAMFS}.new" "${INITRAMFS}" + echo "$(sha1sum ${INITRAMFS} | awk '{ print $1 }') /boot/$(basename ${INITRAMFS})" > chroot/var/lib/initramfs-tools/$(basename ${INITRAMFS} | sed -e 's|initrd.img-||') + done + ;; + + lzma) + for INITRAMFS in $(find chroot/boot -name 'initrd*'); do + zcat "${INITRAMFS}" | lzma -c ${LZMA_OPTIONS} > "${INITRAMFS}.new" + mv "${INITRAMFS}.new" "${INITRAMFS}" + echo "$(sha1sum ${INITRAMFS} | awk '{ print $1 }') /boot/$(basename ${INITRAMFS})" > chroot/var/lib/initramfs-tools/$(basename ${INITRAMFS} | sed -e 's|initrd.img-||') + done + ;; +esac + +case "${LB_INITRAMFS}" in + system-boot) + ID="1000" + ;; + + *) + ID="" + ;; +esac + +rm -f chroot/etc/hosts + +if [ "${LB_DEBIAN_INSTALLER}" = "live" ] +then + # This is a temporary hack to get rid of fstab; + # needs cleanup in system-boot first to proper fix. + rm -f chroot/etc/fstab + touch chroot/etc/fstab +fi + +if [ "${LB_SWAP_FILE_PATH}" ]; then + dd if=/dev/zero of="chroot/${LB_SWAP_FILE_PATH}" bs=1024k count="${LB_SWAP_FILE_SIZE}" + mkswap "chroot/${LB_SWAP_FILE_PATH}" +fi + +# Creating stage file +Create_stagefile .build/chroot_hacks diff --git a/system-build/scripts/build/chroot_hooks b/system-build/scripts/build/chroot_hooks new file mode 100755 index 0000000..af20b0d --- /dev/null +++ b/system-build/scripts/build/chroot_hooks @@ -0,0 +1,119 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'execute hooks in chroot')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin executing hooks..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/chroot_hooks + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +## Processing distribution hooks + +# Make build config available to chroot hooks. First, make the bind +# mount and then make it read-only. This can't happen in one mount +# command, then the resulting mount will be rw (see mount(8)). Making it +# ro prevents modifications and prevents accidentally removing the +# contents of the config directory when removing the chroot. +mkdir -p chroot/live-build/config +mount -o bind config chroot/live-build/config +mount -o remount,ro,bind config chroot/live-build/config + +# Copying hooks +for _HOOK in ${LB_CHROOT_HOOKS} +do + for LOCATION in "${LIVE_BUILD}/hooks" /usr/share/live/build/hooks + do + for FILE in "${LOCATION}"/????-"${_HOOK}".chroot + do + if [ -e "${FILE}" ] + then + mkdir -p chroot/root/lb_chroot_hooks + cp "${FILE}" chroot/root/lb_chroot_hooks + fi + done + done +done + +# Running hooks +if ls chroot/root/lb_chroot_hooks/* > /dev/null 2>&1 +then + for _HOOK in chroot/root/lb_chroot_hooks/* + do + Chroot chroot "/root/lb_chroot_hooks/$(basename ${_HOOK})" || { Echo_error "${_HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} + rm -f chroot/root/lb_chroot_hooks/"$(basename ${_HOOK})" + done + + rmdir chroot/root/lb_chroot_hooks +fi + +## Processing local hooks +if ls config/hooks/normal/*.chroot config/hooks/live/*.chroot > /dev/null 2>&1 +then + # Restoring cache + Restore_cache cache/packages.chroot + + for HOOK in config/hooks/normal/*.chroot config/hooks/live/*.chroot + do + if [ ! -e "${HOOK}" ] + then + continue + fi + + # Copying hook + cp "${HOOK}" chroot/root + + # Making hook executable + if [ ! -x chroot/root/"$(basename ${HOOK})" ] + then + chmod +x chroot/root/"$(basename ${HOOK})" + fi + + # Executing hook + Chroot chroot "/root/$(basename ${HOOK})" || { Echo_error "${HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} + + # Removing hook + rm -f chroot/root/"$(basename ${HOOK})" + done + + # Saving cache + Save_cache cache/packages.chroot + + # Creating stage file + Create_stagefile .build/chroot_hooks +fi + +# Remove bind mount of build config inside chroot. +umount chroot/live-build/config +rmdir chroot/live-build/config +rmdir chroot/live-build diff --git a/system-build/scripts/build/chroot_hostname b/system-build/scripts/build/chroot_hostname new file mode 100755 index 0000000..ae191a7 --- /dev/null +++ b/system-build/scripts/build/chroot_hostname @@ -0,0 +1,91 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /bin/hostname')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + # Checking stage file + Check_stagefile .build/chroot_hostname + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Create hostname file + Echo_message "Configuring file /etc/hostname" + + echo "localhost.localdomain" > chroot/etc/hostname + + # Create custom hostname + Echo_message "Configuring file /bin/hostname" + + Chroot chroot dpkg-divert --rename --quiet --add /bin/hostname + +cat > chroot/bin/hostname << EOF +#!/bin/sh + +echo "localhost.localdomain" +EOF + + chmod 755 chroot/bin/hostname + + # Creating stage file + Create_stagefile .build/chroot_hostname + ;; + + remove) + Echo_message "Deconfiguring file /etc/hostname" + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Copying hostname from includes, if existing + if [ -e config/includes.chroot/etc/hostname ] + then + cp -a config/includes.chroot/etc/hostname chroot/etc/hostname + fi + + Echo_message "Deconfiguring file /bin/hostname" + + # Remove custom hostname + rm -f chroot/bin/hostname + Chroot chroot dpkg-divert --rename --quiet --remove /bin/hostname + + # Removing stage file + rm -f .build/chroot_hostname + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_hosts b/system-build/scripts/build/chroot_hosts new file mode 100755 index 0000000..9f0da29 --- /dev/null +++ b/system-build/scripts/build/chroot_hosts @@ -0,0 +1,97 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /etc/hosts')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + Echo_message "Configuring file /etc/hosts" + + # Checking stage file + Check_stagefile .build/chroot_hosts + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + if [ -f chroot/etc/hosts ] + then + # Save hosts file + mv chroot/etc/hosts chroot/etc/hosts.orig + fi + + # Creating hosts file + +cat > chroot/etc/hosts << EOF +127.0.0.1 localhost localhost.localdomain +127.0.1.1 debian +EOF + + if [ -f /etc/hosts ] + then + # Append hosts file + #grep -e "127.0.0.1" -e "127.0.1.1" /etc/hosts >> chroot/etc/hosts + cat /etc/hosts >> chroot/etc/hosts + fi + + # Creating stage file + Create_stagefile .build/chroot_hosts + ;; + + remove) + Echo_message "Deconfiguring file /etc/hosts" + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + if [ -e config/includes.chroot/etc/hosts ] + then + # Copying local hosts + cp -a config/includes.chroot/etc/hosts chroot/etc/hosts + rm -f chroot/etc/hosts.orig + elif [ -f chroot/etc/hosts.orig ] + then + # Restore hosts file + mv chroot/etc/hosts.orig chroot/etc/hosts + else + # Blank out hosts file, don't remove in case its a symlink + Truncate chroot/etc/hosts + fi + + # Removing stage file + rm -f .build/chroot_hosts + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_includes b/system-build/scripts/build/chroot_includes new file mode 100755 index 0000000..6498aa3 --- /dev/null +++ b/system-build/scripts/build/chroot_includes @@ -0,0 +1,50 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'copy files into chroot')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin copying chroot includes..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/includes.chroot + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +if Find_files config/includes.chroot/ +then + # Copying includes + cd config/includes.chroot + find . | cpio -dmpu --no-preserve-owner "${OLDPWD}"/chroot + cd "${OLDPWD}" + + # Creating stage file + Create_stagefile .build/includes.chroot +fi diff --git a/system-build/scripts/build/chroot_install-packages b/system-build/scripts/build/chroot_install-packages new file mode 100755 index 0000000..36c0f93 --- /dev/null +++ b/system-build/scripts/build/chroot_install-packages @@ -0,0 +1,94 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'install queued packages into chroot')" +HELP="" +USAGE="${PROGRAM} [--force]" +USAGE="${PROGRAM} {install|live} [--force]" + +_PASS="${1}" +shift + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin installing packages (${_PASS} pass)..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/chroot_install-packages.${PASS} + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Check for packages specified with foreign architecture +_FOREIGN_ARCHITECTURES_FILE="chroot/root/packages.foreign-architectures" +if [ -e "${_FOREIGN_ARCHITECTURES_FILE}" ] && [ -s "${_FOREIGN_ARCHITECTURES_FILE}" ] +then + _APT_ARCHITECTURES_ADDED="0" + + # Check if version of dpkg in chroot supports multiarch + if Chroot chroot dpkg --print-foreign-architectures > /dev/null 2>&1 + then + # Add foregin architectures + while read _ARCHITECTURES_LINE + do + Echo_message "Adding foreign architecture ${_ARCHITECTURES_LINE} to dpkg" + Chroot chroot dpkg --add-architecture ${_ARCHITECTURES_LINE} + + _APT_ARCHITECTURES_ADDED="1" + done < "${_FOREIGN_ARCHITECTURES_FILE}" + + # Tidy up + rm -f "${_FOREIGN_ARCHITECTURES_FILE}" + else + Echo_error "Version of dpkg in chroot does not support foreign architectures." + fi + + # Update apt if foreign architectures were added + if [ "${_APT_ARCHITECTURES_ADDED}" -ne "0" ] + then + Echo_message "Added foreign architectures, updating apt..." + Apt chroot update + fi +fi + +if [ -e chroot/root/packages.chroot ] && [ -s chroot/root/packages.chroot ] +then + # Restoring cache + Restore_cache cache/packages.chroot + + # Installing packages + Chroot chroot "xargs --arg-file=/root/packages.chroot apt-get ${APT_OPTIONS} install" + + # Tidying up + rm -f chroot/root/packages.chroot + + # Saving cache + Save_cache cache/packages.chroot + +fi + +# Creating stage file +Create_stagefile .build/chroot_install-packages.${_PASS} diff --git a/system-build/scripts/build/chroot_interactive b/system-build/scripts/build/chroot_interactive new file mode 100755 index 0000000..f21b6dd --- /dev/null +++ b/system-build/scripts/build/chroot_interactive @@ -0,0 +1,62 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'make build interactive')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_INTERACTIVE}" = "false" ] +then + exit 0 +fi + +Echo_message "Begin interactive build..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/chroot_interactive + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LB_INTERACTIVE}" in + true|shell) + Echo_message "Pausing build: starting interactive shell..." + Chroot chroot "/bin/bash --login" + ;; + x11) + Echo_message "Pausing build: starting interactive X11..." + Chroot chroot "startx" + ;; + xnest) + Echo_message "Pausing build: starting interactive Xnest..." + #Chroot chroot "" # FIXME + ;; +esac + +# Creating stage file +Create_stagefile .build/chroot_interactive diff --git a/system-build/scripts/build/chroot_linux-image b/system-build/scripts/build/chroot_linux-image new file mode 100755 index 0000000..c28cb54 --- /dev/null +++ b/system-build/scripts/build/chroot_linux-image @@ -0,0 +1,60 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'schedule kernel packages for installation')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_LINUX_PACKAGES}" = "none" ] +then + exit 0 +fi + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/chroot_linux-image + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Diverting update-initramfs +#case "${LB_INITRAMFS}" in +# system-boot) +# mv chroot/usr/sbin/update-initramfs chroot/usr/sbin/update-initramfs.live-build +# ;; +#esac + +for FLAVOUR in ${LB_LINUX_FLAVOURS} +do + for PACKAGE in ${LB_LINUX_PACKAGES} + do + echo ${PACKAGE}-${FLAVOUR} >> chroot/root/packages.chroot + done +done + +# Creating stage file +Create_stagefile .build/chroot_linux-image diff --git a/system-build/scripts/build/chroot_live-packages b/system-build/scripts/build/chroot_live-packages new file mode 100755 index 0000000..0e4f2bf --- /dev/null +++ b/system-build/scripts/build/chroot_live-packages @@ -0,0 +1,79 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'schedule live packages for installation')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/chroot_live-packages + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Queue installation of system-boot +if [ -n "${LB_INITRAMFS}" ] && [ "${LB_INITRAMFS}" != "none" ] +then + _PACKAGES="${LB_INITRAMFS}" +fi + +# Queue installation of system-config +if [ -n "${LB_INITSYSTEM}" ] && [ "${LB_INITSYSTEM}" != "none" ] +then + _PACKAGES="${_PACKAGES} system-config" +fi + +# Do initsystem specific hacks +case "${LB_INITSYSTEM}" in + systemd) + _PACKAGES="${_PACKAGES} systemd-sysv" + + if [ -e chroot/var/lib/dpkg/info/sysvinit.list ] + then + Chroot chroot "dpkg --force-remove-essential --purge sysvinit" + fi + ;; + + sysvinit) + _PACKAGES="${_PACKAGES} sysvinit" + + if [ -e chroot/var/lib/dpkg/info/systemd-sysv.list ] + then + Chroot chroot "dpkg --force-remove-essential --purge systemd systemd-sysv" + fi + ;; +esac + +# Install live packages +if [ -n "${_PACKAGES}" ] +then + Chroot chroot "apt-get ${APT_OPTIONS} install ${_PACKAGES}" + + # Creating stage file + Create_stagefile .build/chroot_live-packages +fi diff --git a/system-build/scripts/build/chroot_package-lists b/system-build/scripts/build/chroot_package-lists new file mode 100755 index 0000000..7e93e61 --- /dev/null +++ b/system-build/scripts/build/chroot_package-lists @@ -0,0 +1,120 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'queue install of package lists into chroot')" +HELP="" +USAGE="${PROGRAM} {install|live} [--force]" + +_PASS="${1}" +shift + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin queueing installation of package lists (${_PASS} pass)..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/chroot_package-lists.${_PASS} + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Handling local package lists +if ! ( ls config/package-lists/*.list > /dev/null 2>&1 || \ + ls config/package-lists/*.list.chroot > /dev/null 2>&1 || \ + ls config/package-lists/*.list.chroot_${_PASS} > /dev/null 2>&1 ) +then + exit 0 +fi + +case "${LB_BUILD_WITH_CHROOT}" in + true) + # Checking depends + Check_package chroot /usr/bin/grep-aptavail dctrl-tools + + # Restoring cache + Restore_cache cache/packages.chroot + + # Installing depends + Install_package + ;; + + false) + if [ ! -e /usr/bin/grep-aptavail ]; then + # dctrl-tools + Echo_error "/usr/bin/grep-aptavail - no such file." + exit 1 + fi + ;; +esac + +if [ -e "${LIVE_BUILD}/share/bin/Packages" ] +then + cp "${LIVE_BUILD}/share/bin/Packages" chroot/bin +else + cp /usr/share/live/build/bin/Packages chroot/bin +fi + +for LIST in config/package-lists/*.list \ + config/package-lists/*.list.chroot \ + config/package-lists/*.list.chroot_${_PASS} +do + if [ -e "${LIST}" ] + then + # Generating package list + Expand_packagelist "$(basename ${LIST})" "config/package-lists" \ + | grep -v '^#' >> chroot/root/packages.chroot + fi +done + +# Discover unique package architectures in fully-expanded package list +for _PACKAGE_ARCHITECTURE in $(Discover_package_architectures "chroot/root/packages.chroot") +do + # If this is a foreign architecture, append to packages.foreign-architectures + if [ "${_PACKAGE_ARCHITECTURE}" != "${LB_ARCHITECTURES}" ] + then + Echo_message "Accepting foreign architecture: ${_PACKAGE_ARCHITECTURE}, live image architecture is: ${LB_ARCHITECTURES}" + echo "${_PACKAGE_ARCHITECTURE}" >> chroot/root/packages.foreign-architectures + fi +done + +rm -f chroot/bin/Packages + +case "${LB_BUILD_WITH_CHROOT}" in + true) + # Removing dctrl-tools again if the user has not installed it + if ! grep -qs dctrl-tools chroot/root/packages.chroot + then + # Removing depends + Remove_package + fi + + # Saving cache + Save_cache cache/packages.chroot + ;; +esac + +# Creating stage file +Create_stagefile .build/chroot_package-lists.${_PASS} diff --git a/system-build/scripts/build/chroot_preseed b/system-build/scripts/build/chroot_preseed new file mode 100755 index 0000000..53bd8df --- /dev/null +++ b/system-build/scripts/build/chroot_preseed @@ -0,0 +1,72 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'execute local preseed in chroot')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +Echo_message "Begin executing local preseeds..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/chroot_preseed + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +if ls config/preseed/*.cfg > /dev/null 2>&1 || \ + ls config/preseed/*.cfg.chroot > /dev/null 2>&1 || \ + ls chroot/root/packages.chroot.cfg > /dev/null 2>&1 +then + # Check dependency + Check_package chroot /usr/bin/debconf-set-selections debconf + + # Install dependency + Install_package + + for PRESEED in config/preseed/*.cfg config/preseed/*.cfg.chroot chroot/root/packages.chroot.cfg + do + if [ -e "${PRESEED}" ] + then + # Copying local preseed + cp "${PRESEED}" chroot/root/preseed + + Chroot chroot "debconf-set-selections /root/preseed" + + # Removing local preseed file + rm -f chroot/root/preseed + fi + done + + rm -f chroot/root/packages.chroot.cfg + + # Remove dependency + Remove_package + + # Creating stage file + Create_stagefile .build/chroot_preseed +fi diff --git a/system-build/scripts/build/chroot_proc b/system-build/scripts/build/chroot_proc new file mode 100755 index 0000000..f84c0d4 --- /dev/null +++ b/system-build/scripts/build/chroot_proc @@ -0,0 +1,81 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'mount /proc')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + Echo_message "Begin mounting /proc..." + + # Checking stage file + Check_stagefile .build/chroot_proc + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Creating mountpoint + mkdir -p chroot/proc + + # Mounting /proc + mount proc-live -t proc chroot/proc + + # Creating stage file + Create_stagefile .build/chroot_proc + ;; + + remove) + Echo_message "Begin unmounting /proc..." + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Workaround binfmt-support /proc locking + if [ -e chroot/proc/sys/fs/binfmt_misc/status ] + then + umount chroot/proc/sys/fs/binfmt_misc + fi + + # Unmounting /proc + if [ -e chroot/proc/version ] + then + umount chroot/proc + fi + + # Removing stage file + rm -f .build/chroot_proc + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_resolv b/system-build/scripts/build/chroot_resolv new file mode 100755 index 0000000..7cf55fc --- /dev/null +++ b/system-build/scripts/build/chroot_resolv @@ -0,0 +1,107 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /etc/resolv.conf')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + Echo_message "Configuring file /etc/resolv.conf" + + # Checking stage file + Check_stagefile .build/chroot_resolv + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + if [ -e chroot/etc/resolv.conf ] + then + # Save resolv file or symlink + mv chroot/etc/resolv.conf chroot/etc/resolv.conf.orig + + # Also truncate it, otherwise we'll end up with the one + # created by debootstrap in the final image. + # + # If you want to have a custom resolv.conf, please + # overwrite it with normal local_includes mechanism. + Truncate chroot/etc/resolv.conf.orig + elif [ -L chroot/etc/resolv.conf ] + then + # Move resolv.conf aside if it's a symlink (likely resolvconf) + mv chroot/etc/resolv.conf chroot/etc/resolv.conf.orig + fi + + if [ -f /etc/resolv.conf ] + then + # Copy resolv file + cp /etc/resolv.conf chroot/etc/resolv.conf + fi + + # Creating stage file + Create_stagefile .build/chroot_resolv + ;; + + remove) + Echo_message "Deconfiguring file /etc/resolv.conf" + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + if [ -e config/includes.chroot/etc/resolv.conf ] + then + # Copying local resolv.conf + cp -a config/includes.chroot/etc/resolv.conf chroot/etc/resolv.conf + rm -f chroot/etc/resolv.conf.orig + elif [ -e chroot/etc/resolv.conf.orig ] || [ -L chroot/etc/resolv.conf.orig ] + then + # Restoring resolv file or symlink + mv chroot/etc/resolv.conf.orig chroot/etc/resolv.conf + else + # Truncating resolv file + Truncate chroot/etc/resolv.conf + fi + + # Clean up resolvconf's pollution + if [ -e chroot/etc/resolvconf/resolv.conf.d ] + then + rm -f chroot/etc/resolvconf/resolv.conf.d/original + rm -f chroot/etc/resolvconf/resolv.conf.d/tail + fi + + # Removing stage file + rm -f .build/chroot_resolv + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_selinuxfs b/system-build/scripts/build/chroot_selinuxfs new file mode 100755 index 0000000..66d4639 --- /dev/null +++ b/system-build/scripts/build/chroot_selinuxfs @@ -0,0 +1,78 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'mount /sys/fs/selinux')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + if [ -e /sys/fs/selinux/enforce ] && [ "$(cat /sys/fs/selinux/enforce)" = "1" ] + then + Echo_message "Begin mounting /sys/fs/selinux..." + + # Checking stage file + Check_stagefile .build/chroot_selinuxfs + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Create mountpoint + mkdir -p chroot/sys/fs/selinux + + # Mounting /sys/fs/selinux + mount selinuxfs-live -t selinuxfs chroot/sys/fs/selinux + + # Creating stage file + Create_stagefile .build/chroot_selinuxfs + fi + ;; + + remove) + Echo_message "Begin unmounting /sys/fs/selinux..." + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Unmounting /sys/fs/selinux + if [ -e chroot/sys/fs/selinux/enforce ] + then + umount chroot/sys/fs/selinux + fi + + # Removing stage file + rm -f .build/chroot_selinux + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_sysfs b/system-build/scripts/build/chroot_sysfs new file mode 100755 index 0000000..a0637f1 --- /dev/null +++ b/system-build/scripts/build/chroot_sysfs @@ -0,0 +1,75 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'mount /sys')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + Echo_message "Begin mounting /sys..." + + # Checking stage file + Check_stagefile .build/chroot_sysfs + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Create mountpoint + mkdir -p chroot/sys + + # Mounting /sys + mount sysfs-live -t sysfs chroot/sys + + # Creating stage file + Create_stagefile .build/chroot_sysfs + ;; + + remove) + Echo_message "Begin unmounting /sys..." + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Unmounting /sys + if [ -e chroot/sys/class ] + then + umount chroot/sys + fi + + # Removing stage file + rm -f .build/chroot_sysfs + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_sysv-rc b/system-build/scripts/build/chroot_sysv-rc new file mode 100755 index 0000000..a613fd4 --- /dev/null +++ b/system-build/scripts/build/chroot_sysv-rc @@ -0,0 +1,87 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /usr/sbin/policy-rc.d')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + Echo_message "Configuring file /usr/sbin/policy-rc.d" + + # Checking stage file + Check_stagefile .build/chroot_sysv-rc + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + if [ -e chroot/usr/sbin/policy-rc.d ] + then + # Save policy-rc.d file + Chroot chroot dpkg-divert --rename --quiet --add /usr/sbin/policy-rc.d + fi + + # Create policy-rc.d file +cat > chroot/usr/sbin/policy-rc.d << EOF +#!/bin/sh +echo "All runlevel operations denied by policy" >&2 +exit 101 +EOF + + chmod 0755 chroot/usr/sbin/policy-rc.d + + # Creating stage file + Create_stagefile .build/chroot_sysv-rc + ;; + + remove) + Echo_message "Deconfiguring file /usr/sbin/policy-rc.d" + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + # Remove custom policy-rc.d file + rm -f chroot/usr/sbin/policy-rc.d + + if [ -e chroot/usr/sbin/policy-rc.d.distrib ] + then + # Restore policy-rc.d file + Chroot chroot dpkg-divert --rename --quiet --remove /usr/sbin/policy-rc.d + fi + + # Removing stage file + rm -f .build/chroot_sysv-rc + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/chroot_tmpfs b/system-build/scripts/build/chroot_tmpfs new file mode 100755 index 0000000..a7a1d72 --- /dev/null +++ b/system-build/scripts/build/chroot_tmpfs @@ -0,0 +1,80 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'use tmpfs to speedup the build')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_BUILD_WITH_TMPFS}" != "true" ] +then + exit 0 +fi + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +case "${1}" in + install) + Echo_message "Configuring tmpfs for /var/lib/dpkg" + + # Checking stage file + Check_stagefile .build/chroot_tmpfs + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + mv chroot/var/lib/dpkg chroot/var/lib/dpkg.tmp + mkdir chroot/var/lib/dpkg + mount -t tmpfs tmpfs chroot/var/lib/dpkg + mv chroot/var/lib/dpkg.tmp/* chroot/var/lib/dpkg + rm -rf chroot/var/lib/dpkg.tmp + + # Creating stage file + Create_stagefile .build/chroot_tmpfs + ;; + + remove) + Echo_message "Deconfiguring tmpfs for /var/lib/dpkg" + + # Checking lock file + Check_lockfile .lock + + # Creating lock file + Create_lockfile .lock + + mkdir -p chroot/var/lib/dpkg.tmp + mv chroot/var/lib/dpkg/* chroot/var/lib/dpkg.tmp + umount chroot/var/lib/dpkg + rm -rf chroot/var/lib/dpkg + mv chroot/var/lib/dpkg.tmp chroot/var/lib/dpkg + + # Removing stage file + rm -f .build/chroot_tmpfs + ;; + + *) + Usage + ;; +esac diff --git a/system-build/scripts/build/clean b/system-build/scripts/build/clean new file mode 100755 index 0000000..a40b51d --- /dev/null +++ b/system-build/scripts/build/clean @@ -0,0 +1,166 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Read meta config +if [ "${1}" != "noauto" ] && [ -x auto/clean ] +then + Echo_message "Executing auto/clean script." + ./auto/clean "${@}" + exit ${?} +fi + +if [ "${1}" = "noauto" ] +then + shift +fi + +# Setting static variables +DESCRIPTION="$(Echo 'clean up system build directories')" +HELP="" +USAGE="${PROGRAM} [--all] [--cache] [--chroot] [--binary] [--purge] [--remove] [--stage] [--source]" + +#Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Avoid cases were users accidentally nuke their config/binary +if [ ! -d config ] && [ "$(basename ${PWD})" = "config" ] +then + Echo_error "%s is not a good live-build working directory to clean." "${PWD}" + exit 1 +fi + +rm -f .lock + +if [ -z "${1}" ] +then + ARGUMENTS="--all" +else + ARGUMENTS="${@}" +fi + +for ARGUMENT in ${ARGUMENTS} +do + case "${ARGUMENT}" in + --all) + "${0}" noauto --chroot + "${0}" noauto --binary + "${0}" noauto --stage + "${0}" noauto --source + + rmdir --ignore-fail-on-non-empty auto > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty local/bin > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty local > /dev/null 2>&1 || true + ;; + + --cache) + rm -rf cache + ;; + + --chroot) + Echo_message "Cleaning chroot" + umount -f chroot/run > /dev/null 2>&1 || true + umount -f chroot/sys > /dev/null 2>&1 || true + umount -f chroot/proc/sys/fs/binfmt_misc > /dev/null 2>&1 || true + umount -f chroot/proc > /dev/null 2>&1 || true + umount -f chroot/lib/init/rw > /dev/null 2>&1 || true + umount -f chroot/dev/shm > /dev/null 2>&1 || true + umount -f chroot/dev/pts > /dev/null 2>&1 || true + umount -f chroot/dev > /dev/null 2>&1 || true + umount -f chroot/var/lib/dpkg > /dev/null 2>&1 || true + umount -f chroot/root/config > /dev/null 2>&1 || true + + umount -f chroot/binary.tmp > /dev/null 2>&1 || true + umount -f chroot/dev.tmp/pts > /dev/null 2>&1 || true + + rm -rf chroot chroot.tmp + + rm -f chroot.packages.live chroot.packages.install + rm -f chroot.files + + rm -f .build/chroot* + ;; + + --binary) + umount -f binary.tmp > /dev/null 2>&1 || true + rm -rf binary.tmp binary.deb binary.udeb + rm -f ${LIVE_IMAGE_NAME}*.iso + rm -f ${LIVE_IMAGE_NAME}*.img + rm -f ${LIVE_IMAGE_NAME}*.tar.gz + rm -f ${LIVE_IMAGE_NAME}*.zsync* + rm -f ${LIVE_IMAGE_NAME}.sh + rm -f ${LIVE_IMAGE_NAME}*.contents ${LIVE_IMAGE_NAME}*.packages ${LIVE_IMAGE_NAME}*.files + rm -f MD5SUMS SHA1SUMS SHA256SUMS SHA512SUMS + rm -f md5sum.txt sha1sum.txt sha256sum.txt sha512sum.txt + + rm -rf binary + rm -rf tftpboot + + rm -f .build/binary* + ;; + + --remove) + "${0}" --all + rm -rf cache/packages.* + ;; + + --purge) + "${0}" --all + "${0}" --cache + + if [ -e auto/config ] + then + rm -f .build/config + fi + ;; + + --stage) + rm -rf .build/* + ;; + + --source) + rm -f ${LIVE_IMAGE_NAME}-source*.iso + rm -f ${LIVE_IMAGE_NAME}-source*.img + rm -f ${LIVE_IMAGE_NAME}-source*.tar + rm -f ${LIVE_IMAGE_NAME}-source*.tar.gz + rm -f ${LIVE_IMAGE_NAME}-source*.list + rm -f ${LIVE_IMAGE_NAME}-source-selection.txt + + rm -rf source + + rm -f .build/source* + ;; + + -h|--help) + Help + ;; + + -u|--usage) + Usage + ;; + + -v|--version) + echo "${VERSION}" + exit 0 + ;; + + *) + Usage + exit 1 + ;; + esac +done diff --git a/system-build/scripts/build/config b/system-build/scripts/build/config new file mode 100755 index 0000000..fc710a3 --- /dev/null +++ b/system-build/scripts/build/config @@ -0,0 +1,1379 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +PROGRAM="lb config" +DESCRIPTION="$(Echo 'create configuration for live-build(7)')" +USAGE="${PROGRAM} [--apt-ftp-proxy URL]\n\ +\t [--apt-http-proxy URL]\n\ +\t [--apt-indices true|false]\n\ +\t [--apt-options OPTION|\"OPTIONS\"]\n\ +\t [--apt-pipeline DEPTH]\n\ +\t [--apt-recommends true|false]\n\ +\t [--apt-secure true|false]\n\ +\t [--apt-source-archives true|false]\n\ +\t [-a|--architectures ARCHITECTURE]\n\ +\t [-b|--binary-images iso|iso-hybrid|netboot|tar|hdd]\n\ +\t [--binary-filesystem fat16|fat32|ext2|ext3|ext4|ntfs]\n\ +\t [--bootappend-install PARAMETER|\"PARAMETERS\"]\n\ +\t [--bootappend-live PARAMETER|\"PARAMETERS\"]\n\ +\t [--bootappend-live-failsafe PARAMETER|\"PARAMETERS\"]\n\ +\t [--bootloaders grub-legacy|grub-pc|syslinux]\n\ +\t [--cache true|false]\n\ +\t [--cache-indices true|false]\n\ +\t [--cache-packages true|false]\n\ +\t [--cache-stages STAGE|\"STAGES\"]\n\ +\t [--checksums md5|sha1|sha256|sha512|none]\n\ +\t [--compression bzip2|gzip|lzip|xz|none]\n\ +\t [--config GIT_URL::GIT_BRANCH]\n\ +\t [--zsync true|false]\n\ +\t [--build-with-chroot true|false]\n\ +\t [--chroot-filesystem ext2|ext3|ext4|squashfs|jffs2|none]\n\ +\t [--clean\n\ +\t [-c|--conffile FILE]\n\ +\t [--debconf-frontend dialog|editor|noninteractive|readline]\n\ +\t [--debconf-priority low|medium|high|critical]\n\ +\t [--debian-installer true|cdrom|netinst|netboot|businesscard|live|false]\n\ +\t [--debian-installer-distribution daily|CODENAME]\n\ +\t [--debian-installer-preseedfile FILE|URL]\n\ +\t [--debian-installer-gui true|false]\n\ +\t [--debug]\n\ +\t [-d|--distribution CODENAME]\n\ +\t [--parent-distribution CODENAME]\n\ +\t [--parent-debian-installer-distribution CODENAME]\n\ +\t [--dump]\n\ +\t [--fdisk fdisk|fdisk.dist]\n\ +\t [--force]\n\ +\t [--grub-splash FILE]\n\ +\t [--gzip-options OPTION|\"OPTIONS\"]\n\ +\t [--ignore-system-defaults]\n\ +\t [--initramfs auto|none|system-boot]\n\ +\t [--initramfs-compression bzip2|gzip|lzma]\n\ +\t [--initsystem sysvinit|systemd|none]\n\ +\t [--image-name [NAME]\n\ +\t [--interactive shell]\n\ +\t [--isohybrid-options OPTION|\"OPTIONS\"]\n\ +\t [--hdd-label LABEL]\n\ +\t [--hdd-size MB]\n\ +\t [--hdd-partition-start [parted unit, e.g. 63s]\n\ +\t [--iso-application NAME]\n\ +\t [--iso-preparer NAME]\n\ +\t [--iso-publisher NAME]\n\ +\t [--iso-volume NAME]\n\ +\t [--jffs2-eraseblock SIZE]\n\ +\t [--keyring-packages PACKAGE|\"PACKAGES\"]\n\ +\t [-k|--linux-flavours FLAVOUR|\"FLAVOURS\"]\n\ +\t [--linux-packages \"PACKAGES\"]\n\ +\t [--losetup losetup|losetup.orig]\n\ +\t [--memtest memtest86+|memtest86|none]\n\ +\t [-m|--parent-mirror-bootstrap URL]\n\ +\t [--parent-mirror-chroot URL]\n\ +\t [--parent-mirror-chroot-security URL]\n\ +\t [--parent-mirror-binary URL]\n\ +\t [--parent-mirror-binary-security URL]\n\ +\t [--parent-mirror-debian-installer URL]\n\ +\t [--mirror-bootstrap URL]\n\ +\t [--mirror-chroot URL]\n\ +\t [--mirror-chroot-security URL]\n\ +\t [--mirror-binary URL]\n\ +\t [--mirror-binary-security URL]\n\ +\t [--mirror-debian-installer URL]\n\ +\t [--mode debian]\n\ +\t [--system live|normal]\n\ +\t [--net-root-filesystem nfs|cfs]\n\ +\t [--net-root-mountoptions OPTIONS]\n\ +\t [--net-root-path PATH]\n\ +\t [--net-root-server IP|HOSTNAME]\n\ +\t [--net-cow-filesystem nfs|cfs]\n\ +\t [--net-cow-mountoptions OPTIONS]\n\ +\t [--net-cow-path PATH]\n\ +\t [--net-cow-server IP|HOSTNAME]\n\ +\t [--net-tarball true|false]\n\ +\t [--quiet]\n\ +\t [--archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\ +\t [--parent-archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\ +\t [--security true|false]\n\ +\t [--source true|false]\n\ +\t [-s|--source-images iso|netboot|tar|hdd]\n\ +\t [--firmware-binary true|false]\n\ +\t [--firmware-chroot true|false]\n\ +\t [--swap-file-path PATH]\n\ +\t [--swap-file-size MB]\n\ +\t [--tasksel apt|tasksel]\n\ +\t [--updates true|false]\n\ +\t [--backports true|false]\n\ +\t [--verbose]\n\ +\t [--loadlin true|false]\n\ +\t [--win32-loader true|false]\n\ +\t [--bootstrap-qemu-exclude PACKAGES]\n\ +\t [--bootstrap-qemu-static PATH]\n\ +\t [--bootstrap-qemu-arch ARCH]" + + +Local_arguments () +{ + LONG_OPTIONS="apt:,apt-ftp-proxy:,apt-http-proxy:,apt-options:,debootstrap-options:, + apt-pipeline:,apt-recommends:,apt-secure:,apt-source-archives:,bootstrap:,cache:,cache-indices:,cache-packages:, + cache-stages:,debconf-frontend:,debconf-priority:,dump, + initramfs:,initramfs-compression:,initsystem:,fdisk:,losetup:,mode:,system:,tasksel:, + architectures:,clean, + distribution:,parent-distribution:,parent-debian-installer-distribution:,parent-mirror-bootstrap:,parent-mirror-chroot:,parent-mirror-chroot-security:,parent-mirror-binary:, + parent-mirror-binary-security:,parent-mirror-debian-installer:, + mirror-bootstrap:,mirror-chroot:,mirror-chroot-security:,mirror-binary:, + mirror-binary-security:,mirror-debian-installer:, + archive-areas:,parent-archive-areas:,chroot-filesystem:, + gzip-options:,image-name:,interactive:,keyring-packages:,linux-flavours:,linux-packages:, + security:,updates:,backports:,binary-filesystem:,binary-images:, + apt-indices:,bootappend-install:,bootappend-live:,bootappend-live-failsafe:,bootloaders:,checksums:,compression:,config:,zsync:,build-with-chroot:, + debian-installer:,debian-installer-distribution:,debian-installer-preseedfile:,debian-installer-gui:, + grub-splash:,isohybrid-options:,hdd-label:,hdd-size:,hdd-partition-start:,iso-application:,iso-preparer:,iso-publisher:, + iso-volume:,jffs2-eraseblock:,memtest:,net-root-filesystem:,net-root-mountoptions:, + net-root-path:,net-root-server:,net-cow-filesystem:,net-cow-mountoptions:,net-cow-path:, + net-cow-server:,net-tarball:,firmware-binary:,firmware-chroot:,swap-file-path:,swap-file-size:, + loadlin:,win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force, + help,ignore-system-defaults,quiet,usage,verbose,version,bootstrap-qemu-static:,bootstrap-qemu-arch:, + bootstrap-qemu-exclude:" + # Remove spaces added by indentation + LONG_OPTIONS="$(echo ${LONG_OPTIONS} | tr -d ' ')" + ARGUMENTS="$(getopt --longoptions ${LONG_OPTIONS} --name="${PROGRAM}" --options a:f:d:m:l:k:p:b:e:s:c:huv --shell sh -- "${@}")" + + if [ "${?}" != "0" ] + then + Echo_error "terminating" >&2 + exit 1 + fi + + eval set -- "${ARGUMENTS}" + + while true + do + case "${1}" in + --dump) + # Dump version + if [ -x "$(which dpkg-query 2>/dev/null)" ] + then + VERSION_DPKG="$(dpkg-query -f='${Version}' --show live-build)" + fi + + Echo "%s: This is live-build version %s" "${0}" "${VERSION_DPKG:-${VERSION}}" + + # Dump conffile contents + Print_conffiles config/all config/common config/bootstrap config/system config/binary config/source + + # Dump contents of directories that contain text files + for DIRECTORY in config/package-lists config/apt config/preseed config/rootfs + do + if Find_files "${DIRECTORY}" + then + Echo_file "${DIRECTORY}"/* + fi + done + + # Dump directory listings of all directories under config/ + for DIRECTORY in $(find config/ -mindepth 1 -maxdepth 1 -type d) + do + if Find_files "${DIRECTORY}" + then + ls -lR "${DIRECTORY}" | while read LINE + do + echo "${DIRECTORY}: ${LINE}" + done + fi + done + + exit 0 + ;; + + --clean) + _CLEAN="true" + shift + ;; + + # config/common + --apt) + LB_APT="${2}" + shift 2 + ;; + + --apt-ftp-proxy) + LB_APT_FTP_PROXY="${2}" + shift 2 + ;; + + --apt-http-proxy) + LB_APT_HTTP_PROXY="${2}" + shift 2 + ;; + + --apt-indices) + LB_APT_INDICES="${2}" + shift 2 + ;; + + --apt-options) + APT_OPTIONS="${2}" + shift 2 + ;; + + --apt-pipeline) + LB_APT_PIPELINE="${2}" + shift 2 + ;; + + --apt-recommends) + LB_APT_RECOMMENDS="${2}" + shift 2 + ;; + + --apt-secure) + LB_APT_SECURE="${2}" + shift 2 + ;; + + --apt-source-archives) + LB_APT_SOURCE_ARCHIVES="${2}" + shift 2 + ;; + + --debootstrap-options) + DEBOOTSTRAP_OPTIONS="${2}" + shift 2 + ;; + + --cache) + LB_CACHE="${2}" + shift 2 + ;; + + --cache-indices) + LB_CACHE_INDICES="${2}" + shift 2 + ;; + + --cache-packages) + LB_CACHE_PACKAGES="${2}" + shift 2 + ;; + + --cache-stages) + LB_CACHE_STAGES="${2}" + shift 2 + ;; + + --debconf-frontend) + LB_DEBCONF_FRONTEND="${2}" + shift 2 + ;; + + --debconf-priority) + LB_DEBCONF_PRIORITY="${2}" + shift 2 + ;; + + --initramfs) + LB_INITRAMFS="${2}" + shift 2 + ;; + + --initramfs-compression) + LB_INITRAMFS_COMPRESSION="${2}" + shift 2 + ;; + + --initsystem) + LB_INITSYSTEM="${2}" + shift 2 + ;; + + --fdisk) + LB_FDISK="${2}" + shift 2 + ;; + + --losetup) + LB_LOSETUP="${2}" + shift 2 + ;; + + --mode) + LB_MODE="${2}" + shift 2 + ;; + + --system) + LB_SYSTEM="${2}" + shift 2 + ;; + + --tasksel) + LB_TASKSEL="${2}" + shift 2 + ;; + + # config/bootstrap + -a|--architectures) + LB_ARCHITECTURES="${2}" + shift 2 + ;; + + -d|--distribution) + LB_DISTRIBUTION="${2}" + shift 2 + ;; + + --parent-distribution) + LB_PARENT_DISTRIBUTION="${2}" + shift 2 + ;; + + -m|--parent-mirror-bootstrap) + LB_PARENT_MIRROR_BOOTSTRAP="${2}" + shift 2 + ;; + + --parent-mirror-chroot) + LB_PARENT_MIRROR_CHROOT="${2}" + shift 2 + ;; + + --parent-mirror-chroot-security) + LB_PARENT_MIRROR_CHROOT_SECURITY="${2}" + shift 2 + ;; + + --parent-mirror-binary) + LB_PARENT_MIRROR_BINARY="${2}" + shift 2 + ;; + + --parent-mirror-binary-security) + LB_PARENT_MIRROR_BINARY_SECURITY="${2}" + shift 2 + ;; + + --parent-mirror-debian-installer) + LB_PARENT_MIRROR_DEBIAN_INSTALLER="${2}" + shift 2 + ;; + + --mirror-bootstrap) + LB_MIRROR_BOOTSTRAP="${2}" + shift 2 + ;; + + --mirror-chroot) + LB_MIRROR_CHROOT="${2}" + shift 2 + ;; + + --mirror-chroot-security) + LB_MIRROR_CHROOT_SECURITY="${2}" + shift 2 + ;; + + --mirror-binary) + LB_MIRROR_BINARY="${2}" + shift 2 + ;; + + --mirror-binary-security) + LB_MIRROR_BINARY_SECURITY="${2}" + shift 2 + ;; + + --mirror-debian-installer) + LB_MIRROR_DEBIAN_INSTALLER="${2}" + shift 2 + ;; + + --archive-areas) + LB_ARCHIVE_AREAS="${2}" + shift 2 + ;; + + --parent-archive-areas) + LB_PARENT_ARCHIVE_AREAS="${2}" + shift 2 + ;; + + # config/system + --chroot-filesystem) + LB_CHROOT_FILESYSTEM="${2}" + shift 2 + ;; + + --gzip-options) + GZIP_OPTIONS="${2}" + shift 2 + ;; + + --image-name) + LIVE_IMAGE_NAME="${2}" + shift 2 + ;; + + --interactive) + LB_INTERACTIVE="${2}" + shift 2 + ;; + + --keyring-packages) + LB_KEYRING_PACKAGES="${2}" + shift 2 + ;; + + -k|--linux-flavours) + LB_LINUX_FLAVOURS="${2}" + shift 2 + ;; + + --linux-packages) + LB_LINUX_PACKAGES="${2}" + shift 2 + ;; + + --security) + LB_SECURITY="${2}" + shift 2 + ;; + + --updates) + LB_UPDATES="${2}" + shift 2 + ;; + + --backports) + LB_BACKPORTS="${2}" + shift 2 + ;; + + # config/binary + --binary-filesystem) + LB_BINARY_FILESYSTEM="${2}" + shift 2 + ;; + + -b|--binary-images) + LIVE_IMAGE_TYPE="${2}" + shift 2 + ;; + + --bootappend-live) + LB_BOOTAPPEND_LIVE="${2}" + shift 2 + ;; + + --bootappend-live-failsafe) + LB_BOOTAPPEND_LIVE_FAILSAFE="${2}" + shift 2 + ;; + + --bootappend-install) + LB_BOOTAPPEND_INSTALL="${2}" + shift 2 + ;; + + --bootloaders) + LB_BOOTLOADERS="${2}" + shift 2 + ;; + + --checksums) + LB_CHECKSUMS="${2}" + shift 2 + ;; + + --compression) + LB_COMPRESSION="${2}" + shift 2 + ;; + + --config) + _CONFIG="${2}" + shift 2 + ;; + + --zsync) + LB_ZSYNC="${2}" + shift 2 + ;; + + --build-with-chroot) + LB_BUILD_WITH_CHROOT="${2}" + shift 2 + ;; + + --debian-installer) + LB_DEBIAN_INSTALLER="${2}" + shift 2 + ;; + + --debian-installer-distribution) + LB_DEBIAN_INSTALLER_DISTRIBUTION="${2}" + shift 2 + ;; + + --parent-debian-installer-distribution) + LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${2}" + shift 2 + ;; + + --debian-installer-preseedfile) + LB_DEBIAN_INSTALLER_PRESEEDFILE="${2}" + shift 2 + ;; + + --debian-installer-gui) + LB_DEBIAN_INSTALLER_GUI="${2}" + shift 2 + ;; + + --grub-splash) + LB_GRUB_SPLASH="${2}" + shift 2 + ;; + + --isohybrid-options) + LB_ISOHYBRID_OPTIONS="${2}" + shift 2 + ;; + + --hdd-label) + LB_HDD_LABEL="${2}" + shift 2 + ;; + + --hdd-size) + LB_HDD_SIZE="${2}" + shift 2 + ;; + + --hdd-partition-start) + LB_HDD_PARTITION_START="${2}" + shift 2 + ;; + + --iso-application) + LB_ISO_APPLICATION="${2}" + shift 2 + ;; + + --iso-preparer) + LB_ISO_PREPARER="${2}" + shift 2 + ;; + + --iso-publisher) + LB_ISO_PUBLISHER="${2}" + shift 2 + ;; + + --iso-volume) + LB_ISO_VOLUME="${2}" + shift 2 + ;; + + --jffs2-eraseblock) + LB_JFFS2_ERASEBLOCK="${2}" + shift 2 + ;; + + --memtest) + LB_MEMTEST="${2}" + shift 2 + ;; + + --net-root-filesystem) + LB_NET_ROOT_FILESYSTEM="${2}" + shift 2 + ;; + + --net-root-mountoptions) + LB_NET_ROOT_MOUNTOPTIONS="${2}" + shift 2 + ;; + + --net-root-path) + LB_NET_ROOT_PATH="${2}" + shift 2 + ;; + + --net-root-server) + LB_NET_ROOT_SERVER="${2}" + shift 2 + ;; + + --net-cow-filesystem) + LB_NET_COW_FILESYSTEM="${2}" + shift 2 + ;; + + --net-cow-mountoptions) + LB_NET_COW_MOUNTOPTIONS="${2}" + shift 2 + ;; + + --net-cow-path) + LB_NET_COW_PATH="${2}" + shift 2 + ;; + + --net-cow-server) + LB_NET_COW_SERVER="${2}" + shift 2 + ;; + + --net-tarball) + LB_NET_TARBALL="${2}" + shift 2 + ;; + + --firmware-binary) + LB_FIRMWARE_BINARY="${2}" + shift 2 + ;; + + --firmware-chroot) + LB_FIRMWARE_CHROOT="${2}" + shift 2 + ;; + + --swap-file-path) + LB_SWAP_FILE_PATH="${2}" + shift 2 + ;; + + --swap-file-size) + LB_SWAP_FILE_SIZE="${2}" + shift 2 + ;; + + --loadlin) + LB_LOADLIN="${2}" + shift 2 + ;; + + --win32-loader) + LB_WIN32_LOADER="${2}" + shift 2 + ;; + + --bootstrap-qemu-arch) + LB_BOOTSTRAP_QEMU_ARCHITECTURES="${2}" + shift 2 + ;; + + --bootstrap-qemu-exclude) + LB_BOOTSTRAP_QEMU_EXCLUDE="${2}" + shift 2 + ;; + + --bootstrap-qemu-static) + LB_BOOTSTRAP_QEMU_STATIC="${2}" + shift 2 + ;; + + # config/source + --source) + LB_SOURCE="${2}" + shift 2 + ;; + + -s|--source-images) + LB_SOURCE_IMAGES="${2}" + shift 2 + ;; + + # other + --breakpoints) + _BREAKPOINTS="true" + shift + ;; + + -c|--conffile) + _CONFFILE="${2}" + shift 2 + ;; + + --color) + _COLOR="true" + shift + ;; + + --debug) + _DEBUG="true" + shift + ;; + + --force) + _FORCE="true" + shift + ;; + + -h|--help) + Help + shift + ;; + + --ignore-system-defaults) + shift + ;; + + --quiet) + _QUIET="true" + shift + ;; + + -u|--usage) + Usage + shift + ;; + + --verbose) + _VERBOSE="true" + shift + ;; + + -v|--version) + echo "${VERSION}" + exit 0 + ;; + + --) + shift + break + ;; + + *) + Echo_error "internal error %s" "${0}" + exit 1 + ;; + esac + done +} + +Local_arguments "${@}" + +if [ -e .git ] && [ -n "${_CONFIG}" ] +then + if [ "${1}" != "noauto" ] + then + Echo_message "Ignoring --config ${_CONFIG}: ${PWD} is already a git repository" + fi + + _CONFIG="" +fi + +if [ -e .build/config ] && [ -n "${_CONFIG}" ] +then + if [ "${1}" != "noauto" ] + then + Echo_message "Ignoring --config ${_CONFIG}: ${PWD} is already a live-build configuration tree" + fi + + _CONFIG="" +fi + +if [ -n "${_CONFIG}" ] +then + if [ -e "${_CONFIG}" ] || [ -e "/usr/share/live/images/${_CONFIG}" ] + then + if [ ! -e "${_CONFIG}" ] && [ -e "/usr/share/live/images/${_CONFIG}" ] + then + _CONFIG="/usr/share/live/images/${_CONFIG}" + fi + + Echo_message "Copying ${_CONFIG}" + tar -C "${_CONFIG}" -c . | tar -C ./ -x + else + _GIT_REPOSITORY="$(echo ${_CONFIG} | sed -e 's|::.*$||')" + + Echo_message "Cloning ${_GIT_REPOSITORY}" + git clone ${_GIT_REPOSITORY} ./ + + if [ "${_GIT_REPOSITORY}" != "${_CONFIG}" ] + then + _GIT_BRANCH="$(echo ${_CONFIG} | awk -F\:\: '{ print $NF }')" + + Echo_message "Checking out ${_GIT_BRANCH}" + git checkout ${_GIT_BRANCH} + fi + fi + + if [ -e auto/config ] + then + _EXTRA_OPTIONS="$(echo ${@} | sed -e "s|--config ${_GIT_REPOSITORY}::${_GIT_BRANCH}||g" -e "s|--config ${_GIT_REPOSITORY}||g")" + + Echo_message "The following extra options specified to lb config are going to be added to auto/config: ${_EXTRA_OPTIONS}" + sed -i -e "s|\"\${@}\"|${_EXTRA_OPTIONS} \"\${@}\"|" auto/config + fi +fi + +# Read meta config +if [ "${1}" != "noauto" ] && [ -x auto/config ] +then + Echo_message "Executing auto/config script." + ./auto/config "${@}" + exit ${?} +fi + +if [ "${1}" = "noauto" ] +then + shift +fi + +# Reading system configuration +if ls /etc/live/build.conf > /dev/null 2>&1 || ls /etc/live/build/* > /dev/null 2>&1 +then + if In_list "--ignore-system-defaults" "${@}" + then + Echo_message "Ignoring defaults in %s" "/etc/live/build.conf" + else + Echo_message "Using defaults in %s" "/etc/live/build.conf" + + Read_conffiles /etc/live/build.conf /etc/live/build/* + fi +fi + +# Reading existing configuration +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source + +Local_arguments "${@}" + +if [ -n "${_CONFFILE}" ] +then + Read_conffiles "${_CONFFILE}" +fi + +# Setting defaults +Set_defaults + +# Checking defaults +Check_defaults + +if [ ! -e config ] +then + Echo_message "Creating config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system" + mkdir config +else + Echo_message "Updating config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system" +fi + +# Creating live-build configuration +cat > config/common << EOF +# config/common - common options for live-build(7) + +# \$LB_APT_FTP_PROXY: set apt ftp proxy +# (Default: autodetected or empty) +LB_APT_FTP_PROXY="${LB_APT_FTP_PROXY}" + +# \$LB_APT_HTTP_PROXY: set apt http proxy +# (Default: autodetected or empty) +LB_APT_HTTP_PROXY="${LB_APT_HTTP_PROXY}" + +# \$LB_APT_PIPELINE: set apt pipeline depth +# (Default: ${LB_APT_PIPELINE}) +LB_APT_PIPELINE="${LB_APT_PIPELINE}" + +# \$LB_APT_RECOMMENDS: set apt recommends +# (Default: ${LB_APT_RECOMMENDS}) +LB_APT_RECOMMENDS="${LB_APT_RECOMMENDS}" + +# \$LB_APT_SECURE: set apt security +# (Default: ${LB_APT_SECURE}) +LB_APT_SECURE="${LB_APT_SECURE}" + +# \$LB_APT_SOURCE_ARCHIVES: set apt source entries in sources.list +# (Default: ${LB_APT_SOURCE_ARCHIVES}) +LB_APT_SOURCE_ARCHIVES="${LB_APT_SOURCE_ARCHIVES}" + +# \$LB_CACHE: control cache +# (Default: ${LB_CACHE}) +LB_CACHE="${LB_CACHE}" + +# \$LB_CACHE_INDICES: control if downloaded package indices should be cached +# (Default: ${LB_CACHE_INDICES}) +LB_CACHE_INDICES="${LB_CACHE_INDICES}" + +# \$LB_CACHE_PACKAGES: control if downloaded packages files should be cached +# (Default: ${LB_CACHE_PACKAGES}) +LB_CACHE_PACKAGES="${LB_CACHE_PACKAGES}" + +# \$LB_CACHE_STAGES: control if completed stages should be cached +# (Default: ${LB_CACHE_STAGES}) +LB_CACHE_STAGES="${LB_CACHE_STAGES}" + +# \$LB_DEBCONF_FRONTEND: set debconf(1) frontend to use +# (Default: ${LB_DEBCONF_FRONTEND}) +LB_DEBCONF_FRONTEND="${LB_DEBCONF_FRONTEND}" + +# \$LB_DEBCONF_PRIORITY: set debconf(1) priority to use +# (Default: ${LB_DEBCONF_PRIORITY}) +LB_DEBCONF_PRIORITY="${LB_DEBCONF_PRIORITY}" + +# \$LB_INITRAMFS: set initramfs hook +# (Default: ${LB_INITRAMFS}) +LB_INITRAMFS="${LB_INITRAMFS}" + +# \$LB_INITRAMFS_COMPRESSION: set initramfs compression +# (Default: ${LB_INITRAMFS_COMPRESSION}) +LB_INITRAMFS_COMPRESSION="${LB_INITRAMFS_COMPRESSION}" + +# \$LB_INITSYSTEM: set init system +# (Default: ${LB_INITSYSTEM}) +LB_INITSYSTEM="${LB_INITSYSTEM}" + +# \$LB_FDISK: set fdisk program +# (Default: autodetected) +LB_FDISK="${LB_FDISK}" + +# \$LB_LOSETUP: set losetup program +# (Default: autodetected) +LB_LOSETUP="${LB_LOSETUP}" + +# \$LB_MODE: set distribution mode +# (Default: ${LB_MODE}) +LB_MODE="${LB_MODE}" + +# \$LB_SYSTEM: set system type +# (Default: ${LB_SYSTEM}) +LB_SYSTEM="${LB_SYSTEM}" + +# \$LB_TASKSEL: set tasksel program +# (Default: ${LB_TASKSEL}) +LB_TASKSEL="${LB_TASKSEL}" + +# live-build options + +# \$_BREAKPOINTS: enable breakpoints +# (Default: ${_BREAKPOINTS}) +#_BREAKPOINTS="${_BREAKPOINTS}" + +# \$_DEBUG: enable debug +# (Default: ${_DEBUG}) +#_DEBUG="${_DEBUG}" + +# \$_COLOR: enable color +# (Default: ${_COLOR}) +#_COLOR="${_COLOR}" + +# \$_FORCE: enable force +# (Default: ${_FORCE}) +#_FORCE="${_FORCE}" + +# \$_QUIET: enable quiet +# (Default: ${_QUIET}) +_QUIET="${_QUIET}" + +# \$_VERBOSE: enable verbose +# (Default: ${_VERBOSE}) +#_VERBOSE="${_VERBOSE}" + +# Internal stuff (FIXME) +APT_OPTIONS="${APT_OPTIONS}" +DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS}" +GZIP_OPTIONS="${GZIP_OPTIONS}" +ISOHYBRID_OPTIONS="${ISOHYBRID_OPTIONS}" +EOF + +# Creating lb_bootstrap_* configuration +cat > config/bootstrap << EOF +# config/bootstrap - options for live-build(7), bootstrap stage + +# \$LB_DISTRIBUTION: select distribution to use +# (Default: ${LB_DISTRIBUTION}) +LB_DISTRIBUTION="${LB_DISTRIBUTION}" + +# \$LB_PARENT_DISTRIBUTION: select parent distribution to use +# (Default: ${LB_PARENT_DISTRIBUTION}) +LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION}" + +# \$LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION: select parent distribution for debian-installer to use +# (Default: ${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}) +LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}" + +# \$LB_PARENT_MIRROR_BOOTSTRAP: set parent mirror to bootstrap from +# (Default: ${LB_PARENT_MIRROR_BOOTSTRAP}) +LB_PARENT_MIRROR_BOOTSTRAP="${LB_PARENT_MIRROR_BOOTSTRAP}" + +# \$LB_PARENT_MIRROR_CHROOT: set parent mirror to fetch packages from +# (Default: ${LB_PARENT_MIRROR_CHROOT}) +LB_PARENT_MIRROR_CHROOT="${LB_PARENT_MIRROR_CHROOT}" + +# \$LB_PARENT_MIRROR_CHROOT_SECURITY: set security parent mirror to fetch packages from +# (Default: ${LB_PARENT_MIRROR_CHROOT_SECURITY}) +LB_PARENT_MIRROR_CHROOT_SECURITY="${LB_PARENT_MIRROR_CHROOT_SECURITY}" + +# \$LB_PARENT_MIRROR_BINARY: set parent mirror which ends up in the image +# (Default: ${LB_PARENT_MIRROR_BINARY}) +LB_PARENT_MIRROR_BINARY="${LB_PARENT_MIRROR_BINARY}" + +# \$LB_PARENT_MIRROR_BINARY_SECURITY: set security parent mirror which ends up in the image +# (Default: ${LB_PARENT_MIRROR_BINARY_SECURITY}) +LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY}" + +# \$LB_PARENT_MIRROR_DEBIAN_INSTALLER: set debian-installer parent mirror +# (Default: ${LB_PARENT_MIRROR_BOOTSTRAP}) +LB_PARENT_MIRROR_DEBIAN_INSTALLER="${LB_PARENT_MIRROR_DEBIAN_INSTALLER}" + +# \$LB_MIRROR_BOOTSTRAP: set mirror to bootstrap from +# (Default: ${LB_MIRROR_BOOTSTRAP}) +LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP}" + +# \$LB_MIRROR_CHROOT: set mirror to fetch packages from +# (Default: ${LB_MIRROR_CHROOT}) +LB_MIRROR_CHROOT="${LB_MIRROR_CHROOT}" + +# \$LB_MIRROR_CHROOT_SECURITY: set security mirror to fetch packages from +# (Default: ${LB_MIRROR_CHROOT_SECURITY}) +LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY}" + +# \$LB_MIRROR_BINARY: set mirror which ends up in the image +# (Default: ${LB_MIRROR_BINARY}) +LB_MIRROR_BINARY="${LB_MIRROR_BINARY}" + +# \$LB_MIRROR_BINARY_SECURITY: set security mirror which ends up in the image +# (Default: ${LB_MIRROR_BINARY_SECURITY}) +LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY}" + +# \$LB_MIRROR_DEBIAN_INSTALLER: set debian-installer mirror +# (Default: ${LB_MIRROR_BOOTSTRAP}) +LB_MIRROR_DEBIAN_INSTALLER="${LB_MIRROR_DEBIAN_INSTALLER}" + +# \$LB_BOOTSTRAP_QEMU_ARCHITECTURES: architectures to use foreign bootstrap +# (Default: ${LB_BOOTSTRAP_QEMU_ARCHITECTURES}) +LB_BOOTSTRAP_QEMU_ARCHITECTURES="${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" + +# \$LB_BOOTSTRAP_QEMU_EXCLUDE: packages to exclude during foreign bootstrap +# (Default: ${LB_BOOTSTRAP_QEMU_EXCLUDE}) +LB_BOOTSTRAP_QEMU_EXCLUDE="${LB_BOOTSTRAP_QEMU_EXCLUDE}" + +# \$LB_BOOTSTRAP_QEMU_STATIC: static qemu binary for foreign bootstrap +# (Default: ${LB_BOOTSTRAP_QEMU_STATIC}) +LB_BOOTSTRAP_QEMU_STATIC="${LB_BOOTSTRAP_QEMU_STATIC}" +EOF + +# Creating lb_chroot_* configuration +mkdir -p config/archives +mkdir -p config/apt +mkdir -p config/packages +mkdir -p config/packages.chroot +mkdir -p config/package-lists +mkdir -p config/preseed + +cat > config/system << EOF +# config/system - options for live-build(7), chroot stage + +# \$LB_CHROOT_FILESYSTEM: set chroot filesystem +# (Default: ${LB_CHROOT_FILESYSTEM}) +LB_CHROOT_FILESYSTEM="${LB_CHROOT_FILESYSTEM}" + +# \$LB_UNION_FILESYSTEM: set union filesystem +# (Default: ${LB_UNION_FILESYSTEM}) +LB_UNION_FILESYSTEM="${LB_UNION_FILESYSTEM}" + +# \$LB_INTERACTIVE: set interactive build +# (Default: ${LB_INTERACTIVE}) +LB_INTERACTIVE="${LB_INTERACTIVE}" + +# \$LB_KEYRING_PACKAGES: set keyring packages +# (Default: empty) +LB_KEYRING_PACKAGES="${LB_KEYRING_PACKAGES}" + +# \$LB_LINUX_FLAVOURS: set kernel flavour to use +# (Default: autodetected) +LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS}" + +# \$LB_LINUX_PACKAGES: set kernel packages to use +# (Default: autodetected) +LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES}" + +# \$LB_SECURITY: enable security updates +# (Default: ${LB_SECURITY}) +LB_SECURITY="${LB_SECURITY}" + +# \$LB_UPDATES: enable updates updates +# (Default: ${LB_UPDATES}) +LB_UPDATES="${LB_UPDATES}" + +# \$LB_BACKPORTS: enable backports updates +# (Default: ${LB_BACKPORTS}) +LB_BACKPORTS="${LB_BACKPORTS}" +EOF + +# Creating lb_binary_* configuration +mkdir -p config/debian-installer +mkdir -p config/includes.installer +mkdir -p config/packages.binary +mkdir -p config/package-lists +mkdir -p config/rootfs + +cat > config/binary << EOF +# config/binary - options for live-build(7), binary stage + +# \$LB_BINARY_FILESYSTEM: set image filesystem +# (Default: ${LB_BINARY_FILESYSTEM}) +LB_BINARY_FILESYSTEM="${LB_BINARY_FILESYSTEM}" + +# \$LB_APT_INDICES: set apt generic indices +# (Default: ${LB_APT_INDICES}) +LB_APT_INDICES="${LB_APT_INDICES}" + +# \$LB_BOOTAPPEND_LIVE: set boot parameters +# (Default: empty) +LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE}" + +# \$LB_BOOTAPPEND_INSTALL: set boot parameters +# (Default: empty) +LB_BOOTAPPEND_INSTALL="${LB_BOOTAPPEND_INSTALL}" + +# \$LB_BOOTAPPEND_LIVE_FAILSAFE: set boot parameters +# (Default: empty) +LB_BOOTAPPEND_LIVE_FAILSAFE="${LB_BOOTAPPEND_LIVE_FAILSAFE}" + +# \$LB_BOOTLOADERS: set bootloaders +# (Default: ${LB_BOOTLOADERS}) +LB_BOOTLOADERS="${LB_BOOTLOADERS}" + +# \$LB_CHECKSUMS: set checksums +# (Default: ${LB_CHECKSUMS}) +LB_CHECKSUMS="${LB_CHECKSUMS}" + +# \$LB_COMPRESSION: set compression +# (Default: ${LB_COMPRESSION}) +LB_COMPRESSION="${LB_COMPRESSION}" + +# \$LB_ZSYNC: set zsync +# (Default: ${LB_ZSYNC}) +LB_ZSYNC="${LB_ZSYNC}" + +# \${LB_BUILD_WITH_CHROOT: control if we build binary images chrooted +# (Default: ${LB_BUILD_WITH_CHROOT}) +# DO NEVER, *NEVER*, *N*E*V*E*R* SET THIS OPTION to false. +LB_BUILD_WITH_CHROOT="${LB_BUILD_WITH_CHROOT}" + +# \$LB_DEBIAN_INSTALLER: set debian-installer +# (Default: ${LB_DEBIAN_INSTALLER}) +LB_DEBIAN_INSTALLER="${LB_DEBIAN_INSTALLER}" + +# \$LB_DEBIAN_INSTALLER_DISTRIBUTION: set debian-installer suite +# (Default: empty) +LB_DEBIAN_INSTALLER_DISTRIBUTION="${LB_DEBIAN_INSTALLER_DISTRIBUTION}" + +# \$LB_DEBIAN_INSTALLER_PRESEEDFILE: set debian-installer preseed filename/url +# (Default: ${LB_DEBIAN_INSTALLER_PRESEEDFILE}) +LB_DEBIAN_INSTALLER_PRESEEDFILE="${LB_DEBIAN_INSTALLER_PRESEEDFILE}" + +# \$LB_DEBIAN_INSTALLER_GUI: toggle use of GUI debian-installer +# (Default: ${LB_DEBIAN_INSTALLER_GUI}) +LB_DEBIAN_INSTALLER_GUI="${LB_DEBIAN_INSTALLER_GUI}" + +# \$LB_GRUB_SPLASH: set custom grub splash +# (Default: empty) +LB_GRUB_SPLASH="${LB_GRUB_SPLASH}" + +# \$LB_HDD_LABEL: set hdd label +# (Default: ${LB_HDD_LABEL}) +LB_HDD_LABEL="${LB_HDD_LABEL}" + +# \$LB_HDD_SIZE: set hdd filesystem size +# (Default: ${LB_HDD_SIZE}) +LB_HDD_SIZE="${LB_HDD_SIZE}" + +# \$LB_HDD_PARTITION_START: set start of partition for the hdd target for BIOSes that expect a specific boot partition start (e.g. "63s"). If empty, use optimal layout. +# (Default: ${LB_HDD_PARTITION_START}) +LB_HDD_PARTITION_START="${LB_HDD_PARTITION_START}" + +# \$LB_ISO_APPLICATION: set iso author +# (Default: ${LB_ISO_APPLICATION}) +LB_ISO_APPLICATION="${LB_ISO_APPLICATION}" + +# \$LB_ISO_PREPARER: set iso preparer +# (Default: ${LB_ISO_PREPARER}) +LB_ISO_PREPARER="${LB_ISO_PREPARER}" + +# \$LB_ISO_PUBLISHER: set iso publisher +# (Default: ${LB_ISO_PUBLISHER}) +LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER}" + +# \$LB_ISO_VOLUME: set iso volume (max 32 chars) +# (Default: ${LB_ISO_VOLUME}) +LB_ISO_VOLUME="${LB_ISO_VOLUME}" + +# \$LB_JFFS2_ERASEBLOCK: set jffs2 eraseblock size +# (Default: unset) +LB_JFFS2_ERASEBLOCK="" + +# \$LB_MEMTEST: set memtest +# (Default: ${LB_MEMTEST}) +LB_MEMTEST="${LB_MEMTEST}" + +# \$LB_LOADLIN: set loadlin +# (Default: ${LB_LOADLIN}) +LB_LOADLIN="${LB_LOADLIN}" + +# \$LB_WIN32_LOADER: set win32-loader +# (Default: ${LB_WIN32_LOADER}) +LB_WIN32_LOADER="${LB_WIN32_LOADER}" + +# \$LB_NET_ROOT_FILESYSTEM: set netboot filesystem +# (Default: ${LB_NET_ROOT_FILESYSTEM}) +LB_NET_ROOT_FILESYSTEM="${LB_NET_ROOT_FILESYSTEM}" + +# \$LB_NET_ROOT_MOUNTOPTIONS: set nfsopts +# (Default: empty) +LB_NET_ROOT_MOUNTOPTIONS="${LB_NET_ROOT_MOUNTOPTIONS}" + +# \$LB_NET_ROOT_PATH: set netboot server directory +# (Default: ${LB_NET_ROOT_PATH}) +LB_NET_ROOT_PATH="${LB_NET_ROOT_PATH}" + +# \$LB_NET_ROOT_SERVER: set netboot server address +# (Default: ${LB_NET_ROOT_SERVER}) +LB_NET_ROOT_SERVER="${LB_NET_ROOT_SERVER}" + +# \$LB_NET_COW_FILESYSTEM: set net client cow filesystem +# (Default: ${LB_NET_COW_FILESYSTEM}) +LB_NET_COW_FILESYSTEM="${LB_NET_COW_FILESYSTEM}" + +# \$LB_NET_COW_MOUNTOPTIONS: set cow mount options +# (Default: empty) +LB_NET_COW_MOUNTOPTIONS="${LB_NET_COW_MOUNTOPTIONS}" + +# \$LB_NET_COW_PATH: set cow directory +# (Default: ${LB_NET_COW_PATH}) +LB_NET_COW_PATH="${LB_NET_COW_PATH}" + +# \$LB_NET_COW_SERVER: set cow server +# (Default: ${LB_NET_COW_SERVER}) +LB_NET_COW_SERVER="${LB_NET_COW_SERVER}" + +# \$LB_NET_TARBALL: set net tarball +# (Default: ${LB_NET_TARBALL}) +LB_NET_TARBALL="${LB_NET_TARBALL}" + +# \$LB_FIRMWARE_BINARY: include firmware packages in debian-installer +# (Default: ${LB_FIRMWARE_BINARY}) +LB_FIRMWARE_BINARY="${LB_FIRMWARE_BINARY}" + +# \$LB_FIRMWARE_CHROOT: include firmware packages in debian-installer +# (Default: ${LB_FIRMWARE_CHROOT}) +LB_FIRMWARE_CHROOT="${LB_FIRMWARE_CHROOT}" + +# \$LB_SWAP_FILE_PATH: set swap file path +# (Default: ${LB_SWAP_FILE_PATH}) +LB_SWAP_FILE_PATH="${LB_SWAP_FILE_PATH}" + +# \$LB_SWAP_FILE_SIZE: set swap file size +# (Default: ${LB_SWAP_FILE_SIZE}) +LB_SWAP_FILE_SIZE="${LB_SWAP_FILE_SIZE}" +EOF + +# Creating lb_source_* configuration +cat > config/source << EOF +# config/source - options for live-build(7), source stage + +# \$LB_SOURCE: set source option +# (Default: ${LB_SOURCE}) +LB_SOURCE="${LB_SOURCE}" + +# \$LB_SOURCE_IMAGES: set image type +# (Default: ${LB_SOURCE_IMAGES}) +LB_SOURCE_IMAGES="${LB_SOURCE_IMAGES}" +EOF + +mkdir -p auto +mkdir -p local/bin + +# Checking defaults again +Check_defaults + +if [ "${_CLEAN}" = "true" ] +then + # Remove empty directories in config tree + rmdir --ignore-fail-on-non-empty auto > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty config/*/ > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty config > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty local/*/ > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty local > /dev/null 2>&1 || true +fi + +mkdir -p config/hooks/normal config/hooks/live +mkdir -p config/includes config/includes.bootstrap config/includes.chroot config/includes.binary config/includes.source + +Echo_message "Symlinking hooks..." + +for _HOOK in "${LIVE_BUILD}"/share/hooks/normal/*.hook* /usr/share/live/build/hooks/normal/*.hook* +do + if [ -e "${_HOOK}" ] && [ ! -e "config/hooks/normal/$(basename ${_HOOK})" ] + then + ln -s "${_HOOK}" "config/hooks/normal/$(basename ${_HOOK})" + fi +done + +for _HOOK in "${LIVE_BUILD}"/share/hooks/live/*.hook* /usr/share/live/build/hooks/live/*.hook* +do + if [ -e "${_HOOK}" ] && [ ! -e "config/hooks/live/$(basename ${_HOOK})" ] + then + ln -s "${_HOOK}" "config/hooks/live/$(basename ${_HOOK})" + fi +done + +if [ ! -e config/package-lists/live.list.chroot ] +then + mkdir -p config/package-lists + + case "${LB_INITRAMFS}" in + system-boot) + echo "system-boot" > config/package-lists/live.list.chroot + echo "system-config" >> config/package-lists/live.list.chroot + ;; + + *) + ;; +esac + +fi + +cat > config/build << EOF +[Image] +Architecture: ${LB_ARCHITECTURES} +Archive-Areas: ${LB_ARCHIVE_AREAS} +Distribution: ${LB_DISTRIBUTION} +Mirror-Bootstrap: ${LB_MIRROR_BOOTSTRAP} +EOF + +if [ "${LB_DERIVATIVE}" = "true" ] +then + +cat >> config/build << EOF + +Parent-Archive-Areas: ${LB_ARCHIVE_AREAS} +Parent-Distribution: ${LB_PARENT_DISTRIBUTION} +Parent-Mirror-Bootstrap: ${LB_PARENT_MIRROR_BOOTSTRAP} +EOF + +fi + +cat >> config/build << EOF + +[FIXME] +Configuration-Version: ${LIVE_CONFIGURATION_VERSION} +Name: ${LIVE_IMAGE_NAME} +Type: ${LIVE_IMAGE_TYPE} +EOF + +# Creating stage file +Create_stagefile .build/config diff --git a/system-build/scripts/build/installer b/system-build/scripts/build/installer new file mode 100755 index 0000000..8ef2edd --- /dev/null +++ b/system-build/scripts/build/installer @@ -0,0 +1,75 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Automatically populating config tree +if [ -x auto/config ] && [ ! -e .build/config ] +then + Echo_message "Automatically populating config tree." + lb config +fi + +# Setting static variables +DESCRIPTION="$(Echo 'preparing installer images')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +# Setup cleanup function +Setup_cleanup + +if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] +then + # Configuring chroot + lb chroot_devpts install ${@} + lb chroot_proc install ${@} + lb chroot_selinuxfs install ${@} + lb chroot_sysfs install ${@} + lb chroot_debianchroot install ${@} + lb chroot_dpkg install ${@} + lb chroot_tmpfs install ${@} + lb chroot_sysv-rc install ${@} + lb chroot_hosts install ${@} + lb chroot_resolv install ${@} + lb chroot_hostname install ${@} + lb chroot_apt install ${@} + lb chroot_archives chroot install ${@} +fi + +# Building installer +lb installer_debian-installer ${@} +lb installer_preseed ${@} + +if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] +then + # Deconfiguring chroot + lb chroot_archives chroot remove ${@} + lb chroot_apt remove ${@} + lb chroot_hostname remove ${@} + lb chroot_resolv remove ${@} + lb chroot_hosts remove ${@} + lb chroot_sysv-rc remove ${@} + lb chroot_tmpfs remove ${@} + lb chroot_dpkg remove ${@} + lb chroot_debianchroot remove ${@} + lb chroot_sysfs remove ${@} + lb chroot_selinuxfs remove ${@} + lb chroot_proc remove ${@} + lb chroot_devpts remove ${@} +fi diff --git a/system-build/scripts/build/installer_debian-installer b/system-build/scripts/build/installer_debian-installer new file mode 100755 index 0000000..3f13915 --- /dev/null +++ b/system-build/scripts/build/installer_debian-installer @@ -0,0 +1,829 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'install debian-installer into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${_DEBUG}" = "true" ] +then + WGET_OPTIONS="${WGET_OPTIONS} --verbose" +elif [ "${_QUIET}" = "true" ] +then + WGET_OPTIONS="${WGET_OPTIONS} --quiet" +else + WGET_OPTIONS="${WGET_OPTIONS} --no-verbose" +fi + +# Check d-i configuration +case "${LB_DEBIAN_INSTALLER}" in + true|cdrom|netinst|netboot|businesscard|live) + ;; + + false) + exit 0 + ;; + + *) + Echo_error "debian-installer flavour %s not supported." "${LB_DEBIAN_INSTALLER}" + exit 1 + ;; +esac + +Echo_message "Begin installing debian-installer..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/installer_debian-installer + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Checking depends +Check_package host /usr/bin/wget wget +Check_package chroot /usr/bin/apt-ftparchive apt-utils + +# Restoring cache +Restore_cache cache/packages.binary + +# Installing depends +Install_package + +# Setting destination directory +case "${LIVE_IMAGE_TYPE}" in + netboot) + DESTDIR="tftpboot/debian-install/${LB_ARCHITECTURES}" + ;; + + hdd*|tar) + DESTDIR="binary/install" + ;; + + *) + DESTDIR="binary/install" + ;; +esac + +# Set d-i image type +case "${LB_DEBIAN_INSTALLER}" in + businesscard|netboot|netinst) + DI_IMAGE_TYPE="netboot" + ;; + *) + case "${LIVE_IMAGE_TYPE}" in + netboot) + DI_IMAGE_TYPE="netboot" + ;; + + *) + DI_IMAGE_TYPE="cdrom" + ;; + esac + ;; +esac + +# Set architecture-specific variables +case "${LB_ARCHITECTURES}" in + armel) + DEFAULT_FLAVOUR="$(echo ${LB_LINUX_FLAVOURS} | awk '{ print $1 }')" + case "${DI_IMAGE_TYPE}" in + cdrom) + DI_REMOTE_BASE="${DEFAULT_FLAVOUR}/cdrom" + ;; + + netboot) + DI_REMOTE_BASE="${DEFAULT_FLAVOUR}/netboot" + ;; + esac + + DI_REMOTE_KERNEL="vmlinuz" + DI_REMOTE_BASE_GTK="${DI_REMOTE_BASE}/gtk" + ;; + + powerpc) + case "${DI_IMAGE_TYPE}" in + cdrom) + DI_REMOTE_BASE="${LB_ARCHITECTURES}/cdrom" + ;; + + netboot) + DI_REMOTE_BASE="${LB_ARCHITECTURES}/netboot" + ;; + esac + + DI_REMOTE_KERNEL="vmlinux" + DI_REMOTE_BASE_GTK="${DI_REMOTE_BASE}/gtk" + ;; + + *) + case "${DI_IMAGE_TYPE}" in + netboot) + DI_REMOTE_BASE="netboot/debian-installer/${LB_ARCHITECTURES}" + DI_REMOTE_BASE_GTK="netboot/gtk/debian-installer/${LB_ARCHITECTURES}" + DI_REMOTE_KERNEL="linux" + ;; + + cdrom) + DI_REMOTE_BASE="cdrom" + DI_REMOTE_BASE_GTK="cdrom/gtk" + DI_REMOTE_KERNEL="vmlinuz" + ;; + esac + ;; +esac + +Check_multiarchitectures + +Install_file() { + local FILE + FILE="${1}" + + local ARCHIVE_AREA + ARCHIVE_AREA="$(dpkg -I ${FILE} | awk '/^.*Section: / { print $2 }')" + + if echo "${ARCHIVE_AREA}" | grep -qs '/' + then + ARCHIVE_AREA="$(echo ${ARCHIVE_AREA} | awk -F/ '{ print $1 }')" + else + ARCHIVE_AREA="main" + fi + + local TARGET + TARGET="${2}/${ARCHIVE_AREA}" + + SOURCE="$(dpkg -f ${FILE} Source | awk '{ print $1 }')" + + if [ -z "${SOURCE}" ] + then + SOURCE="$(basename ${FILE} | awk -F_ '{ print $1 }')" + fi + + case "${SOURCE}" in + lib?*) + LETTER="$(echo ${SOURCE} | sed 's|\(....\).*|\1|')" + ;; + + *) + LETTER="$(echo ${SOURCE} | sed 's|\(.\).*|\1|')" + ;; + esac + + # Install directory + mkdir -p "${TARGET}"/"${LETTER}"/"${SOURCE}" + + # Move files + cp "${FILE}" "${TARGET}"/"${LETTER}"/"${SOURCE}" +} + +# Set absolute directory for caching; we require it when we call Download_file +# from a non-standard cwd. +_LB_CACHE_DIR="$(pwd)/cache/installer_debian-installer" + +Download_file () { + local _LB_TARGET + _LB_TARGET="${1}" + + local _LB_URL + _LB_URL="${2}" + + _LB_CACHE_FILE="${_LB_CACHE_DIR}/$(echo "${_LB_URL}" | sed 's|/|_|g')" + + if [ ! -f "${_LB_CACHE_FILE}" ] + then + mkdir -p ${_LB_CACHE_DIR} + if ! wget ${WGET_OPTIONS} -O "${_LB_CACHE_FILE}" "${_LB_URL}" + then + rm -f "${_LB_CACHE_FILE}" + + Echo_error "Could not download file: %s" "${_LB_URL}" + exit 1 + fi + fi + + if [ "$(stat --printf %d "${_LB_CACHE_DIR}/")" = "$(stat --printf %d ./)" ] + then + CP_OPTIONS="-l" + fi + + cp -f ${CP_OPTIONS} -- "${_LB_CACHE_FILE}" "${_LB_TARGET}" +} + +VMLINUZ_DI="vmlinuz" +INITRD_DI="initrd.gz" +DESTDIR_DI="${DESTDIR}" + +VMLINUZ_GI="gtk/vmlinuz" +INITRD_GI="gtk/initrd.gz" +DESTDIR_GI="${DESTDIR}/gtk" + +case "${LB_DERIVATIVE}" in + false) + if [ "${LB_DEBIAN_INSTALLER_DISTRIBUTION}" = "daily" ] + then + # FIXME: variable name should be decupled from derivatves + LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="sid" + + # Debian Installer daily builds + URL="https://d-i.debian.org/daily-images/${LB_ARCHITECTURES}/daily/" + else + URL="${LB_MIRROR_DEBIAN_INSTALLER}/dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/installer-${LB_ARCHITECTURES}/current/images/" + fi + ;; + + true) + if [ "${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}" = "daily" ] + then + LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="sid" + + # Debian Installer daily builds + URL="https://d-i.debian.org/daily-images/${LB_ARCHITECTURES}/daily/" + else + URL="${LB_PARENT_MIRROR_DEBIAN_INSTALLER}/dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/main/installer-${LB_ARCHITECTURES}/current/images/" + fi + + if [ "${LB_MODE}" = "progress-linux" ] + then + # FIXME: normal derivatives probably don't rebuild d-i, + # but progress-linux does. + URL="${LB_MIRROR_DEBIAN_INSTALLER}/dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/installer-${LB_ARCHITECTURES}/current/images/" + fi + ;; +esac + +mkdir -p "${DESTDIR_DI}" + +# Downloading debian-installer +Download_file "${DESTDIR}"/"${VMLINUZ_DI}" ${URL}/${DI_REMOTE_BASE}/${DI_REMOTE_KERNEL} +Download_file "${DESTDIR}"/"${INITRD_DI}" ${URL}/${DI_REMOTE_BASE}/initrd.gz + +# Downloading graphical-installer +DOWNLOAD_GTK_INSTALLER=0 +if [ "${LB_DEBIAN_INSTALLER_GUI}" = "true" ] +then + case "${LB_ARCHITECTURES}" in + amd64|i386) + DOWNLOAD_GTK_INSTALLER=1 + ;; + + powerpc) + if [ "${LB_DEBIAN_INSTALLER}" = "netboot" ] + then + DOWNLOAD_GTK_INSTALLER=1 + fi + ;; + esac +fi + +if [ ${DOWNLOAD_GTK_INSTALLER} -eq 1 ] +then + mkdir -p "${DESTDIR_GI}" + Download_file "${DESTDIR}"/"${VMLINUZ_GI}" ${URL}/${DI_REMOTE_BASE_GTK}/${DI_REMOTE_KERNEL} + Download_file "${DESTDIR}"/"${INITRD_GI}" ${URL}/${DI_REMOTE_BASE_GTK}/initrd.gz +fi + +# Only download additional packages if appropriate +if [ "${DI_IMAGE_TYPE}" != "netboot" ] +then + # Downloading additional packages + mkdir -p chroot/binary.deb/archives/partial + + mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp + touch chroot/var/lib/dpkg/status + + case "${LB_ARCHITECTURES}" in + amd64) + DI_REQ_PACKAGES="lilo grub-pc" + DI_PACKAGES="${DI_REQ_PACKAGES} linux-image-amd64" + ;; + + i386) + DI_REQ_PACKAGES="lilo grub-pc" + DI_PACKAGES="${DI_REQ_PACKAGES} linux-image-686-pae" + ;; + + powerpc) + DI_REQ_PACKAGES="yaboot" + DI_PACKAGES="${DI_REQ_PACKAGES} linux-image-powerpc linux-image-powerpc64 linux-image-powerpc-smp" + ;; + esac + + DI_PACKAGES="${DI_PACKAGES} busybox cryptsetup mdadm lvm2 xfsprogs jfsutils" + + case "${LB_MODE}" in + debian) + DI_REQ_PACKAGES="${DI_REQ_PACKAGES} console-setup keyboard-configuration kbd" + DI_PACKAGES="${DI_PACKAGES} console-setup keyboard-configuration kbd" + ;; + esac + # Include firmware packages + if [ "${LB_FIRMWARE_BINARY}" = "true" ] + then + # Assumption: firmware packages install files into /lib/firmware + + # Get all firmware packages names + mkdir -p cache/contents.binary + + FIRMWARE_PACKAGES="" + + _CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" + + rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} + + for _CONTENT in ${_CONTENTS} + do + wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} + + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" + done + + if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free" + then + # Manually add firmware-linux/non-free meta package + if [ "${LB_DERIVATIVE}" != "true" ] + then + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux" + else + case "${LB_DERIVATIVE_IS_BASED_ON}" in + debian) + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux" + ;; + *) + ;; + esac + fi + fi + + if [ "${LB_DERIVATIVE}" = "true" ] + then + # FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents). + + _CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" + + rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} + + for _CONTENT in ${_CONTENTS} + do + wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} + + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" + done + fi + + # Drop section and keep package names only + for _PACKAGE in ${FIRMWARE_PACKAGES} + do + DI_FIRMWARE_PACKAGES="${DI_FIRMWARE_PACKAGES} $(echo ${_PACKAGE} | awk -F/ '{ print $NF }')" + done + fi + + # Set apt command prefix + _LB_APT_COMMAND="apt-get ${APT_OPTIONS} -o Dir::Cache=/binary.deb -o APT::Install-Recommends=false --download-only" + + if [ "${LB_DEBIAN_INSTALLER}" = "live" ] + then + # We don't want to duplicate .debs of packages in binary/pool that are already + # installed to target/ via live-installer. + # + # However, we need to force various packages' inclusion in binary/pool as + # d-i does not support (for example) re-installing grub from target/ - the grub + # .debs must actually exist. + + # Download .debs of the required packages + Chroot chroot ${_LB_APT_COMMAND} install ${DI_PACKAGES} ${DI_FIRMWARE_PACKAGES} ${DI_REQ_PACKAGES} + + # Drop the packages already installed that d-i doesn't explicitely need + _REMAINING_PACKAGES="$(echo ${DI_FIRMWARE_PACKAGES} ${DI_REQ_PACKAGES} | sed -e 's# #|#g')" + _REMAINING_PACKAGES="$(sed -n -e 's|Package: ||p' chroot/var/lib/dpkg/status.tmp | grep -E -v "^(${_REMAINING_PACKAGES})\$")" + + for _PACKAGE in ${_REMAINING_PACKAGES} + do + rm -f chroot/binary.deb/archives/${_PACKAGE}_*.deb + done + else + # Download .debs of the required packages + Chroot chroot ${_LB_APT_COMMAND} install ${DI_PACKAGES} ${DI_FIRMWARE_PACKAGES} + fi + + # Revert dpkg status file + mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status + + mv chroot/binary.deb ./ + + for _ARCHIVE_AREA in $(echo ${LB_PARENT_ARCHIVE_AREAS} ${LB_ARCHIVE_AREAS}) + do + mkdir -p binary/pool/${_ARCHIVE_AREA} + done + + if Find_files binary.deb/archives/*.deb + then + for FILE in binary.deb/archives/*.deb + do + Install_file "${FILE}" "binary/pool" + done + fi + + if [ "${LB_DEBIAN_INSTALLER}" != "live" ] + then + # Including base debian packages + if ls cache/packages.bootstrap/*.deb > /dev/null 2>&1 + then + for FILE in cache/packages.bootstrap/*.deb + do + Install_file "${FILE}" "binary/pool" + done + else + Echo_error "Could not find packages in cache/packages.bootstrap." + Echo_error "You selected values of LB_CACHE, LB_CACHE_PACKAGES, LB_CACHE_STAGES and LB_DEBIAN_INSTALLER which will result in 'bootstrap' packages not being cached - these are required when integrating the Debian Installer." + exit 1 + fi + fi + + # Including local debs + if Find_files config/packages.binary/*_"${LB_ARCHITECTURES}".deb || Find_files config/packages/*_"${LB_ARCHITECTURES}".deb + then + for FILE in config/packages.binary/*_"${LB_ARCHITECTURES}".deb config/packages/*_"${LB_ARCHITECTURES}".deb + do + if [ -e "${FILE}" ] + then + Install_file "${FILE}" "binary/pool" + fi + done + fi + + if Find_files config/packages.binary/*_all.deb || Find_files config/packages/*_all.deb + then + for FILE in config/packages.binary/*_all.deb config/packages/*_all.deb + do + if [ -e "${FILE}" ] + then + Install_file "${FILE}" "binary/pool" + fi + done + fi + + # Generating deb indices + for _ARCHIVE_AREA in $(cd binary/pool && ls) + do + mkdir -p binary/dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/${_ARCHIVE_AREA}/binary-${LB_ARCHITECTURES} + + mv binary chroot/root + echo "cd /root/binary && apt-ftparchive packages pool/${_ARCHIVE_AREA} > dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/${_ARCHIVE_AREA}/binary-${LB_ARCHITECTURES}/Packages" > chroot/binary.sh + Chroot chroot "sh binary.sh" + rm -f chroot/binary.sh + mv chroot/root/binary ./ + + gzip -9 -c binary/dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/${_ARCHIVE_AREA}/binary-${LB_ARCHITECTURES}/Packages > binary/dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/${_ARCHIVE_AREA}/binary-${LB_ARCHITECTURES}/Packages.gz + + # Fetching release + Download_file binary/dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/${_ARCHIVE_AREA}/binary-${LB_ARCHITECTURES}/Release "${LB_PARENT_MIRROR_CHROOT}"/dists/"${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}"/${_ARCHIVE_AREA}/binary-"${LB_ARCHITECTURES}"/Release + done + + # Symlink firmware packages to /firmware + if [ -n "${DI_FIRMWARE_PACKAGES}" ] + then + mkdir -p binary/firmware + cd binary/firmware + + for _PACKAGE in ${DI_FIRMWARE_PACKAGES} + do + for _FILE in $(find ../pool -name "${_PACKAGE}_*.deb") + do + ln -sf ${_FILE} ./ + done + done + + cd "${OLDPWD}" + fi + + # Udeb handling + mkdir binary.udeb + cd binary.udeb + + # Downloading udeb indices + Download_file Packages.gz "${LB_PARENT_MIRROR_CHROOT}"/dists/"${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}"/main/debian-installer/binary-"${LB_ARCHITECTURES}"/Packages.gz + gunzip -c Packages.gz > Packages + + if [ "${LB_DERIVATIVE}" = "true" ] + then + Download_file Packages.derivative.gz "${LB_MIRROR_CHROOT}"/dists/"${LB_DEBIAN_INSTALLER_DISTRIBUTION}"/main/debian-installer/binary-"${LB_ARCHITECTURES}"/Packages.gz + gunzip -c Packages.derivative.gz > Packages.derivative + fi + + # Sorting udebs + if [ "${LB_DERIVATIVE}" = true ] + then + UDEBS="$(awk '/Filename: / { print $2 }' Packages.derivative)" + fi + + UDEBS="${UDEBS} $(awk '/Filename: / { print $2 }' Packages)" + + # Downloading udebs packages + Echo_message "Downloading udebs..." + + if [ "${LB_DERIVATIVE}" = "true" ] + then + Echo_message "Building in derivative mode in debian+ layout.. a lot of 404 errors are ok here." + fi + + for UDEB in ${UDEBS} + do + if [ -f ../cache/packages.installer_debian-installer.udeb/"$(basename ${UDEB})" ] + then + # Copying cached udebs + cp ../cache/packages.installer_debian-installer.udeb/"$(basename ${UDEB})" ./ + else + # Downloading udebs + if ! ls "$(basename ${UDEB} | awk -F_ '{ print $1 }')"_* > /dev/null 2>&1 + then + wget ${WGET_OPTIONS} "${LB_MIRROR_CHROOT}"/${UDEB} || wget ${WGET_OPTIONS} "${LB_PARENT_MIRROR_CHROOT}"/${UDEB} + fi + fi + done + + # Caching udebs + rm -rf ../cache/packages.installer_debian-installer.udeb + mkdir -p ../cache/packages.installer_debian-installer.udeb + cp *.udeb ../cache/packages.installer_debian-installer.udeb + + # Including local udebs + if Find_files ../config/packages.binary/*_"${LB_ARCHITECTURES}".udeb || Find_files ../config/packages/*_"${LB_ARCHITECTURES}".udeb + then + for FILE in ../config/packages.binary/*_"${LB_ARCHITECTURES}".udeb ../config/packages/*_"${LB_ARCHITECTURES}".udeb + do + if [ -e "${FILE}" ] + then + Install_file "${FILE}" "pool" + + # Prefer local udebs over downloaded udebs + rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb + fi + done + fi + + if Find_files ../config/packages.binary/*_all.udeb || Find_files ../config/packages/*_all.udeb + then + for FILE in ../config/packages.binary/*_all.udeb ../config/packages/*_all.udeb + do + if [ -e "${FILE}" ] + then + Install_file "${FILE}" "pool" + + # Prefer local udebs over downloaded udebs + rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb + fi + done + fi + + # Excluding udebs + for LOCATION in "${LIVE_BUILD}/data/debian-cd" /usr/share/live/build/data/debian-cd + do + if [ -e "${LOCATION}" ] + then + grep -v "^#" "${LOCATION}/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/udeb_exclude" > exclude || true + grep -v "^#" "${LOCATION}/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/exclude-udebs" >> exclude || true + grep -v "^#" "${LOCATION}/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/exclude-udebs-${LB_ARCHITECTURES}" >> exclude || true + + continue + fi + done + + # Local exclude file + if [ -e ../config/debian-installer/udeb_exclude ] + then + cat ../config/debian-installer/udeb_exclude >> exclude + fi + + # Excluding udebs from excludes because we want them to be in the image on purpose + sed -i -e 's|di-utils-exit-installer||' exclude # used for live-installer-launcher + + while read EXCLUDE + do + if [ "${LB_DEBIAN_INSTALLER}" = "live" ] && [ "${EXCLUDE}" = "live-installer" ] + then + continue + fi + + rm -f ${EXCLUDE}_*.udeb + done < exclude + + # Moving udebs + for UDEB in ${UDEBS} + do + if [ -f "$(basename ${UDEB})" ] + then + mkdir -p $(dirname ${UDEB}) + mv "$(basename ${UDEB})" "$(dirname ${UDEB})" + fi + done + + # Creating udeb indices + mkdir -p dists/"${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}"/main/debian-installer/binary-"${LB_ARCHITECTURES}" + cd "${OLDPWD}" + + mv binary.udeb chroot/root + echo "cd /root/binary.udeb && apt-ftparchive packages pool/main > dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LB_ARCHITECTURES}/Packages" > chroot/binary.sh + Chroot chroot "sh binary.sh" + rm -f chroot/binary.sh + mv chroot/root/binary.udeb ./ + + cd binary.udeb + gzip -9 -c dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LB_ARCHITECTURES}/Packages > dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LB_ARCHITECTURES}/Packages.gz + + rm -f Packages* exclude + find . | cpio -dmpu "${OLDPWD}"/binary + cd "${OLDPWD}" + + rm -rf binary.udeb + rm -rf binary.deb + + # Generating release file + mv binary chroot/root + + if [ -e chroot/etc/os-release ] + then + _VERSION="$(. chroot/etc/os-release && echo ${VERSION_ID})" + fi + + if [ -n "${_VERSION}" ]; then + _LB_APT_VERSION_OPT='-o APT::FTPArchive::Release::Version="'"${_VERSION}"'"' + fi + + case "${LB_PARENT_DISTRIBUTION}" in + sid) + _SUITE="unstable" + ;; + + *) + _SUITE="${LB_PARENT_DISTRIBUTION}" + ;; + esac + +cat > chroot/binary.sh << EOF +cd /root/binary && apt-ftparchive \ + -o APT::FTPArchive::Release::Origin="Debian" \ + -o APT::FTPArchive::Release::Label="Debian" \ + -o APT::FTPArchive::Release::Suite="${_SUITE}" \ + ${_LB_APT_VERSION_OPT} \ + -o APT::FTPArchive::Release::Codename="${LB_PARENT_DISTRIBUTION}" \ + -o APT::FTPArchive::Release::Date="$(date -R)" \ + -o APT::FTPArchive::Release::Architectures="${LB_ARCHITECTURES}" \ + -o APT::FTPArchive::Release::Components="${LB_PARENT_ARCHIVE_AREAS}" \ + -o APT::FTPArchive::Release::Description="Last updated: $(date -R)" \ + release dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION} > dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/Release +EOF + + Chroot chroot "sh binary.sh" + rm -f chroot/binary.sh + mv chroot/root/binary ./ + + case "${LB_PARENT_DISTRIBUTION}" in + jessie) + DISTRIBUTIONS="stable" + ;; + + *) + DISTRIBUTIONS="stable testing unstable" + ;; + esac + + if [ "${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}" != "${LB_PARENT_DISTRIBUTION}" ] + then + DISTRIBUTIONS="${DISTRIBUTIONS} ${LB_PARENT_DISTRIBUTION}" + fi + + case "${LIVE_IMAGE_TYPE}" in + hdd) + case "${LB_BINARY_FILESYSTEM}" in + fat*|ntfs) + # Creating dist directories + for DISTRIBUTION in ${DISTRIBUTIONS} + do + cp -a binary/dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION} binary/dists/${DISTRIBUTION} + done + ;; + esac + ;; + + *) + # Creating dist symlinks + for DISTRIBUTION in ${DISTRIBUTIONS} + do + ln -s ${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION} binary/dists/${DISTRIBUTION} + done + + ln -s . binary/debian + ;; + esac +fi + +Repack_initrd() +{ + local TARGET_INITRD + local INCLUDE_PATH + TARGET_INITRD="${1}" + INCLUDE_PATH="${2}" + REPACK_TMPDIR="unpacked-initrd" + + if [ -d "${INCLUDE_PATH}" ] + then + INCLUDE_PATH=$(readlink -f ${INCLUDE_PATH}) + fi + + # cpio does not have a "extract to directory", so we must change directory + mkdir -p ${REPACK_TMPDIR} + cd ${REPACK_TMPDIR} + + gzip -d < ../${TARGET_INITRD} | cpio -i --make-directories --no-absolute-filenames + if [ ! -d "${INCLUDE_PATH}" ] + then + # Invoked the old way, just copy the preseeds + for _FILE in ../config/preseed/*.cfg ../config/preseed/*.cfg.installer + do + if [ -e "${_FILE}" ] + then + cp "${_FILE}" . + fi + done + else + # New way, include target directory content in the initrd + REPACK_TMPDIR_ABS="${PWD}" + cd "${INCLUDE_PATH}" + find -print0 | cpio -pumd0 --no-preserve-owner "${REPACK_TMPDIR_ABS}/" + cd "${OLDPWD}" + fi + find -print0 | cpio -H newc -o0 | gzip -9 > ../${TARGET_INITRD} + + cd .. + rm -rf ${REPACK_TMPDIR} +} + +# Preseed d-i by repacking the initrd in certain situations +if [ "${DI_IMAGE_TYPE}" = "netboot" ] && ( ls config/preseed/*.cfg > /dev/null 2>&1 || ls config/preseed/*.cfg.installer > /dev/null 2>&1 ) +then + Repack_initrd "${DESTDIR}"/"${INITRD_DI}" + + if [ -e "${DESTDIR}"/"${INITRD_GI}" ] + then + Repack_initrd "${DESTDIR}"/"${INITRD_GI}" + fi +fi + +# Include content of config/includes.installer if exists and not empty +if [ -d config/includes.installer ] && [ -n "$(ls -A config/includes.installer)" ] +then + Repack_initrd "${DESTDIR}"/"${INITRD_DI}" config/includes.installer + + if [ -e "${DESTDIR}"/"${INITRD_GI}" ] + then + Repack_initrd "${DESTDIR}"/"${INITRD_GI}" config/includes.installer + fi +fi + +case "${LB_MODE}" in + progress-linux) + mv binary/install binary/installer + + rm -f binary/debian + + for _DIRECTORY in dists pool project firmware + do + if [ -e "binary/${_DIRECTORY}" ] + then + mv binary/"${_DIRECTORY}" binary/installer + fi + done + ;; +esac + +# Saving cache +Save_cache cache/packages.binary + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .build/installer_debian-installer diff --git a/system-build/scripts/build/installer_preseed b/system-build/scripts/build/installer_preseed new file mode 100755 index 0000000..f17102a --- /dev/null +++ b/system-build/scripts/build/installer_preseed @@ -0,0 +1,72 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'include local preseed in installer')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + + +# Check d-i configuration +case "${LB_DEBIAN_INSTALLER}" in + false) + exit 0 + ;; +esac + +Echo_message "Begin including local preseeds..." + +# Checking stage file +Check_stagefile .build/installer_preseed + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +if ls config/preseed/*.cfg > /dev/null 2>&1 || \ + ls config/preseed/*.cfg.installer > /dev/null 2>&1 || \ + ls chroot/root/packages.installer > /dev/null 2>&1 +then + case "${LB_MODE}" in + progress-linux) + _DIRECTORY="binary/installer" + ;; + + *) + _DIRECTORY="binary/install" + ;; + esac + + rm -f "${_DIRECTORY}/preseed.cfg" + + for _FILE in config/preseed/*.cfg config/preseed/*.cfg.installer chroot/root/packages.installer + do + if [ -e "${_FILE}" ] + then + cat "${_FILE}" >> "${_DIRECTORY}/preseed.cfg" + fi + done + + # Creating stage file + Create_stagefile .build/installer_preseed +fi diff --git a/system-build/scripts/build/source b/system-build/scripts/build/source new file mode 100755 index 0000000..4d4f9bd --- /dev/null +++ b/system-build/scripts/build/source @@ -0,0 +1,66 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Automatically populating config tree +if [ -x auto/config ] && [ ! -e .build/config ] +then + Echo_message "Automatically populating config tree." + lb config +fi + +# Setting static variables +DESCRIPTION="$(Echo 'build source images')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_SOURCE}" != "true" ] +then + exit 0 +fi + +#Require_stagefile + +# Setup cleanup function +Setup_cleanup + +# Enabling network in chroot +lb chroot_hosts install ${@} +lb chroot_resolv install ${@} +lb chroot_hostname install ${@} +lb chroot_archives source install ${@} + +# Preparing images +lb source_live ${@} +lb source_debian ${@} +lb source_disk ${@} +lb source_hooks ${@} +lb source_checksums ${@} + +# Building images +lb source_iso ${@} +lb source_tar ${@} +lb source_hdd ${@} + +# Deconfiguring chroot +lb chroot_archives chroot remove ${@} +lb chroot_hostname remove ${@} +lb chroot_resolv remove ${@} +lb chroot_hosts remove ${@} diff --git a/system-build/scripts/build/source_checksums b/system-build/scripts/build/source_checksums new file mode 100755 index 0000000..8b3172f --- /dev/null +++ b/system-build/scripts/build/source_checksums @@ -0,0 +1,101 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'create source checksums')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_CHECKSUMS}" = "none" ] || [ "${LB_SOURCE}" != "true" ] +then + exit 0 +fi + +# Requiring stage file +Require_stagefile .build/config .build/source_debian + +# Checking stage file +Check_stagefile .build/source_checksums + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +for DIRECTORY in source/debian source/live +do + if [ ! -d ${DIRECTORY} ] + then + continue + fi + + for CHECKSUM in ${LB_CHECKSUMS} + do + case "${LB_MODE}" in + progress-linux) + CHECKSUMS="$(echo ${CHECKSUM} | tr [a-z] [A-Z])SUMS" + ;; + + *) + CHECKSUMS="${CHECKSUM}sum.txt" + ;; + esac + + Echo_message "Begin creating source ${CHECKSUMS}..." + + # Remove old checksums + if [ -f ${DIRECTORY}/${CHECKSUMS} ] + then + rm -f ${DIRECTORY}/${CHECKSUMS} + fi + + # Calculating checksums + cd ${DIRECTORY} + find . -type f \ + \! -path './*SUMS' \ + \! -path './*sum.txt' \ + -print0 | sort -z | xargs -0 ${CHECKSUM}sum > ../${CHECKSUMS} + +cat > ${CHECKSUMS} << EOF +## This file contains the list of ${CHECKSUM} checksums of all files on this +## medium. +## +## You can verify them automatically with the 'verify-checksums' boot parameter, +## or, manually with: '${CHECKSUM}sum -c ${CHECKSUMS}'. +## +## +EOF + + cat ../${CHECKSUMS} >> ${CHECKSUMS} + rm -f ../${CHECKSUMS} + + cd "${OLDPWD}" + done + + # File list + cd ${DIRECTORY} + find . | sed -e 's|^.||g' | grep "^/" | sort > ../../${LIVE_IMAGE_NAME}-source.$(basename ${DIRECTORY}).contents + cd "${OLDPWD}" +done + +# Creating stage file +Create_stagefile .build/source_checksums diff --git a/system-build/scripts/build/source_debian b/system-build/scripts/build/source_debian new file mode 100755 index 0000000..49e53db --- /dev/null +++ b/system-build/scripts/build/source_debian @@ -0,0 +1,207 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'debian sources')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_SOURCE}" != "true" ] +then + exit 0 +fi + +Echo_message "Begin downloading sources..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/source_debian + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Remove old sources +if [ -d source/debian ] +then + rm -rf source/debian +fi + +# Download sources +Chroot chroot "dpkg --get-selections" | awk '{ print $1 }' > source-selection.txt + +echo "${LB_BOOTLOADERS}" | \ +while IFS="," read -r BOOTLOADER +do + cat >> source-selection.txt << EOF + ${BOOTLOADER} +EOF +done + +cat >> source-selection.txt << EOF +live-build +EOF + +case "${LB_BINARY_IMAGES}" in + iso*) + echo "xorriso" >> source-selection.txt + ;; + + hdd*) + echo "parted" >> source-selection.txt + ;; +esac + +case "${LB_CHROOT_FILESYSTEM}" in + squashfs) + echo "squashfs-tools" >> source-selection.txt + ;; +esac + +case "${LB_BINARY_FILESYSTEM}" in + fat*) + echo "dosfstools" >> source-selection.txt + ;; + + ntfs) + echo "ntfs-3g" >> source-selection.txt + ;; +esac + +case "${LB_ARCHITECTURES}" in + amd64|i386) + +cat >> source-selection.txt << EOF +mtools +syslinux +grub +EOF + + if [ "${LB_MEMTEST}" != "false" ] && [ "${LB_MEMTEST}" != "none" ] + then + echo "${LB_MEMTEST}" >> source-selection.txt + fi + ;; +esac + +if [ -n "${LB_TASKS}" ] +then + echo "${LB_TASKSEL}" >> source-selection.txt +fi + +# apt-get source does not respect pinning +# building images with backports included but not enabled +# will result in apt-get source download stuff from backports +# where available. workaround: disable backports +case "${LB_MODE}" in + progress-linux) + case "${LB_DISTRIBUTION}" in + *-backports) + + ;; + + *) + if grep -qs "${LB_DISTRIBUTION}-backports" chroot/etc/apt/sources.list.d/progress-linux.list + then + cp chroot/etc/apt/sources.list.d/progress-linux.list chroot/etc/apt/sources.list.d/progress-linux.list.orig + + while read _LINE + do + if echo "${_LINE}" | grep -qs ${LB_DISTRIBUTION}-backports + then + sed -i -e "s|${_LINE}|#${_LINE}|" chroot/etc/apt/sources.list.d/progress-linux.list + fi + done < chroot/etc/apt/sources.list.d/progress-linux.list.orig + + Apt chroot update + fi + ;; + esac + ;; +esac + +MISSING="" + +grep . source-selection.txt | \ +while read PACKAGE +do + if ! Chroot chroot "apt-get ${APT_OPTIONS} --download-only source ${PACKAGE}" + then + MISSING="${MISSING} ${PACKAGE}" + fi +done + +if [ -n "${MISSING}" ] +then + cat > source/missing-source.txt << EOF +This file contains the list of binary packages that are installed on this live +system that do not have a corresponding source package. + +EOF + + for PACKAGE in ${MISSING} + do + Chroot chroot "dpkg -l ${PACKAGE}" | tail -n1 >> source/missing-source.txt + done +fi + +rm -f source-selection.txt + +# Sort sources +for DSC in chroot/*.dsc +do + SOURCE="$(sed -n 's|^Source: ||p' ${DSC} 2>/dev/null || :)" + # The sed may fail if multiple dsc files exist for same source, as the + # first one to match will have already been moved. + [ -n "$SOURCE" ] || continue + + case "${SOURCE}" in + lib?*) + LETTER="$(echo ${SOURCE} | sed 's|\(....\).*|\1|')" + ;; + + *) + LETTER="$(echo ${SOURCE} | sed 's|\(.\).*|\1|')" + ;; + esac + + # Install directory + mkdir -p source/debian/"${LETTER}"/"${SOURCE}" + + # Move files + mv chroot/"${SOURCE}"_* source/debian/"${LETTER}"/"${SOURCE}" +done + +# Reverting apt sources again +if [ -e chroot/etc/apt/sources.list.d/progress-linux.list.orig ] +then + mv chroot/etc/apt/sources.list.d/progress-linux.list.orig chroot/etc/apt/sources.list.d/progress-linux.list + + Apt chroot update +fi + +# Creating stage file +Create_stagefile .build/source_debian +Create_stagefile .build/source diff --git a/system-build/scripts/build/source_debian-live b/system-build/scripts/build/source_debian-live new file mode 100755 index 0000000..3af41e5 --- /dev/null +++ b/system-build/scripts/build/source_debian-live @@ -0,0 +1,62 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'copy debian-live config into source')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_SOURCE}" != "true" ] +then + exit 0 +fi + +Echo_message "Begin copying live-build configuration..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/source_debian-live + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Remove old sources +if [ -d source/debian-live ] +then + rm -rf source/debian-live +fi + +# Copy system configuration +mkdir -p source/debian-live +cp -a config source/debian-live + +if Find_files auto/* +then + cp -a auto source/debian-live +fi + +# Creating stage file +Create_stagefile .build/source_debian-live diff --git a/system-build/scripts/build/source_disk b/system-build/scripts/build/source_disk new file mode 100755 index 0000000..9cac2b3 --- /dev/null +++ b/system-build/scripts/build/source_disk @@ -0,0 +1,123 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'install disk information into source')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +case "${LB_SOURCE_IMAGES}" in + iso*|hdd*) + ;; + + *) + exit 0 + ;; +esac + +Echo_message "Begin installing disk information..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/source_disk + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +mkdir -p source/.disk + +DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]')" +DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION} | cut -b 2-)" + +if [ -e chroot/etc/os-release ] +then + VERSION="$(. chroot/etc/os-release && echo ${VERSION_ID})" +fi + +VERSION="${VERSION:-none}" + +case "${LB_MODE}" in + debian) + TITLE="Debian GNU/Linux" + STRING="Official Snapshot ${ARCHITECTURE}" + TRACE="project/trace/ftp-master.debian.org" + ;; + + progress-linux) + TITLE="Progress Linux" + STRING="${VERSION} (${DISTRIBUTION}) - ${ARCHITECTURE}" + TRACE="project/trace/archive-master.progress-linux.org" + ;; + + *) + TITLE="Debian GNU/Linux" + STRING="Snapshot ${ARCHITECTURE}" + TRACE="" + ;; +esac + +if [ -n "${TRACE}" ] +then + case "${LB_DERIVATIVE}" in + true) + echo "$(echo ${LB_PARENT_MIRROR_BOOTSTRAP} | awk -F:// '{ print $2 }'): $(wget -q ${LB_PARENT_MIRROR_BOOTSTRAP}/${TRACE} -O - | head -n 1)" \ + > source/.disk/archive_trace + + echo "$(echo ${LB_MIRROR_BOOTSTRAP} | awk -F:// '{ print $2 }'): $(wget -q ${LB_MIRROR_BOOTSTRAP}/${TRACE} -O - | head -n 1)" \ + >> source/.disk/archive_trace + ;; + + false) + echo "$(wget -q ${LB_PARENT_MIRROR_BOOTSTRAP}/${TRACE} -O - | head -n 1)" \ + > source/.disk/archive_trace + ;; + esac +fi + +case "${LB_DEBIAN_INSTALLER}" in + cdrom) + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE/CD Source $(date +%Y%m%d-%H:%M)" > source/.disk/info + ;; + + true|netinst) + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE/NETINST Source $(date +%Y%m%d-%H:%M)" > source/.disk/info + ;; + + live) + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE/INSTALL Source $(date +%Y%m%d-%H:%M)" > source/.disk/info + ;; + + businesscard) + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE/BC Source $(date +%Y%m%d-%H:%M)" > source/.disk/info + ;; + + false) + echo "${TITLE} ${VERSION} \"${DISTRIBUTION}\" - ${STRING} LIVE Source $(date +%Y%m%d-%H:%M)" > source/.disk/info + ;; +esac + +# Creating stage file +Create_stagefile .build/source_disk diff --git a/system-build/scripts/build/source_hdd b/system-build/scripts/build/source_hdd new file mode 100755 index 0000000..e9947ab --- /dev/null +++ b/system-build/scripts/build/source_hdd @@ -0,0 +1,155 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build source image')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_SOURCE}" != "true" ] +then + exit 0 +fi + +if ! In_list hdd "${LB_SOURCE_IMAGES}" +then + exit 0 +fi + +Echo_message "Begin building source hdd image..." + +# Requiring stage file +Require_stagefile .build/config .build/source_debian + +# Checking stage file +Check_stagefile .build/source_hdd + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Checking depends +Check_package chroot /sbin/mkdosfs dosfstools +Check_package chroot /sbin/parted parted + +# Installing depends +Install_package + +# Remove old source +if [ -f ${LIVE_IMAGE_NAME}-source.img ] +then + rm -f ${LIVE_IMAGE_NAME}-source.img +fi + +# Everything which comes here needs to be cleaned up, +DU_DIM="$(du -ms source | cut -f1)" +REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LB_BINARY_FILESYSTEM})" +dd if=/dev/zero of=${LIVE_IMAGE_NAME}-source.img bs=1024k count=0 seek=${REAL_DIM} +FREELO="$(${LB_LOSETUP} -f)" +if [ ! -b chroot/${FREELO} ] +then + MAKEDEV="true" + + mv chroot/dev chroot/dev.tmp + find /dev | cpio -dmpu chroot +fi + +case "${LB_BINARY_FILESYSTEM}" in + ext2|ext3|ext4) + PARTITION_TYPE="ext2" + ;; + + fat16|fat32) + PARTITION_TYPE="${LB_BINARY_FILESYSTEM}" + ;; + + ntfs) + PARTITION_TYPE="NTFS" + ;; + + *) + Echo_error "Unsupported binary filesystem %s" "${LB_BINARY_FILESYSTEM}" + exit 1 + ;; +esac + +Echo_warning "!!! The following error/warning messages can be ignored !!!" +Losetup $FREELO ${LIVE_IMAGE_NAME}-source.img 0 +Chroot chroot "parted -s ${FREELO} mklabel msdos" || true +Chroot chroot "parted -a optimal -s ${FREELO} mkpart primary ${PARTITION_TYPE} 0.0 100%" || true +Lodetach ${FREELO} + +Losetup $FREELO ${LIVE_IMAGE_NAME}-source.img 1 + +case "${LB_BINARY_FILESYSTEM}" in + ext2|ext3|ext4) + MKFS="${LB_BINARY_FILESYSTEM}" + MKFS_OPTIONS="-L ${LB_HDD_LABEL} -m 0 -O ^64bit" + MOUNT_OPTIONS="" + ;; + + fat16) + MKFS="vfat" + MKFS_OPTIONS="-F 16 -n ${LB_HDD_LABEL}" + MOUNT_OPTIONS="" + ;; + + fat32) + MKFS="vfat" + MKFS_OPTIONS="-F 32 -n ${LB_HDD_LABEL}" + MOUNT_OPTIONS="" + ;; + + ntfs) + MKFS="ntfs" + MKFS_OPTIONS="-L ${LB_HDD_LABEL}" + MOUNT_OPTIONS="-t ntfs-3g" + ;; +esac + +Chroot chroot "mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO}" + +mkdir -p source.tmp +mount ${MOUNT_OPTIONS} ${FREELO} source.tmp +cp -r source/* source.tmp +umount source.tmp +rmdir source.tmp +Lodetach ${FREELO} +Echo_warning "!!! The above error/warning messages can be ignored !!!" + +FREELO="$(${LB_LOSETUP} -f)" +Losetup "$FREELO" ${LIVE_IMAGE_NAME}-source.img 0 +Chroot chroot "parted -s ${FREELO} set 1 lba off" || true +Lodetach ${FREELO} + +if [ -n "${MAKEDEV}" ] +then + rm -rf chroot/dev + mv chroot/dev.tmp chroot/dev +fi + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .build/source_hdd diff --git a/system-build/scripts/build/source_hooks b/system-build/scripts/build/source_hooks new file mode 100755 index 0000000..4a7b1a4 --- /dev/null +++ b/system-build/scripts/build/source_hooks @@ -0,0 +1,81 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'execute hooks in source')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/source config/source +Set_defaults + +Echo_message "Begin executing hooks..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/source_hooks + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +## Processing distribution hooks + +# Running hooks +for _HOOK in ${LB_BINARY_HOOKS} +do + for LOCATION in "${LIVE_BUILD}/hooks" /usr/share/live/build/hooks + do + for FILE in "${LOCATION}"/????-"${_HOOK}".source + do + if [ -e "${FILE}" ] + then + cd source + "${FILE}" || { Echo_error "${_HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} + cd "${OLDPWD}" + fi + done + done +done + +## Processing local hooks +for HOOK in config/hooks/normal/*.source config/hooks/live/*.source +do + if [ ! -e "${HOOK}" ] + then + continue + fi + + # Making hook executable + if [ ! -x "${HOOK}" ] + then + chmod +x "${HOOK}" + fi + + # Executing hook + cd source + ../"${HOOK}" || { Echo_error "${HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} + cd "${OLDPWD}" +done + +# Creating stage file +Create_stagefile .build/source_hooks diff --git a/system-build/scripts/build/source_iso b/system-build/scripts/build/source_iso new file mode 100755 index 0000000..b0b3036 --- /dev/null +++ b/system-build/scripts/build/source_iso @@ -0,0 +1,122 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build iso source image')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_SOURCE}" != "true" ] +then + exit 0 +fi + +case "${LB_SOURCE_IMAGES}" in + iso*) + ;; + + *) + exit 0 + ;; +esac + +Echo_message "Begin building source iso image..." + +# Requiring stage file +Require_stagefile .build/config .build/source_debian + +# Checking stage file +Check_stagefile .build/source_iso + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Checking depends +Check_package chroot /usr/bin/xorriso xorriso + +# Installing depends +Install_package + +# Remove old iso image +if [ -f ${LIVE_IMAGE_NAME}-source.iso ] +then + rm -f ${LIVE_IMAGE_NAME}-source.iso +fi + +# Handle xorriso generic options +XORRISO_OPTIONS="-as mkisofs -r -J -joliet-long -l -cache-inodes" + +# Handle xorriso live-build specific options +if [ "${_QUIET}" = "true" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -quiet" +fi + +if [ "${_VERBOSE}" = "true" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -v" +fi + +if [ -n "${LB_ISO_APPLICATION}" ] && [ "${LB_ISO_APPLICATION}" != "none" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -A \"${LB_ISO_APPLICATION}\"" +fi + +if [ -n "${LB_ISO_PREPARER}" ] && [ "${LB_ISO_PREPARER}" != "none" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -p \"${LB_ISO_PREPARER}\"" +fi + +if [ -n "${LB_ISO_PUBLISHER}" ] && [ "${LB_ISO_PUBLISHER}" != "none" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -publisher \"${LB_ISO_PUBLISHER}\"" +fi + +if [ -n "${LB_ISO_VOLUME}" ] && [ "${LB_ISO_VOLUME}" != "none" ] +then + XORRISO_OPTIONS="${XORRISO_OPTIONS} -V \"${LB_ISO_VOLUME}\"" +fi + +# Set an explicit modification date +XORRISO_OPTIONS="${XORRISO_OPTIONS} --modification-date=$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m%d%H%m%S00)" + +# Moving image +mv source chroot + +cat >> chroot/source.sh << EOF +xorriso ${XORRISO_OPTIONS} -o source.iso source +EOF + +Chroot chroot "sh source.sh" + +# Move image +mv chroot/source ./ +mv chroot/source.iso ${LIVE_IMAGE_NAME}-source.iso +rm -f chroot/source.sh + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .build/source_iso diff --git a/system-build/scripts/build/source_live b/system-build/scripts/build/source_live new file mode 100755 index 0000000..67e71c9 --- /dev/null +++ b/system-build/scripts/build/source_live @@ -0,0 +1,62 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'copy live config into source')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_SOURCE}" != "true" ] +then + exit 0 +fi + +Echo_message "Begin copying live-build configuration..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/source_live + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Remove old sources +if [ -d source/live ] +then + rm -rf source/live +fi + +# Copy system configuration +mkdir -p source/live +cp -a config source/live + +if Find_files auto/* +then + cp -a auto source/live +fi + +# Creating stage file +Create_stagefile .build/source_live diff --git a/system-build/scripts/build/source_tar b/system-build/scripts/build/source_tar new file mode 100755 index 0000000..d4b3555 --- /dev/null +++ b/system-build/scripts/build/source_tar @@ -0,0 +1,85 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build source tarball')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source +Set_defaults + +if [ "${LB_SOURCE}" != "true" ] +then + exit 0 +fi + +if ! In_list tar "${LB_SOURCE_IMAGES}" +then + exit 0 +fi + +Echo_message "Begin building source tarball..." +Echo_message "This may take a while." + +# Requiring stage file +Require_stagefile .build/config .build/source_debian + +# Checking stage file +Check_stagefile .build/source_tar + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Remove old source +rm -f ${LIVE_IMAGE_NAME}-source.orig.tar.bz2 ${LIVE_IMAGE_NAME}-source.orig.tar.gz ${LIVE_IMAGE_NAME}-source.orig.tar.lz ${LIVE_IMAGE_NAME}-source.orig.tar +rm -f ${LIVE_IMAGE_NAME}-source.config.tar.bz2 ${LIVE_IMAGE_NAME}-source.config.tar.gz ${LIVE_IMAGE_NAME}-source.config.tar.lz ${LIVE_IMAGE_NAME}-source.config.tar + +tar cf ${LIVE_IMAGE_NAME}-source.orig.tar source/debian +tar cf ${LIVE_IMAGE_NAME}-source.config.tar source/live + +case "${LB_COMPRESSION}" in + bzip2) + bzip2 ${BZIP2_OPTIONS} ${LIVE_IMAGE_NAME}-source.orig.tar + bzip2 ${BZIP2_OPTIONS} ${LIVE_IMAGE_NAME}-source.config.tar + ;; + + gzip) + gzip ${GZIP_OPTIONS} ${LIVE_IMAGE_NAME}-source.orig.tar + gzip ${GZIP_OPTIONS} ${LIVE_IMAGE_NAME}-source.config.tar + ;; + + lzip) + lzip ${LZIP_OPTIONS} ${LIVE_IMAGE_NAME}-source.orig.tar + lzip ${LZIP_OPTIONS} ${LIVE_IMAGE_NAME}-source.config.tar + ;; + + xz) + xz ${XZ_OPTIONS} ${LIVE_IMAGE_NAME}-source.orig.tar + xz ${XZ_OPTIONS} ${LIVE_IMAGE_NAME}-source.config.tar + ;; + + none) + ;; +esac + +# Creating stage file +Create_stagefile .build/source_tar diff --git a/system-build/share/bin/Packages b/system-build/share/bin/Packages new file mode 100755 index 0000000..fa6cbba --- /dev/null +++ b/system-build/share/bin/Packages @@ -0,0 +1,31 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +if [ ! -e /usr/bin/grep-aptavail ] +then + echo "E: /usr/bin/grep-aptavail: No such file." + + exit 1 +fi + +if [ -z "${2}" ] +then + echo "Usage: $(basename ${0}) FIELD VALUE" + + exit 1 +fi + +_FIELD="${1}" +_VALUE="${2}" + +# For compatibility with tasksel, exclude lib and non-main packages +grep-aptavail -n -sPackage -F${_FIELD} ${_VALUE} -a -! -e -FSection '^(lib|/)' | sort diff --git a/system-build/share/bootloaders/extlinux/advanced.cfg b/system-build/share/bootloaders/extlinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-build/share/bootloaders/extlinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-build/share/bootloaders/extlinux/extlinux.conf b/system-build/share/bootloaders/extlinux/extlinux.conf new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-build/share/bootloaders/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-build/share/bootloaders/extlinux/hdt.c32 b/system-build/share/bootloaders/extlinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-build/share/bootloaders/extlinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/extlinux/install.cfg b/system-build/share/bootloaders/extlinux/install.cfg new file mode 100644 index 0000000..ba09752 --- /dev/null +++ b/system-build/share/bootloaders/extlinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet + +label installgui + menu label ^Graphical install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-build/share/bootloaders/extlinux/ldlinux.c32 b/system-build/share/bootloaders/extlinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-build/share/bootloaders/extlinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/extlinux/libcom32.c32 b/system-build/share/bootloaders/extlinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-build/share/bootloaders/extlinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/extlinux/libgpl.c32 b/system-build/share/bootloaders/extlinux/libgpl.c32 new file mode 120000 index 0000000..81c83fb --- /dev/null +++ b/system-build/share/bootloaders/extlinux/libgpl.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libgpl.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/extlinux/libmenu.c32 b/system-build/share/bootloaders/extlinux/libmenu.c32 new file mode 120000 index 0000000..2491ff9 --- /dev/null +++ b/system-build/share/bootloaders/extlinux/libmenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libmenu.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/extlinux/libutil.c32 b/system-build/share/bootloaders/extlinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-build/share/bootloaders/extlinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/extlinux/live.cfg.in b/system-build/share/bootloaders/extlinux/live.cfg.in new file mode 100644 index 0000000..97ceb92 --- /dev/null +++ b/system-build/share/bootloaders/extlinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label ^Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-build/share/bootloaders/extlinux/menu.cfg b/system-build/share/bootloaders/extlinux/menu.cfg new file mode 100644 index 0000000..d2daa80 --- /dev/null +++ b/system-build/share/bootloaders/extlinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 0 +menu width 82 + +menu title Boot menu +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-build/share/bootloaders/extlinux/splash.svg b/system-build/share/bootloaders/extlinux/splash.svg new file mode 100644 index 0000000..963624c --- /dev/null +++ b/system-build/share/bootloaders/extlinux/splash.svg @@ -0,0 +1,383 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="640" + height="480" + id="svg3320" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="splash.svg.in"> + <defs + id="defs3322"> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.402663,0,0,1.115648,-6.237984,0.0533075)" + r="18.370251" + fy="10.943316" + fx="15.491823" + cy="10.943316" + cx="15.491823" + id="radialGradient2813" + xlink:href="#linearGradient2807" + inkscape:collect="always" /> + <radialGradient + r="35.934704" + fy="424.15677" + fx="131.23691" + cy="424.15677" + cx="131.23691" + gradientTransform="matrix(0.101953,-0.04272301,0.09621296,0.229599,-48.67227,-64.24148)" + gradientUnits="userSpaceOnUse" + id="radialGradient2798" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.415385,0,26.70146)" + r="30.365856" + fy="45.673546" + fx="29.898689" + cy="45.673546" + cx="29.898689" + id="radialGradient18290" + xlink:href="#linearGradient18284" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.105628,-0.04514018,0.06692574,0.156607,-46.01605,-24.35485)" + r="103.26014" + fy="409.83737" + fx="340.35886" + cy="409.83737" + cx="340.35886" + id="radialGradient13895" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.08174351,0.01024998,-0.04335971,0.345793,6.123413,-84.50421)" + r="38.451698" + fy="270.67969" + fx="424.99243" + cy="270.67969" + cx="424.99243" + id="radialGradient11208" + xlink:href="#linearGradient11202" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.272962,-0.071724,0.05616202,0.213737,-78.54657,-24.30491)" + r="48.782982" + fy="243.06874" + fx="293.81989" + cy="243.06874" + cx="293.81989" + id="radialGradient10317" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.224796,0.01017229,-0.00975947,0.215674,-73.87964,-54.89804)" + r="40.975471" + fy="286.46918" + fx="500.97794" + cy="286.46918" + cx="500.97794" + id="radialGradient9434" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.163532,-0.01065754,0.01078108,0.165425,-46.18187,-65.65506)" + r="235.88632" + fy="685.99139" + fx="420.87839" + cy="685.99139" + cx="420.87839" + id="radialGradient8549" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + r="297.21338" + fy="-72.420044" + fx="336.73767" + cy="-72.420044" + cx="336.73767" + gradientTransform="matrix(0.136507,0,-4.484926e-5,0.07137743,-23.39816,12.31028)" + gradientUnits="userSpaceOnUse" + id="radialGradient7666" + xlink:href="#linearGradient5012" + inkscape:collect="always" /> + <linearGradient + id="linearGradient5012"> + <stop + id="stop5014" + offset="0" + style="stop-color:#fdf188;stop-opacity:1;" /> + <stop + id="stop5016" + offset="1" + style="stop-color:#d3bc00;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient8543"> + <stop + id="stop8545" + offset="0" + style="stop-color:#fffef5;stop-opacity:0.94117647;" /> + <stop + id="stop8547" + offset="1" + style="stop-color:#fce94f;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient11202"> + <stop + id="stop11204" + offset="0" + style="stop-color:#c4a000;stop-opacity:1;" /> + <stop + id="stop11206" + offset="1" + style="stop-color:#c4a000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient18284"> + <stop + id="stop18286" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0.5" + id="stop20913" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop19165" /> + </linearGradient> + <linearGradient + id="linearGradient2807" + inkscape:collect="always"> + <stop + id="stop2809" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2811" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <inkscape:perspective + id="perspective47" + inkscape:persp3d-origin="24 : 16 : 1" + inkscape:vp_z="48 : 24 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 24 : 1" + sodipodi:type="inkscape:persp3d" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.775" + inkscape:cx="574.36733" + inkscape:cy="250.84337" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1016" + inkscape:window-height="570" + inkscape:window-x="0" + inkscape:window-y="1" + inkscape:window-maximized="0" /> + <metadata + id="metadata3325"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-572.3622)"> + <rect + style="fill:#000000;fill-opacity:1;stroke:none" + id="rect3328" + width="640" + height="480" + x="0" + y="572.36218" /> + <text + transform="scale(1.0000015,0.99999849)" + sodipodi:linespacing="100%" + id="text3002" + y="619.20685" + x="190.68135" + style="font-size:35.65467453px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans Bold" + xml:space="preserve"><tspan + y="619.20685" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3045">@PROJECT@ @VERSION@ (@DISTRIBUTION@)</tspan><tspan + y="639.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3041">@ARCHITECTURE@</tspan><tspan + y="659.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3037" /><tspan + y="679.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3039">Build: @YEAR@-@MONTH@-@DAY@ @HOUR@:@MINUTE@:@SECOND@</tspan><tspan + y="699.20673" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3098" /><tspan + y="719.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3102">linux: @LINUX_VERSIONS@</tspan><tspan + y="739.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3076">system-build: @SYSTEM_BUILD_VERSION@</tspan><tspan + y="759.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3068">system-boot: @SYSTEM_BOOT_VERSION@</tspan><tspan + y="779.2066" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3070">system-config: @SYSTEM_CONFIG_VERSION@</tspan><tspan + y="799.20654" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3066" /></text> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="200" + y="336.7742" + id="text3114" + sodipodi:linespacing="125%" + transform="translate(0,572.3622)"><tspan + sodipodi:role="line" + id="tspan3116" /></text> + <g + id="layer1-9" + inkscape:label="Layer 1" + transform="matrix(2.8369273,0,0,2.8369235,27.782921,602.43406)"> + <path + transform="matrix(0.742527,0,-0.05812964,1.428611,4.500517,-36.68345)" + d="m 60.264545,45.673546 c 0,6.966249 -13.595256,12.613509 -30.365856,12.613509 -16.770599,0 -30.3658559,-5.64726 -30.3658559,-12.613509 0,-6.966249 13.5952569,-12.613509 30.3658559,-12.613509 16.7706,0 30.365856,5.64726 30.365856,12.613509 z" + sodipodi:ry="12.613509" + sodipodi:rx="30.365856" + sodipodi:cy="45.673546" + sodipodi:cx="29.898689" + id="path17409" + style="fill:url(#radialGradient18290);fill-opacity:1;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:nodetypes="cccscsssscsccsc" + id="path3120" + d="M 23.152758,1.1801876 C 20.380218,1.2190783 17.86582,1.8908769 15.634281,3.0196314 14.541531,5.1714614 10.9437,7.7293655 9.4689484,8.0015561 6.5691703,11.460832 4.6887193,15.805035 3.9754523,19.98162 c -4.375e-4,0.0026 4.366e-4,0.0052 0,0.0077 -1.1863594,1.549717 -1.6900108,3.396594 -1.3773472,5.53256 1.1211744,7.659314 3.2821678,14.888292 8.1850959,16.556275 7.154429,2.433946 21.871769,1.785847 25.129507,0.458258 7.13903,-2.909286 7.771453,-9.285098 8.891432,-16.780256 0.305554,-2.044832 -0.144835,-3.841202 -1.230601,-5.372942 -0.009,-0.0556 -0.01849,-0.111474 -0.02832,-0.167342 C 42.763966,15.777007 40.697859,11.326849 37.602582,7.8466935 35.508773,7.62926 31.462964,4.270333 30.483158,2.6229925 28.330506,1.7020155 25.961342,1.1801876 23.407632,1.1801876 c -0.08532,0 -0.170037,-0.00119 -0.254874,0 z" + style="fill:url(#radialGradient7666);fill-opacity:1;stroke:#c4a000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccscc" + id="path7668" + d="M 43.629688,22.792984 C 39.033494,39.233217 10.438199,40.802737 3.7832765,23.04227 3.7410682,39.366403 10.103414,44.083889 28.189955,43.247454 c 3.061977,-0.140689 10.00982,0.04287 14.614484,-9.136776 2.238365,-11.5104 0.825249,-11.317694 0.825249,-11.317694 z" + style="opacity:0.66666667;fill:url(#radialGradient8549);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccc" + id="path8553" + d="m 34.691565,7.6783057 2.500881,1.1253976 c 0,0 -1.310404,10.1226397 -6.669016,16.4849717 1.771665,-6.455834 4.188975,-17.6103693 4.168135,-17.6103693 z" + style="fill:url(#radialGradient9434);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccc" + id="path9436" + d="m 15.872437,4.1562328 c 1.50053,9.0656942 6.50229,19.4860282 6.002115,20.0070452 -4.584948,-6.981624 -6.502291,-12.921217 -8.00282,-17.9229779 0,-0.083363 2.000705,-2.0632267 2.000705,-2.0840673 z" + style="fill:url(#radialGradient10317);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccsc" + id="path10319" + d="M 30.21082,3.8227818 C 26.126047,20.328594 25.959322,23.079563 25.959322,23.079563 c 0,0 6.335566,-16.7559003 6.335566,-17.1727135 0,-8e-7 -1.583891,-1.5005286 -2.084068,-2.0840677 z" + style="fill:url(#radialGradient11208);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <flowRoot + id="flowRoot12974" + xml:space="preserve"><flowRegion + id="flowRegion12976"><rect + y="412.80496" + x="86.787514" + height="16.02231" + width="40.055775" + id="rect12978" /></flowRegion><flowPara + id="flowPara12980" /></flowRoot> <path + sodipodi:nodetypes="ccccccc" + id="path13014" + d="m 16.18209,34.476182 -0.04467,-9.569745 14.493727,0 1.642604,-1.263542 -16.931465,0 0.04467,10.640581 0.795134,0.192706 z" + style="fill:url(#radialGradient13895);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccc" + id="path13897" + d="m 31.043495,24.81709 0.08168,9.804611 0.686144,-0.214742 0.01198,-10.85341 -0.779803,1.263541 z" + style="fill:#958401;fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccscc" + id="path16526" + d="m 4.2551267,24.106065 c 0,0 2.3166503,8.115689 10.2209413,8.766037 1.105608,2.490418 -1.13497,4.124601 -1.13497,4.124601 L 9.7315781,36.745641 c 0,0 -6.2387745,-7.992942 -6.4882087,-9.900882 -0.2494325,-1.907937 0.1632835,-3.407793 0.1632835,-3.407793 l 0.8484738,0.669099 z" + style="fill:url(#radialGradient2798);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + style="opacity:0.74444442;fill:none;stroke:#ffffff;stroke-width:0.99999976;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="M 23.184204,2.3889904 C 20.570275,2.4256563 18.199721,3.0590226 16.095844,4.1232033 15.065608,6.1519314 11.673602,8.563503 10.283218,8.8201221 7.5493302,12.0815 5.776456,16.17718 5.1039936,20.11483 c -4.124e-4,0.0024 4.116e-4,0.0049 0,0.0073 -1.1184901,1.46106 -1.8584936,3.246475 -1.5637169,5.260247 1.0570343,7.22114 2.9276025,13.709677 7.3279793,15.639454 5.923141,2.597582 21.539722,1.785935 24.611092,0.534295 6.73062,-2.742852 7.061699,-8.930694 8.117606,-15.997069 0.288074,-1.927851 -0.13655,-3.621454 -1.160201,-5.065566 -0.0084,-0.05242 -0.01743,-0.105097 -0.0267,-0.157769 C 41.673494,16.150755 39.725585,11.955182 36.807382,8.6741189 34.833356,8.4691243 31.019,5.3023548 30.095246,3.7492553 28.065743,2.8809656 25.832115,2.3889904 23.424497,2.3889904 c -0.08044,0 -0.160309,-0.00112 -0.240293,0 z" + id="path2703" + sodipodi:nodetypes="cccscsssscsccsc" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccssccscccssc" + id="path2800" + d="m 22.59375,2.78125 c -2.329557,0.1165682 -4.440971,0.7250384 -6.34375,1.6875 -1.010725,1.9903059 -4.354698,4.373241 -5.71875,4.625 -2.6821095,3.199611 -4.4027734,7.199424 -5.0625,11.0625 -4.046e-4,0.0024 4.038e-4,0.02888 0,0.03125 -1.0973069,1.43339 -1.4580267,3.591148 -1.4580267,3.591148 4.685267,3.605062 7.6416117,0.213892 14.3188727,-2.01722 12.59928,1.923141 18.748338,-0.995945 22.514154,-5.667678 0.0069,-0.0085 -0.0035,-0.02088 0,-0.03125 C 39.852567,13.479666 38.411479,11.016387 36.5625,8.9375 34.62586,8.7363873 30.875008,5.6486852 29.96875,4.125 27.977684,3.2731547 25.79952,2.78125 23.4375,2.78125 c -0.07892,10e-8 -0.171531,-0.0011 -0.25,0 -0.200346,0.00281 -0.39633,-0.00988 -0.59375,0 z" + style="opacity:0.59444424;fill:url(#radialGradient2813);fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/system-build/share/bootloaders/extlinux/stdmenu.cfg b/system-build/share/bootloaders/extlinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-build/share/bootloaders/extlinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-build/share/bootloaders/extlinux/vesamenu.c32 b/system-build/share/bootloaders/extlinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-build/share/bootloaders/extlinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/grub-legacy/menu.lst b/system-build/share/bootloaders/grub-legacy/menu.lst new file mode 100644 index 0000000..3b866e5 --- /dev/null +++ b/system-build/share/bootloaders/grub-legacy/menu.lst @@ -0,0 +1,9 @@ +default 0 +color cyan/blue white/blue +splashimage /boot/grub/splash.xpm.gz + +LINUX_LIVE + +LINUX_INSTALL + +MEMTEST diff --git a/system-build/share/bootloaders/grub-legacy/splash.xpm.gz b/system-build/share/bootloaders/grub-legacy/splash.xpm.gz Binary files differnew file mode 100644 index 0000000..f32e228 --- /dev/null +++ b/system-build/share/bootloaders/grub-legacy/splash.xpm.gz diff --git a/system-build/share/bootloaders/grub-pc/grub.cfg b/system-build/share/bootloaders/grub-pc/grub.cfg new file mode 100644 index 0000000..3430b63 --- /dev/null +++ b/system-build/share/bootloaders/grub-pc/grub.cfg @@ -0,0 +1,12 @@ +set default=0 + +insmod tga +background_image ($root)/boot/grub/splash.tga +set color_normal=cyan/blue +set color_highlight=white/blue + +LINUX_LIVE + +LINUX_INSTALL + +MEMTEST diff --git a/system-build/share/bootloaders/grub-pc/splash.tga b/system-build/share/bootloaders/grub-pc/splash.tga Binary files differnew file mode 100644 index 0000000..90b790d --- /dev/null +++ b/system-build/share/bootloaders/grub-pc/splash.tga diff --git a/system-build/share/bootloaders/isolinux/advanced.cfg b/system-build/share/bootloaders/isolinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-build/share/bootloaders/isolinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-build/share/bootloaders/isolinux/hdt.c32 b/system-build/share/bootloaders/isolinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-build/share/bootloaders/isolinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/isolinux/install.cfg b/system-build/share/bootloaders/isolinux/install.cfg new file mode 100644 index 0000000..ba09752 --- /dev/null +++ b/system-build/share/bootloaders/isolinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet + +label installgui + menu label ^Graphical install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-build/share/bootloaders/isolinux/isolinux.bin b/system-build/share/bootloaders/isolinux/isolinux.bin new file mode 120000 index 0000000..33a2ad6 --- /dev/null +++ b/system-build/share/bootloaders/isolinux/isolinux.bin @@ -0,0 +1 @@ +/usr/lib/ISOLINUX/isolinux.bin
\ No newline at end of file diff --git a/system-build/share/bootloaders/isolinux/isolinux.cfg b/system-build/share/bootloaders/isolinux/isolinux.cfg new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-build/share/bootloaders/isolinux/isolinux.cfg @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-build/share/bootloaders/isolinux/ldlinux.c32 b/system-build/share/bootloaders/isolinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-build/share/bootloaders/isolinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/isolinux/libcom32.c32 b/system-build/share/bootloaders/isolinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-build/share/bootloaders/isolinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/isolinux/libgpl.c32 b/system-build/share/bootloaders/isolinux/libgpl.c32 new file mode 120000 index 0000000..81c83fb --- /dev/null +++ b/system-build/share/bootloaders/isolinux/libgpl.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libgpl.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/isolinux/libmenu.c32 b/system-build/share/bootloaders/isolinux/libmenu.c32 new file mode 120000 index 0000000..2491ff9 --- /dev/null +++ b/system-build/share/bootloaders/isolinux/libmenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libmenu.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/isolinux/libutil.c32 b/system-build/share/bootloaders/isolinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-build/share/bootloaders/isolinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/isolinux/live.cfg.in b/system-build/share/bootloaders/isolinux/live.cfg.in new file mode 100644 index 0000000..97ceb92 --- /dev/null +++ b/system-build/share/bootloaders/isolinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label ^Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-build/share/bootloaders/isolinux/menu.cfg b/system-build/share/bootloaders/isolinux/menu.cfg new file mode 100644 index 0000000..d2daa80 --- /dev/null +++ b/system-build/share/bootloaders/isolinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 0 +menu width 82 + +menu title Boot menu +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-build/share/bootloaders/isolinux/splash.svg b/system-build/share/bootloaders/isolinux/splash.svg new file mode 100644 index 0000000..963624c --- /dev/null +++ b/system-build/share/bootloaders/isolinux/splash.svg @@ -0,0 +1,383 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="640" + height="480" + id="svg3320" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="splash.svg.in"> + <defs + id="defs3322"> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.402663,0,0,1.115648,-6.237984,0.0533075)" + r="18.370251" + fy="10.943316" + fx="15.491823" + cy="10.943316" + cx="15.491823" + id="radialGradient2813" + xlink:href="#linearGradient2807" + inkscape:collect="always" /> + <radialGradient + r="35.934704" + fy="424.15677" + fx="131.23691" + cy="424.15677" + cx="131.23691" + gradientTransform="matrix(0.101953,-0.04272301,0.09621296,0.229599,-48.67227,-64.24148)" + gradientUnits="userSpaceOnUse" + id="radialGradient2798" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.415385,0,26.70146)" + r="30.365856" + fy="45.673546" + fx="29.898689" + cy="45.673546" + cx="29.898689" + id="radialGradient18290" + xlink:href="#linearGradient18284" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.105628,-0.04514018,0.06692574,0.156607,-46.01605,-24.35485)" + r="103.26014" + fy="409.83737" + fx="340.35886" + cy="409.83737" + cx="340.35886" + id="radialGradient13895" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.08174351,0.01024998,-0.04335971,0.345793,6.123413,-84.50421)" + r="38.451698" + fy="270.67969" + fx="424.99243" + cy="270.67969" + cx="424.99243" + id="radialGradient11208" + xlink:href="#linearGradient11202" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.272962,-0.071724,0.05616202,0.213737,-78.54657,-24.30491)" + r="48.782982" + fy="243.06874" + fx="293.81989" + cy="243.06874" + cx="293.81989" + id="radialGradient10317" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.224796,0.01017229,-0.00975947,0.215674,-73.87964,-54.89804)" + r="40.975471" + fy="286.46918" + fx="500.97794" + cy="286.46918" + cx="500.97794" + id="radialGradient9434" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.163532,-0.01065754,0.01078108,0.165425,-46.18187,-65.65506)" + r="235.88632" + fy="685.99139" + fx="420.87839" + cy="685.99139" + cx="420.87839" + id="radialGradient8549" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + r="297.21338" + fy="-72.420044" + fx="336.73767" + cy="-72.420044" + cx="336.73767" + gradientTransform="matrix(0.136507,0,-4.484926e-5,0.07137743,-23.39816,12.31028)" + gradientUnits="userSpaceOnUse" + id="radialGradient7666" + xlink:href="#linearGradient5012" + inkscape:collect="always" /> + <linearGradient + id="linearGradient5012"> + <stop + id="stop5014" + offset="0" + style="stop-color:#fdf188;stop-opacity:1;" /> + <stop + id="stop5016" + offset="1" + style="stop-color:#d3bc00;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient8543"> + <stop + id="stop8545" + offset="0" + style="stop-color:#fffef5;stop-opacity:0.94117647;" /> + <stop + id="stop8547" + offset="1" + style="stop-color:#fce94f;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient11202"> + <stop + id="stop11204" + offset="0" + style="stop-color:#c4a000;stop-opacity:1;" /> + <stop + id="stop11206" + offset="1" + style="stop-color:#c4a000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient18284"> + <stop + id="stop18286" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0.5" + id="stop20913" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop19165" /> + </linearGradient> + <linearGradient + id="linearGradient2807" + inkscape:collect="always"> + <stop + id="stop2809" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2811" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <inkscape:perspective + id="perspective47" + inkscape:persp3d-origin="24 : 16 : 1" + inkscape:vp_z="48 : 24 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 24 : 1" + sodipodi:type="inkscape:persp3d" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.775" + inkscape:cx="574.36733" + inkscape:cy="250.84337" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1016" + inkscape:window-height="570" + inkscape:window-x="0" + inkscape:window-y="1" + inkscape:window-maximized="0" /> + <metadata + id="metadata3325"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-572.3622)"> + <rect + style="fill:#000000;fill-opacity:1;stroke:none" + id="rect3328" + width="640" + height="480" + x="0" + y="572.36218" /> + <text + transform="scale(1.0000015,0.99999849)" + sodipodi:linespacing="100%" + id="text3002" + y="619.20685" + x="190.68135" + style="font-size:35.65467453px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans Bold" + xml:space="preserve"><tspan + y="619.20685" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3045">@PROJECT@ @VERSION@ (@DISTRIBUTION@)</tspan><tspan + y="639.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3041">@ARCHITECTURE@</tspan><tspan + y="659.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3037" /><tspan + y="679.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3039">Build: @YEAR@-@MONTH@-@DAY@ @HOUR@:@MINUTE@:@SECOND@</tspan><tspan + y="699.20673" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3098" /><tspan + y="719.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3102">linux: @LINUX_VERSIONS@</tspan><tspan + y="739.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3076">system-build: @SYSTEM_BUILD_VERSION@</tspan><tspan + y="759.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3068">system-boot: @SYSTEM_BOOT_VERSION@</tspan><tspan + y="779.2066" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3070">system-config: @SYSTEM_CONFIG_VERSION@</tspan><tspan + y="799.20654" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3066" /></text> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="200" + y="336.7742" + id="text3114" + sodipodi:linespacing="125%" + transform="translate(0,572.3622)"><tspan + sodipodi:role="line" + id="tspan3116" /></text> + <g + id="layer1-9" + inkscape:label="Layer 1" + transform="matrix(2.8369273,0,0,2.8369235,27.782921,602.43406)"> + <path + transform="matrix(0.742527,0,-0.05812964,1.428611,4.500517,-36.68345)" + d="m 60.264545,45.673546 c 0,6.966249 -13.595256,12.613509 -30.365856,12.613509 -16.770599,0 -30.3658559,-5.64726 -30.3658559,-12.613509 0,-6.966249 13.5952569,-12.613509 30.3658559,-12.613509 16.7706,0 30.365856,5.64726 30.365856,12.613509 z" + sodipodi:ry="12.613509" + sodipodi:rx="30.365856" + sodipodi:cy="45.673546" + sodipodi:cx="29.898689" + id="path17409" + style="fill:url(#radialGradient18290);fill-opacity:1;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:nodetypes="cccscsssscsccsc" + id="path3120" + d="M 23.152758,1.1801876 C 20.380218,1.2190783 17.86582,1.8908769 15.634281,3.0196314 14.541531,5.1714614 10.9437,7.7293655 9.4689484,8.0015561 6.5691703,11.460832 4.6887193,15.805035 3.9754523,19.98162 c -4.375e-4,0.0026 4.366e-4,0.0052 0,0.0077 -1.1863594,1.549717 -1.6900108,3.396594 -1.3773472,5.53256 1.1211744,7.659314 3.2821678,14.888292 8.1850959,16.556275 7.154429,2.433946 21.871769,1.785847 25.129507,0.458258 7.13903,-2.909286 7.771453,-9.285098 8.891432,-16.780256 0.305554,-2.044832 -0.144835,-3.841202 -1.230601,-5.372942 -0.009,-0.0556 -0.01849,-0.111474 -0.02832,-0.167342 C 42.763966,15.777007 40.697859,11.326849 37.602582,7.8466935 35.508773,7.62926 31.462964,4.270333 30.483158,2.6229925 28.330506,1.7020155 25.961342,1.1801876 23.407632,1.1801876 c -0.08532,0 -0.170037,-0.00119 -0.254874,0 z" + style="fill:url(#radialGradient7666);fill-opacity:1;stroke:#c4a000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccscc" + id="path7668" + d="M 43.629688,22.792984 C 39.033494,39.233217 10.438199,40.802737 3.7832765,23.04227 3.7410682,39.366403 10.103414,44.083889 28.189955,43.247454 c 3.061977,-0.140689 10.00982,0.04287 14.614484,-9.136776 2.238365,-11.5104 0.825249,-11.317694 0.825249,-11.317694 z" + style="opacity:0.66666667;fill:url(#radialGradient8549);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccc" + id="path8553" + d="m 34.691565,7.6783057 2.500881,1.1253976 c 0,0 -1.310404,10.1226397 -6.669016,16.4849717 1.771665,-6.455834 4.188975,-17.6103693 4.168135,-17.6103693 z" + style="fill:url(#radialGradient9434);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccc" + id="path9436" + d="m 15.872437,4.1562328 c 1.50053,9.0656942 6.50229,19.4860282 6.002115,20.0070452 -4.584948,-6.981624 -6.502291,-12.921217 -8.00282,-17.9229779 0,-0.083363 2.000705,-2.0632267 2.000705,-2.0840673 z" + style="fill:url(#radialGradient10317);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccsc" + id="path10319" + d="M 30.21082,3.8227818 C 26.126047,20.328594 25.959322,23.079563 25.959322,23.079563 c 0,0 6.335566,-16.7559003 6.335566,-17.1727135 0,-8e-7 -1.583891,-1.5005286 -2.084068,-2.0840677 z" + style="fill:url(#radialGradient11208);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <flowRoot + id="flowRoot12974" + xml:space="preserve"><flowRegion + id="flowRegion12976"><rect + y="412.80496" + x="86.787514" + height="16.02231" + width="40.055775" + id="rect12978" /></flowRegion><flowPara + id="flowPara12980" /></flowRoot> <path + sodipodi:nodetypes="ccccccc" + id="path13014" + d="m 16.18209,34.476182 -0.04467,-9.569745 14.493727,0 1.642604,-1.263542 -16.931465,0 0.04467,10.640581 0.795134,0.192706 z" + style="fill:url(#radialGradient13895);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccc" + id="path13897" + d="m 31.043495,24.81709 0.08168,9.804611 0.686144,-0.214742 0.01198,-10.85341 -0.779803,1.263541 z" + style="fill:#958401;fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccscc" + id="path16526" + d="m 4.2551267,24.106065 c 0,0 2.3166503,8.115689 10.2209413,8.766037 1.105608,2.490418 -1.13497,4.124601 -1.13497,4.124601 L 9.7315781,36.745641 c 0,0 -6.2387745,-7.992942 -6.4882087,-9.900882 -0.2494325,-1.907937 0.1632835,-3.407793 0.1632835,-3.407793 l 0.8484738,0.669099 z" + style="fill:url(#radialGradient2798);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + style="opacity:0.74444442;fill:none;stroke:#ffffff;stroke-width:0.99999976;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="M 23.184204,2.3889904 C 20.570275,2.4256563 18.199721,3.0590226 16.095844,4.1232033 15.065608,6.1519314 11.673602,8.563503 10.283218,8.8201221 7.5493302,12.0815 5.776456,16.17718 5.1039936,20.11483 c -4.124e-4,0.0024 4.116e-4,0.0049 0,0.0073 -1.1184901,1.46106 -1.8584936,3.246475 -1.5637169,5.260247 1.0570343,7.22114 2.9276025,13.709677 7.3279793,15.639454 5.923141,2.597582 21.539722,1.785935 24.611092,0.534295 6.73062,-2.742852 7.061699,-8.930694 8.117606,-15.997069 0.288074,-1.927851 -0.13655,-3.621454 -1.160201,-5.065566 -0.0084,-0.05242 -0.01743,-0.105097 -0.0267,-0.157769 C 41.673494,16.150755 39.725585,11.955182 36.807382,8.6741189 34.833356,8.4691243 31.019,5.3023548 30.095246,3.7492553 28.065743,2.8809656 25.832115,2.3889904 23.424497,2.3889904 c -0.08044,0 -0.160309,-0.00112 -0.240293,0 z" + id="path2703" + sodipodi:nodetypes="cccscsssscsccsc" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccssccscccssc" + id="path2800" + d="m 22.59375,2.78125 c -2.329557,0.1165682 -4.440971,0.7250384 -6.34375,1.6875 -1.010725,1.9903059 -4.354698,4.373241 -5.71875,4.625 -2.6821095,3.199611 -4.4027734,7.199424 -5.0625,11.0625 -4.046e-4,0.0024 4.038e-4,0.02888 0,0.03125 -1.0973069,1.43339 -1.4580267,3.591148 -1.4580267,3.591148 4.685267,3.605062 7.6416117,0.213892 14.3188727,-2.01722 12.59928,1.923141 18.748338,-0.995945 22.514154,-5.667678 0.0069,-0.0085 -0.0035,-0.02088 0,-0.03125 C 39.852567,13.479666 38.411479,11.016387 36.5625,8.9375 34.62586,8.7363873 30.875008,5.6486852 29.96875,4.125 27.977684,3.2731547 25.79952,2.78125 23.4375,2.78125 c -0.07892,10e-8 -0.171531,-0.0011 -0.25,0 -0.200346,0.00281 -0.39633,-0.00988 -0.59375,0 z" + style="opacity:0.59444424;fill:url(#radialGradient2813);fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/system-build/share/bootloaders/isolinux/stdmenu.cfg b/system-build/share/bootloaders/isolinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-build/share/bootloaders/isolinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-build/share/bootloaders/isolinux/vesamenu.c32 b/system-build/share/bootloaders/isolinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-build/share/bootloaders/isolinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/pxelinux/advanced.cfg b/system-build/share/bootloaders/pxelinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-build/share/bootloaders/pxelinux/hdt.c32 b/system-build/share/bootloaders/pxelinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/pxelinux/install.cfg b/system-build/share/bootloaders/pxelinux/install.cfg new file mode 100644 index 0000000..ba09752 --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet + +label installgui + menu label ^Graphical install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-build/share/bootloaders/pxelinux/ldlinux.c32 b/system-build/share/bootloaders/pxelinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/pxelinux/libcom32.c32 b/system-build/share/bootloaders/pxelinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/pxelinux/libgpl.c32 b/system-build/share/bootloaders/pxelinux/libgpl.c32 new file mode 120000 index 0000000..81c83fb --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/libgpl.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libgpl.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/pxelinux/libmenu.c32 b/system-build/share/bootloaders/pxelinux/libmenu.c32 new file mode 120000 index 0000000..2491ff9 --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/libmenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libmenu.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/pxelinux/libutil.c32 b/system-build/share/bootloaders/pxelinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/pxelinux/live.cfg.in b/system-build/share/bootloaders/pxelinux/live.cfg.in new file mode 100644 index 0000000..97ceb92 --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label ^Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-build/share/bootloaders/pxelinux/menu.cfg b/system-build/share/bootloaders/pxelinux/menu.cfg new file mode 100644 index 0000000..d2daa80 --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 0 +menu width 82 + +menu title Boot menu +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-build/share/bootloaders/pxelinux/pxelinux.0 b/system-build/share/bootloaders/pxelinux/pxelinux.0 new file mode 120000 index 0000000..f723d02 --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/pxelinux.0 @@ -0,0 +1 @@ +/usr/lib/PXELINUX/pxelinux.0
\ No newline at end of file diff --git a/system-build/share/bootloaders/pxelinux/pxelinux.cfg/default b/system-build/share/bootloaders/pxelinux/pxelinux.cfg/default new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/pxelinux.cfg/default @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-build/share/bootloaders/pxelinux/splash.svg b/system-build/share/bootloaders/pxelinux/splash.svg new file mode 100644 index 0000000..963624c --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/splash.svg @@ -0,0 +1,383 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="640" + height="480" + id="svg3320" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="splash.svg.in"> + <defs + id="defs3322"> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.402663,0,0,1.115648,-6.237984,0.0533075)" + r="18.370251" + fy="10.943316" + fx="15.491823" + cy="10.943316" + cx="15.491823" + id="radialGradient2813" + xlink:href="#linearGradient2807" + inkscape:collect="always" /> + <radialGradient + r="35.934704" + fy="424.15677" + fx="131.23691" + cy="424.15677" + cx="131.23691" + gradientTransform="matrix(0.101953,-0.04272301,0.09621296,0.229599,-48.67227,-64.24148)" + gradientUnits="userSpaceOnUse" + id="radialGradient2798" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.415385,0,26.70146)" + r="30.365856" + fy="45.673546" + fx="29.898689" + cy="45.673546" + cx="29.898689" + id="radialGradient18290" + xlink:href="#linearGradient18284" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.105628,-0.04514018,0.06692574,0.156607,-46.01605,-24.35485)" + r="103.26014" + fy="409.83737" + fx="340.35886" + cy="409.83737" + cx="340.35886" + id="radialGradient13895" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.08174351,0.01024998,-0.04335971,0.345793,6.123413,-84.50421)" + r="38.451698" + fy="270.67969" + fx="424.99243" + cy="270.67969" + cx="424.99243" + id="radialGradient11208" + xlink:href="#linearGradient11202" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.272962,-0.071724,0.05616202,0.213737,-78.54657,-24.30491)" + r="48.782982" + fy="243.06874" + fx="293.81989" + cy="243.06874" + cx="293.81989" + id="radialGradient10317" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.224796,0.01017229,-0.00975947,0.215674,-73.87964,-54.89804)" + r="40.975471" + fy="286.46918" + fx="500.97794" + cy="286.46918" + cx="500.97794" + id="radialGradient9434" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.163532,-0.01065754,0.01078108,0.165425,-46.18187,-65.65506)" + r="235.88632" + fy="685.99139" + fx="420.87839" + cy="685.99139" + cx="420.87839" + id="radialGradient8549" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + r="297.21338" + fy="-72.420044" + fx="336.73767" + cy="-72.420044" + cx="336.73767" + gradientTransform="matrix(0.136507,0,-4.484926e-5,0.07137743,-23.39816,12.31028)" + gradientUnits="userSpaceOnUse" + id="radialGradient7666" + xlink:href="#linearGradient5012" + inkscape:collect="always" /> + <linearGradient + id="linearGradient5012"> + <stop + id="stop5014" + offset="0" + style="stop-color:#fdf188;stop-opacity:1;" /> + <stop + id="stop5016" + offset="1" + style="stop-color:#d3bc00;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient8543"> + <stop + id="stop8545" + offset="0" + style="stop-color:#fffef5;stop-opacity:0.94117647;" /> + <stop + id="stop8547" + offset="1" + style="stop-color:#fce94f;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient11202"> + <stop + id="stop11204" + offset="0" + style="stop-color:#c4a000;stop-opacity:1;" /> + <stop + id="stop11206" + offset="1" + style="stop-color:#c4a000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient18284"> + <stop + id="stop18286" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0.5" + id="stop20913" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop19165" /> + </linearGradient> + <linearGradient + id="linearGradient2807" + inkscape:collect="always"> + <stop + id="stop2809" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2811" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <inkscape:perspective + id="perspective47" + inkscape:persp3d-origin="24 : 16 : 1" + inkscape:vp_z="48 : 24 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 24 : 1" + sodipodi:type="inkscape:persp3d" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.775" + inkscape:cx="574.36733" + inkscape:cy="250.84337" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1016" + inkscape:window-height="570" + inkscape:window-x="0" + inkscape:window-y="1" + inkscape:window-maximized="0" /> + <metadata + id="metadata3325"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-572.3622)"> + <rect + style="fill:#000000;fill-opacity:1;stroke:none" + id="rect3328" + width="640" + height="480" + x="0" + y="572.36218" /> + <text + transform="scale(1.0000015,0.99999849)" + sodipodi:linespacing="100%" + id="text3002" + y="619.20685" + x="190.68135" + style="font-size:35.65467453px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans Bold" + xml:space="preserve"><tspan + y="619.20685" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3045">@PROJECT@ @VERSION@ (@DISTRIBUTION@)</tspan><tspan + y="639.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3041">@ARCHITECTURE@</tspan><tspan + y="659.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3037" /><tspan + y="679.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3039">Build: @YEAR@-@MONTH@-@DAY@ @HOUR@:@MINUTE@:@SECOND@</tspan><tspan + y="699.20673" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3098" /><tspan + y="719.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3102">linux: @LINUX_VERSIONS@</tspan><tspan + y="739.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3076">system-build: @SYSTEM_BUILD_VERSION@</tspan><tspan + y="759.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3068">system-boot: @SYSTEM_BOOT_VERSION@</tspan><tspan + y="779.2066" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3070">system-config: @SYSTEM_CONFIG_VERSION@</tspan><tspan + y="799.20654" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3066" /></text> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="200" + y="336.7742" + id="text3114" + sodipodi:linespacing="125%" + transform="translate(0,572.3622)"><tspan + sodipodi:role="line" + id="tspan3116" /></text> + <g + id="layer1-9" + inkscape:label="Layer 1" + transform="matrix(2.8369273,0,0,2.8369235,27.782921,602.43406)"> + <path + transform="matrix(0.742527,0,-0.05812964,1.428611,4.500517,-36.68345)" + d="m 60.264545,45.673546 c 0,6.966249 -13.595256,12.613509 -30.365856,12.613509 -16.770599,0 -30.3658559,-5.64726 -30.3658559,-12.613509 0,-6.966249 13.5952569,-12.613509 30.3658559,-12.613509 16.7706,0 30.365856,5.64726 30.365856,12.613509 z" + sodipodi:ry="12.613509" + sodipodi:rx="30.365856" + sodipodi:cy="45.673546" + sodipodi:cx="29.898689" + id="path17409" + style="fill:url(#radialGradient18290);fill-opacity:1;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:nodetypes="cccscsssscsccsc" + id="path3120" + d="M 23.152758,1.1801876 C 20.380218,1.2190783 17.86582,1.8908769 15.634281,3.0196314 14.541531,5.1714614 10.9437,7.7293655 9.4689484,8.0015561 6.5691703,11.460832 4.6887193,15.805035 3.9754523,19.98162 c -4.375e-4,0.0026 4.366e-4,0.0052 0,0.0077 -1.1863594,1.549717 -1.6900108,3.396594 -1.3773472,5.53256 1.1211744,7.659314 3.2821678,14.888292 8.1850959,16.556275 7.154429,2.433946 21.871769,1.785847 25.129507,0.458258 7.13903,-2.909286 7.771453,-9.285098 8.891432,-16.780256 0.305554,-2.044832 -0.144835,-3.841202 -1.230601,-5.372942 -0.009,-0.0556 -0.01849,-0.111474 -0.02832,-0.167342 C 42.763966,15.777007 40.697859,11.326849 37.602582,7.8466935 35.508773,7.62926 31.462964,4.270333 30.483158,2.6229925 28.330506,1.7020155 25.961342,1.1801876 23.407632,1.1801876 c -0.08532,0 -0.170037,-0.00119 -0.254874,0 z" + style="fill:url(#radialGradient7666);fill-opacity:1;stroke:#c4a000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccscc" + id="path7668" + d="M 43.629688,22.792984 C 39.033494,39.233217 10.438199,40.802737 3.7832765,23.04227 3.7410682,39.366403 10.103414,44.083889 28.189955,43.247454 c 3.061977,-0.140689 10.00982,0.04287 14.614484,-9.136776 2.238365,-11.5104 0.825249,-11.317694 0.825249,-11.317694 z" + style="opacity:0.66666667;fill:url(#radialGradient8549);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccc" + id="path8553" + d="m 34.691565,7.6783057 2.500881,1.1253976 c 0,0 -1.310404,10.1226397 -6.669016,16.4849717 1.771665,-6.455834 4.188975,-17.6103693 4.168135,-17.6103693 z" + style="fill:url(#radialGradient9434);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccc" + id="path9436" + d="m 15.872437,4.1562328 c 1.50053,9.0656942 6.50229,19.4860282 6.002115,20.0070452 -4.584948,-6.981624 -6.502291,-12.921217 -8.00282,-17.9229779 0,-0.083363 2.000705,-2.0632267 2.000705,-2.0840673 z" + style="fill:url(#radialGradient10317);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccsc" + id="path10319" + d="M 30.21082,3.8227818 C 26.126047,20.328594 25.959322,23.079563 25.959322,23.079563 c 0,0 6.335566,-16.7559003 6.335566,-17.1727135 0,-8e-7 -1.583891,-1.5005286 -2.084068,-2.0840677 z" + style="fill:url(#radialGradient11208);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <flowRoot + id="flowRoot12974" + xml:space="preserve"><flowRegion + id="flowRegion12976"><rect + y="412.80496" + x="86.787514" + height="16.02231" + width="40.055775" + id="rect12978" /></flowRegion><flowPara + id="flowPara12980" /></flowRoot> <path + sodipodi:nodetypes="ccccccc" + id="path13014" + d="m 16.18209,34.476182 -0.04467,-9.569745 14.493727,0 1.642604,-1.263542 -16.931465,0 0.04467,10.640581 0.795134,0.192706 z" + style="fill:url(#radialGradient13895);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccc" + id="path13897" + d="m 31.043495,24.81709 0.08168,9.804611 0.686144,-0.214742 0.01198,-10.85341 -0.779803,1.263541 z" + style="fill:#958401;fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccscc" + id="path16526" + d="m 4.2551267,24.106065 c 0,0 2.3166503,8.115689 10.2209413,8.766037 1.105608,2.490418 -1.13497,4.124601 -1.13497,4.124601 L 9.7315781,36.745641 c 0,0 -6.2387745,-7.992942 -6.4882087,-9.900882 -0.2494325,-1.907937 0.1632835,-3.407793 0.1632835,-3.407793 l 0.8484738,0.669099 z" + style="fill:url(#radialGradient2798);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + style="opacity:0.74444442;fill:none;stroke:#ffffff;stroke-width:0.99999976;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="M 23.184204,2.3889904 C 20.570275,2.4256563 18.199721,3.0590226 16.095844,4.1232033 15.065608,6.1519314 11.673602,8.563503 10.283218,8.8201221 7.5493302,12.0815 5.776456,16.17718 5.1039936,20.11483 c -4.124e-4,0.0024 4.116e-4,0.0049 0,0.0073 -1.1184901,1.46106 -1.8584936,3.246475 -1.5637169,5.260247 1.0570343,7.22114 2.9276025,13.709677 7.3279793,15.639454 5.923141,2.597582 21.539722,1.785935 24.611092,0.534295 6.73062,-2.742852 7.061699,-8.930694 8.117606,-15.997069 0.288074,-1.927851 -0.13655,-3.621454 -1.160201,-5.065566 -0.0084,-0.05242 -0.01743,-0.105097 -0.0267,-0.157769 C 41.673494,16.150755 39.725585,11.955182 36.807382,8.6741189 34.833356,8.4691243 31.019,5.3023548 30.095246,3.7492553 28.065743,2.8809656 25.832115,2.3889904 23.424497,2.3889904 c -0.08044,0 -0.160309,-0.00112 -0.240293,0 z" + id="path2703" + sodipodi:nodetypes="cccscsssscsccsc" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccssccscccssc" + id="path2800" + d="m 22.59375,2.78125 c -2.329557,0.1165682 -4.440971,0.7250384 -6.34375,1.6875 -1.010725,1.9903059 -4.354698,4.373241 -5.71875,4.625 -2.6821095,3.199611 -4.4027734,7.199424 -5.0625,11.0625 -4.046e-4,0.0024 4.038e-4,0.02888 0,0.03125 -1.0973069,1.43339 -1.4580267,3.591148 -1.4580267,3.591148 4.685267,3.605062 7.6416117,0.213892 14.3188727,-2.01722 12.59928,1.923141 18.748338,-0.995945 22.514154,-5.667678 0.0069,-0.0085 -0.0035,-0.02088 0,-0.03125 C 39.852567,13.479666 38.411479,11.016387 36.5625,8.9375 34.62586,8.7363873 30.875008,5.6486852 29.96875,4.125 27.977684,3.2731547 25.79952,2.78125 23.4375,2.78125 c -0.07892,10e-8 -0.171531,-0.0011 -0.25,0 -0.200346,0.00281 -0.39633,-0.00988 -0.59375,0 z" + style="opacity:0.59444424;fill:url(#radialGradient2813);fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/system-build/share/bootloaders/pxelinux/stdmenu.cfg b/system-build/share/bootloaders/pxelinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-build/share/bootloaders/pxelinux/vesamenu.c32 b/system-build/share/bootloaders/pxelinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-build/share/bootloaders/pxelinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/syslinux/advanced.cfg b/system-build/share/bootloaders/syslinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-build/share/bootloaders/syslinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-build/share/bootloaders/syslinux/hdt.c32 b/system-build/share/bootloaders/syslinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-build/share/bootloaders/syslinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/syslinux/install.cfg b/system-build/share/bootloaders/syslinux/install.cfg new file mode 100644 index 0000000..ba09752 --- /dev/null +++ b/system-build/share/bootloaders/syslinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet + +label installgui + menu label ^Graphical install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-build/share/bootloaders/syslinux/ldlinux.c32 b/system-build/share/bootloaders/syslinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-build/share/bootloaders/syslinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/syslinux/libcom32.c32 b/system-build/share/bootloaders/syslinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-build/share/bootloaders/syslinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/syslinux/libgpl.c32 b/system-build/share/bootloaders/syslinux/libgpl.c32 new file mode 120000 index 0000000..81c83fb --- /dev/null +++ b/system-build/share/bootloaders/syslinux/libgpl.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libgpl.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/syslinux/libmenu.c32 b/system-build/share/bootloaders/syslinux/libmenu.c32 new file mode 120000 index 0000000..2491ff9 --- /dev/null +++ b/system-build/share/bootloaders/syslinux/libmenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libmenu.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/syslinux/libutil.c32 b/system-build/share/bootloaders/syslinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-build/share/bootloaders/syslinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-build/share/bootloaders/syslinux/live.cfg.in b/system-build/share/bootloaders/syslinux/live.cfg.in new file mode 100644 index 0000000..97ceb92 --- /dev/null +++ b/system-build/share/bootloaders/syslinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label ^Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-build/share/bootloaders/syslinux/menu.cfg b/system-build/share/bootloaders/syslinux/menu.cfg new file mode 100644 index 0000000..9368260 --- /dev/null +++ b/system-build/share/bootloaders/syslinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 0 +menu width 82 + +menu title Boot menu +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-build/share/bootloaders/syslinux/splash.svg b/system-build/share/bootloaders/syslinux/splash.svg new file mode 100644 index 0000000..963624c --- /dev/null +++ b/system-build/share/bootloaders/syslinux/splash.svg @@ -0,0 +1,383 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="640" + height="480" + id="svg3320" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="splash.svg.in"> + <defs + id="defs3322"> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.402663,0,0,1.115648,-6.237984,0.0533075)" + r="18.370251" + fy="10.943316" + fx="15.491823" + cy="10.943316" + cx="15.491823" + id="radialGradient2813" + xlink:href="#linearGradient2807" + inkscape:collect="always" /> + <radialGradient + r="35.934704" + fy="424.15677" + fx="131.23691" + cy="424.15677" + cx="131.23691" + gradientTransform="matrix(0.101953,-0.04272301,0.09621296,0.229599,-48.67227,-64.24148)" + gradientUnits="userSpaceOnUse" + id="radialGradient2798" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.415385,0,26.70146)" + r="30.365856" + fy="45.673546" + fx="29.898689" + cy="45.673546" + cx="29.898689" + id="radialGradient18290" + xlink:href="#linearGradient18284" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.105628,-0.04514018,0.06692574,0.156607,-46.01605,-24.35485)" + r="103.26014" + fy="409.83737" + fx="340.35886" + cy="409.83737" + cx="340.35886" + id="radialGradient13895" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.08174351,0.01024998,-0.04335971,0.345793,6.123413,-84.50421)" + r="38.451698" + fy="270.67969" + fx="424.99243" + cy="270.67969" + cx="424.99243" + id="radialGradient11208" + xlink:href="#linearGradient11202" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.272962,-0.071724,0.05616202,0.213737,-78.54657,-24.30491)" + r="48.782982" + fy="243.06874" + fx="293.81989" + cy="243.06874" + cx="293.81989" + id="radialGradient10317" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.224796,0.01017229,-0.00975947,0.215674,-73.87964,-54.89804)" + r="40.975471" + fy="286.46918" + fx="500.97794" + cy="286.46918" + cx="500.97794" + id="radialGradient9434" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.163532,-0.01065754,0.01078108,0.165425,-46.18187,-65.65506)" + r="235.88632" + fy="685.99139" + fx="420.87839" + cy="685.99139" + cx="420.87839" + id="radialGradient8549" + xlink:href="#linearGradient8543" + inkscape:collect="always" /> + <radialGradient + r="297.21338" + fy="-72.420044" + fx="336.73767" + cy="-72.420044" + cx="336.73767" + gradientTransform="matrix(0.136507,0,-4.484926e-5,0.07137743,-23.39816,12.31028)" + gradientUnits="userSpaceOnUse" + id="radialGradient7666" + xlink:href="#linearGradient5012" + inkscape:collect="always" /> + <linearGradient + id="linearGradient5012"> + <stop + id="stop5014" + offset="0" + style="stop-color:#fdf188;stop-opacity:1;" /> + <stop + id="stop5016" + offset="1" + style="stop-color:#d3bc00;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient8543"> + <stop + id="stop8545" + offset="0" + style="stop-color:#fffef5;stop-opacity:0.94117647;" /> + <stop + id="stop8547" + offset="1" + style="stop-color:#fce94f;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient11202"> + <stop + id="stop11204" + offset="0" + style="stop-color:#c4a000;stop-opacity:1;" /> + <stop + id="stop11206" + offset="1" + style="stop-color:#c4a000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient18284"> + <stop + id="stop18286" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0.5" + id="stop20913" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop19165" /> + </linearGradient> + <linearGradient + id="linearGradient2807" + inkscape:collect="always"> + <stop + id="stop2809" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2811" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <inkscape:perspective + id="perspective47" + inkscape:persp3d-origin="24 : 16 : 1" + inkscape:vp_z="48 : 24 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 24 : 1" + sodipodi:type="inkscape:persp3d" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.775" + inkscape:cx="574.36733" + inkscape:cy="250.84337" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1016" + inkscape:window-height="570" + inkscape:window-x="0" + inkscape:window-y="1" + inkscape:window-maximized="0" /> + <metadata + id="metadata3325"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-572.3622)"> + <rect + style="fill:#000000;fill-opacity:1;stroke:none" + id="rect3328" + width="640" + height="480" + x="0" + y="572.36218" /> + <text + transform="scale(1.0000015,0.99999849)" + sodipodi:linespacing="100%" + id="text3002" + y="619.20685" + x="190.68135" + style="font-size:35.65467453px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans Bold" + xml:space="preserve"><tspan + y="619.20685" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3045">@PROJECT@ @VERSION@ (@DISTRIBUTION@)</tspan><tspan + y="639.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3041">@ARCHITECTURE@</tspan><tspan + y="659.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3037" /><tspan + y="679.20679" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3039">Build: @YEAR@-@MONTH@-@DAY@ @HOUR@:@MINUTE@:@SECOND@</tspan><tspan + y="699.20673" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:bold;-inkscape-font-specification:DejaVu Sans Bold" + id="tspan3098" /><tspan + y="719.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3102">linux: @LINUX_VERSIONS@</tspan><tspan + y="739.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3076">system-build: @SYSTEM_BUILD_VERSION@</tspan><tspan + y="759.20667" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3068">system-boot: @SYSTEM_BOOT_VERSION@</tspan><tspan + y="779.2066" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3070">system-config: @SYSTEM_CONFIG_VERSION@</tspan><tspan + y="799.20654" + x="190.68135" + sodipodi:role="line" + style="font-size:19.99996948px;font-style:normal;font-weight:normal;-inkscape-font-specification:DejaVu Sans" + id="tspan3066" /></text> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="200" + y="336.7742" + id="text3114" + sodipodi:linespacing="125%" + transform="translate(0,572.3622)"><tspan + sodipodi:role="line" + id="tspan3116" /></text> + <g + id="layer1-9" + inkscape:label="Layer 1" + transform="matrix(2.8369273,0,0,2.8369235,27.782921,602.43406)"> + <path + transform="matrix(0.742527,0,-0.05812964,1.428611,4.500517,-36.68345)" + d="m 60.264545,45.673546 c 0,6.966249 -13.595256,12.613509 -30.365856,12.613509 -16.770599,0 -30.3658559,-5.64726 -30.3658559,-12.613509 0,-6.966249 13.5952569,-12.613509 30.3658559,-12.613509 16.7706,0 30.365856,5.64726 30.365856,12.613509 z" + sodipodi:ry="12.613509" + sodipodi:rx="30.365856" + sodipodi:cy="45.673546" + sodipodi:cx="29.898689" + id="path17409" + style="fill:url(#radialGradient18290);fill-opacity:1;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:nodetypes="cccscsssscsccsc" + id="path3120" + d="M 23.152758,1.1801876 C 20.380218,1.2190783 17.86582,1.8908769 15.634281,3.0196314 14.541531,5.1714614 10.9437,7.7293655 9.4689484,8.0015561 6.5691703,11.460832 4.6887193,15.805035 3.9754523,19.98162 c -4.375e-4,0.0026 4.366e-4,0.0052 0,0.0077 -1.1863594,1.549717 -1.6900108,3.396594 -1.3773472,5.53256 1.1211744,7.659314 3.2821678,14.888292 8.1850959,16.556275 7.154429,2.433946 21.871769,1.785847 25.129507,0.458258 7.13903,-2.909286 7.771453,-9.285098 8.891432,-16.780256 0.305554,-2.044832 -0.144835,-3.841202 -1.230601,-5.372942 -0.009,-0.0556 -0.01849,-0.111474 -0.02832,-0.167342 C 42.763966,15.777007 40.697859,11.326849 37.602582,7.8466935 35.508773,7.62926 31.462964,4.270333 30.483158,2.6229925 28.330506,1.7020155 25.961342,1.1801876 23.407632,1.1801876 c -0.08532,0 -0.170037,-0.00119 -0.254874,0 z" + style="fill:url(#radialGradient7666);fill-opacity:1;stroke:#c4a000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccscc" + id="path7668" + d="M 43.629688,22.792984 C 39.033494,39.233217 10.438199,40.802737 3.7832765,23.04227 3.7410682,39.366403 10.103414,44.083889 28.189955,43.247454 c 3.061977,-0.140689 10.00982,0.04287 14.614484,-9.136776 2.238365,-11.5104 0.825249,-11.317694 0.825249,-11.317694 z" + style="opacity:0.66666667;fill:url(#radialGradient8549);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccc" + id="path8553" + d="m 34.691565,7.6783057 2.500881,1.1253976 c 0,0 -1.310404,10.1226397 -6.669016,16.4849717 1.771665,-6.455834 4.188975,-17.6103693 4.168135,-17.6103693 z" + style="fill:url(#radialGradient9434);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccc" + id="path9436" + d="m 15.872437,4.1562328 c 1.50053,9.0656942 6.50229,19.4860282 6.002115,20.0070452 -4.584948,-6.981624 -6.502291,-12.921217 -8.00282,-17.9229779 0,-0.083363 2.000705,-2.0632267 2.000705,-2.0840673 z" + style="fill:url(#radialGradient10317);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccsc" + id="path10319" + d="M 30.21082,3.8227818 C 26.126047,20.328594 25.959322,23.079563 25.959322,23.079563 c 0,0 6.335566,-16.7559003 6.335566,-17.1727135 0,-8e-7 -1.583891,-1.5005286 -2.084068,-2.0840677 z" + style="fill:url(#radialGradient11208);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <flowRoot + id="flowRoot12974" + xml:space="preserve"><flowRegion + id="flowRegion12976"><rect + y="412.80496" + x="86.787514" + height="16.02231" + width="40.055775" + id="rect12978" /></flowRegion><flowPara + id="flowPara12980" /></flowRoot> <path + sodipodi:nodetypes="ccccccc" + id="path13014" + d="m 16.18209,34.476182 -0.04467,-9.569745 14.493727,0 1.642604,-1.263542 -16.931465,0 0.04467,10.640581 0.795134,0.192706 z" + style="fill:url(#radialGradient13895);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccc" + id="path13897" + d="m 31.043495,24.81709 0.08168,9.804611 0.686144,-0.214742 0.01198,-10.85341 -0.779803,1.263541 z" + style="fill:#958401;fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccscc" + id="path16526" + d="m 4.2551267,24.106065 c 0,0 2.3166503,8.115689 10.2209413,8.766037 1.105608,2.490418 -1.13497,4.124601 -1.13497,4.124601 L 9.7315781,36.745641 c 0,0 -6.2387745,-7.992942 -6.4882087,-9.900882 -0.2494325,-1.907937 0.1632835,-3.407793 0.1632835,-3.407793 l 0.8484738,0.669099 z" + style="fill:url(#radialGradient2798);fill-opacity:1;fill-rule:evenodd;stroke:none" + inkscape:connector-curvature="0" /> + <path + style="opacity:0.74444442;fill:none;stroke:#ffffff;stroke-width:0.99999976;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="M 23.184204,2.3889904 C 20.570275,2.4256563 18.199721,3.0590226 16.095844,4.1232033 15.065608,6.1519314 11.673602,8.563503 10.283218,8.8201221 7.5493302,12.0815 5.776456,16.17718 5.1039936,20.11483 c -4.124e-4,0.0024 4.116e-4,0.0049 0,0.0073 -1.1184901,1.46106 -1.8584936,3.246475 -1.5637169,5.260247 1.0570343,7.22114 2.9276025,13.709677 7.3279793,15.639454 5.923141,2.597582 21.539722,1.785935 24.611092,0.534295 6.73062,-2.742852 7.061699,-8.930694 8.117606,-15.997069 0.288074,-1.927851 -0.13655,-3.621454 -1.160201,-5.065566 -0.0084,-0.05242 -0.01743,-0.105097 -0.0267,-0.157769 C 41.673494,16.150755 39.725585,11.955182 36.807382,8.6741189 34.833356,8.4691243 31.019,5.3023548 30.095246,3.7492553 28.065743,2.8809656 25.832115,2.3889904 23.424497,2.3889904 c -0.08044,0 -0.160309,-0.00112 -0.240293,0 z" + id="path2703" + sodipodi:nodetypes="cccscsssscsccsc" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cccssccscccssc" + id="path2800" + d="m 22.59375,2.78125 c -2.329557,0.1165682 -4.440971,0.7250384 -6.34375,1.6875 -1.010725,1.9903059 -4.354698,4.373241 -5.71875,4.625 -2.6821095,3.199611 -4.4027734,7.199424 -5.0625,11.0625 -4.046e-4,0.0024 4.038e-4,0.02888 0,0.03125 -1.0973069,1.43339 -1.4580267,3.591148 -1.4580267,3.591148 4.685267,3.605062 7.6416117,0.213892 14.3188727,-2.01722 12.59928,1.923141 18.748338,-0.995945 22.514154,-5.667678 0.0069,-0.0085 -0.0035,-0.02088 0,-0.03125 C 39.852567,13.479666 38.411479,11.016387 36.5625,8.9375 34.62586,8.7363873 30.875008,5.6486852 29.96875,4.125 27.977684,3.2731547 25.79952,2.78125 23.4375,2.78125 c -0.07892,10e-8 -0.171531,-0.0011 -0.25,0 -0.200346,0.00281 -0.39633,-0.00988 -0.59375,0 z" + style="opacity:0.59444424;fill:url(#radialGradient2813);fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/system-build/share/bootloaders/syslinux/stdmenu.cfg b/system-build/share/bootloaders/syslinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-build/share/bootloaders/syslinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-build/share/bootloaders/syslinux/syslinux.cfg b/system-build/share/bootloaders/syslinux/syslinux.cfg new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-build/share/bootloaders/syslinux/syslinux.cfg @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-build/share/bootloaders/syslinux/vesamenu.c32 b/system-build/share/bootloaders/syslinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-build/share/bootloaders/syslinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-build/share/hooks/live/0010-disable-kexec-tools.hook.chroot b/system-build/share/hooks/live/0010-disable-kexec-tools.hook.chroot new file mode 100755 index 0000000..403d1d4 --- /dev/null +++ b/system-build/share/hooks/live/0010-disable-kexec-tools.hook.chroot @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e + +# Disable kexec-tools + +if [ -e /sbin/kexec ] +then + echo "kexec-tools kexec-tools/load_kexec boolean false" > /root/preseed + + debconf-set-selections /root/preseed + + rm -f /root/preseed + + dpkg-reconfigure kexec-tools +fi diff --git a/system-build/share/hooks/live/0050-disable-sysvinit-tmpfs.hook.chroot b/system-build/share/hooks/live/0050-disable-sysvinit-tmpfs.hook.chroot new file mode 100755 index 0000000..37750b3 --- /dev/null +++ b/system-build/share/hooks/live/0050-disable-sysvinit-tmpfs.hook.chroot @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +# Disable tmpfs on /tmp + +if [ -e /etc/default/rcS ] +then + sed -i -e 's|^ *RAMTMP=.*|RAMTMP=no|' /etc/default/rcS +fi diff --git a/system-build/share/hooks/normal/0020-create-mtab-symlink.hook.chroot b/system-build/share/hooks/normal/0020-create-mtab-symlink.hook.chroot new file mode 100755 index 0000000..5c2fa64 --- /dev/null +++ b/system-build/share/hooks/normal/0020-create-mtab-symlink.hook.chroot @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +# Create /etc/mtab symlink, replacing a regular file if necessary + +if [ ! -L /etc/mtab ] +then + rm -f /etc/mtab + ln -s /proc/mounts /etc/mtab +fi diff --git a/system-build/share/hooks/normal/0030-enable-cryptsetup.hook.chroot b/system-build/share/hooks/normal/0030-enable-cryptsetup.hook.chroot new file mode 100755 index 0000000..54c2978 --- /dev/null +++ b/system-build/share/hooks/normal/0030-enable-cryptsetup.hook.chroot @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +# Enable cryptsetup + +if [ -e /sbin/cryptsetup ] +then + if [ ! -e /etc/initramfs-tools/conf.d/cryptsetup ] + then + mkdir -p /etc/initramfs-tools/conf.d + +cat > /etc/initramfs-tools/conf.d/cryptsetup << EOF +# /etc/initramfs-tools/conf.d/cryptsetup + +CRYPTSETUP=yes +export CRYPTSETUP +EOF + + fi +fi diff --git a/system-build/share/hooks/normal/0040-create-locales-files.hook.chroot b/system-build/share/hooks/normal/0040-create-locales-files.hook.chroot new file mode 100755 index 0000000..8a5a867 --- /dev/null +++ b/system-build/share/hooks/normal/0040-create-locales-files.hook.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +# Create /etc/environment and /etc/default/locale +touch /etc/environment +touch /etc/default/locale diff --git a/system-build/share/hooks/normal/0100-remove-adjtime-configuration.hook.chroot b/system-build/share/hooks/normal/0100-remove-adjtime-configuration.hook.chroot new file mode 100755 index 0000000..7fe5bbd --- /dev/null +++ b/system-build/share/hooks/normal/0100-remove-adjtime-configuration.hook.chroot @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +# Reset generated file + +cat > /etc/adjtime << EOF +0.0 0 0.0 +0 +UTC +EOF diff --git a/system-build/share/hooks/normal/0110-remove-backup-files.hook.chroot b/system-build/share/hooks/normal/0110-remove-backup-files.hook.chroot new file mode 100755 index 0000000..8fe1726 --- /dev/null +++ b/system-build/share/hooks/normal/0110-remove-backup-files.hook.chroot @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +# Remove backup files +rm -f /boot/*.bak +rm -f /boot/*.old-dkms + +rm -f /etc/apt/sources.list~ +rm -f /etc/apt/trusted.gpg~ + +rm -f /etc/passwd- +rm -f /etc/group- +rm -f /etc/shadow- +rm -f /etc/gshadow- + +rm -f /var/cache/debconf/*-old +rm -f /var/lib/dpkg/*-old + +# Workaround for user-setup +touch /etc/passwd- diff --git a/system-build/share/hooks/normal/0120-remove-dbus-machine-id.hook.chroot b/system-build/share/hooks/normal/0120-remove-dbus-machine-id.hook.chroot new file mode 100755 index 0000000..230099e --- /dev/null +++ b/system-build/share/hooks/normal/0120-remove-dbus-machine-id.hook.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +# Remove dbus machine id. +# +# This removes dbus machine id that cache that makes each system unique. + +rm -f /var/lib/dbus/machine-id diff --git a/system-build/share/hooks/normal/0130-remove-gnome-icon-cache.hook.chroot b/system-build/share/hooks/normal/0130-remove-gnome-icon-cache.hook.chroot new file mode 100755 index 0000000..ab35a1d --- /dev/null +++ b/system-build/share/hooks/normal/0130-remove-gnome-icon-cache.hook.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +# Remove GNOME icon cache. +# +# This saves space some space. + +rm -f /usr/share/icons/*/icon-theme.cache diff --git a/system-build/share/hooks/normal/0140-remove-log-files.hook.chroot b/system-build/share/hooks/normal/0140-remove-log-files.hook.chroot new file mode 100755 index 0000000..f95e546 --- /dev/null +++ b/system-build/share/hooks/normal/0140-remove-log-files.hook.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +# Truncate log files +for _FILE in $(find /var/log/ -type f) +do + : > ${_FILE} +done diff --git a/system-build/share/hooks/normal/0150-remove-mdadm-configuration.hook.chroot b/system-build/share/hooks/normal/0150-remove-mdadm-configuration.hook.chroot new file mode 100755 index 0000000..206b494 --- /dev/null +++ b/system-build/share/hooks/normal/0150-remove-mdadm-configuration.hook.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +# Remove generated files + +rm -f /etc/mdadm/mdadm.conf diff --git a/system-build/share/hooks/normal/0160-remove-openssh-server-host-keys.hook.chroot b/system-build/share/hooks/normal/0160-remove-openssh-server-host-keys.hook.chroot new file mode 100755 index 0000000..b108526 --- /dev/null +++ b/system-build/share/hooks/normal/0160-remove-openssh-server-host-keys.hook.chroot @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +# Remove OpenSSH Host Keys. +# +# This removes openssh-server host keys, they are regenerated by system-config +# on system start. + +rm -f /etc/ssh/ssh_host_*_key /etc/ssh/ssh_host_*_key.pub diff --git a/system-build/share/hooks/normal/0170-remove-python-py.hook.chroot b/system-build/share/hooks/normal/0170-remove-python-py.hook.chroot new file mode 100755 index 0000000..ff70583 --- /dev/null +++ b/system-build/share/hooks/normal/0170-remove-python-py.hook.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +# Remove Python *.py files. +# +# This removes byte-compiled Python modules to save some space. + +find /usr -name "*.pyc" -print0 | xargs -0r rm -f diff --git a/system-build/share/hooks/normal/0180-remove-systemd-machine-id.hook.chroot b/system-build/share/hooks/normal/0180-remove-systemd-machine-id.hook.chroot new file mode 100755 index 0000000..ed5d6bf --- /dev/null +++ b/system-build/share/hooks/normal/0180-remove-systemd-machine-id.hook.chroot @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +# Blank out systemd machine id. If it does not exist, systemd-journald +# will fail, but if it exists and is empty, systemd will automatically +# set up a new unique ID. + +if [ -e /etc/machine-id ] +then + rm -f /etc/machine-id + : > /etc/machine-id +fi diff --git a/system-build/share/hooks/normal/0185-remove-systemd-journal-database.hook.chroot b/system-build/share/hooks/normal/0185-remove-systemd-journal-database.hook.chroot new file mode 100755 index 0000000..01ac200 --- /dev/null +++ b/system-build/share/hooks/normal/0185-remove-systemd-journal-database.hook.chroot @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e + +# Remove journal database +rm -f /var/lib/systemd/catalog/database diff --git a/system-build/share/hooks/normal/0190-remove-temporary-files.hook.chroot b/system-build/share/hooks/normal/0190-remove-temporary-files.hook.chroot new file mode 100755 index 0000000..fd220e0 --- /dev/null +++ b/system-build/share/hooks/normal/0190-remove-temporary-files.hook.chroot @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +# Remove temporary files +rm -rf /var/cache/man/* + +for _DIRECTORY in /tmp /var/tmp +do + rm -rf ${_DIRECTORY} + + mkdir -p ${_DIRECTORY} + chmod 1777 ${_DIRECTORY} +done diff --git a/system-build/share/hooks/normal/0195-remove-ssl-cert-snakeoil.hook.chroot b/system-build/share/hooks/normal/0195-remove-ssl-cert-snakeoil.hook.chroot new file mode 100755 index 0000000..cdfe39d --- /dev/null +++ b/system-build/share/hooks/normal/0195-remove-ssl-cert-snakeoil.hook.chroot @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +# Remove ssl-cert snakeoil + +if [ -e /etc/ssl/certs/ssl-cert-snakeoil.pem ] +then + rm -f /etc/ssl/certs/$(openssl x509 -hash -noout -in /etc/ssl/certs/ssl-cert-snakeoil.pem) + + rm -f /etc/ssl/certs/ssl-cert-snakeoil.pem + rm -f /etc/ssl/private/ssl-cert-snakeoil.key +fi diff --git a/system-build/share/hooks/normal/0196-remote-apt-auto-removal.hook.chroot b/system-build/share/hooks/normal/0196-remote-apt-auto-removal.hook.chroot new file mode 100755 index 0000000..9bbfec7 --- /dev/null +++ b/system-build/share/hooks/normal/0196-remote-apt-auto-removal.hook.chroot @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e + +# Remove auto-generated file +rm -f /etc/apt/apt.conf.d/01autoremove-kernels diff --git a/system-build/share/hooks/normal/0200-remove-udev-persistent-cd-rules.hook.chroot b/system-build/share/hooks/normal/0200-remove-udev-persistent-cd-rules.hook.chroot new file mode 100755 index 0000000..bdfe52d --- /dev/null +++ b/system-build/share/hooks/normal/0200-remove-udev-persistent-cd-rules.hook.chroot @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +# Remove udev persistent rules. +# +# This removes udev persistent rules that cache the host systems cd drive as +# well as the running live systems cd drive to remember its device name. + +if [ -e /etc/udev/rules.d ] +then + > /etc/udev/rules.d/70-persistent-cd.rules +fi diff --git a/system-build/share/hooks/normal/0300-remove-udev-persistent-net-rules.hook.chroot b/system-build/share/hooks/normal/0300-remove-udev-persistent-net-rules.hook.chroot new file mode 100755 index 0000000..148ba30 --- /dev/null +++ b/system-build/share/hooks/normal/0300-remove-udev-persistent-net-rules.hook.chroot @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e + +# Remove udev persistent rules. +# +# This removes udev persistent rules that cache the host systems mac address to +# remember its device name. + +for _FILE in /etc/udev/rules.d/*persistent-net.rules +do + if [ -e "${_FILE}" ] + then + : > ${_FILE} + fi +done diff --git a/system-build/share/hooks/normal/0400-update-apt-file-cache.hook.chroot b/system-build/share/hooks/normal/0400-update-apt-file-cache.hook.chroot new file mode 100755 index 0000000..771e903 --- /dev/null +++ b/system-build/share/hooks/normal/0400-update-apt-file-cache.hook.chroot @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +# Update the Apt File cache. +# +# This allows to use using apt-file out-of-the-box. + +. /live-build/config/binary + +if [ -x /usr/bin/apt-file ] && [ "${LB_APT_INDICES}" = "true" ] +then + apt-file update +fi diff --git a/system-build/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot b/system-build/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot new file mode 100755 index 0000000..dcb39b2 --- /dev/null +++ b/system-build/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +# Update the Apt Xapian index. +# +# The package would do this itself, but (a) it checks policy-rc.d which says it +# is not allowed to, and (b) it wants to build the index in the background which +# will be racy in the context of live-build. + +if [ -x /usr/sbin/update-apt-xapian-index ] +then + PYTHONDONTWRITEBYTECODE=1 /usr/sbin/update-apt-xapian-index --force --quiet +fi diff --git a/system-build/share/hooks/normal/0420-update-glx-alternative.hook.chroot b/system-build/share/hooks/normal/0420-update-glx-alternative.hook.chroot new file mode 100755 index 0000000..8c36c43 --- /dev/null +++ b/system-build/share/hooks/normal/0420-update-glx-alternative.hook.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +# Use mesa renderer by default +if [ -e /etc/alternatives/glx ] +then + update-alternatives --quiet --set glx /usr/lib/mesa-diverted +fi diff --git a/system-build/share/hooks/normal/0430-update-mlocate-database.hook.chroot b/system-build/share/hooks/normal/0430-update-mlocate-database.hook.chroot new file mode 100755 index 0000000..6bfdb3d --- /dev/null +++ b/system-build/share/hooks/normal/0430-update-mlocate-database.hook.chroot @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +# Update the mlocate database. +# +# It is convenient for this to be already up to date on the live system, and it +# means that if the live system is later installed to a hard disk then less +# work will be required after installation. + +if [ -x /usr/bin/updatedb.mlocate ] +then + updatedb.mlocate +fi diff --git a/system-build/share/hooks/normal/0440-update-nvidia-alternative.hook.chroot b/system-build/share/hooks/normal/0440-update-nvidia-alternative.hook.chroot new file mode 100755 index 0000000..e73b967 --- /dev/null +++ b/system-build/share/hooks/normal/0440-update-nvidia-alternative.hook.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +# Use newest nvidia version by default +if [ -e /etc/alternatives/nvidia ] && [ -e /usr/lib/nvidia/current ] +then + update-alternatives --quiet --set nvidia /usr/lib/nvidia/current +fi diff --git a/system-build/share/hooks/normal/0910-remove-apt-sources-lists b/system-build/share/hooks/normal/0910-remove-apt-sources-lists new file mode 100755 index 0000000..1c8ca2d --- /dev/null +++ b/system-build/share/hooks/normal/0910-remove-apt-sources-lists @@ -0,0 +1,8 @@ +#!/bin/sh + +set -e + +# Remove apt sources.list files + +rm -f /etc/apt/sources.list +rm -f /etc/apt/sources.list.d/*.list diff --git a/system-config/CHANGELOG.txt b/system-config/CHANGELOG.txt new file mode 100644 index 0000000..a6f166e --- /dev/null +++ b/system-config/CHANGELOG.txt @@ -0,0 +1,58 @@ +2016-11-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20161101. + + [ Daniel Baumann ] + * Escaping quotes in sed within xserver-xorg script to prefent false-positive bashism check. + * Setting fullname of automatically created user on progress-linux to 'User'. + +2016-07-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160701. + + [ Daniel Baumann ] + * Adding commit messages to previous changelog. + + [ Raphaël Hertzog ] + * No longer manually starting the getty@* services. + + [ Tom Jampen ] + * Properly handling hwclock set to local time (Closes: #832815). + + [ Raphaël Hertzog ] + * Fixing timezone configuration by dropping /etc/localtime (Closes: #832816). + + [ Grégory David ] + * Searching and reading live-config file(s) configuration from medium (live image or other device) in persistence mode (Closes: #832817). + + [ Lukas Schwaighofer ] + * Correcting lb_config manpage as config files actually require the .conf suffix. + * Exporting variables set in config files (Closes: #832818). + + [ Raphaël Hertzog ] + * Improving ordering of live-config.service so that it runs after the local filesystems have been mounted. + * Relying on dh_systemd_enable to enable the service instead of shipping a basic.target.wants/live-config.service symlink in the package. + +2016-06-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160601. + + [ Raphaël Hertzog ] + * Avoiding deadlock during boot by using systemctl --no-block. + + [ Daniel Reichelt ] + * Fixing naming of config snippets in manpages. + * Fixing hook for disabling display managers. + + [ trebmuh ] + * Updating French translation for live-config manpage. + + [ Carlos Zuferri ] + * Using 'Live Systems Project' as default project in .pot files. + + [ Daniel Baumann ] + * Correcting version string in changelog. + +2016-05-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160501. diff --git a/system-config/COPYING b/system-config/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/system-config/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/system-config/Makefile b/system-config/Makefile new file mode 100644 index 0000000..7cfe313 --- /dev/null +++ b/system-config/Makefile @@ -0,0 +1,161 @@ +# Makefile + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +SHELL := sh -e + +LANGUAGES = $(shell cd manpages/po && ls) + +SCRIPTS = backend/*/*.init frontend/* components/* + +all: build + +test: + @echo -n "Checking for syntax errors" + + @for SCRIPT in $(SCRIPTS); \ + do \ + sh -n $${SCRIPT}; \ + echo -n "."; \ + done + + @echo " done." + + @if [ -x "$$(which checkbashisms 2>/dev/null)" ]; \ + then \ + echo -n "Checking for bashisms"; \ + for SCRIPT in $(SCRIPTS); \ + do \ + checkbashisms -f -x $${SCRIPT}; \ + echo -n "."; \ + done; \ + echo " done."; \ + else \ + echo "W: checkbashisms - command not found"; \ + echo "I: checkbashisms can be obtained from: "; \ + echo "I: http://git.debian.org/?p=devscripts/devscripts.git"; \ + echo "I: On Debian based systems, checkbashisms can be installed with:"; \ + echo "I: apt-get install devscripts"; \ + fi + +build: + @echo "Nothing to build." + +install: + # Installing backend + mkdir -p $(DESTDIR)/etc/init.d + cp backend/sysvinit/live-config.init $(DESTDIR)/etc/init.d/live-config + + mkdir -p $(DESTDIR)/lib/systemd/system + cp backend/systemd/live-config.systemd $(DESTDIR)/lib/systemd/system/live-config.service + + # Installing frontend + mkdir -p $(DESTDIR)/bin + cp frontend/* $(DESTDIR)/bin + + # Installing components + mkdir -p $(DESTDIR)/lib/live/config + cp components/* $(DESTDIR)/lib/live/config + + mkdir -p $(DESTDIR)/var/lib/live/config + + # Installing shared data + mkdir -p $(DESTDIR)/usr/share/live/config + cp -r VERSION share/* $(DESTDIR)/usr/share/live/config + + # Installing docs + mkdir -p $(DESTDIR)/usr/share/doc/live-config + cp -r COPYING examples $(DESTDIR)/usr/share/doc/live-config + + # Installing manpages + for MANPAGE in manpages/en/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$2 }')"; \ + install -D -m 0644 $${MANPAGE} $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${MANPAGE}); \ + done + + for LANGUAGE in $(LANGUAGES); \ + do \ + for MANPAGE in manpages/$${LANGUAGE}/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$3 }')"; \ + install -D -m 0644 $${MANPAGE} $(DESTDIR)/usr/share/man/$${LANGUAGE}/man$${SECTION}/$$(basename $${MANPAGE} .$${LANGUAGE}.$${SECTION}).$${SECTION}; \ + done; \ + done + +uninstall: + # Uninstalling backend + rm -f $(DESTDIR)/etc/init.d/live + rm -f $(DESTDIR)/etc/init.d/live-config + rmdir --ignore-fail-on-non-empty $(DESTDIR)/etc/init.d > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/etc > /dev/null 2>&1 || true + + rm -f $(DESTDIR)/etc/init/live-config.conf + rmdir --ignore-fail-on-non-empty $(DESTDIR)/etc/init > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/etc > /dev/null 2>&1 || true + + rm -f $(DESTDIR)/lib/systemd/system/live-config.service + rmdir --ignore-fail-on-non-empty $(DESTDIR)/lib/systemd/system > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/lib/systemd > /dev/null 2>&1 || true + + # Uninstalling components + rm -rf $(DESTDIR)/lib/live/config + rmdir --ignore-fail-on-non-empty $(DESTDIR)/lib/live > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/lib > /dev/null 2>&1 || true + + rmdir --ignore-fail-on-non-empty $(DESTDIR)/var/lib/live/config > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/var/lib/live > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/var/lib > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/var > /dev/null 2>&1 || true + + # Uninstalling shared data + rm -rf $(DESTDIR)/usr/share/live/config + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/live + + # Uninstalling docs + rm -rf $(DESTDIR)/usr/share/doc/live-config + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/doc > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr > /dev/null 2>&1 || true + + # Uninstalling manpages + for MANPAGE in manpages/en/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$2 }')"; \ + rm -f $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${MANPAGE} .en.$${SECTION}).$${SECTION}; \ + done + + for LANGUAGE in $(LANGUAGES); \ + do \ + for MANPAGE in manpages/$${LANGUAGE}/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$3 }')"; \ + rm -f $(DESTDIR)/usr/share/man/$${LANGUAGE}/man$${SECTION}/$$(basename $${MANPAGE} .$${LANGUAGE}.$${SECTION}).$${SECTION}; \ + done; \ + done + + for SECTION in $(ls manpages/en/* | awk -F. '{ print $2 }'); \ + do \ + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/man$${SECTION} > /dev/null 2>&1 || true; \ + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/*/man$${SECTION} > /dev/null 2>&1 || true; \ + done + + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr > /dev/null 2>&1 || true + + rmdir --ignore-fail-on-non-empty $(DESTDIR) > /dev/null 2>&1 || true + +clean: + @echo "Nothing to clean." + +distclean: clean + @echo "Nothing to distclean." + +reinstall: uninstall install diff --git a/system-config/VERSION b/system-config/VERSION new file mode 100644 index 0000000..c2ace56 --- /dev/null +++ b/system-config/VERSION @@ -0,0 +1 @@ +20161101 diff --git a/system-config/backend/systemd/live-config.systemd b/system-config/backend/systemd/live-config.systemd new file mode 100644 index 0000000..ed7069b --- /dev/null +++ b/system-config/backend/systemd/live-config.systemd @@ -0,0 +1,24 @@ +## live-config - System Configuration Components +## +## live-config contains the components that configure a live system during +## the boot process (late userspace). +## +## This is the systemd service for live-config. + + +[Unit] +Description=live-config contains the components that configure a live system during the boot process (late userspace). +Documentation=man:live-config +Before=basic.target udev.service +After=local-fs.target +DefaultDependencies=no +ConditionPathExists=/bin/live-config +ConditionKernelCommandLine=boot=live + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/bin/live-config + +[Install] +WantedBy=basic.target diff --git a/system-config/backend/sysvinit/live-config.init b/system-config/backend/sysvinit/live-config.init new file mode 100755 index 0000000..270de99 --- /dev/null +++ b/system-config/backend/sysvinit/live-config.init @@ -0,0 +1,36 @@ +#!/bin/sh + +## live-config contains the components that configure a live system during +## the boot process (late userspace). +## +## This is the sysvinit initscript for live-config. + + +### BEGIN INIT INFO +# Provides: live-config +# Required-Start: +# Required-Stop: +# Should-Start: +# Should-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: live-config - System Configuration Components +# Description: live-config contains the components that configure a +# live system during the boot process (late userspace). +# X-Start-Before: mountkernfs +# X-Stop-After: +# X-Interactive: true +### END INIT INFO + +case "${1}" in + start) + if [ -e /bin/live-config ] + then + /bin/live-config ${@} + fi + ;; + + force-reload|restart|stop) + + ;; +esac diff --git a/system-config/components/0010-debconf b/system-config/components/0010-debconf new file mode 100755 index 0000000..b579941 --- /dev/null +++ b/system-config/components/0010-debconf @@ -0,0 +1,93 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.debconf-preseed=*|debconf-preseed=*) + LIVE_DEBCONF_PRESEED="${_PARAMETER#*debconf-preseed=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/debconf.list ] || \ + [ -e /var/lib/live/config/debconf ] + then + exit 0 + fi + + echo -n " debconf" +} + +Config () +{ + if [ -z "${LIVE_DEBCONF_PRESEED}" ] + then + exit 0 + fi + + for _PRESEED in $(echo ${LIVE_DEBCONF_PRESEED} | sed -e 's/|/ /g') + do + case "${_PRESEED}" in + filesystem) + if ls /lib/live/config-preseed/* 2>&1 + then + _PRESEEDS="${_PRESEEDS} $(for _FILE in /lib/live/config-preseed/*; do echo file://${_FILE}; done)" + fi + ;; + + medium) + if ls /lib/live/mount/medium/live/config-preseed/* 2>&1 + then + _PRESEEDS="${_PRESEEDS} $(for _FILE in /lib/live/mount/medium/live/config-preseed/*; do echo file://${_FILE}; done)" + fi + ;; + + *) + _PRESEEDS="${_PRESEEDS} ${_PRESEED}" + ;; + esac + done + + for _PRESEED in ${_PRESEEDS} + do + _TMPFILE="$(mktemp -t live-config.XXXXXXXX)" + + if echo "${_PRESEED}" | grep -qs file:// + then + # local file + cp $(echo ${_PRESEED} | sed 's|file://||') "${_TMPFILE}" + else + # remote file + Setup_network + + wget --quiet "${_PRESEED}" -O "${_TMPFILE}" + fi + + debconf-set-selections < "${_TMPFILE}" + rm -f "${_TMPFILE}" + done + + # Creating state file + touch /var/lib/live/config/debconf +} + +Cmdline +Init +Config diff --git a/system-config/components/0020-hostname b/system-config/components/0020-hostname new file mode 100755 index 0000000..6ffc603 --- /dev/null +++ b/system-config/components/0020-hostname @@ -0,0 +1,101 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.hostname=*|hostname=*) + LIVE_HOSTNAME="${_PARAMETER#*hostname=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ -z "${LIVE_HOSTNAME}" ] || \ + [ -e /var/lib/live/config/hostname ] + then + exit 0 + fi + + echo -n " hostname" +} + +Config () +{ + # Change hostname only if it is not set + if [ ! -e /etc/hostname ] || \ + grep -qs localhost\.localdomain /etc/hostname + then + # Supporting variables within hostnames + if [ -e /bin/ip ] + then + LINK="$(ip -oneline -family link address show dev eth0 | awk '{ print $13 }' | sed -e "s|:|${_IP_SEPARATOR}|g")" + INET="$(ip -oneline -family inet address show dev eth0 | awk '{ print $4 }' | sed -e "s|\.|${_IP_SEPARATOR}|g" -e 's|/.*||')" + INET6="$(ip -oneline -family inet6 address show dev eth0 | awk '{ print $4 }' | sed -e "s|:|${_IP_SEPARATOR}|g" -e 's|/.*||' -e 's|--|-|')" + + eval LIVE_HOSTNAME="${LIVE_HOSTNAME}" + fi + + echo "${LIVE_HOSTNAME}" > /etc/hostname + else + LIVE_HOSTNAME="$(cat /etc/hostname)" + fi + + # Updating hostname in /etc/hosts + if [ -s /etc/hosts ] + then + # /etc/hosts exists but has no 127.0.0.1 + if ! grep -Eq "^ *127.0.0.1" /etc/hosts + then + mv /etc/hosts /etc/hosts.tmp + + echo "127.0.0.1 localhost ${LIVE_HOSTNAME}" > /etc/hosts + cat /etc/hosts.tmp >> /etc/hosts + + rm -f /etc/hosts.tmp + # /etc/hosts exists and has no matching 127.0.0.1 + elif ! grep -Eq "^ *127.0.0.1.*${LIVE_HOSTNAME}" /etc/hosts + then + _HOSTS="$(grep -E "^ *127.0.0.1" /etc/hosts | awk '{ $1=""; print $0 }' | sed -e 's|localhost||')" + _HOSTS="$(echo localhost ${_HOSTS} ${LIVE_HOSTNAME} | sed -e 's|^ ||' -e 's| | |g')" + + sed -i -e "s|^ *127.0.0.1.*|127.0.0.1 ${_HOSTS}|" /etc/hosts + fi + else + # /etc/hosts does not exist + +cat > /etc/hosts << EOF +127.0.0.1 localhost ${LIVE_HOSTNAME} +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +EOF + + fi + + hostname "${LIVE_HOSTNAME}" || true + + # Creating state file + touch /var/lib/live/config/hostname +} + +Cmdline +Init +Config diff --git a/system-config/components/0030-live-debconfig_passwd b/system-config/components/0030-live-debconfig_passwd new file mode 100755 index 0000000..d4d767a --- /dev/null +++ b/system-config/components/0030-live-debconfig_passwd @@ -0,0 +1,100 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.user-default-groups=*|user-default-groups=*) + LIVE_USER_DEFAULT_GROUPS="${_PARAMETER#*user-default-groups=}" + ;; + + live-config.user-fullname=*|user-fullname=*) + LIVE_USER_FULLNAME="${_PARAMETER#*user-fullname=}" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/live-debconfig.list ] || \ + [ -e /var/lib/live/config/live-debconfig_passwd ] + then + exit 0 + fi + + echo -n " live-debconfig (passwd)" +} + +Config () +{ + # Checking if package is already configured differently + if grep -q "^${LIVE_USERNAME}:" /etc/passwd + then + exit 0 + fi + + # Adjust formating of groups + if [ -n "${LIVE_USER_DEFAULT_GROUPS}" ] + then + LIVE_USER_DEFAULT_GROUPS="$(echo ${LIVE_USER_DEFAULT_GROUPS} | sed -e 's|,| |g')" + fi + + # Make sure user is not in sudo group if sudo is disabled + case "${LIVE_CONFIG_NOROOT}" in + true) + LIVE_USER_DEFAULT_GROUPS="$(echo ${LIVE_USER_DEFAULT_GROUPS} | sed -e 's|sudo||')" + ;; + esac + + # Default password is: live + # passwords can be generated with 'echo "live" | mkpasswd -s', + # a blank password is 'U6aMy0wojraho'. + _PASSWORD="8Ab05sVQ4LLps" + +cat > /tmp/live-config.cfg << EOF +live-debconfig live-debconfig/passwd/shadow boolean on +#live-debconfig live-debconfig/passwd/root-password password +#live-debconfig live-debconfig/passwd/root-password-again password +live-debconfig live-debconfig/passwd/root-password-crypted string * +live-debconfig live-debconfig/passwd/user-name string ${LIVE_USERNAME} +live-debconfig live-debconfig/passwd/user-fullname string ${LIVE_USER_FULLNAME} +#live-debconfig live-debconfig/passwd/user-password password +#live-debconfig live-debconfig/passwd/user-password-again password +live-debconfig live-debconfig/passwd/user-password-crypted string ${_PASSWORD} +live-debconfig live-debconfig/passwd/user-home string /home/user +live-debconfig live-debconfig/passwd/user-uid string 1000 +live-debconfig live-debconfig/passwd/user-gid string 1000 +live-debconfig live-debconfig/passwd/user-default-groups string ${LIVE_USER_DEFAULT_GROUPS} +live-debconfig live-debconfig/passwd/user-system-user boolean false +EOF + + live-debconfig-set-selections /tmp/live-config.cfg + rm -f /tmp/live-config.cfg + + live-debconfig --debconfig=passwd + + # Creating state file + touch /var/lib/live/config/live-debconfig_passwd +} + +Cmdline +Init +Config diff --git a/system-config/components/0030-user-setup b/system-config/components/0030-user-setup new file mode 100755 index 0000000..bcd3cb9 --- /dev/null +++ b/system-config/components/0030-user-setup @@ -0,0 +1,97 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.user-default-groups=*|user-default-groups=*) + LIVE_USER_DEFAULT_GROUPS="${_PARAMETER#*user-default-groups=}" + ;; + + live-config.user-fullname=*|user-fullname=*) + LIVE_USER_FULLNAME="${_PARAMETER#*user-fullname=}" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/user-setup.list ] || \ + [ -e /var/lib/live/config/user-setup ] + then + exit 0 + fi + + echo -n " user-setup" +} + +Config () +{ + # Checking if package is already configured differently + if grep -q "^${LIVE_USERNAME}:" /etc/passwd + then + exit 0 + fi + + # Adjust formating of groups + if [ -n "${LIVE_USER_DEFAULT_GROUPS}" ] + then + LIVE_USER_DEFAULT_GROUPS="$(echo ${LIVE_USER_DEFAULT_GROUPS} | sed -e 's|,| |g')" + fi + + # Make sure user is not in sudo group if sudo is disabled + case "${LIVE_CONFIG_NOROOT}" in + true) + LIVE_USER_DEFAULT_GROUPS="$(echo ${LIVE_USER_DEFAULT_GROUPS} | sed -e 's|sudo||')" + ;; + esac + + # Default password is: live + # passwords can be generated with 'echo "live" | mkpasswd -s', + # a blank password is 'U6aMy0wojraho'. + _PASSWORD="8Ab05sVQ4LLps" + +cat > /tmp/live-config.cfg << EOF +user-setup passwd/make-user boolean true +user-setup passwd/root-password-crypted string * +user-setup passwd/user-password-crypted string ${_PASSWORD} +user-setup passwd/user-default-groups string ${LIVE_USER_DEFAULT_GROUPS} +user-setup passwd/user-fullname string ${LIVE_USER_FULLNAME} +user-setup passwd/username string ${LIVE_USERNAME} +user-setup passwd/user-uid string 1000 +EOF + + debconf-set-selections < /tmp/live-config.cfg + rm -f /tmp/live-config.cfg + + # Workaround for bug in shadow + set +e + /usr/lib/user-setup/user-setup-apply 2>&1 \ + | grep -v "Shadow passwords are now on" + set -e + + # Creating state file + touch /var/lib/live/config/user-setup +} + +Cmdline +Init +Config diff --git a/system-config/components/0040-sudo b/system-config/components/0040-sudo new file mode 100755 index 0000000..8b828cb --- /dev/null +++ b/system-config/components/0040-sudo @@ -0,0 +1,97 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noroot|noroot) + LIVE_CONFIG_NOROOT="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disable root access, no matter what mechanism + case "${LIVE_CONFIG_NOROOT}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/sudo.list ] || \ + [ -e /var/lib/live/config/sudo ] + then + exit 0 + fi + + echo -n " sudo" + +} + +Config () +{ + # Skip sudo configuration if username is root + case "${LIVE_USERNAME}" in + root) + exit 0 + ;; + esac + + # Checking if package is already configured differently + if grep -qs "^${LIVE_USERNAME}" /etc/sudoers.d/live + then + exit 0 + fi + + echo "${LIVE_USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/live + chmod 0440 /etc/sudoers.d/live + + sudo -u "${LIVE_USERNAME}" sh -c "echo 'SU_TO_ROOT_SU=sudo' >> /home/${LIVE_USERNAME}/.su-to-rootrc" + + if [ -x /usr/bin/gconftool-2 ] + then + sudo -u "${LIVE_USERNAME}" gconftool-2 -s -t bool /apps/gksu/sudo-mode true + sudo -u "${LIVE_USERNAME}" gconftool-2 -s -t bool /apps/gksu/display-no-pass-info false + fi + + sudo -u "${LIVE_USERNAME}" sh -c "umask 0077 && mkdir -p /home/${LIVE_USERNAME}/.kde/share/config && cat > /home/${LIVE_USERNAME}/.kde/share/config/kdesurc" << EOF +[super-user-command] +super-user-command=sudo +EOF + + if [ -e /usr/share/apps/konsole/sumc.desktop ] + then + sudo -u "${LIVE_USERNAME}" sh -c "umask 0077 && mkdir -p /home/${LIVE_USERNAME}/.kde/share/apps/konsole && sed -e's/Exec=su.*$/Exec=sudo mc -c/' /usr/share/apps/konsole/sumc.desktop > /home/${LIVE_USERNAME}/.kde/share/apps/konsole/sumc.desktop" + fi + + if [ -e /usr/share/apps/konsole/su.desktop ] + then + sudo -u "${LIVE_USERNAME}" sh -c "umask 0077 && mkdir -p /home/${LIVE_USERNAME}/.kde/share/apps/konsole && sed -e's/Exec=su.*$/Exec=sudo -i/' /usr/share/apps/konsole/su.desktop > /home/${LIVE_USERNAME}/.kde/share/apps/konsole/su.desktop" + fi + + # Creating state file + touch /var/lib/live/config/sudo +} + +Cmdline +Init +Config diff --git a/system-config/components/0050-locales b/system-config/components/0050-locales new file mode 100755 index 0000000..583d4a1 --- /dev/null +++ b/system-config/components/0050-locales @@ -0,0 +1,71 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.locales=*|locales=*) + LIVE_LOCALES="${_PARAMETER#*locales=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/locales.list ] || \ + [ -e /var/lib/live/config/locales ] + then + exit 0 + fi + + echo -n " locales" +} + +Config () +{ + if echo "${LIVE_LOCALES}" | grep -qs "," + then + # multiple locales specified + _LOCALE="$(echo ${LIVE_LOCALES} | sed -e 's|,.*||')" + _LOCALES="$(echo ${LIVE_LOCALES} | sed -e "s|^${_LOCALE},||" -e 's|,| |g')" + else + # one or no locale specified + _LOCALE="${LIVE_LOCALES:-en_US.UTF-8}" + _LOCALES="" + fi + + echo "LANG=${_LOCALE}" > /etc/default/locale + + if [ -e /etc/locale.gen ] + then + for _LOCALE in ${_LOCALE} ${_LOCALES} + do + _CHARSET="$(echo ${_LOCALE} | awk -F. '{ print $2 }')" + + sed -i -e "s|# ${_LOCALE} ${_CHARSET}|${_LOCALE} ${_CHARSET}|" /etc/locale.gen + done + fi + + locale-gen --keep-existing > /dev/null 2>&1 + + # Creating state file + touch /var/lib/live/config/locales +} + +Cmdline +Init +Config diff --git a/system-config/components/0060-locales-all b/system-config/components/0060-locales-all new file mode 100755 index 0000000..e7a12ac --- /dev/null +++ b/system-config/components/0060-locales-all @@ -0,0 +1,60 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.locales=*|locales=*) + LIVE_LOCALES="${_PARAMETER#*locales=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/locales-all.list ] || \ + [ -e /var/lib/live/config/locales-all ] + then + exit 0 + fi + + echo -n " locales-all" +} + +Config () +{ + if [ -n "${LIVE_LOCALES}" ] + then + LIVE_LOCALES="$(echo ${LIVE_LOCALES} | awk -F, '{ print $1 }')" + else + LIVE_LOCALES="en_US.UTF-8" + fi + + if [ -e /etc/progress-linux_version ] + then + sed -i -e "s|^ *export LANG=.*|export LANG=\"${LIVE_LOCALES}\"|" /etc/profile + else + printf 'export LANG="%s"\n' "${_LOCALE}" > /etc/profile.d/zz-live-config_locales-all.sh + fi + + # Creating state file + touch /var/lib/live/config/locales-all +} + +Cmdline +Init +Config diff --git a/system-config/components/0070-tzdata b/system-config/components/0070-tzdata new file mode 100755 index 0000000..ac4864a --- /dev/null +++ b/system-config/components/0070-tzdata @@ -0,0 +1,59 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.timezone=*|timezone=*) + LIVE_TIMEZONE="${_PARAMETER#*timezone=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/tzdata.list ] || \ + [ -e /var/lib/live/config/tzdata ] + then + exit 0 + fi + + echo -n " tzdata" +} + +Config () +{ + if [ -n "${LIVE_TIMEZONE}" ] + then + _AREA="$(echo ${LIVE_TIMEZONE} | cut -f1 -d '/')" + _ZONE="$(echo ${LIVE_TIMEZONE} | cut -f2 -d '/')" + else + _AREA="Etc" + _ZONE="UTC" + fi + + echo "${_AREA}/${_ZONE}" > /etc/timezone + rm -f /etc/localtime + dpkg-reconfigure -f noninteractive -p critical tzdata + + # Creating state file + touch /var/lib/live/config/tzdata +} + +Cmdline +Init +Config diff --git a/system-config/components/0080-gdm3 b/system-config/components/0080-gdm3 new file mode 100755 index 0000000..bef4774 --- /dev/null +++ b/system-config/components/0080-gdm3 @@ -0,0 +1,85 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noautologin|noautologin) + LIVE_CONFIG_NOAUTOLOGIN="true" + ;; + + live-config.nox11autologin|nox11autologin) + LIVE_CONFIG_NOX11AUTOLOGIN="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disables both console and graphical autologin. + case "${LIVE_CONFIG_NOAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Disables graphical autologin, no matter what mechanism + case "${LIVE_CONFIG_NOX11AUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/gdm3.list ] || \ + [ -e /var/lib/live/config/gdm3 ] + then + exit 0 + fi + + echo -n " gdm3" +} + +Config () +{ + # Checking if package is already configured + if grep -qs AutomaticLoginEnable=true /etc/gdm3/daemon.conf + then + exit 0 + fi + + _GDM3_OPTIONS="AutomaticLoginEnable=true\n\ +AutomaticLogin=${LIVE_USERNAME}\n\ +TimedLoginEnable=true\n\ +TimedLogin=${LIVE_USERNAME}\n\ +TimedLoginDelay=5" + + sed -i -e "s|\[daemon\]|\[daemon\]\n${_GDM3_OPTIONS}|" /etc/gdm3/daemon.conf + + # Avoid xinit + touch /var/lib/live/config/xinit + + # Creating state file + touch /var/lib/live/config/gdm3 +} + +Cmdline +Init +Config diff --git a/system-config/components/0090-kdm b/system-config/components/0090-kdm new file mode 100755 index 0000000..5be0695 --- /dev/null +++ b/system-config/components/0090-kdm @@ -0,0 +1,92 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noautologin|noautologin) + LIVE_CONFIG_NOAUTOLOGIN="true" + ;; + + live-config.nox11autologin|nox11autologin) + LIVE_CONFIG_NOX11AUTOLOGIN="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disables both console and graphical autologin. + case "${LIVE_CONFIG_NOAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Disables graphical autologin, no matter what mechanism + case "${LIVE_CONFIG_NOX11AUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/kdm.list ] || \ + [ -e /var/lib/live/config/kdm ] + then + exit 0 + fi + + echo -n " kdm" +} + +Config () +{ + if [ ! -e /etc/kde4/kdm/kdmrc ] + then + exit 0 + fi + + # autologin + if [ -n "${LIVE_USERNAME}" ] + then + sed -i -r -e "s|^#.*AutoLoginEnable=.*\$|AutoLoginEnable=true|" \ + -e "s|^#.*AutoLoginAgain=.*\$|AutoLoginAgain=true|" \ + -e "s|^#.*AutoLoginUser=.*\$|AutoLoginUser=${LIVE_USERNAME}|" \ + /etc/kde4/kdm/kdmrc + fi + + # language + if [ -n "${_LANGUAGE}" ] + then + sed -i -r -e "s|^#.*Language=.*\$|Language=${_LANGUAGE}|" \ + /etc/kde4/kdm/kdmrc + fi + + # Avoid xinit + touch /var/lib/live/config/xinit + + # Creating state file + touch /var/lib/live/config/kdm +} + +Cmdline +Init +Config diff --git a/system-config/components/0100-lightdm b/system-config/components/0100-lightdm new file mode 100755 index 0000000..cb25f97 --- /dev/null +++ b/system-config/components/0100-lightdm @@ -0,0 +1,78 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noautologin|noautologin) + LIVE_CONFIG_NOAUTOLOGIN="true" + ;; + + live-config.nox11autologin|nox11autologin) + LIVE_CONFIG_NOX11AUTOLOGIN="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disables both console and graphical autologin. + case "${LIVE_CONFIG_NOAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Disables graphical autologin, no matter what mechanism + case "${LIVE_CONFIG_NOX11AUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/lightdm.list ] || \ + [ -e /var/lib/live/config/lightdm ] + then + exit 0 + fi + + echo -n " lightdm" +} + +Config () +{ + if [ -e /etc/lightdm/lightdm.conf ] + then + sed -i -r -e "s|^#.*autologin-user=.*\$|autologin-user=${LIVE_USERNAME}|" \ + -e "s|^#.*autologin-user-timeout=.*\$|autologin-user-timeout=0|" \ + /etc/lightdm/lightdm.conf + fi + + # Avoid xinit + touch /var/lib/live/config/xinit + + # Creating state file + touch /var/lib/live/config/lightdm +} + +Cmdline +Init +Config diff --git a/system-config/components/0110-lxdm b/system-config/components/0110-lxdm new file mode 100755 index 0000000..64cb197 --- /dev/null +++ b/system-config/components/0110-lxdm @@ -0,0 +1,79 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noautologin|noautologin) + LIVE_CONFIG_NOAUTOLOGIN="true" + ;; + + live-config.nox11autologin|nox11autologin) + LIVE_CONFIG_NOX11AUTOLOGIN="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disables both console and graphical autologin. + case "${LIVE_CONFIG_NOAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Disables graphical autologin, no matter what mechanism + case "${LIVE_CONFIG_NOX11AUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/lxdm.list ] || \ + [ -e /var/lib/live/config/lxdm ] + then + exit 0 + fi + + echo -n " lxdm" +} + +Config () +{ + # Configure autologin + if [ -e /etc/lxdm/lxdm.conf ] + then + sed -i -r -e "s|^#.*autologin=.*\$|autologin=${LIVE_USERNAME}|" \ + -e "s|^#.*session.*\$|session|" \ + /etc/lxdm/lxdm.conf + fi + + # Avoid xinit + touch /var/lib/live/config/xinit + + # Creating state file + touch /var/lib/live/config/lxdm +} + +Cmdline +Init +Config diff --git a/system-config/components/0120-nodm b/system-config/components/0120-nodm new file mode 100755 index 0000000..b6e5a65 --- /dev/null +++ b/system-config/components/0120-nodm @@ -0,0 +1,84 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noautologin|noautologin) + LIVE_CONFIG_NOAUTOLOGIN="true" + ;; + + live-config.nox11autologin|nox11autologin) + LIVE_CONFIG_NOX11AUTOLOGIN="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disables both console and graphical autologin. + case "${LIVE_CONFIG_NOAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Disables graphical autologin, no matter what mechanism + case "${LIVE_CONFIG_NOX11AUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/nodm.list ] || \ + [ -e /var/lib/live/config/nodm ] + then + exit 0 + fi + + echo -n " nodm" +} + +Config () +{ + # autologin + sed -i -r -e "s|^NODM_ENABLED=.*\$|NODM_ENABLED=true|" \ + -e "s|^NODM_USER=.*\$|NODM_USER=${LIVE_USERNAME}|" \ + /etc/default/nodm + +cat > /tmp/live-config.cfg << EOF +nodm nodm/enabled boolean true +nodm nodm/user string ${LIVE_USERNAME} +EOF + + debconf-set-selections < /tmp/live-config.cfg + rm -f /tmp/live-config.cfg + + # Avoid xinit + touch /var/lib/live/config/xinit + + # Creating state file + touch /var/lib/live/config/nodm +} + +Cmdline +Init +Config diff --git a/system-config/components/0130-slim b/system-config/components/0130-slim new file mode 100755 index 0000000..04bbd7d --- /dev/null +++ b/system-config/components/0130-slim @@ -0,0 +1,82 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noautologin|noautologin) + LIVE_CONFIG_NOAUTOLOGIN="true" + ;; + + live-config.nox11autologin|nox11autologin) + LIVE_CONFIG_NOX11AUTOLOGIN="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disables both console and graphical autologin. + case "${LIVE_CONFIG_NOAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Disables graphical autologin, no matter what mechanism + case "${LIVE_CONFIG_NOX11AUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/slim.list ] || \ + [ -e /var/lib/live/config/slim ] + then + exit 0 + fi + + echo -n " slim" +} + +Config () +{ + # Checking if package is already configured differently + if grep -qs "^auto_login" /etc/slim.conf + then + exit 0 + fi + + # autologin + sed -i -r -e "s|^#.*auto_login.*\$|auto_login yes|" \ + -e "s|^#.*default_user.*\$|default_user ${LIVE_USERNAME}|" \ + /etc/slim.conf + + # Avoid xinit + touch /var/lib/live/config/xinit + + # Creating state file + touch /var/lib/live/config/slim +} + +Cmdline +Init +Config diff --git a/system-config/components/0140-xinit b/system-config/components/0140-xinit new file mode 100755 index 0000000..01deca4 --- /dev/null +++ b/system-config/components/0140-xinit @@ -0,0 +1,94 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noautologin|noautologin) + LIVE_CONFIG_NOAUTOLOGIN="true" + ;; + + live-config.nox11autologin|nox11autologin) + LIVE_CONFIG_NOX11AUTOLOGIN="true" + ;; + esac + done +} + +Init () +{ + # Disables both console and graphical autologin. + case "${LIVE_CONFIG_NOAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Disables graphical autologin, no matter what mechanism + case "${LIVE_CONFIG_NOX11AUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Checking if a display manager has been configured + case "${_X11}" in + true) + rm -f /etc/profile.d/zz-live-config_xinit.sh + + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/xinit.list ] || \ + [ -e /var/lib/live/config/xinit ] + then + exit 0 + fi + + echo -n " xinit" +} + +Config () +{ + # Checking if package is already configured differently + if [ -e /etc/profile.d/zz-live-config_xinit.sh ] + then + exit 0 + fi + +cat > /etc/profile.d/zz-live-config_xinit.sh << EOF +if [ -z "\${DISPLAY}" ] && [ \$(tty) = /dev/tty1 ] +then + while true + do + if grep -qs quiet /proc/cmdline + then + startx > /dev/null 2>&1 + else + startx + fi + done +fi +EOF + + # Creating state file + touch /var/lib/live/config/xinit +} + +Cmdline +Init +Config diff --git a/system-config/components/0150-keyboard-configuration b/system-config/components/0150-keyboard-configuration new file mode 100755 index 0000000..52537f7 --- /dev/null +++ b/system-config/components/0150-keyboard-configuration @@ -0,0 +1,92 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.keyboard-layouts=*|keyboard-layouts=*) + LIVE_KEYBOARD_LAYOUTS="${_PARAMETER#*keyboard-layouts=}" + ;; + + live-config.keyboard-model=*|keyboard-model=*) + LIVE_KEYBOARD_MODEL="${_PARAMETER#*keyboard-model=}" + ;; + + live-config.keyboard-options=*|keyboard-options=*) + LIVE_KEYBOARD_OPTIONS="${_PARAMETER#*keyboard-options=}" + ;; + + live-config.keyboard-variants=*|keyboard-variants=*) + LIVE_KEYBOARD_VARIANTS="${_PARAMETER#*keyboard-variants=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/keyboard-configuration.list ] || \ + [ -e /var/lib/live/config/keyboard-configuration ] + then + exit 0 + fi + + echo -n " keyboard-configuration" +} + +Config () +{ + if [ -n "${LIVE_KEYBOARD_LAYOUTS}" ] + then + echo "keyboard-configuration keyboard-configuration/layoutcode select ${LIVE_KEYBOARD_LAYOUTS}" >> /tmp/live-config.cfg + + sed -i -e "s|^XKBLAYOUT=.*$|XKBLAYOUT=\"${LIVE_KEYBOARD_LAYOUTS}\"|" /etc/default/keyboard + fi + + if [ -n "${LIVE_KEYBOARD_MODEL}" ] + then + echo "keyboard-configuration keyboard-configuration/modelcode select ${LIVE_KEYBOARD_MODEL}" >> /tmp/live-config.cfg + + sed -i -e "s|^XKBMODEL=.*$|XKBMODEL=\"${LIVE_KEYBOARD_MODEL}\"|" /etc/default/keyboard + fi + + if [ -n "${LIVE_KEYBOARD_OPTIONS}" ] + then + echo "keyboard-configuration keyboard-configuration/optionscode string ${LIVE_KEYBOARD_OPTIONS}" >> /tmp/live-config.cfg + + sed -i -e "s|^XKBOPTIONS=.*$|XKBOPTIONS=\"${LIVE_KEYBOARD_OPTIONS}\"|" /etc/default/keyboard + fi + + if [ -n "${LIVE_KEYBOARD_VARIANTS}" ] + then + echo "keyboard-configuration keyboard-configuration/variantcode select ${LIVE_KEYBOARD_VARIANTS}" >> /tmp/live-config.cfg + + sed -i -e "s|^XKBVARIANT=.*$|XKBVARIANT=\"${LIVE_KEYBOARD_VARIANTS}\"|" /etc/default/keyboard + fi + + if [ -e /tmp/live-config.cfg ] + then + debconf-set-selections < /tmp/live-config.cfg + rm -f /tmp/live-config.cfg + + # Creating state file + touch /var/lib/live/config/keyboard-configuration + fi +} + +Cmdline +Init +Config diff --git a/system-config/components/0160-sysvinit b/system-config/components/0160-sysvinit new file mode 100755 index 0000000..3831e37 --- /dev/null +++ b/system-config/components/0160-sysvinit @@ -0,0 +1,76 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noautologin|noautologin) + LIVE_CONFIG_NOAUTOLOGIN="true" + ;; + + live-config.nottyautologin|nottyautologin) + LIVE_CONFIG_NOTTYAUTOLOGIN="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disables both console and graphical autologin. + case "${LIVE_CONFIG_NOAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Disables console autologin, no matter what mechanism + case "${LIVE_CONFIG_NOTTYAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/sysvinit.list ] || \ + [ -e /var/lib/live/config/sysvinit ] + then + exit 0 + fi + + echo -n " sysvinit" +} + +Config () +{ + # Configure autologin + if [ -n "${LIVE_USERNAME}" ] + then + sed -i -e "s|^\([^:]*:[^:]*:[^:]*\):.*getty.*\<\(ttyS\?[0-9]*\).*$|\1:/bin/login -f ${LIVE_USERNAME} </dev/\2 >/dev/\2 2>\&1|" /etc/inittab + + init q + fi + + # Creating state file + touch /var/lib/live/config/sysvinit +} + +Cmdline +Init +Config diff --git a/system-config/components/0170-systemd b/system-config/components/0170-systemd new file mode 100755 index 0000000..42999bc --- /dev/null +++ b/system-config/components/0170-systemd @@ -0,0 +1,96 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.debug|debug) + LIVE_CONFIG_DEBUG="true" + ;; + + live-config.noautologin|noautologin) + LIVE_CONFIG_NOAUTOLOGIN="true" + ;; + + live-config.nottyautologin|nottyautologin) + LIVE_CONFIG_NOTTYAUTOLOGIN="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disables both console and graphical autologin. + case "${LIVE_CONFIG_NOAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Disables console autologin, no matter what mechanism + case "${LIVE_CONFIG_NOTTYAUTOLOGIN}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/systemd.list ] || \ + [ -e /var/lib/live/config/systemd ] + then + exit 0 + fi + + echo -n " systemd" +} + +Config () +{ + # Configure autologin + if [ -n "${LIVE_USERNAME}" ] + then + for NUMBER in $(seq 1 6) + do + mkdir -p /etc/systemd/system/getty@tty${NUMBER}.service.d + +cat > /etc/systemd/system/getty@tty${NUMBER}.service.d/live-config_autologin.conf << EOF +[Service] +Type=idle +ExecStart= +ExecStart=-/sbin/agetty --autologin ${LIVE_USERNAME} --noclear %I \$TERM +EOF + + case "${LIVE_CONFIG_DEBUG}" in + true) + echo "TTYVTDisallocate=no" >> /etc/systemd/system/getty@tty${NUMBER}.service.d/live-config_autologin.conf + ;; + esac + done + + systemctl --no-block daemon-reload + fi + + # Creating state file + touch /var/lib/live/config/systemd +} + +Cmdline +Init +Config diff --git a/system-config/components/0180-sysv-rc b/system-config/components/0180-sysv-rc new file mode 100755 index 0000000..96f803d --- /dev/null +++ b/system-config/components/0180-sysv-rc @@ -0,0 +1,55 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.sysv-rc=*|sysv-rc=*) + LIVE_SYSV_RC="${_PARAMETER#*sysv-rc=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/sysv-rc.list ] || \ + [ -e /var/lib/live/config/sysv-rc ] + then + exit 0 + fi + + echo -n " sysv-rc" +} + +Config () +{ + if [ -n "${LIVE_SYSV_RC}" ] + then + for _SERVICE in $(echo ${LIVE_SYSV_RC} | sed -e 's|,| |g') + do + update-rc.d -f ${_SERVICE} remove | \ + grep -v "update-rc.d: using dependency based boot sequencing" || true + done + fi + + # Creating state file + touch /var/lib/live/config/sysv-rc +} + +Cmdline +Init +Config diff --git a/system-config/components/1010-apport b/system-config/components/1010-apport new file mode 100755 index 0000000..1f89439 --- /dev/null +++ b/system-config/components/1010-apport @@ -0,0 +1,35 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/apport.list ] || \ + [ -e /var/lib/live/config/apport ] + then + exit 0 + fi + + echo -n " apport" +} + +Config () +{ + # Enabling detection of crashes + sed -i -e 's|enabled=0|enabled=1|' /etc/default/apport + + # Creating state file + touch /var/lib/live/config/apport +} + +Init +Config diff --git a/system-config/components/1020-gnome-panel-data b/system-config/components/1020-gnome-panel-data new file mode 100755 index 0000000..bb71df0 --- /dev/null +++ b/system-config/components/1020-gnome-panel-data @@ -0,0 +1,48 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/gnome-panel-data.list ] || \ + [ -e /var/lib/live/config/gnome-panel-data ] + then + exit 0 + fi + + echo -n " gnome-panel-data" +} + +Config () +{ + sudo -u "${LIVE_USERNAME}" gconftool-2 -s -t bool /apps/panel/global/disable_lock_screen true + + # Creating state file + touch /var/lib/live/config/gnome-panel-data +} + +Cmdline +Init +Config diff --git a/system-config/components/1030-gnome-power-manager b/system-config/components/1030-gnome-power-manager new file mode 100755 index 0000000..190a4d4 --- /dev/null +++ b/system-config/components/1030-gnome-power-manager @@ -0,0 +1,50 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/gnome-power-manager.list ] || \ + [ -e /var/lib/live/config/gnome-power-manager ] + then + exit 0 + fi + + echo -n " gnome-power-manager" +} + +Config () +{ + # Not authorizing the user to hibernate the computer + # (might damage existing swap partitions). + sudo -u "${LIVE_USERNAME}" gconftool-2 -s -t bool /apps/gnome-power-manager/general/can_hibernate false + + # Creating state file + touch /var/lib/live/config/gnome-power-manager +} + +Cmdline +Init +Config diff --git a/system-config/components/1040-gnome-screensaver b/system-config/components/1040-gnome-screensaver new file mode 100755 index 0000000..8b2a647 --- /dev/null +++ b/system-config/components/1040-gnome-screensaver @@ -0,0 +1,49 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/gnome-screensaver.list ] || \ + [ -e /var/lib/live/config/gnome-screensaver ] + then + exit 0 + fi + + echo -n " gnome-screensaver" +} + +Config () +{ + # Disabling to lock the screen when the screensaver goes active. + sudo -u "${LIVE_USERNAME}" dbus-launch --exit-with-session gsettings set org.gnome.desktop.screensaver lock-enabled false + + # Creating state file + touch /var/lib/live/config/gnome-screensaver +} + +Cmdline +Init +Config diff --git a/system-config/components/1050-kaboom b/system-config/components/1050-kaboom new file mode 100755 index 0000000..e8658a2 --- /dev/null +++ b/system-config/components/1050-kaboom @@ -0,0 +1,48 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/kaboom.list ] || \ + [ -e /var/lib/live/config/kaboom ] + then + exit 0 + fi + + echo -n " kaboom" +} + +Config () +{ + sudo -u "${LIVE_USERNAME}" sh -c "mkdir -p /home/${LIVE_USERNAME}/.local && touch /home/${LIVE_USERNAME}/.local/kaboom" + + # Creating state file + touch /var/lib/live/config/kaboom +} + +Cmdline +Init +Config diff --git a/system-config/components/1060-kde-services b/system-config/components/1060-kde-services new file mode 100755 index 0000000..f287391 --- /dev/null +++ b/system-config/components/1060-kde-services @@ -0,0 +1,96 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.keyboard-layouts=*|keyboard-layouts=*) + LIVE_KEYBOARD_LAYOUTS="${_PARAMETER#*keyboard-layouts=}" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /usr/bin/kwriteconfig ] || \ + [ -e /var/lib/live/config/kde-services ] + then + exit 0 + fi + + echo -n " kde-services" +} + +Config () +{ + # Enabling keyboard selector + if echo "${LIVE_KEYBOARD_LAYOUTS}" | grep -qs ',' + then + if [ ! -e "/home/${LIVE_USERNAME}/.kde/share/config/kxkbrc" ] + then + mkdir -p "/home/${LIVE_USERNAME}/.kde/share/config/" + +cat > "/home/${LIVE_USERNAME}/.kde/share/config/kxkbrc" << EOF +[Layout] +DisplayNames=${LIVE_KEYBOARD_LAYOUTS} +IndicatorOnly=false +LayoutList=${LIVE_KEYBOARD_LAYOUTS} +ShowFlag=false +SwitchMode=Global +Use=true +EOF + + chown ${LIVE_USERNAME}:${LIVE_USERNAME} "/home/${LIVE_USERNAME}/.kde" -R + fi + fi + + # Disable addressbook migrator + sudo -u "${LIVE_USERNAME}" kwriteconfig --file kres-migratorrc --group Migration --key Enabled --type bool false + + # Disable korganizer reminder daemon + sudo -u "${LIVE_USERNAME}" kwriteconfig --file korgacrc --group "General" --key "Autostart" --type bool false + sudo -u "${LIVE_USERNAME}" kwriteconfig --file korgacrc --group "General" --key "Enabled" --type bool false + + # Disable nepomuk + sudo -u "${LIVE_USERNAME}" kwriteconfig --file nepomukserverrc --group "Basic Settings" --key "Start Nepomuk" --type bool false + + # Disbable nepomuk krunner plugin (depends on nepomuk) + #sudo -u "${LIVE_USERNAME}" kwriteconfig --file krunnerrc --group "Plugins" --key "nepomuksearchEnabled" --type bool false + + # Disable freespace notifier + sudo -u "${LIVE_USERNAME}" kwriteconfig --file kdedrc --group Module-freespacenotifier --key autoload --type bool false + + # Disable searching contacts through krunner (depends on akonadi) + sudo -u "${LIVE_USERNAME}" kwriteconfig --file krunnerrc --group "Plugins" --key "kabccontactsEnabled" --type bool false + + # Disable searching calendar events through krunner (depends on akonadi) + sudo -u "${LIVE_USERNAME}" kwriteconfig --file krunnerrc --group "Plugins" --key "org.kde.events_runnerEnabled" --type bool false + + # should enable kxkb in ~/.kde/share/config/kxkbrc + # if multiple layouts are specified. gnome does it per default. + + # Creating state file + touch /var/lib/live/config/kde-services +} + +Cmdline +Init +Config diff --git a/system-config/components/1080-policykit b/system-config/components/1080-policykit new file mode 100755 index 0000000..9a154ec --- /dev/null +++ b/system-config/components/1080-policykit @@ -0,0 +1,105 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.noroot|noroot) + LIVE_CONFIG_NOROOT="true" + ;; + + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Disable root access, no matter what mechanism + case "${LIVE_CONFIG_NOROOT}" in + true) + exit 0 + ;; + esac + + # Checking if package is installed + if [ ! -e /var/lib/dpkg/info/policykit-1.list ] || \ + [ -e /var/lib/live/config/policykit ] + then + exit 0 + fi + + echo -n " policykit" +} + +Config () +{ + # Grant administrative PolicyKit pivilieges to default user + + # Configure PolicyKit in live session + mkdir -p /etc/PolicyKit + +cat > /etc/PolicyKit/PolicyKit.conf << EOF +<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- --> + +<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN" +"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd"> + +<!-- See the manual page PolicyKit.conf(5) for file format --> + +<config version="0.1"> + <match user="root"> + <return result="yes"/> + </match> +EOF + + if [ -n "${LIVE_USERNAME}" ] + then + +cat >> /etc/PolicyKit/PolicyKit.conf << EOF + <!-- don't ask password for user in live session --> + <match user="${LIVE_USERNAME}"> + <return result="yes"/> + </match> +EOF + + fi + +cat >> /etc/PolicyKit/PolicyKit.conf << EOF + <define_admin_auth group="adm"/> +</config> +EOF + + mkdir -p /var/lib/polkit-1/localauthority/10-vendor.d + +cat > /var/lib/polkit-1/localauthority/10-vendor.d/10-live-cd.pkla << EOF +# Policy to allow the livecd user to bypass policykit +[Live CD user permissions] +Identity=unix-user:${LIVE_USERNAME} +Action=* +ResultAny=no +ResultInactive=no +ResultActive=yes +EOF + + # Creating state file + touch /var/lib/live/config/policykit +} + +Cmdline +Init +Config diff --git a/system-config/components/1090-ssl-cert b/system-config/components/1090-ssl-cert new file mode 100755 index 0000000..2e065ac --- /dev/null +++ b/system-config/components/1090-ssl-cert @@ -0,0 +1,37 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Init () +{ + # Checking if package is installed + if [ ! -e /var/lib/dpkg/info/ssl-cert.list ] || \ + [ -e /var/lib/live/config/ssl-cert ] + then + exit 0 + fi + + echo -n " ssl-cert" +} + +Config () +{ + if [ ! -e /etc/ssl/certs/ssl-cert-snakeoil.pem ] && [ ! -e /etc/ssl/private/ssl-cert-snakeoil.key ] + then + make-ssl-cert generate-default-snakeoil --force-overwrite + fi + + # Creating state file + touch /var/lib/live/config/ssl-cert +} + +Init +Config diff --git a/system-config/components/1110-anacron b/system-config/components/1110-anacron new file mode 100755 index 0000000..5b18be0 --- /dev/null +++ b/system-config/components/1110-anacron @@ -0,0 +1,43 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Init () +{ + # Checking if package is installed + if [ ! -e /var/lib/dpkg/info/anacron.list ] || \ + [ -e /var/lib/live/config/anacron ] + then + exit 0 + fi + + echo -n " anacron" +} + +Config () +{ + # This has the nice side effect of the cron.{daily,weekly,monthly} jobs + # in /etc/crontab remaining disabled, yet also not run by anacron + + # Diverting /usr/sbin/anacron + if [ ! -e /usr/sbin/anacron.orig.anacron ] + then + dpkg-divert --quiet --package live-config --add --rename --divert /usr/sbin/anacron.orig.anacron /usr/sbin/anacron + + ln -s /bin/true /usr/sbin/anacron + fi + + # Creating state file + touch /var/lib/live/config/anacron +} + +Init +Config diff --git a/system-config/components/1120-util-linux b/system-config/components/1120-util-linux new file mode 100755 index 0000000..8bb45e5 --- /dev/null +++ b/system-config/components/1120-util-linux @@ -0,0 +1,73 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.utc=*|utc=*) + LIVE_UTC="${_PARAMETER#*utc=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed + if [ ! -e /var/lib/dpkg/info/util-linux.list ] || \ + [ -e /var/lib/live/config/util-linux ] + then + exit 0 + fi + + echo -n " util-linux" +} + +Config () +{ + rm -f /etc/rc?.d/*hwclock* + + if [ -n "${LIVE_UTC}" ] + then + case "${LIVE_UTC}" in + yes) + +cat > /etc/adjtime << EOF +0.0 0 0.0 +0 +UTC +EOF + + ;; + + no) + +cat > /etc/adjtime << EOF +0.0 0 0.0 +0 +LOCAL +EOF + + ;; + esac + fi + + # Creating state file + touch /var/lib/live/config/util-linux +} + +Cmdline +Init +Config diff --git a/system-config/components/1130-login b/system-config/components/1130-login new file mode 100755 index 0000000..616f473 --- /dev/null +++ b/system-config/components/1130-login @@ -0,0 +1,35 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Init () +{ + # Checking if package is installed + if [ ! -e /var/lib/dpkg/info/login.list ] || \ + [ -e /var/lib/live/config/login ] + then + exit 0 + fi + + echo -n " login" +} + +Config () +{ + # lastlog with autologin doesn't make sense + sed -i '/^[^#].*pam_lastlog\.so/s/^/# /' /etc/pam.d/login + + # Creating state file + touch /var/lib/live/config/login +} + +Init +Config diff --git a/system-config/components/1140-xserver-xorg b/system-config/components/1140-xserver-xorg new file mode 100755 index 0000000..529d78a --- /dev/null +++ b/system-config/components/1140-xserver-xorg @@ -0,0 +1,232 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.keyboard-layouts=*|keyboard-layouts=*) + LIVE_KEYBOARD_LAYOUTS="${_PARAMETER#*keyboard-layouts=}" + ;; + + live-config.keyboard-model=*|keyboard-model=*) + LIVE_KEYBOARD_MODEL="${_PARAMETER#*keyboard-model=}" + ;; + + live-config.keyboard-options=*|keyboard-options=*) + LIVE_KEYBOARD_OPTIONS="${_PARAMETER#*keyboard-options=}" + ;; + + live-config.keyboard-variants=*|keyboard-variants=*) + LIVE_KEYBOARD_VARIANTS="${_PARAMETER#*keyboard-variants=}" + ;; + + live-config.xorg-xsession-manager=*|x-session-manager=*) + LIVE_X_SESSION_MANAGER="${_PARAMETER#*x-session-manager=}" + ;; + + live-config.xorg-driver=*|xorg-driver=*) + LIVE_XORG_DRIVER="${_PARAMETER#*xorg-driver=}" + ;; + + live-config.xorg-resolution=*|xorg-resolution=*) + LIVE_XORG_RESOLUTION="${_PARAMETER#*xorg-resolution=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed + if [ ! -e /var/lib/dpkg/info/xserver-xorg.list ] || \ + [ -e /var/lib/live/config/xserver-xorg ] + then + exit 0 + fi + + echo -n " xserver-xorg" +} + +Config () +{ + if [ -n "${LIVE_KEYBOARD_MODEL}" ] + then + echo "xserver-xorg xserver-xorg/config/inputdevice/keyboard/model select ${LIVE_KEYBOARD_MODEL}" >> /tmp/live-config.cfg + fi + + if [ -n "${LIVE_KEYBOARD_LAYOUTS}" ] + then + echo "xserver-xorg xserver-xorg/config/inputdevice/keyboard/layout select ${LIVE_KEYBOARD_LAYOUTS}" >> /tmp/live-config.cfg + fi + + if [ -n "${LIVE_KEYBOARD_VARIANTS}" ] + then + echo "xserver-xorg xserver-xorg/config/inputdevice/keyboard/variant select ${LIVE_KEYBOARD_VARIANTS}" >> /tmp/live-config.cfg + fi + + if [ -n "${LIVE_KEYBOARD_OPTIONS}" ] + then + echo "xserver-xorg xserver-xorg/config/inputdevice/keyboard/options string ${LIVE_KEYBOARD_OPTIONS}" >> /tmp/live-config.cfg + fi + + if [ -n "${LIVE_X_SESSION_MANAGER}" ] + then + case "${LIVE_X_SESSION_MANAGER}" in + none) + _DM_FILE="/etc/X11/default-display-manager" + if [ -e "${_DM_FILE}" ] + then + sed -i "s|\(.*\)|\1 # disabled by live-config:|" -- "${_DM_FILE}" + fi + ;; + + *) + update-alternatives --quiet --set x-session-manager "${LIVE_X_SESSION_MANAGER}" + ;; + esac + fi + + if [ -z "${LIVE_XORG_DRIVER}" ] && [ -e /usr/bin/lspci ] + then + # pci-id of the first graphic card + _DEVICE="$(lspci -mn | awk '/0300/ { print $3$4 }' | sed -e 's|\"||g' | tr [a-z] [A-Z] | head -n1)" + + if [ -n "${_DEVICE}" ] + then + if ls /usr/share/live/config/xserver-xorg/*.ids > /dev/null 2>&1 + then + # xorg-driver manual overrides + for _OVERRIDE_IDS in /usr/share/live/config/xserver-xorg/*.ids + do + if [ -e "${_OVERRIDE_IDS}" ] + then + if grep -qs "${_DEVICE}" "${_OVERRIDE_IDS}" + then + LIVE_XORG_DRIVER="$(basename ${_OVERRIDE_IDS} .ids)" + + break + fi + fi + done + fi + + if [ -z "${LIVE_XORG_DRIVER}" ] + then + # xorg-driver automatic override for virtualbox + if [ -e /var/lib/dpkg/info/virtualbox-guest-x11.list ] && echo "${_DEVICE}" | grep -qs '^80EEBEEF' + then + LIVE_XORG_DRIVER="vboxvideo" + fi + + # xorg-driver automatic override for fglrx + if echo "${_DEVICE}" | grep -qs '^1002' + then + if grep -qs "${_DEVICE}" /usr/share/fglrx/fglrx.ids + then + LIVE_XORG_DRIVER="fglrx" + fi + fi + + # xorg-driver automatic override for nvidia + if echo "${_DEVICE}" | grep -qs -E '^(10DE|12D2)' + then + for _NVIDIA_IDS in /usr/lib/nvidia/current/nvidia.ids $(ls /usr/lib/nvidia/legacy-*/nvidia.ids | sort -V -r) + do + if [ -e "${_NVIDIA_IDS}" ] + then + if grep -qs "${_DEVICE}" ${_NVIDIA_IDS} + then + _NVIDIA_VERSION="$(basename $(dirname ${_NVIDIA_IDS}))" + _NVIDIA_MODULE="$(echo nvidia-${_NVIDIA_VERSION} | sed -e 's|-current$||')" + + break + fi + fi + done + + if [ -n "${_NVIDIA_VERSION}" ] + then + LIVE_XORG_DRIVER="nvidia" + fi + fi + fi + fi + fi + + if [ -n "${LIVE_XORG_DRIVER}" ] + then + mkdir -p /etc/X11/xorg.conf.d + + if [ -e "/usr/share/live/config/xserver-xorg/${LIVE_XORG_DRIVER}.conf" ] + then + # xorg-driver manual override + cp "/usr/share/live/config/xserver-xorg/${LIVE_XORG_DRIVER}.conf" /etc/X11/xorg.conf.d/zz-live-config_xserver-xorg.conf + else + + # xorg-driver automatic override + +cat > /etc/X11/xorg.conf.d/zz-live-config_xserver-xorg.conf << EOF +Section "Device" + Identifier "Default screen" + Driver "${LIVE_XORG_DRIVER}" +EndSection +EOF + + fi + + case "${LIVE_XORG_DRIVER}" in + fglrx) + update-alternatives --quiet --set glx /usr/lib/fglrx + + modprobe --ignore-install fglrx || true + ;; + + nvidia) + update-alternatives --quiet --set glx /usr/lib/nvidia + update-alternatives --quiet --set nvidia /usr/lib/nvidia/${_NVIDIA_VERSION:-current} + + modprobe --ignore-install ${_NVIDIA_MODULE:-nvidia} || true + ;; + + *) + update-alternatives --quiet --set glx /usr/lib/mesa-diverted + ;; + esac + fi + + if [ -n "${LIVE_XORG_RESOLUTION}" ] + then + echo "xrandr -s ${LIVE_XORG_RESOLUTION} || /bin/true" >> /etc/X11/Xsession.d/21xvidemode + else + rm -f /etc/X11/Xsession.d/21xvidemode + fi + + if [ -e /tmp/live-config.cfg ] + then + debconf-set-selections < /tmp/live-config.cfg + rm -f /tmp/live-config.cfg + + dpkg-reconfigure -f noninteractive -p critical \ + xserver-xorg 2>&1 \ + | grep -v "overwriting possibly-customised configuration" \ + | grep -v "file; backup in /etc/X11/xorg.conf" || true + + # Creating state file + touch /var/lib/live/config/xserver-xorg + fi +} + +Cmdline +Init +Config diff --git a/system-config/components/1160-openssh-server b/system-config/components/1160-openssh-server new file mode 100755 index 0000000..80bc201 --- /dev/null +++ b/system-config/components/1160-openssh-server @@ -0,0 +1,49 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/openssh-server.list ] || \ + [ -e /var/lib/live/config/openssh-server ] + then + exit 0 + fi + + echo -n " openssh-server" +} + +Config () +{ + for _PROTOCOL in dsa rsa ecdsa ed25519 + do + if [ ! -e /etc/ssh/ssh_host_${_PROTOCOL}_key ] && + grep -qs ssh_host_${_PROTOCOL}_key /etc/ssh/sshd_config + then + ssh-keygen -q -f /etc/ssh/ssh_host_${_PROTOCOL}_key -N "" -t ${_PROTOCOL} + + _SSH="true" + fi + done + + sed -i -e 's|#\(PasswordAuthentication\) yes|\1 no|' /etc/ssh/sshd_config + + case "${_SSH}" in + true) + # Creating state file + touch /var/lib/live/config/openssh-server + ;; + esac +} + +Init +Config diff --git a/system-config/components/1170-xfce4-panel b/system-config/components/1170-xfce4-panel new file mode 100755 index 0000000..447cad8 --- /dev/null +++ b/system-config/components/1170-xfce4-panel @@ -0,0 +1,52 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/xfce4-panel.list ] || \ + [ -e /var/lib/live/config/xfce4-panel ] + then + exit 0 + fi + + echo -n " xfce4-panel" +} + +Config () +{ + if [ ! -e /home/"${LIVE_USERNAME}"/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml ] + then + sudo -u "${LIVE_USERNAME}" mkdir -p /home/"${LIVE_USERNAME}"/.config/xfce4/xfconf/xfce-perchannel-xml + sudo -u "${LIVE_USERNAME}" cp /etc/xdg/xfce4/panel/default.xml /home/"${LIVE_USERNAME}"/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml + fi + + # Creating state file + touch /var/lib/live/config/xfce4-panel +} + +Cmdline +Init +Config diff --git a/system-config/components/1180-xscreensaver b/system-config/components/1180-xscreensaver new file mode 100755 index 0000000..b4ecdf3 --- /dev/null +++ b/system-config/components/1180-xscreensaver @@ -0,0 +1,51 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.username=*|username=*) + LIVE_USERNAME="${_PARAMETER#*username=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/xscreensaver.list ] || \ + [ -e /var/lib/live/config/xscreensaver ] + then + exit 0 + fi + + echo -n " xscreensaver" +} + +Config () +{ + if ! grep -qs '^lock:' "/home/${LIVE_USERNAME}/.xscreensaver" + then + echo "lock: False" >> "/home/${LIVE_USERNAME}/.xscreensaver" + fi + + # Creating state file + touch /var/lib/live/config/xscreensaver +} + +Cmdline +Init +Config diff --git a/system-config/components/1190-broadcom-sta b/system-config/components/1190-broadcom-sta new file mode 100755 index 0000000..6f27f7f --- /dev/null +++ b/system-config/components/1190-broadcom-sta @@ -0,0 +1,114 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.wlan-driver=*|wlan-driver=*) + LIVE_WLAN_DRIVER="${_PARAMETER#*wlan-driver=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed + if [ ! -e /var/lib/dpkg/info/broadcom-sta-common.list ] || \ + [ -e /var/lib/live/config/broadcom-sta-common ] + then + exit 0 + fi + + echo -n " broadcom-sta-common" +} + +Config () +{ + if [ -z "${LIVE_WLAN_DRIVER}" ] && [ -e /usr/bin/lspci ] + then + # pci-id of pci class "network controller" subclass "network controller" + _DEVICE="$(lspci -mn | awk '$2 == "\"0280\"" { gsub ("\"",""); print $3$4 }' | uniq)" + + if [ -n "${_DEVICE}" ] + then + if ls /usr/share/live/config/broadcom-sta/*.ids > /dev/null 2>&1 + then + # wlan-driver manual overrides + for _OVERRIDE_IDS in /usr/share/live/config/broadcom-sta/*.ids + do + if [ -e "${_OVERRIDE_IDS}" ] + then + if grep -qs "${_DEVICE}" "${_OVERRIDE_IDS}" + then + LIVE_WLAN_DRIVER="$(basename ${_OVERRIDE_IDS} .ids)" + + break + fi + fi + done + fi + + if [ -z "${LIVE_WLAN_DRIVER}" ] + then + # wlan-driver automatic override for broadcom-sta + if echo "${_DEVICE}" | grep -qs '^14e4' + then + if grep -qs "${_DEVICE}" /usr/share/broadcom-sta/broadcom-sta.ids + then + LIVE_WLAN_DRIVER="broadcom-sta" + fi + fi + fi + fi + fi + + if [ -n "${LIVE_WLAN_DRIVER}" ] + then + mkdir -p /etc/modprobe.d + + if [ -e "/usr/share/live/config/broadcom-sta/${LIVE_WLAN_DRIVER}.conf" ] + then + # wlan-driver manual override + cp "/usr/share/live/config/broadcom-sta/${LIVE_WLAN_DRIVER}.conf" /etc/modprobe.d/broadcom-sta-dkms.conf + else + # wlan-driver automatic override + if [ -e /etc/modprobe.d/broadcom-sta-dkms.conf ] + then + case "${LIVE_WLAN_DRIVER}" in + broadcom-sta) + sed -i -e 's|^ *blacklist|# blacklist|' /etc/modprobe.d/broadcom-sta-dkms.conf + + if ! grep -qs "^blacklist wl" /etc/modprobe.d/broadcom-sta-dkms.conf + then + echo "blacklist wl" >> /etc/modprobe.d/broadcom-sta-dkms.conf + fi + ;; + + *) + sed -i -e 's|^# *blacklist|blacklist|g' /etc/modprobe.d/broadcom-sta-dkms.conf + sed -i -e 's|^blacklist wl|#blacklist wl|g' /etc/modprobe.d/broadcom-sta-dkms.conf + ;; + esac + fi + fi + + # Creating state file + touch /var/lib/live/config/broadcom-sta + fi +} + +Cmdline +Init +Config diff --git a/system-config/components/9990-hooks b/system-config/components/9990-hooks new file mode 100755 index 0000000..26d071d --- /dev/null +++ b/system-config/components/9990-hooks @@ -0,0 +1,84 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Cmdline () +{ + # Reading kernel command line + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + live-config.hooks=*|hooks=*) + LIVE_HOOKS="${_PARAMETER#*hooks=}" + ;; + esac + done +} + +Init () +{ + if [ -z "${LIVE_HOOKS}" ] + then + exit 0 + fi + + echo -n " hooks" +} + +Config () +{ + for _HOOK in $(echo ${LIVE_HOOKS} | sed -e 's/|/ /g') + do + case "${_HOOK}" in + filesystem) + if ls /lib/live/config-hooks/* 2>&1 + then + _HOOKS="${_HOOKS} $(for _FILE in /lib/live/config-hooks/*; do echo file://${_FILE}; done)" + fi + ;; + + medium) + if ls /lib/live/mount/medium/live/config-hooks/* 2>&1 + then + _HOOKS="${_HOOKS} $(for _FILE in /lib/live/mount/medium/live/config-hooks/*; do echo file://${_FILE}; done)" + fi + ;; + + *) + _HOOKS="${_HOOKS} ${_HOOK}" + ;; + esac + done + + for _HOOK in ${_HOOKS} + do + _TMPFILE="$(mktemp -t live-config.XXXXXXXX)" + + if echo "${_HOOK}" | grep -qs file:// + then + # local file + cp $(echo ${_HOOK} | sed 's|file://||') "${_TMPFILE}" + else + # remote file + Setup_network + + wget --quiet "${_HOOK}" -O "${_TMPFILE}" + fi + + chmod 0755 "${_TMPFILE}" + "${_TMPFILE}" + rm -f "${_TMPFILE}" + done +} + +Cmdline +Init +Config diff --git a/system-config/examples/README b/system-config/examples/README new file mode 100644 index 0000000..22daaf9 --- /dev/null +++ b/system-config/examples/README @@ -0,0 +1,15 @@ +live-config-foobar Example +-------------------------- + +Best practise for downstream projects and derivatives is to ship their custom +live-config components in an own debian package. + +The following live-config-foobar example package should be used as a starting +point. The following things should minimally be changed: + + * Replace any mentioning of 'Joe Doe' with your own name. + * Replace any mentioning of 'example.org' with your own domain name. + * Replace any mentioning of 'foobar', 'Foobar' and 'FOOBAR' with the name of + your custom componentsor project name. + + -- Daniel Baumann <mail@daniel-baumann.ch> Wed, 01 Jan 2014 00:00:00 +0100 diff --git a/system-config/examples/hooks/cat b/system-config/examples/hooks/cat new file mode 100755 index 0000000..cee5cde --- /dev/null +++ b/system-config/examples/hooks/cat @@ -0,0 +1,26 @@ +#!/bin/sh + +echo +echo "live-config hook: cat" + +_FILENAME="" + +while [ "${_FILENAME}" != q ] +do + echo + echo -n "Enter filename [q for quit]: " + + read _FILENAME + + if [ -n "${_FILENAME}" ] + then + echo + echo "Begin: ${_FILENAME}" + echo "--------------------------------------------------------------------------------" + + cat "${_FILENAME}" + + echo "--------------------------------------------------------------------------------" + echo "End: ${_FILENAME}" + fi +done diff --git a/system-config/examples/hooks/passwd b/system-config/examples/hooks/passwd new file mode 100755 index 0000000..38b5171 --- /dev/null +++ b/system-config/examples/hooks/passwd @@ -0,0 +1,30 @@ +#!/bin/sh + +echo +echo "live-config hook: passwd" + +_USERNAME="" + +while [ "${_USERNAME}" != q ] +do + echo + echo -n "Enter username [q for quit]: " + + read _USERNAME + + _USERNAME="${_USERNAME:-${LIVE_USERNAME}}" + + case "${_USERNAME}" in + root) + passwd + ;; + + *) + if [ -n "${_USERNAME}" ] + then + echo + passwd "${_USERNAME}" + fi + ;; + esac +done diff --git a/system-config/examples/hooks/rm b/system-config/examples/hooks/rm new file mode 100755 index 0000000..a7ffbbf --- /dev/null +++ b/system-config/examples/hooks/rm @@ -0,0 +1,19 @@ +#!/bin/sh + +echo +echo "live-config hook: rm" + +_FILENAME="" + +while [ "${_FILENAME}" != q ] +do + echo + echo -n "Enter filename [q for quit]: " + + read _FILENAME + + if [ -n "${_FILENAME}" ] + then + rm -rf "${_FILENAME}" + fi +done diff --git a/system-config/examples/hooks/sh b/system-config/examples/hooks/sh new file mode 100755 index 0000000..737bcd7 --- /dev/null +++ b/system-config/examples/hooks/sh @@ -0,0 +1,9 @@ +#!/bin/sh + +echo +echo "live-config hook: sh" + +echo +echo "Starting shell [logout for quit]: " + +sh diff --git a/system-config/examples/hooks/vi b/system-config/examples/hooks/vi new file mode 100755 index 0000000..2ae99e6 --- /dev/null +++ b/system-config/examples/hooks/vi @@ -0,0 +1,16 @@ +#!/bin/sh + +echo +echo "live-config hook: vi" + +_FILENAME="" + +while [ "${_FILENAME}" != q ] +do + echo + echo -n "Enter filename [q for quit]: " + + read _FILENAME + + vi "${_FILENAME}" +done diff --git a/system-config/examples/live-config-foobar/components/9000-foobar b/system-config/examples/live-config-foobar/components/9000-foobar new file mode 100755 index 0000000..136943b --- /dev/null +++ b/system-config/examples/live-config-foobar/components/9000-foobar @@ -0,0 +1,67 @@ +#!/bin/sh + +## live-config-foobar(7) - Additional Configuration Components for live systems +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## Copyright (C) 2015 John Doe <john@example.org> +## +## live-config-foobar comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +Cmdline () +{ + # Boot parameters can be acted up either this way... + if ! echo ${LIVE_CONFIG_CMDLINE} | grep -qs "example.foobar" && \ + ! echo ${LIVE_CONFIG_CMDLINE} | grep -qs "foobar" + then + return + fi + + # ...or if you want to specify certain options: + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + example.foobar=*|foobar=*) + EXAMPLE_FOOBAR="${_PARAMETER#*foobar=}" + ;; + esac + done +} + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/foobar.list ] || \ + [ -e /var/lib/live/config/foobar ] + then + exit 0 + fi + + echo -n " foobar" +} + +Config () +{ + # Configuring foobar either this way... + if [ -n "${EXAMPLE_FOOBAR}" ] + then + sleep 1 + fi + + # ...or if you want to specify certain options: + case "${EXAMPLE_FOOBAR}" in + foo) + sleep 1 + ;; + esac + + # Creating state file + touch /var/lib/live/config/foobar +} + +Cmdline +Init +Config diff --git a/system-config/examples/live-config-foobar/configs/foobar.conf b/system-config/examples/live-config-foobar/configs/foobar.conf new file mode 100644 index 0000000..eaa3e2c --- /dev/null +++ b/system-config/examples/live-config-foobar/configs/foobar.conf @@ -0,0 +1,12 @@ +# /etc/live/config.conf.d/foobar.conf + +## live-config-foobar(7) - Additional Configuration Components for live systems +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## Copyright (C) 2015 John Doe <john@example.org> +## +## live-config-foobar comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +EXAMPLE_FOOBAR="foobar" diff --git a/system-config/examples/live-config-foobar/debian/changelog b/system-config/examples/live-config-foobar/debian/changelog new file mode 100644 index 0000000..d68a822 --- /dev/null +++ b/system-config/examples/live-config-foobar/debian/changelog @@ -0,0 +1,6 @@ +live-config-foobar (5-1) unstable; urgency=low + + * Initial release based on the live-config-foobar example package + included in live-config. + + -- John Doe <john@example.org> Wed, 01 Jan 2015 00:00:00 +0100 diff --git a/system-config/examples/live-config-foobar/debian/compat b/system-config/examples/live-config-foobar/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/system-config/examples/live-config-foobar/debian/compat @@ -0,0 +1 @@ +9 diff --git a/system-config/examples/live-config-foobar/debian/control b/system-config/examples/live-config-foobar/debian/control new file mode 100644 index 0000000..f976b16 --- /dev/null +++ b/system-config/examples/live-config-foobar/debian/control @@ -0,0 +1,18 @@ +Source: live-config-foobar +Section: misc +Priority: extra +Maintainer: John Doe <john@example.org> +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.4 +Homepage: http://www.example.org/foobar/ +Vcs-Browser: http://git.example.org/?p=live-config-foobar.git +Vcs-Git: git://git.example.org/git/live-config-foobar.git + +Package: live-config-foobar +Architecture: all +Depends: ${misc:Depends}, live-config (>= 5), live-config (<< 6) +Description: Additional Live System Configuration Components (foobar) + live-config contains the components that configure a live system during the + boot process (late userspace). + . + This package contains the additional foobar component(s). diff --git a/system-config/examples/live-config-foobar/debian/copyright b/system-config/examples/live-config-foobar/debian/copyright new file mode 100644 index 0000000..de1526a --- /dev/null +++ b/system-config/examples/live-config-foobar/debian/copyright @@ -0,0 +1,30 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: live-config-foobar +Upstream-Contact: John Doe <john@example.org> +Source: http://www.example.org/foobar/ +Comment: + This package is based on the live-config-foobar example package + included in live-config which can be obtained from + http://live-systems.org/devel/live-config/. + +Files: * +Copyright: 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> + 2015 John Doe <john@example.org> +License: GPL-3+ + +License: GPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + . + The complete text of the GNU General Public License + can be found in /usr/share/common-licenses/GPL-3 file. diff --git a/system-config/examples/live-config-foobar/debian/install b/system-config/examples/live-config-foobar/debian/install new file mode 100644 index 0000000..dd1fb94 --- /dev/null +++ b/system-config/examples/live-config-foobar/debian/install @@ -0,0 +1,2 @@ +configs/* /etc/live/config.conf.d +components/* /lib/live/config diff --git a/system-config/examples/live-config-foobar/debian/rules b/system-config/examples/live-config-foobar/debian/rules new file mode 100755 index 0000000..bd5d614 --- /dev/null +++ b/system-config/examples/live-config-foobar/debian/rules @@ -0,0 +1,7 @@ +#!/usr/bin/make -f + +%: + dh ${@} + +override_dh_builddeb: + dh_builddeb -- -Zxz diff --git a/system-config/examples/live-config-foobar/debian/source/format b/system-config/examples/live-config-foobar/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/system-config/examples/live-config-foobar/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/system-config/examples/live-config-foobar/debian/source/local-options b/system-config/examples/live-config-foobar/debian/source/local-options new file mode 100644 index 0000000..2ee6f0f --- /dev/null +++ b/system-config/examples/live-config-foobar/debian/source/local-options @@ -0,0 +1 @@ +abort-on-upstream-changes diff --git a/system-config/examples/live-config-foobar/debian/source/options b/system-config/examples/live-config-foobar/debian/source/options new file mode 100644 index 0000000..5bd47b7 --- /dev/null +++ b/system-config/examples/live-config-foobar/debian/source/options @@ -0,0 +1 @@ +compression = xz diff --git a/system-config/frontend/live-config b/system-config/frontend/live-config new file mode 100755 index 0000000..0f037e1 --- /dev/null +++ b/system-config/frontend/live-config @@ -0,0 +1,204 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see <http://www.gnu.org/licenses/>. +## +## The complete text of the GNU General Public License +## can be found in /usr/share/common-licenses/GPL-3 file. + + +#set -e + +# Defaults +LIVE_HOSTNAME="debian" +LIVE_USERNAME="user" +LIVE_USER_FULLNAME="Debian Live user" +LIVE_USER_DEFAULT_GROUPS="audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor" +export LIVE_HOSTNAME LIVE_USERNAME LIVE_USER_FULLNAME LIVE_USER_DEFAULT_GROUPS + +DEBIAN_FRONTEND="noninteractive" +DEBIAN_PRIORITY="critical" +DEBCONF_NOWARNINGS="yes" +export DEBIAN_FRONTEND DEBIAN_PRIORITY DEBCONF_NOWARNINGS + +_IP_SEPARATOR="-" +_PROC_OPTIONS="onodev,noexec,nosuid" +export _IP_SEPARATOR _PROC_OPTIONS + +_COMPONENTS="$(ls /lib/live/config/*)" + +# Reading configuration files from filesystem and live-media +set -o allexport +for _FILE in /etc/live/config.conf /etc/live/config.conf.d/*.conf \ + /lib/live/mount/medium/live/config.conf /lib/live/mount/medium/live/config.conf.d/*.conf \ + /lib/live/mount/persistence/*/live/config.conf /lib/live/mount/persistence/*/live/config.conf.d/*.conf +do + if [ -e "${_FILE}" ] + then + . "${_FILE}" + fi +done +set +o allexport + +Cmdline () +{ + for _PARAMETER in ${LIVE_CONFIG_CMDLINE} + do + case "${_PARAMETER}" in + # Components + live-config.components=*|components=*) + # Only run requested components + LIVE_CONFIG_COMPONENTS="${_PARAMETER#*components=}" + LIVE_CONFIG_NOCOMPONENTS="" + _COMPONENTS="" + ;; + + live-config.components|components) + # Run all components + LIVE_CONFIG_COMPONENTS="" + LIVE_CONFIG_NOCOMPONENTS="" + _COMPONENTS="$(ls /lib/live/config/*)" + ;; + + live-config.nocomponents=*|nocomponents=*) + # Don't run requested components + LIVE_CONFIG_COMPONENTS="" + LIVE_CONFIG_NOCOMPONENTS="${_PARAMETER#*nocomponents=}" + _COMPONENTS="$(ls /lib/live/config/*)" + ;; + + live-config.nocomponents|nocomponents) + # Don't run any component + LIVE_CONFIG_COMPONENTS="" + LIVE_CONFIG_NOCOMPONENTS="" + _COMPONENTS="" + ;; + + # Special options + live-config.debug|debug) + LIVE_CONFIG_DEBUG="true" + ;; + esac + done + + # Include requested components + if [ -n "${LIVE_CONFIG_COMPONENTS}" ] + then + for _COMPONENT in $(echo ${LIVE_CONFIG_COMPONENTS} | sed -e 's|,| |g') + do + _COMPONENTS="${_COMPONENTS} $(ls /lib/live/config/????-${_COMPONENT} 2> /dev/null || true)" + done + fi + + # Exclude requested components + if [ -n "${LIVE_CONFIG_NOCOMPONENTS}" ] + then + for _NOCOMPONENT in $(echo ${LIVE_CONFIG_NOCOMPONENTS} | sed -e 's|,| |g') + do + _COMPONENTS="$(echo ${_COMPONENTS} | sed -e "s|$(ls /lib/live/config/????-${_NOCOMPONENT} 2> /dev/null || echo none)||")" + done + fi +} + +Trap () +{ + _RETURN="${?}" + + case "${_RETURN}" in + 0) + + ;; + + *) + echo ":ERROR" + ;; + esac + + return ${_RETURN} +} + +Setup_network () +{ + if [ -z "${_NETWORK}" ] && [ -e /etc/init.d/live-config ] + then + /etc/init.d/mountkernfs.sh start > /dev/null 2>&1 + /etc/init.d/mountdevsubfs.sh start > /dev/null 2>&1 + /etc/init.d/networking start > /dev/null 2>&1 + + # Now force adapter up if specified with ethdevice= on cmdline + if [ -n "${ETHDEVICE}" ] + then + ifup --force "${ETHDEVICE}" + fi + + _NETWORK="true" + export _NETWORK + fi +} + +Main () +{ + if [ ! -e /proc/version ] + then + mount -n -t proc -o${_PROC_OPTIONS} -odefaults proc /proc + fi + + LIVE_CONFIG_CMDLINE="${LIVE_CONFIG_CMDLINE:-$(cat /proc/cmdline)}" + export LIVE_CONFIG_CMDLINE + + if ! echo ${LIVE_CONFIG_CMDLINE} | grep -qs "boot=live" + then + exit 0 + fi + + # Setting up log redirection + rm -f /var/log/live/config.log + rm -f /tmp/live-config.pipe + + mkdir -p /var/log/live + mkfifo /tmp/live-config.pipe + tee < /tmp/live-config.pipe /var/log/live/config.log & + exec > /tmp/live-config.pipe 2>&1 + + echo -n "live-config:" > /tmp/live-config.pipe 2>&1 + trap 'Trap' EXIT HUP INT QUIT TERM + + # Processing command line + Cmdline + + case "${LIVE_CONFIG_DEBUG}" in + true) + set -x + ;; + esac + + # Configuring system + _COMPONENTS="$(echo ${_COMPONENTS} | sed -e 's| |\n|g' | sort -u)" + + for _COMPONENT in ${_COMPONENTS} + do + [ "${LIVE_CONFIG_DEBUG}" = "true" ] && echo "[$(date +'%F %T')] live-config: ${_COMPONENT}" > /tmp/live-config.pipe + + ${_COMPONENT} > /tmp/live-config.pipe 2>&1 + done + + echo "." > /tmp/live-config.pipe + + # Cleaning up log redirection + rm -f /tmp/live-config.pipe +} + +Main ${@} diff --git a/system-config/frontend/live-config-update b/system-config/frontend/live-config-update new file mode 100755 index 0000000..392cdba --- /dev/null +++ b/system-config/frontend/live-config-update @@ -0,0 +1,74 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +_DIRECTORY="${1:-/}" + +if [ ! -e "${_DIRECTORY}" ] +then + echo "E: cannot access ${_DIRECTORY}: No such directory." + exit 1 +fi + +_DISTRIBUTION="${2:-$(lsb_release -is | tr [A-Z] [a-z] | sed -e 's| |-|g')}" +_RELEASE="${3:-$(lsb_release -cs | tr [A-Z] [a-z])}" + +if ( [ -z "${_DISTRIBUTION}" ] || [ -z "${_RELEASE}" ] ) && [ ! -x "$(which lsb_release 2>/dev/null)" ] +then + echo "E: lsb_release: command not found." + echo "I: lsb_release can be obtained from:" + echo "I: http://www.linux-foundation.org/en/LSB" + echo "I: On Debian based systems, lsb_release can be installed with:" + echo "I: sudo apt-get install lsb-release" + exit 1 +fi + +case "${_DISTRIBUTION}" in + debian) + NOCOMPONENT="apport" + + LIVE_HOSTNAME="debian" + LIVE_USERNAME="user" + LIVE_USER_FULLNAME="Debian Live user" + LIVE_USER_DEFAULT_GROUPS="audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor" + + PROC_OPTIONS="onodev,noexec,nosuid" + ;; + + progress-linux) + NOCOMPONENT="apport" + + LIVE_HOSTNAME="system" + LIVE_USERNAME="user" + LIVE_USER_FULLNAME="User" + LIVE_USER_DEFAULT_GROUPS="audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor sudo" + + PROC_OPTIONS="onodev,noexec,nosuid,hidepid=2" + ;; +esac + +echo "Removing unused components for ${_DISTRIBUTION} (${_RELEASE})..." + +for NOCOMPONENT in ${NOCOMPONENT} +do + if ls "${_DIRECTORY}"/lib/live/config/*-"${NOCOMPONENT}" > /dev/null 2>&1 + then + rm -f "${_DIRECTORY}"/lib/live/config/*-"${NOCOMPONENT}" + fi +done + +echo "Setting specific defaults for ${_DISTRIBUTION} (${_RELEASE})..." + +sed -i -e "s|^LIVE_HOSTNAME=.*$|LIVE_HOSTNAME=\"${LIVE_HOSTNAME}\"|" \ + -e "s|^LIVE_USERNAME=.*$|LIVE_USERNAME=\"${LIVE_USERNAME}\"|" \ + -e "s|^LIVE_USER_FULLNAME=.*$|LIVE_USER_FULLNAME=\"${LIVE_USER_FULLNAME}\"|" \ + -e "s|^PROC_OPTIONS=.*$|PROC_OPTIONS=\"${PROC_OPTIONS}\"|" \ +"${_DIRECTORY}/bin/live-config" diff --git a/system-config/manpages/Makefile b/system-config/manpages/Makefile new file mode 100644 index 0000000..eab0ec9 --- /dev/null +++ b/system-config/manpages/Makefile @@ -0,0 +1,65 @@ +# Makefile + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +SHELL := sh -e + +LANGUAGES = $(shell cd po && ls) + +all: build + +po4a.cfg: + echo "[po4a_langs] $(LANGUAGES)" > po4a.cfg + echo "[po4a_paths] pot/\$$master.pot \$$lang:po/\$$lang/\$$master.po" >> po4a.cfg + + for MANPAGE in en/*; \ + do \ + SECTION="$$(basename $${MANPAGE} | sed -e 's|\.|\n|g' | tail -n1)"; \ + echo "[type: man] $${MANPAGE} \$$lang:\$$lang/$$(basename $${MANPAGE} .$${SECTION}).\$$lang.$${SECTION}" >> po4a.cfg; \ + done + +update: + ./bin/update-version.sh + +build: check po4a.cfg + @if [ ! -x "$$(which po4a 2>/dev/null)" ]; \ + then \ + echo "E: po4a - command not found"; \ + echo "I: po4a can be obtained from:"; \ + echo "I: http://po4a.alioth.debian.org/"; \ + echo "I: On Debian based systems, po4a can be installed with:"; \ + echo "I: apt-get install po4a"; \ + exit 1; \ + fi + + po4a --copyright-holder "Live Systems Project" --keep 0 --package-name live-config --package-version $(shell cat ../VERSION) po4a.cfg + +clean: + rm -rf $(LANGUAGES) + +distclean: clean + rm -f po4a.cfg + +rebuild: distclean update build + +check: + @echo -n "Checking the integrity of .po files " + + @if [ -x /usr/bin/msgfmt ]; \ + then \ + for POFILE in po/*/*; \ + do \ + msgfmt --check --output-file=/dev/null $${POFILE}; \ + echo -n "."; \ + done; \ + else \ + echo "WARNING: skipping po integrity check. You must install gettext."; \ + fi + + @echo " done!" diff --git a/system-config/manpages/bin/update-version.sh b/system-config/manpages/bin/update-version.sh new file mode 100755 index 0000000..ab47a95 --- /dev/null +++ b/system-config/manpages/bin/update-version.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +PROGRAM="LIVE\\\-CONFIG" +VERSION="$(cat ../VERSION)" + +DATE="$(LC_ALL=C date +%Y\\\\-%m\\\\-%d)" + +DAY="$(LC_ALL=C date +%d)" +MONTH="$(LC_ALL=C date +%m)" +YEAR="$(LC_ALL=C date +%Y)" + +echo "Updating version headers..." + +for MANPAGE in en/* +do + SECTION="$(basename ${MANPAGE} | awk -F. '{ print $2 }')" + + sed -i -e "s|^.TH.*$|.TH ${PROGRAM} ${SECTION} ${DATE} ${VERSION} \"Live Systems Project\"|" ${MANPAGE} +done + +# European date format +for _LANGUAGE in de es fr it +do + if ls po/${_LANGUAGE}/*.po > /dev/null 2>&1 + then + for _FILE in po/${_LANGUAGE}/*.po + do + sed -i -e "s|^msgstr .*.2015-.*$|msgstr \"${DAY}.${MONTH}.${YEAR}\"|g" \ + -e "s|^msgstr .*.2015\"$|msgstr \"${DAY}.${MONTH}.${YEAR}\"|g" \ + "${_FILE}" + done + fi +done + +# Brazilian date format +if ls po/pt_BR/*.po > /dev/null 2>&1 +then + for _FILE in po/pt_BR/*.po + do + sed -i -e "s|^msgstr .*.2015-.*$|msgstr \"${DAY}-${MONTH}-${YEAR}\"|g" \ + -e "s|^msgstr .*-2015\"$|msgstr \"${DAY}-${MONTH}-${YEAR}\"|g" \ + "${_FILE}" + done +fi diff --git a/system-config/manpages/en/live-config.7 b/system-config/manpages/en/live-config.7 new file mode 100644 index 0000000..dfed4ee --- /dev/null +++ b/system-config/manpages/en/live-config.7 @@ -0,0 +1,282 @@ +.\" live-config(7) - System Configuration Components +.\" Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +.\" +.\" This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +.\" This is free software, and you are welcome to redistribute it +.\" under certain conditions; see COPYING for details. +.\" +.\" +.TH LIVE\-CONFIG 7 2015\-09\-23 5.0~a5-1 "Live Systems Project" + +.SH NAME +\fBlive\-config\fR \- System Configuration Components + +.SH DESCRIPTION +\fBlive\-config\fR contains the components that configure a live system during the boot process (late userspace). + +.SH CONFIGURATION +\fBlive\-config\fR can be configured through boot parameters or configuration files. If both mechanisms are used for a certain option, the boot parameters take precedence over the configuration files. When using persistency, \fBlive\-config\fR components are only run once. +.PP +If \fIlive\-build\fR(7) is used to build the live system, the live\-config parameters used by default can be set through the \-\-bootappend\-live option, see \fIlb_config\fR(1) manual page. + +.SS Boot Parameters (components) +\fBlive\-config\fR is only activated if 'boot=live' is used as a boot parameter. Additionally, \fBlive\-config\fR needs to be told which components to run through the 'live\-config.components' parameter or which components to not run through the 'live\-config.nocomponents' parameter. If both 'live\-config.components' and 'live\-config.nocomponents' are used, or, if either one is specified multiple times, always the later one takes precedence over the previous one(s). + +.IP "\fBlive\-config.components\fR | \fBcomponents\fR" 4 +All components are run. This is what live images use by default. +.IP "\fBlive\-config.components\fR=\fICOMPONENT1\fR,\fICOMPONENT2\fR, ... \fICOMPONENTn\fR | \fBcomponents\fR=\fICOMPONENT1\fR,\fICOMPONENT2\fR, ... \fICOMPONENTn\fR" 4 +Only the specified components are run. Note that the order matters, e.g. 'live\-config.components=sudo,user\-setup' would not work since the user needs to be added before it can be configured for sudo. Look at the filenames of the components in /lib/live/config for their ordering number. +.IP "\fBlive\-config.nocomponents\fR | \fBnocomponents\fR" 4 +No component is run. This is the same as not using any of 'live\-config.components' or 'live\-config.nocomponents'. +.IP "\fBlive\-config.nocomponents\fR=\fICOMPONENT1\fR,\fICOMPONENT2\fR, ... \fICOMPONENTn\fR | \fBnocomponents\fR=\fICOMPONENT1\fR,\fICOMPONENT2\fR, ... \fICOMPONENTn\fR" 4 +All components are run, except the specified ones. + +.SS Boot Parameters (options) +Some individual components can change their behaviour upon a boot parameter. + +.IP "\fBlive\-config.debconf\-preseed\fR=filesystem|medium|\fIURL1\fR|\fIURL2\fR| ... |\fIURLn\fR | \fBdebconf\-preseed\fR=medium|filesystem|\fIURL1\fR|\fIURL2\fR| ... |\fIURLn\fR" 4 +Allows to fetch and apply one or more debconf preseed files to be applied to the debconf database. Note that the URLs must be fetchable by wget (http, ftp or file://). +.br +If the file is placed on the live medium, it can be fetched with file:///lib/live/mount/medium/\fIFILE\fR, or with file:///\fIFILE\fR if it is in the root filesystem of the live system itself. +.br +All preseed files in /lib/live/config\-preseed/ in the root filesystem of the live system can be automatically enabled with the keyword 'filesystem'. +.br +All preseed files in /live/config\-preseed/ of the live medium can be automatically enabled with the keyword 'medium'. +.br +If several mechanisms are combined, then filesystem preseed files are applied first, then medium preseed files, and last the network preseed files. +.IP "\fBlive\-config.hostname\fR=\fIHOSTNAME\fR | \fBhostname\fR=\fIHOSTNAME\fR" 4 +Allows to set the hostname of the system. The default is 'debian'. +.IP "\fBlive\-config.username\fR=\fIUSERNAME\fR | \fBusername\fR=\fIUSERNAME\fR" 4 +Allows to set the username that gets created for autologin. The default is 'user'. +.IP "\fBlive\-config.user\-default\-groups\fR=\fIGROUP1\fR,\fIGROUP2\fR ... \fIGROUPn\fR | \fBuser\-default\-groups\fR=\fIGROUP1\fR,\fIGROUP2\fR ... \fIGROUPn\fR" 4 +Allows to set the default groups of the users that gets created for autologin is member of. The default is 'audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth'. +.IP "\fBlive\-config.user\-fullname\fR=""\fIUSER FULLNAME\fR"" | \fBuser\-fullname\fR=""\fIUSER FULLNAME\fR""" 4 +Allows to set the fullname of the users that gets created for autologin. On Debian the default is 'Debian Live user'. +.IP "\fBlive\-config.locales\fR=\fILOCALE1\fR,\fILOCALE2\fR ... \fILOCALEn\fR | \fBlocales\fR=\fILOCALE1\fR,\fILOCALE2\fR ... \fILOCALEn\fR" 4 +Allows to set the locale of the system, e.g. 'de_CH.UTF\-8'. The default is 'en_US.UTF\-8'. In case the selected locale is not already available on the system, it is automatically generated on the fly. +.IP "\fBlive\-config.timezone\fR=\fITIMEZONE\fR | \fBtimezone\fR=\fITIMEZONE\fR" 4 +Allows to set the timezone of the system, e.g. 'Europe/Zurich'. The default is 'UTC'. +.IP "\fBlive\-config.keyboard\-model\fR=\fIKEYBOARD_MODEL\fR | \fBkeyboard\-model\fR=\fIKEYBOARD_MODEL\fR" 4 +Allows to change the keyboard model. There is no default value set. +.IP "\fBlive\-config.keyboard\-layouts\fR=\fIKEYBOARD_LAYOUT1\fR,\fIKEYBOARD_LAYOUT2\fR ... \fIKEYBOARD_LAYOUTn\fR | \fBkeyboard\-layouts\fR=\fIKEYBOARD_LAYOUT1\fR,\fIKEYBOARD_LAYOUT2\fR ... \fIKEYBOARD_LAYOUTn\fR" 4 +Allows to change the keyboard layouts. If more than one is specified, the tools of the desktop environment will allow to switch it under X11. There is no default value set. +.IP "\fBlive\-config.keyboard\-variants\fR=\fIKEYBOARD_VARIANT1\fR,\fIKEYBOARD_VARIANT2\fR ... \fIKEYBOARD_VARIANTn\fR | \fBkeyboard\-variants\fR=\fIKEYBOARD_VARIANT1\fR,\fIKEYBOARD_VARIANT2\fR ... \fIKEYBOARD_VARIANTn\fR" 4 +Allows to change the keyboard variants. If more than one is specified, the same number of values as keyboard\-layouts values should be specified as they will be matched one\-to\-one in the order specified. Blank values are allowed. The tools of the desktop environment will allow to switch between each layout and variant pair under X11. There is no default value set. +.IP "\fBlive\-config.keyboard\-options\fR=\fIKEYBOARD_OPTIONS\fR | \fBkeyboard\-options\fR=\fIKEYBOARD_OPTIONS\fR" 4 +Allows to change the keyboard options. There is no default value set. +.IP "\fBlive\-config.sysv-rc\fR=\fISERVICE1\fR,\fISERVICE2\fR ... \fISERVICEn\fR | \fBsysv-rc\fR=\fISERVICE1\fR,\fISERVICE2\fR ... \fISERVICEn\fR" 4 +Allows to disable sysv services through update-rc.d. +.IP "\fBlive\-config.utc\fR=\fByes\fR|no | \fButc\fR=\fByes\fR|no" 4 +Allows to change if the system is assuming that the hardware clock is set to UTC or not. The default is 'yes'. +.IP "\fBlive\-config.x\-session\-manager=\fIX_SESSION_MANAGER\fR | \fBx\-session\-manager\fR=\fIX_SESSION_MANAGER\fR" 4 +Allows to set the x\-session\-manager through update\-alternatives. +.IP "\fBlive\-config.xorg\-driver\fR=\fIXORG_DRIVER\fR | \fBxorg\-driver\fR=\fIXORG_DRIVER\fR" 4 +Allows to set xorg driver instead of autodetecting it. If a PCI ID is specified in /usr/share/live/config/xserver-xorg/\fIDRIVER\fR.ids within the live system, the \fIDRIVER\fR is enforced for these devices. If both a boot parameter and an override are found, the boot parameter takes precedence. +.IP "\fBlive\-config.xorg\-resolution\fR=\fIXORG_RESOLUTION\fR | \fBxorg\-resolution\fR=\fIXORG_RESOLUTION\fR" 4 +Allows to set xorg resolution instead of autodetecting it, e.g. 1024x768. +.IP "\fBlive\-config.wlan\-driver\fR=\fIWLAN_DRIVER\fR | \fBwlan\-driver\fR=\fIWLAN_DRIVER\fR" 4 +Allows to set WLAN driver instead of autodetecting it. If a PCI ID is specified in /usr/share/live/config/broadcom-sta/\fIDRIVER\fR.ids within the live system, the \fIDRIVER\fR is enforced for these devices. If both a boot parameter and an override are found, the boot parameter takes precedence. +.IP "\fBlive\-config.hooks\fR=filesystem|medium|\fIURL1\fR|\fIURL2\fR| ... |\fIURLn\fR | \fBhooks\fR=medium|filesystem|\fIURL1\fR|\fIURL2\fR| ... |\fIURLn\fR" 4 +Allows to fetch and execute one or more arbitrary files. Note that the URLs must be fetchable by wget (http, ftp or file://), the files are executed in /tmp of the running live system, and that the files needs their dependencies, if any, already installed, e.g. if a python script should be executed the system needs python installed. Some hooks for some common use-cases are available at /usr/share/doc/live-config/examples/hooks/ and <\fIhttp://live-systems.org/other/hooks\fR>. +.br +If the file is placed on the live medium, it can be fetched with file:///lib/live/mount/medium/\fIFILE\fR, or with file:///\fIFILE\fR if it is in the root filesystem of the live system itself. +.br +All hooks in /lib/live/config\-hooks/ in the root filesystem of the live system can be automatically enabled with the keyword 'filesystem'. +.br +All hooks in /live/config\-hooks/ of the live medium can be automatically enabled with the keyword 'medium'. +.br +If several mechanisms are combined, then filesystem hooks are executed first, then medium hooks, and last the network hooks. + +.SS Boot Parameters (shortcuts) +For some common use cases where it would require to combine several individual parameters, \fBlive\-config\fR provides shortcuts. This allows both to have full granularity over all the options, as well keep things simple. + +.IP "\fBlive\-config.noroot\fR | \fBnoroot\fR" 4 +Disables sudo and policykit, the user cannot gain root privileges on the system. +.IP "\fBlive\-config.noautologin\fR | \fBnoautologin\fR" 4 +Disables both the automatic console login and the graphical autologin. +.IP "\fBlive\-config.nottyautologin\fR | \fBnottyautologin\fR" 4 +Disables the automatic login on the console, not affecting the graphical autologin. +.IP "\fBlive\-config.nox11autologin\fR | \fBnox11autologin\fR" 4 +Disables the automatic login with any display manager, not affecting tty autologin. + +.SS Boot Parameters (special options) +For special use cases there are some special boot paramters. + +.IP "\fBlive\-config.debug\fR | \fBdebug\fR" 4 +Enables debug output in live\-config. + +.SS Configuration Files +\fBlive\-config\fR can be configured (but not activated) through configuration files. Everything but the shortcuts that can be configured with a boot parameter can also alternatively be configured through one or more files. If configuration files are used, the 'boot=live' parameter is still required to activate \fBlive\-config\fR. +.PP +\fBNote:\fR If configuration files are used, either (preferably) all boot parameters should be put into the \fBLIVE_CONFIG_CMDLINE\fR variable, or individual variables can be set. If individual variables are used, the user is required to ensure that all the necessary variables are set to create a valid configuration. +.PP +Configuration files can be placed either in the root filesystem itself (/etc/live/config.conf, /etc/live/config.conf.d/*.conf), or on the live media (live/config.conf, live/config.conf.d/*.conf). If both places are used for a certain option, the ones from the live media take precedence over the ones from the root filesystem. +.PP +Although the configuration files placed in the configuration directories do not require a particular name, it is suggested for consistency reasons to either use 'vendor.conf' or 'project.conf' as a naming scheme (whereas 'vendor' or 'project' is replaced with the actual name, resulting in a filename like 'progress\-linux.conf'). +.PP +The actual content of the configuration files consists of one or more of the following variables. + +.IP "\fBLIVE_CONFIG_CMDLINE\fR=\fIPARAMETER1\fR \fIPARAMETER2\fR ... \fIPARAMETERn\fR" 4 +This variable corresponds to the bootloader command line. +.IP "\fBLIVE_CONFIG_COMPONENTS\fR=\fICOMPONENT1\fR,\fICOMPONENT2\fR, ... \fICOMPONENTn\fR" 4 +This variable corresponds to the '\fBlive\-config.components\fR=\fICOMPONENT1\fR,\fICOMPONENT2\fR, ... \fICOMPONENTn\fR' parameter. +.IP "\fBLIVE_CONFIG_NOCOMPONENTS\fR=\fICOMPONENT1\fR,\fICOMPONENT2\fR, ... \fICOMPONENTn\fR" 4 +This variable corresponds to the '\fBlive\-config.nocomponents\fR=\fICOMPONENT1\fR,\fICOMPONENT2\fR, ... \fICOMPONENTn\fR' parameter. +.IP "\fBLIVE_DEBCONF_PRESEED\fR=filesystem|medium|\fIURL1\fR|\fIURL2\fR| ... |\fIURLn\fR" 4 +This variable corresponds to the '\fBlive\-config.debconf\-preseed\fR=filesystem|medium|\fIURL1\fR|\fIURL2\fR| ... |\fIURLn\fR' parameter. +.IP "\fBLIVE_HOSTNAME\fR=\fIHOSTNAME\fR" 4 +This variable corresponds to the '\fBlive\-config.hostname\fR=\fIHOSTNAME\fR' parameter. +.IP "\fBLIVE_USERNAME\fR=\fIUSERNAME\fR" 4 +This variable corresponds to the '\fBlive\-config.username\fR=\fIUSERNAME\fR' parameter. +.IP "\fBLIVE_USER_DEFAULT_GROUPS\fR=\fIGROUP1\fR,\fIGROUP2\fR ... \fIGROUPn\fR" 4 +This variable corresponds to the '\fBlive\-config.user\-default\-groups\fR="\fIGROUP1\fR,\fIGROUP2\fR ... \fIGROUPn\fR"' parameter. +.IP "\fBLIVE_USER_FULLNAME\fR=""\fIUSER FULLNAME\fR""" 4 +This variable corresponds to the '\fBlive\-config.user\-fullname\fR="\fIUSER FULLNAME\fR"' parameter. +.IP "\fBLIVE_LOCALES\fR=\fILOCALE1\fR,\fILOCALE2\fR ... \fILOCALEn\fR" 4 +This variable corresponds to the '\fBlive\-config.locales\fR=\fILOCALE1\fR,\fILOCALE2\fR ... \fILOCALEn\fR' parameter. +.IP "\fBLIVE_TIMEZONE\fR=\fITIMEZONE\fR" 4 +This variable corresponds to the '\fBlive\-config.timezone\fR=\fITIMEZONE\fR' parameter. +.IP "\fBLIVE_KEYBOARD_MODEL\fR=\fIKEYBOARD_MODEL\fR" 4 +This variable corresponds to the '\fBlive\-config.keyboard\-model\fR=\fIKEYBOARD_MODEL\fR' parameter. +.IP "\fBLIVE_KEYBOARD_LAYOUTS\fR=\fIKEYBOARD_LAYOUT1\fR,\fIKEYBOARD_LAYOUT2\fR ... \fIKEYBOARD_LAYOUTn\fR" 4 +This variable corresponds to the '\fBlive\-config.keyboard\-layouts\fR=\fIKEYBOARD_LAYOUT1\fR,\fIKEYBOARD_LAYOUT2\fR ... \fIKEYBOARD_LAYOUTn\fR' parameter. +.IP "\fBLIVE_KEYBOARD_VARIANTS\fR=\fIKEYBOARD_VARIANT1\fR,\fIKEYBOARD_VARIANT2\fR ... \fIKEYBOARD_VARIANTn\fR" 4 +This variable corresponds to the '\fBlive\-config.keyboard\-variants\fR=\fIKEYBOARD_VARIANT1\fR,\fIKEYBOARD_VARIANT2\fR ... \fIKEYBOARD_VARIANTn\fR' parameter. +.IP "\fBLIVE_KEYBOARD_OPTIONS\fR=\fIKEYBOARD_OPTIONS\fR" 4 +This variable corresponds to the '\fBlive\-config.keyboard\-options\fR=\fIKEYBOARD_OPTIONS\fR' parameter. +.IP "\fBLIVE_SYSV_RC\fR=\fISERVICE1\fR,\fISERVICE2\fR ... \fISERVICEn\fR" 4 +This variable corresponds to the '\fBlive\-config.sysv-rc\fR=\fISERVICE1\fR,\fISERVICE2\fR ... \fISERVICEn\fR' parameter. +.IP "\fBLIVE_UTC\fR=\fByes\fR|no" 4 +This variable corresponds to the '\fBlive\-config.utc\fR=\fByes\fR|no' parameter. +.IP "\fBLIVE_X_SESSION_MANAGER\fR=\fIX_SESSION_MANAGER\fR" 4 +This variable corresponds to the '\fBlive\-config.x\-session\-manager\fR=\fIX_SESSION_MANAGER\fR' parameter. +.IP "\fBLIVE_XORG_DRIVER\fR=\fIXORG_DRIVER\fR" 4 +This variable corresponds to the '\fBlive\-config.xorg\-driver\fR=\fIXORG_DRIVER\fR' parameter. +.IP "\fBLIVE_XORG_RESOLUTION\fR=\fIXORG_RESOLUTION\fR" 4 +This variable corresponds to the '\fBlive\-config.xorg\-resolution\fR=\fIXORG_RESOLUTION\fR' parameter. +.IP "\fBLIVE_WLAN_DRIVER\fR=\fIWLAN_DRIVER\fR" 4 +This variable corresponds to the '\fBlive\-config.wlan\-driver\fR=\fIWLAN_DRIVER\fR' parameter. +.IP "\fBLIVE_HOOKS\fR=filesystem|medium|\fIURL1\fR|\fIURL2\fR| ... |\fIURLn\fR" 4 +This variable corresponds to the '\fBlive\-config.hooks\fR=filesystem|medium|\fIURL1\fR|\fIURL2\fR| ... |\fIURLn\fR' parameter. +.IP "\fBLIVE_CONFIG_DEBUG\fR=true|false" 4 +This variable corresponds to the '\fBlive\-config.debug\fR' parameter. + +.SH CUSTOMIZATION +\fBlive\-config\fR can be easily customized for downstream projects or local usage. + +.SS Adding new config components +Downstream projects can put their components into /lib/live/config and do not need to do anything else, the components will be called automatically during boot. +.PP +The components are best put into an own debian package. A sample package containing an example component can be found in /usr/share/doc/live\-config/examples. + +.SS Removing existing config components +It is not really possible to remove components itself in a sane way yet without requiring either to ship a locally modified \fBlive\-config\fR package or using dpkg-divert. However, the same can be achieved by disabling the respective components through the live\-config.nocomponents mechanism, see above. To avoid to always need specifing disabled components through the boot parameter, a configuration file should be used, see above. +.PP +The configuration files for the live system itself are best put into an own debian package. A sample package containing an example configuration can be found in /usr/share/doc/live\-config/examples. + +.SH COMPONENTS +\fBlive\-config\fR currently features the following components in /lib/live/config. + +.IP "\fBdebconf\fR" 4 +allows to apply arbitrary preseed files placed on the live media or an http/ftp server. +.IP "\fBhostname\fR" 4 +configures /etc/hostname and /etc/hosts. +.IP "\fBuser\-setup\fR" 4 +adds a live user account. +.IP "\fBsudo\fR" 4 +grants sudo privileges to the live user. +.IP "\fBlocales\fR" 4 +configures locales. +.IP "\fBlocales\-all\fR" 4 +configures locales\-all. +.IP "\fBtzdata\fR" 4 +configures /etc/timezone. +.IP "\fBgdm3\fR" 4 +configures autologin in gdm3. +.IP "\fBkdm\fR" 4 +configures autologin in kdm. +.IP "\fBlightdm\fR" 4 +configures autologin in lightdm. +.IP "\fBlxdm\fR" 4 +configures autologin in lxdm. +.IP "\fBnodm\fR" 4 +configures autologin in nodm. +.IP "\fBslim\fR" 4 +configures autologin in slim. +.IP "\fBxinit\fR" 4 +configures autologin with xinit. +.IP "\fBkeyboard\-configuration\fR" 4 +configures the keyboard. +.IP "\fBsystemd\fR" 4 +configures systemd autologin. +.IP "\fBsysvinit\fR" 4 +configures sysvinit. +.IP "\fBsysv-rc\fR" 4 +configures sysv-rc by disabling listed services. +.IP "\fBlogin\fR" 4 +disables lastlog. +.IP "\fBapport\fR" 4 +disables apport. +.IP "\fBgnome\-panel\-data\fR" 4 +disables lock button for the screen. +.IP "\fBgnome\-power\-manager\fR" 4 +disables hibernation. +.IP "\fBgnome\-screensaver\fR" 4 +disables the screensaver locking the screen. +.IP "\fBkaboom\fR" 4 +disables KDE migration wizard (squeeze and newer). +.IP "\fBkde\-services\fR" 4 +disables some unwanted KDE services (squeeze and newer). +.IP "\fBpolicykit\fR" 4 +grant user privilegies through policykit. +.IP "\fBssl\-cert\fR" 4 +regenerating ssl snake\-oil certificates. +.IP "\fBanacron\fR" 4 +disables anacron. +.IP "\fButil-linux\fR" 4 +disables util-linux' hwclock. +.IP "\fBlogin\fR" 4 +disables lastlog. +.IP "\fBxserver\-xorg\fR" 4 +configures xserver\-xorg. +.IP "\fBbroadcom\-sta\fR" 4 +configures broadcom\-sta WLAN drivers. +.IP "\fBopenssh-server\fR" 4 +recreates openssh-server host keys. +.IP "\fBxfce4\-panel\fR" 4 +configures xfce4\-panel to default settings. +.IP "\fBxscreensaver\fR" 4 +disables the screensaver locking the screen. +.IP "\fBhooks\fR" 4 +allows to run arbitrary commands from a file placed on the live media or an http/ftp server. + +.SH FILES +.IP "\fB/etc/live/config.conf\fR" 4 +.IP "\fB/etc/live/config.conf.d/*.conf\fR" 4 +.IP "\fBlive/config.conf\fR" 4 +.IP "\fBlive/config.conf.d/*.conf\fR" 4 +.IP "\fB/lib/live/config.sh\fR" 4 +.IP "\fB/lib/live/config/\fR" 4 +.IP "\fB/var/lib/live/config/\fR" 4 +.IP "\fB/var/log/live/config.log\fR" 4 +.PP +.IP "\fB/live/config\-hooks/*\fR" 4 +.IP "\fBlive/config\-hooks/*\fR" 4 +.IP "\fB/live/config\-preseed/*\fR" 4 +.IP "\fBlive/config\-preseed/* \fR" 4 + +.SH SEE ALSO +\fIlive\-boot\fR(7) +.PP +\fIlive\-build\fR(7) +.PP +\fIlive\-tools\fR(7) + +.SH HOMEPAGE +More information about live\-config and the Live Systems project can be found on the homepage at <\fIhttp://live-systems.org/\fR> and in the manual at <\fIhttp://live-systems.org/manual/\fR>. + +.SH BUGS +Bugs can be reported by submitting a bugreport for the live\-config package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian\-live@lists.debian.org\fR>. + +.SH AUTHOR +live\-config was written by Daniel Baumann <\fImail@daniel-baumann.ch\fR>. diff --git a/system-config/manpages/es/live-config.es.7 b/system-config/manpages/es/live-config.es.7 new file mode 100644 index 0000000..55629b3 --- /dev/null +++ b/system-config/manpages/es/live-config.es.7 @@ -0,0 +1,423 @@ +.\" live-config(7) - System Configuration Components +.\" Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +.\" +.\" This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +.\" This is free software, and you are welcome to redistribute it +.\" under certain conditions; see COPYING for details. +.\" +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-CONFIG 7 2015\-09\-23 5.0~a5\-1 "Proyecto Live Systems" + +.SH NOMBRE +\fBlive\-config\fP \- Componentes de configuración del sistema + +.SH DESCRIPCIÓN +\fBlive\-config\fP contiene los componentes que configuran un sistema en vivo +durante el proceso de arranque (late userspace). + +.SH CONFIGURACIÓN +\fBlive\-config\fP se puede configurar mediante parámetros durante el proceso de +arranque o mediante ficheros de configuración. Si se usan ambos métodos para +una misma opción, los parámetros de arranque tienen preferencia sobre los +ficheros de configuración. Cuando se utiliza la persistencia, los +componentes de \fBlive\-config\fP sólo se ejecutan una vez. +.PP +Si se utiliza \fIlive\-build\fP(7) para construir el sistema en vivo, los +parámetros de live\-config utilizados por defecto se pueden establecer +mediante la opción \-\-bootappend\-live, ver la página del manual +\fIlb_config\fP(1) + +.SS "Parámetros de arranque (componentes)" +\fBlive\-config\fP sólo se activa si se utiliza como parámetro de arranque +«boot=live». Adicionalmente, se debe especificar a \fBlive\-config\fP qué +componentes tiene que ejecutar mediante el parámetro +«live\-config.components» o qué componentes no tiene que ejecutar mediante la +opción «live\-config.nocomponents». Si se usan las dos opciones +«live\-config.components» y «live\-config.nocomponents» a la vez, o si alguna +de las dos se especifica varias veces, la última tiene prioridad sobre las +anteriores. + +.IP "\fBlive\-config.components\fP | \fBcomponents\fP" 4 +Se ejecutan todos los componentes. Esto es lo que las imágenes en vivo +utilizan por defecto. +.IP "\fBlive\-config.components\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP | \fBcomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Sólo se ejecutan los scripts especificados. Se debe tener en cuenta que el +orden es importante. p.ej. «live\-config=sudo,user\-setup» no funcionaría ya +que el usuario debe añadirse antes de configurarse como «sudo». Puede +revisarse los nombres de los scripts en /lib/live/config para ver su orden. +.IP "\fBlive\-config.nocomponents\fP | \fBnocomponents\fP" 4 +No se ejecuta ningún componente. Es lo mismo que no utilizar ninguno de +«live\-config.components» o «live\-config.nocomponents». +.IP "\fBlive\-config.nocomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP | \fBnocomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Se ejecutan todos los componentes, a excepción de los especificados. + +.SS "Parámetros de arranque (opciones)" +Algunos componentes pueden cambiar su comportamiento según que parámetros de +arranque se utilicen. + +.IP "\fBlive\-config.debconf\-preseed\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP | \fBdebconf\-preseed\fP=medium|filesystem|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Permite buscar y aplicar uno o más ficheros de preconfiguración debconf a la +base de datos de debconf. Tener en cuenta que las URLs deben poder ser +descargadas por wget (http, ftp o file://). +.br +Si el fichero está en el medio en vivo, se puede obtener con +file:///lib/live/mount/medium/\fIFILE\fP, o con file:///\fIFILE\fP si se encuentra +en el directorio raíz del sistema en vivo. +.br +Todos los ficheros de preconfiguración en /lib/live/config\-preseed/ en el +sistema de ficheros raíz del sistema en vivo pueden activarse +automáticamente con la palabra clave «filesystem». +.br +Todos los ficheros en /live/config\-preseed/ del medio en vivo pueden +activarse automáticamente con la palabra clave «medium». +.br +Si se combinan varios mecanismos, los ficheros de preconfiguración del +sistema de ficheros se aplican primero, después los ficheros de +preconfiguración del medio, y en último lugar los de red. +.IP "\fBlive\-config.hostname\fP=\fIHOSTNAME\fP | \fBhostname\fP=\fIHOSTNAME\fP" 4 +Permite establecer el anfitrión del sistema. Por defecto es «debian». +.IP "\fBlive\-config.username\fP=\fIUSERNAME\fP | \fBusername\fP=\fIUSERNAME\fP" 4 +Permite establecer el nombre del usuario que se crea para iniciar sesión de +forma automática. Por defecto es «user». +.IP "\fBlive\-config.user\-default\-groups\fP=\fIGROUP1\fP,\fIGROUP2\fP ... \fIGROUPn\fP | \fBuser\-default\-groups\fP=\fIGROUP1\fP,\fIGROUP2\fP ... \fIGROUPn\fP" 4 +Permite establecer los grupos por defecto a los que pertenecen los usuarios +que se crean para iniciar sesión automáticamente. Los grupos predeterminados +son 'audio cdrom dip floppy video plugdev netdev powerdev scanner +bluetooth'. +.IP "\fBlive\-config.user\-fullname\fP=\(dq\fIUSER FULLNAME\fP\(dq | \fBuser\-fullname\fP=\(dq\fIUSER·FULLNAME\fP\(dq" 4 +Permite establecer el nombre completo del usuario que se crea para iniciar +sesión de forma automática. Por defecto es «Debian Live user». +.IP "\fBlive\-config.locales\fP=\fILOCALE1\fP,\fILOCALE2\fP·...·\fILOCALEn\fP | \fBlocales\fP=\fILOCALE1\fP,\fILOCALE2\fP·...·\fILOCALEn\fP" 4 +Permite establecer las variantes locales del sistema, +p.ej. «es_ES.UTF\-8». Por defecto es «en_US.UTF\-8». En caso de que las +variantes locales no estén disponibles en el sistema, se generarán sobre la +marcha. +.IP "\fBlive\-config.timezone\fP=\fITIMEZONE\fP | \fBtimezone\fP=\fITIMEZONE\fP" 4 +Permite establecer la zona horaria del sistema, p.ej. «Europa/Madrid». Por +defecto es «UTC». +.IP "\fBlive\-config.keyboard\-model\fP=\fIKEYBOARD_MODEL\fP | \fBkeyboard\-model\fP=\fIKEYBOARD_MODEL\fP" 4 +Permite cambiar el modelo de teclado. No hay ningún valor por defecto. +.IP "\fBlive\-config.keyboard\-layouts\fP=\fIKEYBOARD_LAYOUT1\fP,\fIKEYBOARD_LAYOUT2\fP ... \fIKEYBOARD_LAYOUTn\fP | \fBkeyboard\-layouts\fP=\fIKEYBOARD_LAYOUT1\fP,\fIKEYBOARD_LAYOUT2\fP ... \fIKEYBOARD_LAYOUTn\fP" 4 +Permite cambiar la disposición del teclado. Si se especifica más de una, las +herramientas de escritorio permitirán cambiarlas bajo X11. No hay ningún +valor por defecto. +.IP "\fBlive\-config.keyboard\-variants\fP=\fIKEYBOARD_VARIANT1\fP,\fIKEYBOARD_VARIANT2\fP ... \fIKEYBOARD_VARIANTn\fP | \fBkeyboard\-variants\fP=\fIKEYBOARD_VARIANT1\fP,\fIKEYBOARD_VARIANT2\fP ... \fIKEYBOARD_VARIANTn\fP" 4 +Permite cambiar las variantes de teclado. Si se especifica más de una, se +deben especificar el mismo número de variantes como de distribuciones de +teclado, ya que se corresponderan una a una en el orden especificado. Se +pueden dejar valores en blanco. Las herramientas de escritorio permitirán +cambiarlas bajo X11. No hay ningún valor por defecto. +.IP "\fBlive\-config.keyboard\-options\fP=\fIKEYBOARD_OPTIONS\fP | \fBkeyboard\-options\fP=\fIKEYBOARD_OPTIONS\fP" 4 +Permite cambiar las opciones del teclado. No hay un valor por defecto. +.IP "\fBlive\-config.sysv\-rc\fP=\fISERVICE1\fP,\fISERVICE2\fP ... \fISERVICEn\fP | \fBsysv\-rc\fP=\fISERVICE1\fP,\fISERVICE2\fP ... \fISERVICEn\fP" 4 +Permite desactivar los servicios «sysv» mediante «update\-rc.d». +.IP "\fBlive\-config.utc\fP=\fByes\fP|no | \fButc\fP=\fByes\fP|no" 4 +Permite cambiar si el sistema debe asumir que el reloj de la máquina está +ajustado a la hora UTC o no. Por defecto es «Si». +.IP "\fBlive\-config.x\-session\-manager=\fP\fIX_SESSION_MANAGER\fP | \fBx\-session\-manager\fP=\fIX_SESSION_MANAGER\fP" 4 +Permite seleccionar el gestor de sesión gráfica «x\-session\-manager» mediante +«update\-alternatives». +.IP "\fBlive\-config.xorg\-driver\fP=\fIXORG_DRIVER\fP | \fBxorg\-driver\fP=\fIXORG_DRIVER\fP" 4 +Permite seleccionar el controlador xorg en lugar de detectarlo de forma +automática. Si se especifica un PCI ID en +/usr/share/live/config/xserver\-xorg/\fIDRIVER\fP.ids dentro del sistema en +vivo, se aplica \fIDRIVER\fP para estos dispositivos. Si se encuentran juntos +un parámetro de arranque y un override, el parámetro de arranque tiene +prioridad. +.IP \fBlive\-config.xorg\-resolution\fP=\fIXORG_RESOLUTION\fP·|·\fBxorg\-resolution\fP=\fIXORG_RESOLUTION\fP 4 +Permite seleccionar la resolución de xorg en lugar de detectarla de forma +automática, p.ej. 1024x768. +.IP "\fBlive\-config.wlan\-driver\fP=\fIWLAN_DRIVER\fP | \fBwlan\-driver\fP=\fIWLAN_DRIVER\fP" 4 +Permite seleccionar el controlador WLAN en lugar de detectarlo de forma +automática. Si se especifica un PCI ID en +/usr/share/live/config/broadcom\-sta/\fIDRIVER\fP.ids dentro del sistema en +vivo, se aplica \fIDRIVER\fP para estos dispositivos. Si se encuentran juntos +un parámetro de arranque y un override, el parámetro de arranque tiene +prioridad. +.IP "\fBlive\-config.hooks\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP | \fBhooks\fP=medium|filesystem|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Permite buscar y ejecutar uno o más ficheros de forma arbitraria. Tener en +cuenta que las URLs deben ser descargadas usando wget (http, ftp o file://), +los ficheros se ejecutan en el directorio /tmp del sistema en vivo en +ejecución y que los ficheros necesitan, si tienen dependencias, tenerlas +resueltas. p.ej. Si se debe ejecutar un script python, el sistema necesita +tener python instalado. Hay algunos scripts gancho para varios casos de uso +común disponibles en /usr/share/doc/live\-config/examples/hooks/ y en +<\fIhttp://live\-systems.org/other/hooks\fP>. +.br +Si el fichero está en el medio en vivo, se puede obtener con +file:///lib/live/mount/medium/\fIFILE\fP, o con file:///\fIFILE\fP si se encuentra +en el directorio raíz del sistema en vivo. +.br +Todos los scripts gancho de /lib/live/config\-hooks/ del directorio raíz del +sistema en vivo pueden activarse con la palabra clave «filesystem». +.br +Todos los scripts gancho de /live/config\-hooks/ del medio en vivo pueden +activarse con la palabra clave «medium». +.br +Si se combinan varios mecanismos, los scripts gancho del sistema de ficheros +se ejecutan primero, después los del medio, y en último lugar los de red. + +.SS "Parámetros de arranque (atajos)" +Para algunos casos de uso común en los que es necesario combinar varios +parámetros individuales, \fBlive\-config\fP proporciona atajos. Esto permite +tener control total sobre todas las opciones así como poder hacer las cosas +de forma sencilla. + +.IP "\fBlive\-config.noroot\fP | \fBnoroot\fP" 4 +Desactiva sudo y policyKit, el usuario no puede obtener privilegios de +superusuario en el sistema. +.IP "\fBlive\-config.noautologin\fP | \fBnoautologin\fP" 4 +Desactiva el inicio de sesión automático en la consola y el inicio de sesión +automático en la interfaz gráfica. +.IP "\fBlive\-config.nottyautologin\fP | \fBnottyautologin\fP" 4 +Desactiva el inicio de sesión automático en la consola, sin afectar al +inicio de sesión automático gráfico. +.IP "\fBlive\-config.nox11autologin\fP | \fBnox11autologin\fP" 4 +Desactiva el inicio de sesión automático con cualquier gestor de ventanas, +sin afectar el inicio de sesión automático en un terminal tty. + +.SS "Parámetros de arranque (opciones especiales)" +Para casos de uso especial hay algunos parámetros de arranque especiales. + +.IP "\fBlive\-config.debug\fP | \fBdebug\fP" 4 +Activa la información sobre errores en live\-config. + +.SS "Ficheros de configuración" +\fBlive\-config\fP se puede configurar (pero no activar) mediante ficheros de +configuración. Todo, excepto los atajos que se pueden configurar con un +parámetro de arranque, puede ser, alternativamente, configurado a través de +uno o más ficheros. Aunque se utilicen los ficheros de configuración, el +parámetro «boot =live» es necesario para activar \fBlive\-config\fP. +.PP +\fBNota:\fP Si se utilizan ficheros de configuración, todos los parámetros de +arranque deben (preferiblemente) ser especificados en la variable +\fBLIVE_CONFIG_CMDLINE\fP o bien, se pueden especificar variables individuales, +el usuario debe asegurarse de crear todas las variables necesarias para +tener una configuración válida. +.PP +Los ficheros de configuración se pueden colocar en el sistema de ficheros +raíz (/etc/live/config.conf, /etc/live/config.conf.d/*.conf), o en el medio +en vivo (live/config.conf, live/config.conf.d/*.conf). Si ambos directorios +se utilizan para una determinada opción, la del medio en vivo tienen +prioridad sobre la del sistema de ficheros raíz. +.PP +Aunque los ficheros de configuración situados en los directorios de +configuración no requieren un nombre o sufijo en concreto, se sugiere, por +coherencia, utilizar como nomenclatura «vendor.conf» o «project.conf» +(Siempre que «vendor» o «project» se sustituya por el nombre real, lo que +resultará en un nombre de fichero como «progress\-linux.conf»). +.PP +El contenido de los ficheros de configuración consiste en una o más de las +siguientes variables. + +.IP "\fBLIVE_CONFIG_CMDLINE\fP=\fIPARAMETER1\fP \fIPARAMETER2\fP ... \fIPARAMETERn\fP" 4 +Esta variable corresponde a la línea de comandos del gestor de arranque. +.IP "\fBLIVE_CONFIG_COMPONENTS\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.components\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP' +.IP "\fBLIVE_CONFIG_NOCOMPONENTS\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.nocomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP' +.IP "\fBLIVE_DEBCONF_PRESEED\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.debconf\-preseed\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| +\&... |\fIURLn\fP'. +.IP \fBLIVE_HOSTNAME\fP=\fIHOSTNAME\fP 4 +Esta variable corresponde al parámetro '\fBlive\-config.hostname\fP=\fIHOSTNAME\fP' +.IP \fBLIVE_USERNAME\fP=\fIUSERNAME\fP 4 +Esta variable corresponde al parámetro '\fBlive\-config.username\fP=\fIUSERNAME\fP' +.IP "\fBLIVE_USER_DEFAULT_GROUPS\fP=\fIGROUP1\fP,\fIGROUP2\fP ... \fIGROUPn\fP" 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.user\-default\-groups\fP="\fIGROUP1\fP,\fIGROUP2\fP ... \fIGROUPn\fP"' +.IP "\fBLIVE_USER_FULLNAME\fP=\(dq\fIUSER FULLNAME\fP\(dq" 4 +Esta variable corresponde al parámetro '\fBlive\-config.user\-fullname\fP="\fIUSER +FULLNAME\fP"' +.IP "\fBLIVE_LOCALES\fP=\fILOCALE1\fP,\fILOCALE2\fP ... \fILOCALEn\fP" 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.locales\fP=\fILOCALE1\fP,\fILOCALE2\fP ... \fILOCALEn\fP' +.IP \fBLIVE_TIMEZONE\fP=\fITIMEZONE\fP 4 +Esta variable corresponde al parámetro '\fBlive\-config.timezone\fP=\fITIMEZONE\fP' +.IP \fBLIVE_KEYBOARD_MODEL\fP=\fIKEYBOARD_MODEL\fP 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.keyboard\-model\fP=\fIKEYBOARD_MODEL\fP' +.IP "\fBLIVE_KEYBOARD_LAYOUTS\fP=\fIKEYBOARD_LAYOUT1\fP,\fIKEYBOARD_LAYOUT2\fP ... \fIKEYBOARD_LAYOUTn\fP" 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.keyboard\-layouts\fP=\fIKEYBOARD_LAYOUT1\fP,\fIKEYBOARD_LAYOUT2\fP +\&... \fIKEYBOARD_LAYOUTn\fP' +.IP "\fBLIVE_KEYBOARD_VARIANTS\fP=\fIKEYBOARD_VARIANT1\fP,\fIKEYBOARD_VARIANT2\fP ... \fIKEYBOARD_VARIANTn\fP" 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.keyboard\-variants\fP=\fIKEYBOARD_VARIANT1\fP,\fIKEYBOARD_VARIANT2\fP +\&... \fIKEYBOARD_VARIANTn\fP' +.IP \fBLIVE_KEYBOARD_OPTIONS\fP=\fIKEYBOARD_OPTIONS\fP 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.keyboard\-options\fP=\fIKEYBOARD_OPTIONS\fP' +.IP "\fBLIVE_SYSV_RC\fP=\fISERVICE1\fP,\fISERVICE2\fP ... \fISERVICEn\fP" 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.sysv\-rc\fP=\fISERVICE1\fP,\fISERVICE2\fP ... \fISERVICEn\fP' +.IP \fBLIVE_UTC\fP=\fByes\fP|no 4 +Esta variable corresponde al parámetro '\fBlive\-config.utc\fP=\fByes\fP|no' +.IP \fBLIVE_X_SESSION_MANAGER\fP=\fIX_SESSION_MANAGER\fP 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.x\-session\-manager\fP=\fIX_SESSION_MANAGER\fP' +.IP \fBLIVE_XORG_DRIVER\fP=\fIXORG_DRIVER\fP 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.xorg\-driver\fP=\fIXORG_DRIVER\fP' +.IP \fBLIVE_XORG_RESOLUTION\fP=\fIXORG_RESOLUTION\fP 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.xorg\-resolution\fP=\fIXORG_RESOLUTION\fP' +.IP \fBLIVE_WLAN_DRIVER\fP=\fIWLAN_DRIVER\fP 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.wlan\-driver\fP=\fIWLAN_DRIVER\fP' +.IP "\fBLIVE_HOOKS\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Esta variable corresponde al parámetro +\&'\fBlive\-config.hooks\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP' +.IP \fBLIVE_CONFIG_DEBUG\fP=true|false 4 +Esta variable corresponde al parámetro '\fBlive\-config.debug\fP' + +.SH PERSONALIZACIÓN +\fBlive\-config\fP puede ser fácilmente personalizado para proyectos derivados o +de uso local. + +.SS "Añadiendo nuevos componentes de configuración" +Los proyectos derivados pueden incluir sus componentes en /lib/live/config y +sin necesidad de hacer otra cosa, las secuencias de comandos se ejecutarán +automáticamente durante el proceso de arranque. +.PP +Lo ideal sería incluir los componentes en su propio paquete debian. En +/usr/share/doc/live\-config/examples se encuentra un paquete de muestra con +un componente de ejemplo. + +.SS "Eliminación de componentes de configuración existentes." +No es realmente posible eliminar los componentes de una manera sensata sin +incluir un paquete \fBlive\-config\fP modificado localmente o utilizando +dpkg\-divert. Sin embargo, se puede obtener el mismo resultado si se +desactivan los componentes correspondientes a través del mecanismo +live\-config.nocomponents, como se ha indicado anteriormente. Para evitar que +siempre haga falta especificar qué componentes se desactivan a través del +parámetro de arranque, debería utilizarse un fichero de configuración, véase +más arriba. +.PP +Lo ideal sería incluir los ficheros de configuración para el sistema en vivo +dentro de un paquete debian. Se puede encontrar un paquete de muestra con un +ejemplo de configuración en /usr/share/doc/live\-config/examples. + +.SH COMPONENTES +\fBlive\-config\fP incluye los siguientes componentes en /lib/live/config. + +.IP \fBdebconf\fP 4 +permite aplicar de forma arbitraria ficheros de preconfiguración situados en +el medios en vivo o en un servidor http/ftp. +.IP \fBhostname\fP 4 +configura /etc/hostname y /etc/hosts. +.IP \fBuser\-setup\fP 4 +Añade una cuenta de usuario en vivo. +.IP \fBsudo\fP 4 +garantiza privilegios de sudo al usuario del sistema en vivo. +.IP \fBlocales\fP 4 +configura las variantes locales. +.IP \fBlocales\-all\fP 4 +configura las variantes locales\-all. +.IP \fBtzdata\fP 4 +configura /etc/timezone. +.IP \fBgdm3\fP 4 +configura el inicio de sesión automático en gdm3. +.IP \fBkdm\fP 4 +configura el inicio de sesión automático en kdm. +.IP \fBlightdm\fP 4 +configura el inicio de sesión automático en lightdm. +.IP \fBlxdm\fP 4 +configura el inicio de sesión automático en lxdm. +.IP \fBnodm\fP 4 +configura el inicio de sesión automático en nodm. +.IP \fBslim\fP 4 +configura el inicio de sesión automático en slim. +.IP \fBxinit\fP 4 +configura el inicio de sesión automático con xinit. +.IP \fBkeyboard\-configuration\fP 4 +configura el teclado. +.IP \fBsystemd\fP 4 +configura el inicio de sesión automático con systemd. +.IP \fBsysvinit\fP 4 +configura sysvinit. +.IP \fBsysv\-rc\fP 4 +configura sysv\-rc desactivando los sevicios listados. +.IP \fBlogin\fP 4 +Desactiva lastlog. +.IP \fBapport\fP 4 +Desactiva apport. +.IP \fBgnome\-panel\-data\fP 4 +Desactiva el botón de bloqueo de la pantalla. +.IP \fBgnome\-power\-manager\fP 4 +Desactiva la hibernación. +.IP \fBgnome\-screensaver\fP 4 +Impide que el salvapantallas bloquee la pantalla. +.IP \fBkaboom\fP 4 +Desactiva el asistente de migración de KDE (Squeeze y superior). +.IP \fBkde\-services\fP 4 +Desactiva algunos servicios de KDE no deseados (squeeze y superior). +.IP \fBpolicykit\fP 4 +garantiza privilegios de usuario mediante policykit. +.IP \fBssl\-cert\fP 4 +Regenera los certificados ssl snake\-oil. +.IP \fBanacron\fP 4 +Desactiva anacron. +.IP \fButil\-linux\fP 4 +Desactiva util\-linux' hwclock. +.IP \fBlogin\fP 4 +Desactiva lastlog. +.IP \fBxserver\-xorg\fP 4 +configura xserver\-xorg. +.IP \fBbroadcom\-sta\fP 4 +configura el controlador broadcom\-sta WLAN. +.IP \fBopenssh\-server\fP 4 +Recrea las claves del host openssh\-server. +.IP \fBxfce4\-panel\fP 4 +configura xfce4\-panel utilizando las opciones por defecto. +.IP \fBxscreensaver\fP 4 +Impide que el salvapantallas bloquee la pantalla. +.IP \fBhooks\fP 4 +permite ejecutar de forma arbitraria los comandos de un fichero ubicado en +el medio en vivo o en un servidor http/ftp. + +.SH FICHEROS +.IP \fB/etc/live/config.conf\fP 4 +.IP \fB/etc/live/config.conf.d/*.conf\fP 4 +.IP \fBlive/config.conf\fP 4 +.IP \fBlive/config.conf.d/*.conf\fP 4 +.IP \fB/lib/live/config.sh\fP 4 +.IP \fB/lib/live/config/\fP 4 +.IP \fB/var/lib/live/config/\fP 4 +.IP \fB/var/log/live/config.log\fP 4 +.PP +.IP \fB/live/config\-hooks/*\fP 4 +.IP \fBlive/config\-hooks/*\fP 4 +.IP \fB/live/config\-preseed/*\fP 4 +.IP "\fBlive/config\-preseed/* \fP" 4 + +.SH "VER ADEMÁS" +\fIlive\-boot\fP(7) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH "PÁGINA PRINCIPAL" +Se puede encontrar más información acerca de live\-config y el proyecto Live +Systems en su página principal en <\fIhttp://live\-systems.org/\fP> y en +el manual en <\fIhttp://live\-systems.org/manual/\fP>. + +.SH ERRORES +Se puede notificar los fallos enviando un informe de errores sobre el +paquete live\-config al Sistema de Seguimiento de Errores en +<\fIhttp://bugs.debian.org/\fP> o escribiendo un mensaje a la lista de +correo de Live Systems a la dirección +<\fIdebian\-live@lists.debian.org\fP>. + +.SH AUTOR +live\-config fue escrito por Daniel Baumann +<\fImail@daniel\-baumann.ch\fP>. diff --git a/system-config/manpages/fr/live-config.fr.7 b/system-config/manpages/fr/live-config.fr.7 new file mode 100644 index 0000000..a4e7436 --- /dev/null +++ b/system-config/manpages/fr/live-config.fr.7 @@ -0,0 +1,438 @@ +.\" live-config(7) - System Configuration Components +.\" Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +.\" +.\" This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +.\" This is free software, and you are welcome to redistribute it +.\" under certain conditions; see COPYING for details. +.\" +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-CONFIG 7 23.09.2015 5.0~a4\-1 "Projet Live Systems" + +.SH NOM +\fBlive\-config\fP \- Composants de configuration du système + +.SH DESCRIPTION +\fBlive\-config\fP contient les composants chargés de configurer le système live +lors du processus de démarrage (espace utilisateur tardif). + +.SH CONFIGURATION +\fBlive\-config\fP peut être configuré en utilisant des paramètres d'amorçage ou +des fichiers de configuration. Si ces deux mécanismes sont utilisés pour +certaines options, les paramètres d'amorçage sont prioritaires sur les +fichiers de configuration. Lorsque la persistance est utilisée, les +composants de \fBlive\-config\fP ne sont lancés qu'une seule fois. +.PP +Si \fIlive\-build\fP(7) est utilisé pour construire le système live, les +paramètres de live\-config utilisés par défaut peuvent être réglés avec +l'option \-\-bootappend\-live, consultez la page de manuel \fIlb_config\fP(1) + +.SS "Paramètres d'amorçage (composants)" +\fBlive\-config\fP est uniquement activé si 'boot=live' est utilisé en tant que +paramètre d'amorçage. De plus, \fBlive\-config\fP a besoin d'être informé des +composants qui seront lancés via le paramètre «live\-config.components» ou de +ceux qui ne doivent pas être lancés en utilisant le paramètre +«live\-config.nocomponents». Si «live\-config.components» et +«live\-config.nocomponents» sont utilisés ou, si l'un d'eux est spécifié +plusieurs fois, c'est toujours le dernier qui prévaut sur ceux qui +précèdent. + +.IP "\fBlive\-config.components\fP | \fBcomponents\fP" 4 +Tous les composants sont lancés. C'est la configuration par défaut des +images live. +.IP "\fBlive\-config.components\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP | \fBcomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Seuls les scripts spécifiés sont lancés. Notez que leur ordre importe, ainsi +\&'live\-config=sudo,user\-setup' ne peut pas fonctionner tant que l'utilisateur +configuré pour utiliser sudo n'a pas été créé. Regardez l'ordre numérique +des noms de fichiers des composants dans /lib/live/config. +.IP "\fBlive\-config.nocomponents\fP | \fBnocomponents\fP" 4 +Aucun composant n'est lancé. Cela revient au même que de n'utiliser ni +«live\-config.components», ni «live\-config.nocomponents». +.IP "\fBlive\-config.nocomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP | \fBnocomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Tous les composants sont lancés, à l'exception de ceux spécifiés. + +.SS "Paramètres d'amorçage (options)" +Certains des composants peuvent changer leur comportement en fonction d'un +paramètre d'amorçage. + +.IP "\fBlive\-config.debconf\-preseed\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP | \fBdebconf\-preseed\fP=medium|filesystem|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Permet de récupérer et d'appliquer un ou plusieurs fichiers de +pré\-configuration debconf à la base de données debconf. Notez que les URLs +doivent pouvoir être utilisables par wget (http, ftp ou file://). +.br +Si le fichier est placé dans le dispositif live, il peut être utilisé avec +file:///lib/live/mount/medium/\fIFILE\fP, ou bien avec file:///\fIFILE\fP s'il est +placé à la racine du système de fichiers du système live. +.br +Tous les fichiers de pré\-configuration dans /lib/live/config\-preseed/ dans +le système de fichiers racine du système live peuvent être automatiquement +activés avec le mot clé 'filesystem'. +.br +Tous les fichiers de pré\-configuration dans /live/config\-preseed/ du +dispositif live peuvent être automatiquement activés avec le mot clé +\&'medium' +.br +Si plusieurs mécanismes sont combinés, alors les fichiers de +pré\-configuration du système de fichiers sont appliqués en premier, puis les +fichiers de pré\-configuration du dispositif, et enfin les fichiers de +pré\-configuration du réseau. +.IP "\fBlive\-config.hostname\fP=\fINOM_D_HÔTE\fP | \fBhostname\fP=\fINOM_D_HÔTE\fP" 4 +Permet de spécifier un nom d'hôte (hostname) du système. Par défaut ce nom +est 'debian'. +.IP "\fBlive\-config.username\fP=\fINOM_D_UTILISATEUR\fP | \fBusername\fP=\fINOM_D_UTILISATEUR\fP" 4 +Permet de spécifier le nom d'utilisateur qui est créé pour l'auto\-login. Par +défaut ce nom est 'user'. +.IP "\fBlive\-config.user\-default\-groups\fP=\fIGROUP1\fP,\fIGROUP2\fP ... \fIGROUPn\fP | \fBuser\-default\-groups\fP=\fIGROUP1\fP,\fIGROUP2\fP ... \fIGROUPn\fP" 4 +Permet de spécifier les groupes par défaut dont sont membre les utilisateurs +qui sont créés pour l'auto\-login. Par défaut, c'est 'audio cdrom dip floppy +video plugdev netdev powerdev scanner bluetooth'. +.IP "\fBlive\-config.user\-fullname\fP=\(dq\fINOM_COMPLET_D_UTILISATEUR\fP\(dq | \fBuser\-fullname\fP=\(dq\fINOM_COMPLET_D_UTILISATEUR\fP\(dq" 4 +Permet de spécifier le nom complet des utilisateurs créés pour +l'auto\-login. Pour Debian, il s'agit par défaut de 'Debian Live user'. +.IP "\fBlive\-config.locales\fP=\fILOCALISATION1\fP,\fILOCALISATION2\fP ... \fILOCALISATIONn\fP | \fBlocales\fP=\fILOCALISATION1\fP,\fILOCALISATION2\fP ... \fILOCALISATIONn\fP" 4 +Permet de spécifier la localisation du système, par exemple +\&'fr_FR.UTF\-8'. Par défaut, il s'agit de 'en_US.UTF\-8'. Dans le cas où la +locale spécifiée n'est pas déjà disponible sur le système, elle est +automatiquement générée à la volée. +.IP "\fBlive\-config.timezone\fP=\fITIMEZONE\fP | \fBtimezone\fP=\fITIMEZONE\fP" 4 +Permet de spécifier la timezone du système, par exemple 'Europe/Paris'. Par +défaut, il s'agit de 'UTC'. +.IP "\fBlive\-config.keyboard\-model\fP=\fIMODELE_DE_CLAVIER\fP | \fBkeyboard\-model\fP=\fIMODELE_DE_CLAVIER\fP" 4 +Permet de changer le modèle de clavier. Il n'y a pas de valeur par défaut +spécifiée. +.IP "\fBlive\-config.keyboard\-layouts\fP=\fIKEYBOARD_LAYOUT1\fP,\fIKEYBOARD_LAYOUT2\fP ... \fIKEYBOARD_LAYOUTn\fP | \fBkeyboard\-layouts\fP=\fIKEYBOARD_LAYOUT1\fP,\fIKEYBOARD_LAYOUT2\fP ... \fIKEYBOARD_LAYOUTn\fP" 4 +Permet de changer la configuration du clavier. Si plus d'une configuration +est spécifiée, les utilitaires de l'environnement de bureau permettront de +passer de l'une à l'autre sous X11. Il n'y a pas de valeur par défaut +spécifiée. +.IP "\fBlive\-config.keyboard\-variants\fP=\fIKEYBOARD_VARIANT1\fP,\fIKEYBOARD_VARIANT2\fP ... \fIKEYBOARD_VARIANTn\fP | \fBkeyboard\-variants\fP=\fIKEYBOARD_VARIANT1\fP,\fIKEYBOARD_VARIANT2\fP ... \fIKEYBOARD_VARIANTn\fP" 4 +Permet de changer la variante du clavier. Si plus d'une variante est +spécifiée, le même nombre de valeurs que keyboard\-layouts devraient être +spécifiées car elles se correspondront une à une dans l'ordre spécifié. On +peut utiliser valeurs vides. Les outils de l'environnement de bureau +permettront de passer de l'une à l'autre sous X11. Il n'y a pas de valeur +par défaut spécifiée. +.IP "\fBlive\-config.keyboard\-options\fP=\fIOPTIONS_DU_CLAVIER\fP | \fBkeyboard\-options\fP=\fIOPTIONS_DU_CLAVIER\fP" 4 +Permet de changer les options du clavier. Il n'y a pas de valeur par défaut +spécifiée. +.IP "\fBlive\-config.sysv\-rc\fP=\fISERVICE1\fP,\fISERVICE2\fP ... \fISERVICEn\fP | \fBsysv\-rc\fP=\fISERVICE1\fP,\fISERVICE2\fP ... \fISERVICEn\fP" 4 +Permet de désactiver des services sysv via update\-rc.d. +.IP "\fBlive\-config.utc\fP=\fByes\fP|no | \fButc\fP=\fByes\fP|no" 4 +Permet de modifier si le système assume que l'horloge matérielle est réglée +sur UTC. Par défaut : 'oui'. +.IP "\fBlive\-config.x\-session\-manager=\fP\fIGESTIONNAIRE_DE_SESSION_X\fP | \fBx\-session\-manager\fP=\fIGESTIONNAIRE_DE_SESSION_X\fP" 4 +Permet de spécifier le x\-session\-manager via update\-alternatives. +.IP "\fBlive\-config.xorg\-driver\fP=\fIPILOTE_XORG\fP | \fBxorg\-driver\fP=\fIPILOTE_XORG\fP" 4 +Permet de spécifier le pilote utilisé par xorg plutôt que d'utiliser +l'auto\-détection. Si un ID PCI est spécifié dans +/usr/share/live/config/xserver\-xorg/\fIDRIVER\fP.ids dans le système live, le +\fIDRIVER\fP est appliqué pour ces périphériques. Si un paramètre d'amorçage et +un override sont trouvés à la fois, le paramètre de démarrage est +prioritaire. +.IP "\fBlive\-config.xorg\-resolution\fP=\fIRESOLUTION_XORG\fP | \fBxorg\-resolution\fP=\fIRESOLUTION_XORG\fP" 4 +Permet de spécifier la résolution utilisée par xorg, plutôt que d'utiliser +l'auto\-détection, par example 1024x768. +.IP "\fBlive\-config.wlan\-driver\fP=\fIPILOTE_WLAN\fP | \fBwlan\-driver\fP=\fIPILOTE_WLAN\fP" 4 +Permet de spécifier le pilote utilisé par WLAN plutôt que d'utiliser +l'auto\-détection. Si un ID PCI est spécifié dans +/usr/share/live/config/broadcom\-sta/\fIDRIVER\fP.ids dans le système live, le +\fIDRIVER\fP est appliqué pour ces périphériques. Si un paramètre d'amorçage et +un override sont trouvés à la fois, le paramètre de démarrage est +prioritaire. +.IP "\fBlive\-config.hooks\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP | \fBhooks\fP=\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Permet d'aller chercher et d'exécuter un ou plusieurs fichiers +spécifiques. Notez que les URLs doivent pouvoir être téléchargées par wget +(http, ftp or file://), que les fichiers sont exécutés dans /tmp du système +live en fonctionnement, et que les dépendances des fichiers doivent être +préalablement installées; par exemple, si vous devez exécuter un script +python, vous devez préalablement installer l'interpréteur python sur le +système. Quelques hooks pour certains cas d'utilisation communs sont +disponibles dans /usr/share/doc/live\-config/examples/hooks/ et sur +<\fIhttp://live.debian.net/other/hooks\fP>. +.br +Si le fichier est placé dans le dispositif live, il peut être utilisé avec +file:///lib/live/mount/medium/\fIFILE\fP, ou bien avec file:///\fIFILE\fP s'il est +placé à la racine du système de fichiers du système live. +.br +Tous les hooks, placés dans /lib/live/config\-hooks/ à la racine du système +de fichiers, peuvent être automatiquement activés avec le mot clé +\&'filesystem'. +.br +Tous les hooks dans /live/config\-hooks/ du dispositif live peuvent être +automatiquement activés avec le mot clé 'medium'. +.br +Si plusieurs mécanismes sont combinés, alors les hooks du système de +fichiers sont exécutés en premiers, puis les hooks du dispositif, et enfin +les hooks du réseau. + +.SS "Paramètres d'amorçage (raccourcis)" +Dans certains cas communs où il est nécessaire de combiner plusieurs +paramètres individuels, \fBlive\-config\fP fournit des raccourcis. Ceci permet à +la fois d'avoir une granularité complète à travers les options, et également +de rester simples. + +.IP "\fBlive\-config.noroot\fP | \fBnoroot\fP" 4 +Désactive sudo et policykit, dans ce cas l'utilisateur ne peut pas obtenir +des privilèges d'administrateur (root) sur le système. +.IP "\fBlive\-config.nottyautologin\fP | \fBnoautologin\fP" 4 +Désactive l'auto\-login sur la console et l'auto\-login graphique. +.IP "\fBlive\-config.nottyautologin\fP | \fBnottyautologin\fP" 4 +Désactive l'auto\-login sur la console, mais ne concerne pas l'auto\-login +graphique. +.IP "\fBlive\-config.nox11autologin\fP | \fBnox11autologin\fP" 4 +Désactive l'auto\-login avec tout gestionnaire graphique, sans affecter +l'auto\-login en console (tty). + +.SS "Paramètres d'amorçage (options particulières)" +Pour certains cas d'utilisation, il existe des paramètres de démarrage +spécifiques. + +.IP "\fBlive\-config.debug\fP | \fBdebug\fP" 4 +Active les messages de debug dans live\-config. + +.SS "Fichiers de configuration" +\fBlive\-config\fP peut être configuré (mais pas activé) par certains fichiers +de configuration. Tout, sauf les touches de raccourcis qui peuvent être +configurées avec un paramètre d'amorçage, peut alternativement être +configuré via un ou plusieurs fichiers. Si des fichiers de configuration +sont utilisés, le paramètre 'boot=live' est toujours requis pour activer +\fBlive\-config\fP. +.PP +\fBRemarque :\fP Si des fichiers de configuration sont utilisés, soit (de +préférence) tous les paramètres d'amorçage devraient être mis dans la +variable \fBLIVE_CONFIG_CMDLINE\fP, ou bien des variables individuelles peuvent +être réglées. Si des variables individuelles sont utilisées, l'utilisateur +doit s'assurer que toutes les variables nécessaires sont réglées pour créer +une configuration valide. +.PP +Les fichiers de configuration peuvent être placés soit dans la racine du +système de fichiers (/etc/live/config.conf, /etc/live/config.conf.d/*.conf), +soit sur le média live (live/config.conf, live/config.conf.d/*.conf). Si ces +deux emplacements sont utilisés pour une même option, ceux placés dans le +média live sont prioritaires sur ceux dans la racine du système. +.PP +Bien que les fichiers de configuration placés dans les répertoires de +configuration ne nécessitent pas un nom ou suffixe particulier, il est +suggéré, pour des raisons de cohérence, d'utiliser «vendeur.conf» ou +«projet.conf» en tant que modèle de nommage («vendeur» ou «projet» étant +remplacé par le nom réel, résultant en un nom de fichier comme +«progress\-linux.conf»). +.PP +Le contenu réel des fichiers de configuration se compose d'une ou plusieurs +des variables suivantes. + +.IP "\fBLIVE_CONFIG_CMDLINE\fP=\fIPARAMÈTRE1\fP \fIPARAMÈTRE2\fP ... \fIPARAMETREn\fP" 4 +Cette variable correspond à la ligne de commande du chargeur d'amorçage. +.IP "\fBLIVE_CONFIG_COMPONENTS\fP=\fICOMPOSANT1\fP,\fICOMPOSANT2\fP, ... \fICOMPOSANTn\fP" 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.components\fP=\fICOMPOSANT1\fP,\fICOMPOSANT2\fP, ... \fICOMPOSANTn\fP' +.IP "\fBLIVE_CONFIG_NOCOMPONENTS\fP=\fICOMPOSANT1\fP,\fICOMPOSANT2\fP, ... \fICOMPOSANTn\fP" 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.nocomponents\fP=\fICOMPOSANT1\fP,\fICOMPOSANT2\fP, ... \fICOMPOSANTn\fP' +.IP "\fBLIVE_DEBCONF_PRESEED\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.debconf\-preseed\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| +\&... |\fIURLn\fP'. +.IP \fBLIVE_HOSTNAME\fP=\fINOM_D_HÔTE\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.hostname\fP=\fINOM_D_HÔTE\fP'. +.IP \fBLIVE_USERNAME\fP=\fINOM_D_UTILISATEUR\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.username\fP=\fINOM_D_UTILISATEUR\fP'. +.IP "\fBLIVE_USER_DEFAULT_GROUPS\fP=\fIGROUPE1\fP,\fIGROUPE2\fP ... \fIGROUPEn\fP" 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.user\-default\-groups\fP="\fIGROUPE1\fP,\fIGROUPE2\fP ... \fIGROUPEn\fP"' +.IP \fBLIVE_USER_FULLNAME\fP=\(dq\fINOM_COMPLET_D_UTILISATEUR\(dq\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.user\-fullname\fP="\fINOM_COMPLET_D_UTILISATEUR"\fP'. +.IP "\fBLIVE_LOCALES\fP=\fILOCALISATION1\fP,\fILOCALISATION2\fP ... \fILOCALISATIONn\fP" 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.locales\fP=\fILOCALISATION1\fP,\fILOCALISATION2\fP +\&... \fILOCALISATIONn\fP'. +.IP \fBLIVE_TIMEZONE\fP=\fITIMEZONE\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.timezone\fP=\fITIMEZONE\fP'. +.IP \fBLIVE_KEYBOARD_MODEL\fP=\fIMODELE_DE_CLAVIER\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.keyboard\-model\fP=\fIMODELE_DE_CLAVIER\fP'. +.IP "\fBLIVE_KEYBOARD_LAYOUTS\fP=\fICONFIGURATION1_DU_CLAVIER\fP,\fICONFIGURATION2_DU_CLAVIER\fP ... \fICONFIGURATIONn_DU_CLAVIER\fP" 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.keyboard\-layouts\fP=\fICONFIGURATION1_DU_CLAVIER\fP,\fICONFIGURATION2_DU_CLAVIER\fP +\&... \fICONFIGURATIONn_DU_CLAVIER\fP'. +.IP "\fBLIVE_KEYBOARD_VARIANTS\fP=\fIVARIANTE_CLAVIER1\fP,\fIVARIANTE_CLAVIER2\fP ... \fIVARIANTE_CLAVIERn\fP" 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.keyboard\-variants\fP=\fIVARIANTE_CLAVIER1\fP,\fIVARIANTE_CLAVIER2\fP +\&... \fIVARIANTE_CLAVIERn\fP'. +.IP \fBLIVE_KEYBOARD_OPTIONS\fP=\fIOPTIONS_DU_CLAVIER\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.keyboard\-options\fP=\fIOPTIONS_DU_CLAVIER\fP'. +.IP "\fBLIVE_SYSV_RC\fP=\fISERVICE1\fP,\fISERVICE2\fP ... \fISERVICEn\fP" 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.sysv\-rc\fP=\fISERVICE1\fP,\fISERVICE2\fP ... \fISERVICEn\fP'. +.IP \fBLIVE_UTC\fP=\fByes\fP|no 4 +Cette variable correspond au paramètre '\fBlive\-config.utc\fP=\fByes\fP|no'. +.IP \fBLIVE_X_SESSION_MANAGER\fP=\fIGESTIONNAIRE_DE_SESSION_X\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.x\-session\-manager\fP=\fIGESTIONNAIRE_DE_SESSION_X\fP'. +.IP \fBLIVE_XORG_DRIVER\fP=\fIPILOTE_XORG\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.xorg\-driver\fP=\fIPILOTE_XORG\fP. +.IP \fBLIVE_XORG_RESOLUTION\fP=\fIRESOLUTION_XORG\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.xorg\-resolution\fP=\fIRESOLUTION_XORG\fP'. +.IP \fBLIVE_WLAN_DRIVER\fP=\fIPILOTE_WLAN\fP 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.wlan\-driver\fP=\fIPILOTE_WLAN\fP. +.IP "\fBLIVE_HOOKS\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Cette variable correspond au paramètre +\&'\fBlive\-config.hooks\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP'. +.IP \fBLIVE_CONFIG_DEBUG\fP=true|false 4 +Cette variable correspond au paramètre '\fBlive\-config.debug\fP'. + +.SH PERSONNALISATION +\fBlive\-config\fP peut être facilement personnalisé pour des projets dérivés, +ou pour un usage local. + +.SS "Ajout de nouveaux composants de configuration" +Les projets dérivés peuvent utiliser leurs propres composants dans +/lib/live/config et n'ont besoin de rien d'autre, les composants seront +appelés lors du démarrage. +.PP +Il est préférable que les composants soient mis dans leur propre paquet +Debian. Un paquet contenant un composant d'exemple est proposé dans +/usr/share/doc/live\-config/examples. + +.SS "Enlever des composants de configuration existants" +Il n'est actuellement pas vraiment possible d'enlever proprement les +composants sans avoir besoin soit d'utiliser un paquet \fBlive\-config\fP +modifié localement, soit à l'aide de dpkg\-divert. Cependant, la même chose +peut être réalisée en désactivant les scripts respectifs via le mécanisme +live\-config.nocomponents, comme indiqué ci\-dessus. Afin d'éviter de toujours +avoir à spécifier les composants désactivés via le paramètre d'amorçage, un +fichier de configuration devrait être utilisé, voir ci\-dessus. +.PP +Les fichiers de configuration pour le système live lui\-même devront de +préférence être inclus dans leur propre paquet debian. Un paquet de +démonstration contenant un exemple de configuration est proposé dans +/usr/share/doc/live\-config/examples. + +.SH COMPOSANTS +\fBlive\-config\fP fournit actuellement les composants suivants dans +/lib/live/config. + +.IP \fBdebconf\fP 4 +permet d'appliquer des fichiers de pré\-configuration arbitraires placés sur +les média live ou un serveur http/ftp. +.IP \fBhostname\fP 4 +configure /etc/hostname et /etc/hosts. +.IP \fBuser\-setup\fP 4 +ajoute un compte d'utilisateur live. +.IP \fBsudo\fP 4 +offre les privilèges sudo à l'utilisateur live. +.IP \fBlocales\fP 4 +configure les locales. +.IP \fBlocales\-all\fP 4 +configure les locales\-all. +.IP \fBtzdata\fP 4 +configure /etc/timezone. +.IP \fBgdm3\fP 4 +configure l'auto\-login dans gdm3. +.IP \fBkdm\fP 4 +configure l'auto\-login dans kdm. +.IP \fBlightdm\fP 4 +configure l'auto\-login dans lightdm. +.IP \fBlxdm\fP 4 +configure l'auto\-login dans lxdm. +.IP \fBnodm\fP 4 +configure l'auto\-login dans nodm. +.IP \fBslim\fP 4 +configure l'auto\-login dans slim. +.IP \fBxinit\fP 4 +configure l'auto\-login avec xinit. +.IP \fBkeyboard\-configuration\fP 4 +configure le clavier. +.IP \fBsystemd\fP 4 +configure l'auto\-login avec systemd. +.IP \fBsysvinit\fP 4 +configure sysvinit. +.IP \fBsysv\-rc\fP 4 +configure sysv\-rc en désactivant les services listés. +.IP \fBlogin\fP 4 +désactive lastlog. +.IP \fBapport\fP 4 +désactive apport. +.IP \fBgnome\-panel\-data\fP 4 +désactive le bouton de verrouillage de l'écran. +.IP \fBgnome\-power\-manager\fP 4 +désactive l'hibernation. +.IP \fBgnome\-screensaver\fP 4 +désactive le verrouillage de session par l'économiseur d'écran. +.IP \fBkaboom\fP 4 +désactive l'assistant de migration de KDE (squeeze et plus récent). +.IP \fBkde\-services\fP 4 +désactive des services de KDE non souhaités (squeeze et plus récent). +.IP \fBpolicykit\fP 4 +accorde à l'utilisateur des privilèges via le policykit. +.IP \fBssl\-cert\fP 4 +regénère les certificats snake\-oil ssl. +.IP \fBanacron\fP 4 +désactive anacron. +.IP \fButil\-linux\fP 4 +désactive util\-linux' hwclock. +.IP \fBlogin\fP 4 +désactive lastlog. +.IP \fBxserver\-xorg\fP 4 +configure xserver\-xorg. +.IP \fBbroadcom\-sta\fP 4 +configure les pilotes WLAN broadcom\-sta. +.IP \fBopenssh\-server\fP 4 +regénère les clés de l'hôte openssh\-server. +.IP \fBxfce4\-panel\fP 4 +configure xfce4\-panel avec les réglages par défaut. +.IP \fBxscreensaver\fP 4 +désactive le verrouillage de session par l'économiseur d'écran. +.IP \fBhooks\fP 4 +permet de lancer des commandes arbitraires depuis un composant placé sur le +média live, ou sur un serveur http/ftp. + +.SH FICHIERS +.IP \fB/etc/live/config.conf\fP 4 +.IP \fB/etc/live/config.conf.d/*.conf\fP 4 +.IP \fBlive/config.conf\fP 4 +.IP \fBlive/config.conf.d/*.conf\fP 4 +.IP \fB/lib/live/config.sh\fP 4 +.IP \fB/lib/live/config/\fP 4 +.IP \fB/var/lib/live/config/\fP 4 +.IP \fB/var/log/live/config.log\fP 4 +.PP +.IP \fB/live/config\-hooks/*\fP 4 +.IP \fBlive/config\-hooks/*\fP 4 +.IP \fB/live/config\-preseed/*\fP 4 +.IP "\fBlive/config\-preseed/* \fP" 4 + +.SH "VOIR AUSSI" +\fIlive\-boot\fP(7) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH "PAGE D'ACCUEIL" +Davantage d'informations sur live\-config et le project Live Systems peuvent +être trouvées sur la page <\fIhttp://live\-systems.org/\fP> et dans le +manuel sur <\fIhttp://live\-systems.org/manual/\fP>. + +.SH BOGUES +Les bogues peuvent être signalés en soumettant un rapport de bogue à propos +du paquet live\-config dans le système de gestion des bogues sur +<\fIhttp://bugs.debian.org/\fP> ou en envoyant un courrier électronique +à la liste de diffusion Live Systems à +<\fIdebian\-live@lists.debian.org\fP> + +.SH AUTEUR +live\-config a été écrit par Daniel Baumann +<\fImail@daniel\-baumann.ch\fP>. diff --git a/system-config/manpages/it/live-config.it.7 b/system-config/manpages/it/live-config.it.7 new file mode 100644 index 0000000..82ee36b --- /dev/null +++ b/system-config/manpages/it/live-config.it.7 @@ -0,0 +1,420 @@ +.\" live-config(7) - System Configuration Components +.\" Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +.\" +.\" This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +.\" This is free software, and you are welcome to redistribute it +.\" under certain conditions; see COPYING for details. +.\" +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-CONFIG 7 2015\-09\-23 5.0~a5\-1 "Progetto Live Systems" + +.SH NOME +\fBlive\-config\fP \- Componenti di configurazione del sistema + +.SH DESCRIZIONE +\fBlive\-config\fP contiene i componenti che configurano un sistema live durante +il processo di avvio (spazio utente inoltrato). + +.SH CONFIGURAZIONE +\fBlive\-config\fP può essere configurato tramite parametri di avvio o file di +configurazione; se per una certa opzione vengono utilizzati entrambi i +meccanismi, i parametri di avvio hanno la precedenza su questi +ultimi. Quando si utilizza la persistenza i componenti di \fBlive\-config\fP +vengono eseguiti solo una volta. +.PP +Se \fIlive\-build\fP(7) viene usato per creare il sistema live, i parametri +predefiniti di live\-config possono essere configurati tramite l'opzione +\-\-bootappend\-live, si veda la pagina di manuale di \fIlb_config\fP(1). + +.SS "Parametri di avvio (componenti)" +\fBlive\-config\fP viene attivato solo se "boot=live" è utilizzato come +parametro di avvio. Inoltre va detto a \fBlive\-config\fP quali componenti +eseguire tramite il parametro "live\-config.nocomponents" o quali non +eseguire tramite il parametro "live\-config.nocomponents". Se vengono usati +entrambi i parametri, o se uno dei due è specificato più volte, avrà la +precedenza sempre l'ultimo. + +.IP "\fBlive\-config.components\fP | \fBcomponents\fP" 4 +Vengono eseguiti tutti i component; questo è ciò che le immagini live fanno +in modo predefinito. +.IP "\fBlive\-config.components\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP | \fBcomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Vengono eseguiti solo gli script specificati. Si noti che l'ordine è +importante, ad esempio "live\-config=sudo,user\-setup" non funzionerebbe in +quanto prima di poter configurare l'utente per sudo è necessario +aggiungerlo. Per l'ordinamento numerico vedere i nomi degli script in +/lib/live/config. +.IP "\fBlive\-config.nocomponents\fP | \fBnocomponents\fP" 4 +Non viene eseguito alcun componente, equivale a non utilizzare nessun +parametro di "live\-config.components" o "live\-config.nocomponents". +.IP "\fBlive\-config.nocomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP | \fBnocomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Vengono eseguiti tutti i componenti tranne quelli specificati. + +.SS "Parametri di avvio (opzioni)" +Alcuni singoli componenti possono modificare il loro comportamento in base a +un parametro di avvio. + +.IP "\fBlive\-config.debconf\-preseed\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP | \fBdebconf\-preseed\fP=medium|filesystem|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Permette di prelevare e applicare uno o più file debconf di +preconfigurazione da applicare al database debconf. Si noti che gli URL +devono essere scaricabili da wget (http, ftp o file://). +.br +Se il file è posizionato sul supporto live, questo può essere prelevato con +file:///lib/live/mount/medium/\fIFILE\fP, o con file:///\fIFILE\fP se è nella +radice del filesystem del sistema live stesso. +.br +Tutti i file di preconfigurazione in /lib/live/config\-preseed/ nella radice +del sistema live possono essere abilitati automaticamente con la parola +chiave "filesystem". +.br +Tutti i file di preconfigurazione in /live/config\-preseed/ sul supporto live +possono essere abilitati automaticamente con la parola chiave "medium". +.br +Se vengono congiunti diversi meccanismi i file di preconfigurazione di tipo +filesystem vengono applicati per primi, seguiti dalla tipologia medium e +quindi da quelli network. +.IP "\fBlive\-config.hostname\fP=\fIHOSTNAME\fP | \fBhostname\fP=\fIHOSTNAME\fP" 4 +Permette di impostare l'hostname del sistema, il predefinito è "debian". +.IP "\fBlive\-config.username\fP=\fINOMEUTENTE\fP | \fBusername\fP=\fINOMEUTENTE\fP" 4 +Permette di impostare il nome utente che viene creato per il login +automatico, il predefinito è "user". +.IP "\fBlive\-config.user\-default\-groups\fP=\fIGRUPPO\fP,\fIGRUPPO2\fP ... \fIGRUPPOn\fP | \fBuser\-default\-groups\fP=\fIGRUPPO1\fP,\fIGRUPPO2\fP ... \fIGRUPPOn\fP" 4 +Permette di impostare i gruppi dei quali fanno parte gli utenti creati per +il login automatico. Il valore predefinito è "audio cdrom dip floppy video +plugdev netdev powerdev scanner bluetooth". +.IP "\fBlive\-config.user\-fullname\fP=\(dq\fINOME COMPLETO UTENTE\fP\(dq | \fBuser\-fullname\fP=\(dq\fINOME COMPLETO UTENTE\fP\(dq" 4 +Permette di impostare il nome utente completo che viene creato per il login +automatico, il predefinito di Debian è "Debian Live user". +.IP "\fBlive\-config.locales\fP=\fILOCALIZZAZIONE1\fP,\fILOCALIZZAZIONE2\fP ... \fILOCALIZZAZIONEn\fP | \fBlocales\fP=\fILOCALIZZAZIONE1\fP,\fILOCALIZZAZIONE2\fP ... \fILOCALIZZAZIONEn\fP" 4 +Permette di impostare la localizzazione del sistema, ad esempio +"it_IT.UTF\-8", il predefinito è "en_US.UTF\-8". Se la localizzazione +selezionata non è già disponibile viene generata al volo automaticamente. +.IP "\fBlive\-config.timezone\fP=\fIFUSO ORARIO\fP | \fBtimezone\fP=\fIFUSO ORARIO\fP" 4 +Permette di impostare il fuso orario del sistema, ad esempio "Europe/Rome"; +il predefinito è "UTC". +.IP "\fBlive\-config.keyboard\-model\fP=\fIMODELLO_TASTIERA\fP | \fBkeyboard\-model\fP=\fIMODELLO_TASTIERA\fP" 4 +Permette di scegliere il modello della tastiera, non è impostato alcun +valore predefinito. +.IP "\fBlive\-config.keyboard\-layouts\fP=\fILAYOUT_TASTIERA1\fP,\fILAYOUT_TASTIERA2\fP ... \fILAYOUT_TASTIERAn\fP | \fBkeyboard\-layouts\fP=\fILAYOUT_TASTIERA1\fP,\fILAYOUT_TASTIERA2\fP ... \fILAYOUT_TASTIERAn\fP" 4 +Permette di modificare i layout della tastiera. Se ne viene specificato più +di uno gli strumenti dell'ambiente desktop consentiranno di cambiarlo in +X11. Non è impostato alcun valore predefinito. +.IP "\fBlive\-config.keyboard\-variants\fP=\fISCHEMA_TASTIERA1\fP,\fISCHEMA_TASTIERA2\fP ... \fISCHEMA_TASTIERAn\fP | \fBkeyboard\-variants\fP=\fISCHEMA_TASTIERA1\fP,\fISCHEMA_TASTIERA2\fP ... \fISCHEMA_TASTIERAn\fP" 4 +Permette di modificare gli schemi della tastiera (es. qwerty, qWERTZ, +AZERTY, ecc.). Se ne viene specificato più di uno è necessario indicare lo +stesso numero di valori dei layout della tastiera che verranno abbinati ad +uno schema nell'ordine definito. Sono ammessi valori vuoti. Gli strumenti +dell'ambiente desktop consentiranno di passare da uno all'altro in X11. Non +è impostato alcun valore predefinito. +.IP "\fBlive\-config.keyboard\-options\fP=\fIOPZIONI_TASTIERA\fP | \fBkeyboard\-options\fP=\fIOPZIONI_TASTIERA\fP" 4 +Permette di modificare le opzioni della tastiera, non è impostato alcun +valore predefinito. +.IP "\fBlive\-config.sysv\-rc\fP=\fISERVIZIO1\fP,\fISERVIZIO2\fP ... \fISERVIZIOn\fP | \fBsysv\-rc\fP=\fISERVIZIO1\fP,\fISERVIZIO2\fP ... \fISERVIZIOn\fP" 4 +Permette di disabilitare i servizi di sysv tramite update\-rc.d. +.IP "\fBlive\-config.utc\fP=\fByes\fP|no | \fButc\fP=\fByes\fP|no" 4 +Permette di scegliere se il sistema debba supporre che l'orologio hardware +sia impostato o meno su UTC, il valore predefinito è "yes". +.IP "\fBlive\-config.x\-session\-manager=\fP\fIX_SESSION_MANAGER\fP | \fBx\-session\-manager\fP=\fIX_SESSION_MANAGER\fP" 4 +Permette di impostare x\-session\-manager tramite update\-alternatives. +.IP "\fBlive\-config.xorg\-driver\fP=\fIDRIVER_XORG\fP | \fBxorg\-driver\fP=\fIDRIVER_XORG\fP" 4 +Permette di impostare il driver per xorg invece di riconoscerlo +automaticamente. Se un ID PCI viene specificato in +/usr/share/live/config/xserver\-xorg/\fIDRIVER\fP.ids all'interno del sistema +live, \fIDRIVER\fP viene applicato a questi device. Se viene trovato sia un +parametro di boot sia uno imposto, quello di boot ha la precedenza. +.IP "\fBlive\-config.xorg\-resolution\fP=\fIRISOLUZIONE_XORG\fP | \fBxorg\-resolution\fP=\fIRISOLUZIONE_XORG\fP" 4 +Permette di impostare la risoluzione per xorg invece di riconoscerla +automaticamente, ad esempio 1024x768. +.IP "\fBlive\-config.wlan\-driver\fP=\fIDRIVER_WLAN\fP | \fBwlan\-driver\fP=\fIDRIVER_WLAN\fP" 4 +Permette di impostare il driver per WLAN invece di riconoscerlo +automaticamente. Se un ID PCI viene specificato in +/usr/share/live/config/broadcom\-sta/\fIDRIVER\fP.ids all'interno del sistema +live, \fIDRIVER\fP viene applicato a questi device. Se viene trovato sia un +parametro di boot sia uno imposto, quello di boot ha la precedenza. +.IP "\fBlive\-config.hooks\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP | \fBhooks\fP=medium|filesystem|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Permette di prelevare ed eseguire uno o più file arbitrari. Si noti che gli +URL devono essere scaricabili da wget (http, ftp o file://), i file vengono +eseguiti nella directory /tmp del sistema in esecuzione, e che tali file +necessitano delle loro dipendenze già installate; ad esempio se bisogna +eseguire uno script python il sistema ha bisogno di python installato. Sono +disponibili alcuni hook per i casi d'uso più comuni in +/usr/share/doc/live\-config/examples/hooks/ e all'indirizzo +<\fIhttp://live\-systems.org/other/hooks\fP>. +.br +Se il file è posizionato sul supporto live, questo può essere prelevato con +file:///lib/live/mount/medium/\fIFILE\fP, o con file:///\fIFILE\fP se è nella +radice del filesystem del sistema live stesso. +.br +Tutti gli hook nella directory /lib/live/config\-hooks/ del sistema live +possono essere abilitati automaticamente con la parola chiave "filesystem". +.br +Tutti gli hook nella directory /live/config\-hooks/ del sistema live possono +essere abilitati automaticamente con la parola chiave "medium". +.br +Se vengono congiunti svariati meccanismi, gli hook di tipo filesystem +vengono applicati per primi, seguiti dalla tipologia medium e quindi da +quelli network. + +.SS "Parametri di avvio (scorciatoie)" +Per alcuni casi di uso comune in cui sarebbe necessario combinare diversi +parametri particolari, \fBlive\-config\fP fornisce delle scorciatoie. Questo +permette sia di avere una completa granularità su tutte le opzioni, sia di +mantenere semplici le cose. + +.IP "\fBlive\-config.noroot\fP | \fBnoroot\fP" 4 +Disabilita sudo e policykit, l'utente non può ottenere i privilegi di root +nel sistema. +.IP "\fBlive\-config.noautologin\fP | \fBnoautologin\fP" 4 +Disabilita sia il login automatico in console sia quello grafico. +.IP "\fBlive\-config.nottyautologin\fP | \fBnottyautologin\fP" 4 +Disabilita il login automatico in console senza coinvolgere quello grafico. +.IP "\fBlive\-config.nox11autologin\fP | \fBnox11autologin\fP" 4 +Disabilita il login automatico con qualsiasi gestore grafico senza +coinvolgere quello in tty. + +.SS "Parametri di avvio (opzioni speciali)" +Per casi particolari ci sono alcuni parametri speciali. + +.IP "\fBlive\-config.debug\fP | \fBdebug\fP" 4 +Abilita l'output di debug in live\-config. + +.SS "File di configurazione" +\fBlive\-config\fP può essere configurato (ma non attivato) attraverso file di +configurazione. Tranne le scorciatoie che sono configurabili con un +parametro di avvio, tutto può essere configurato in alternativa tramite uno +o più file. Se vengono usati questi file, il parametro "boot=live" è +comunque richiesto per attivare \fBlive\-config\fP. +.PP +\fBNota:\fP Se vengono utilizzati file di configurazione tutti i parametri di +avvio vanno inseriti nella variabile \fBLIVE_CONFIG_CMDLINE\fP +(preferibilmente), oppure si possono impostare variabili singole. Se si +utilizzano queste ultime, per creare una configurazione valida è richiesto +che l'utente si accerti che siano impostate tutte le variabili necessarie. +.PP +I file di configurazione sono collocabili sia nello stesso filesystem di +root (/etc/live/config.conf, /etc/live/config.conf.d/*.conf), sia nel +supporto live (live/config.conf, live/config.conf.d/*.conf). Se per una +certa opzione si usano entrambe le destinazioni, avrà la precedenza quello +del supporto live. +.PP +Sebbene i file di configurazione messi nelle directory di configurazione non +richiedano un nome o un suffisso particolari, per coerenza è suggerito di +usare "vendor.conf"o "project.conf" come schema di denominazione (laddove +"vendor" o "project" è sostituito con un nome reale, risultando in un nome +di file come "progress\-linux.conf"). +.PP +Il contenuto effettivo dei file di configurazione è costituito da una o più +delle seguenti variabili. + +.IP "\fBLIVE_CONFIG_CMDLINE\fP=\fIPARAMETER1\fP \fIPARAMETER2\fP ... \fIPARAMETERn\fP" 4 +Questa variabile corrisponde all'opzione bootloader da riga di comando. +.IP "\fBLIVE_CONFIG_COMPONENTS\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.components\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP". +.IP "\fBLIVE_CONFIG_NOCOMPONENTS\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, ... \fICOMPONENTn\fP" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.nocomponents\fP=\fICOMPONENT1\fP,\fICOMPONENT2\fP, +\&... \fICOMPONENTn\fP". +.IP "\fBLIVE_DEBCONF_PRESEED\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.debconf\-preseed\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| +\&... |\fIURLn\fP". +.IP \fBLIVE_HOSTNAME\fP=\fIHOSTNAME\fP 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.hostname\fP=\fIHOSTNAME\fP". +.IP \fBLIVE_USERNAME\fP=\fINOMEUTENTE\fP 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.username\fP=\fINOMEUTENTE\fP". +.IP "\fBLIVE_USER_DEFAULT_GROUPS\fP=\fIGRUPPO1\fP,\fIGRUPPO2\fP ... \fIGRUPPOn\fP" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.user\-default\-groups\fP="\fIGRUPPO1\fP,\fIGRUPPO2\fP ... \fIGRUPPOn\fP"". +.IP "\fBLIVE_USER_FULLNAME\fP=\(dq\fINOME COMPLETO UTENTE\fP\(dq" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.user\-fullname\fP="\fINOME COMPLETO UTENTE\fP". +.IP "\fBLIVE_LOCALES\fP=\fILOCALIZZAZIONE1\fP,\fILOCALIZZAZIONE2\fP ... \fILOCALIZZAZIONEn\fP" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.locales\fP=\fILOCALIZZAZIONE1\fP,\fILOCALIZZAZIONE2\fP +\&... \fILOCALIZZAZIONEn\fP". +.IP "\fBLIVE_TIMEZONE\fP=\fIFUSO ORARIO\fP" 4 +Questa variabile corrisponde al parametro "\fBlive\-config.timezone\fP=\fIFUSO +ORARIO\fP". +.IP \fBLIVE_KEYBOARD_MODEL\fP=\fIMODELLO_TASTIERA\fP 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.keyboard\-model\fP=\fIMODELLO_TASTIERA\fP". +.IP "\fBLIVE_KEYBOARD_LAYOUTS\fP=\fILAYOUT_TASTIERA1\fP,\fILAYOUT_TASTIERA2\fP ... \fILAYOUT_TASTIERAn\fP" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.keyboard\-layouts\fP=\fILAYOUT_TASTIERA1\fP,\fILAYOUT_TASTIERA2\fP +\&... \fILAYOUT_TASTIERAn\fP". +.IP "\fBLIVE_KEYBOARD_VARIANTS\fP=\fISCHEMA_TASTIERA1\fP,\fISCHEMA_TASTIERA2\fP ... \fISCHEMA_TASTIERAn\fP" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.keyboard\-variants\fP=\fISCHEMA_TASTIERA1\fP,\fISCHEMA_TASTIERA2\fP +\&... \fISCHEMA_TASTIERAn\fP". +.IP \fBLIVE_KEYBOARD_OPTIONS\fP=\fIOPZIONI_TASTIERA\fP 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.keyboard\-options\fP=\fIOPZIONI_TASTIERA\fP". +.IP "\fBLIVE_SYSV_RC\fP=\fISERVIZIO1\fP,\fISERVIZIO2\fP ... \fISERVIZIOn\fP" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.sysv\-rc\fP=\fISERVIZIO1\fP,\fISERVIZIO2\fP ... \fISERVIZIOn\fP". +.IP \fBLIVE_UTC\fP=\fByes\fP|no 4 +Questa variabile corrisponde al parametro "\fBlive\-config.utc\fP=\fByes\fP|no". +.IP \fBLIVE_X_SESSION_MANAGER\fP=\fIX_SESSION_MANAGER\fP 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.x\-session\-manager\fP=\fIX_SESSION_MANAGER\fP". +.IP \fBLIVE_XORG_DRIVER\fP=\fIDRIVER_XORG\fP 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.xorg\-driver\fP=\fIDRIVER_XORG\fP". +.IP \fBLIVE_XORG_RESOLUTION\fP=\fIRISOLUZIONE_XORG\fP 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.xorg\-resolution\fP=\fIRISOLUZIONE_XORG\fP". +.IP \fBLIVE_WLAN_DRIVER\fP=\fIDRIVER_WLAN\fP 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.wlan\-driver\fP=\fIDRIVER_WLAN\fP". +.IP "\fBLIVE_HOOKS\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +Questa variabile corrisponde al parametro +"\fBlive\-config.hooks\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP". +.IP \fBLIVE_CONFIG_DEBUG\fP=true|false 4 +Questa variabile corrisponde al parametro "\fBlive\-config.debug\fP". + +.SH PERSONALIZZAZIONE +\fBlive\-config\fP può essere facilmente personalizzato per progetti downstream +o utilizzo locale. + +.SS "Aggiungere nuovi componenti config" +I progetti downstream possono inserire i loro componenti nella directory +/lib/live/config senza la necessità di fare altro, i componenti saranno +richiamati automaticamente durante il boot. +.PP +È consigliato mettere tali componenti in un pacchetto debian dedicato. Si +può trovare un esempio in /usr/share/doc/live\-config/examples. + +.SS "Rimuovere componenti config esistenti" +Non è ancora realmente possibile rimuovere i componenti in un modo sensato +che non richieda di fornire un pacchetto di \fBlive\-config\fP modificato +localmente o l'uso di dpkg\-divert. Tuttavia la stessa cosa si può ottenere +disabilitando i rispettivi componenti tramite il meccanismo di +live\-config.nocomponents come spiegato prima. Per evitare di dover +specificare ogni volta con parametri di boot i componenti da disabilitare, +usare un file di configurazione come mostrato in precedenza. +.PP +È consigliato mettere i file di configurazione per il sistema live in un +pacchetto debian dedicato. Si può trovare un esempio in +/usr/share/doc/live\-config/examples. + +.SH COMPONENTI +\fBlive\-config\fP attualmente offre i seguenti componenti in /lib/live/config. + +.IP \fBdebconf\fP 4 +permette di applicare file di preconfigurazione arbitrai situati sul +supporto live o su un server http/ftp. +.IP \fBhostname\fP 4 +configura i file /etc/hostname e /etc/hosts. +.IP \fBuser\-setup\fP 4 +aggiunge un account per l'utente live. +.IP \fBsudo\fP 4 +concede i privilegi per sudo all'utente live. +.IP \fBlocales\fP 4 +configura la localizzazione. +.IP \fBlocales\-all\fP 4 +configura locales\-all. +.IP \fBtzdata\fP 4 +configura il file /etc/timezone. +.IP \fBgdm3\fP 4 +configura il login automatico per gdm3. +.IP \fBkdm\fP 4 +configura il login automatico per kdm. +.IP \fBlightdm\fP 4 +configura il login automatico per lightdm. +.IP \fBlxdm\fP 4 +configura il login automatico per lxdm. +.IP \fBnodm\fP 4 +configura il login automatico per nodm. +.IP \fBslim\fP 4 +configura il login automatico per slim. +.IP \fBxinit\fP 4 +configura il login automatico con xinit. +.IP \fBkeyboard\-configuration\fP 4 +configura la tastiera. +.IP \fBsystemd\fP 4 +configura il login automatico con systemd. +.IP \fBsysvinit\fP 4 +configura sysvinit. +.IP \fBsysv\-rc\fP 4 +configura sysv\-rc disabilitando i servizi elencati. +.IP \fBlogin\fP 4 +disabilita lastlog. +.IP \fBapport\fP 4 +disabilita apport. +.IP \fBgnome\-panel\-data\fP 4 +disabilita il pulsante di blocco dello schermo. +.IP \fBgnome\-power\-manager\fP 4 +disabilita l'ibernazione. +.IP \fBgnome\-screensaver\fP 4 +disabilita lo screensaver che blocca lo schermo. +.IP \fBkaboom\fP 4 +disabilita la procedura guidata di migrazione di KDE (squeeze e successive). +.IP \fBkde\-services\fP 4 +disabilita i servizi di KDE non voluti (squeeze e successive). +.IP \fBpolicykit\fP 4 +concede i privilegi per l'utente tramite policykit. +.IP \fBssl\-cert\fP 4 +rigenera certificati ssl snake\-oil. +.IP \fBanacron\fP 4 +disabilita anacron. +.IP \fButil\-linux\fP 4 +disabilita hwclock (parte di util\-linux). +.IP \fBlogin\fP 4 +disabilita lastlog. +.IP \fBxserver\-xorg\fP 4 +configura xserver\-xorg. +.IP \fBbroadcom\-sta\fP 4 +configura il driver per broadcom\-sta WLAN. +.IP \fBopenssh\-server\fP 4 +ricrea le chiavi di openssh\-server. +.IP \fBxfce4\-panel\fP 4 +configura xfce4\-panel con le impostazioni predefinite. +.IP \fBxscreensaver\fP 4 +disabilita lo screensaver che blocca lo schermo. +.IP \fBhooks\fP 4 +permette di eseguire comandi arbitrari da un file situato sul supporto live +o su un server http/ftp. + +.SH FILE +.IP \fB/etc/live/config.conf\fP 4 +.IP \fB/etc/live/config.conf.d/*.conf\fP 4 +.IP \fBlive/config.conf\fP 4 +.IP \fBlive/config.conf.d/*.conf\fP 4 +.IP \fB/lib/live/config.sh\fP 4 +.IP \fB/lib/live/config/\fP 4 +.IP \fB/var/lib/live/config/\fP 4 +.IP \fB/var/log/live/config.log\fP 4 +.PP +.IP \fB/live/config\-hooks/*\fP 4 +.IP \fBlive/config\-hooks/*\fP 4 +.IP \fB/live/config\-preseed/*\fP 4 +.IP "\fBlive/config\-preseed/* \fP" 4 + +.SH "VEDERE ANCHE" +\fIlive\-boot\fP(7) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH HOMEPAGE +Si possono trovare ulteriori informazioni su live\-config e il progetto Live +Systems sulla homepage <\fIhttp://live\-systems.org/\fP> e nel manuale +all'indirizzo <\fIhttp://live\-systems.org/manual/\fP>. + +.SH BUG +I bug possono essere segnalati presentando un bugreport per il pacchetto +live\-config sul Bug Tracking System all'indirizzo +<\fIhttp://bugs.debian.org/\fP> o inviando un'email alla mailing list +di Live Sistems <\fIdebian\-live@lists.debian.org\fP>. + +.SH AUTORE +live\-config è stato scritto da Daniel Baumann +<\fImail@daniel\-baumann.ch\fP>. diff --git a/system-config/manpages/ja/live-config.ja.7 b/system-config/manpages/ja/live-config.ja.7 new file mode 100644 index 0000000..1171f57 --- /dev/null +++ b/system-config/manpages/ja/live-config.ja.7 @@ -0,0 +1,337 @@ +.\" live-config(7) - System Configuration Components +.\" Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch> +.\" +.\" This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +.\" This is free software, and you are welcome to redistribute it +.\" under certain conditions; see COPYING for details. +.\" +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LIVE\-CONFIG 7 2015\-09\-23 5.0~a5\-1 "Live システムプロジェクト" + +.SH 名前 +\fBlive\-config\fP \- システム設定構成要素 + +.SH 説明 +\fBlive\-config\fP はブートプロセス中 (後期ユーザ空間) に Live システムを設定する構成要素を収録しています。 + +.SH 設定 +\fBlive\-config\fP +はブートパラメータまたは設定ファイルから設定できます。両方の仕組みで特定のオプションの設定が指示された場合はブートパラメータを設定ファイルよりも優先します。保持機能を使っている場合、\fBlive\-config\fP +構成要素は一度だけ実行されます。 +.PP +\fIlive\-build\fP(7) を使って Live システムをビルドした場合にデフォルトで利用される live\-config パラメータは +\-\-bootappend\-live オプションによりセットできます。\fIlb_config\fP(1) マニュアルページを見てください。 + +.SS "ブートパラメータ (構成要素)" +\fBlive\-config\fP はブートパラメータとして「boot=live」が与えられた場合にのみ有効になります。さらに、\fBlive\-config\fP +は「live\-config.components」パラメータによりどの構成要素を実行するか、あるいは「live\-config.nocomponents」パラメータによりどの構成要素を実行しないのか指示する必要があります。「live\-config.components」と「live\-config.nocomponents」が両方とも使われた、あるいは一方が複数回指定された場合は、後で指定されたものが先に指定されたものよりも常に優先されます。 + +.IP "\fBlive\-config.components\fP | \fBcomponents\fP" 4 +構成要素は全て実行されます。これは Live イメージのデフォルトです。 +.IP "\fBlive\-config.components\fP=\fI構成要素1\fP,\fI構成要素2\fP, ... \fI構成要素n\fP | \fBcomponents\fP=\fI構成要素1\fP,\fI構成要素2\fP, ... \fI構成要素n\fP" 4 +指定した構成要素だけが実行されます。順序が重要であることに注意してください。例えば「live\-config.components=sudo,user\-setup」は、sudo +の設定前にユーザを追加しておく必要があるため機能しません。実行順については /lib/live/config にある構成要素のファイル名を見てください。 +.IP "\fBlive\-config.nocomponents\fP | \fBnocomponents\fP" 4 +構成要素は何も実行されません。これは「live\-config.components」や「live\-config.nocomponents」を何も指定しないのと同じです。 +.IP "\fBlive\-config.nocomponents\fP=\fI構成要素1\fP,\fI構成要素2\fP, ... \fI構成要素n\fP | \fBnocomponents\fP=\fI構成要素1\fP,\fI構成要素2\fP, ... \fI構成要素n\fP" 4 +構成要素は指定されたものを除いて全て実行されます。 + +.SS "ブートパラメータ (オプション)" +個々の構成要素の一部はブートパラメータにより挙動を変更できます。 + +.IP "\fBlive\-config.debconf\-preseed\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP | \fBdebconf\-preseed\fP=medium|filesystem|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +debconf データベースに適用する debconf の preseed ファイルを取得、適用します。URL は wget により取得できるもの +(http、 ftp、 file:// のどれか) でないといけないことに注意してください +.br +ファイルが Live メディア上にある場合は file:///lib/live/mount/medium/\fIファイル\fP、Live +システム自体のルートファイルシステムにある場合は file:///\fIファイル\fP で取得できます。 +.br +「filesystem」というキーワードを使って、Live システムのルートファイルシステム中の /lib/live/config\-preseed/ +にある preseed ファイルを全て自動的に有効化できます。 +.br +「medium」というキーワードを使って、Live メディアの /live/config\-preseed/ にある preseed +ファイルを全て自動的に有効化できます。 +.br +複数の仕組みを組み合わせた場合はファイルシステムの preseed ファイルがまず適用され、それからメディアの preseed +ファイル、最後にネットワークの preseed ファイルが適用されます。 +.IP "\fBlive\-config.hostname\fP=\fIホスト名\fP | \fBhostname\fP=\fIホスト名\fP" 4 +システムのホスト名をセットします。デフォルトは「debian」です。 +.IP "\fBlive\-config.username\fP=\fIユーザ名\fP | \fBusername\fP=\fIユーザ名\fP" 4 +自動ログイン用に作成するユーザの名前をセットします。デフォルトは「user」です。 +.IP "\fBlive\-config.user\-default\-groups\fP=\fIグループ1\fP,\fIグループ2\fP ... \fIグループn\fP | \fBuser\-default\-groups\fP=\fIグループ1\fP,\fIグループ2\fP ... \fIグループn\fP" 4 +自動ログイン用に作成するユーザがメンバーとなるデフォルトのグループをセットします。デフォルトは「audio cdrom dip floppy video +plugdev netdev powerdev scanner bluetooth」です。 +.IP "\fBlive\-config.user\-fullname\fP=\(dq\fIユーザのフルネーム\fP\(dq | \fBuser\-fullname\fP=\(dq\fIユーザのフルネーム\fP\(dq" 4 +自動ログイン用に作成するユーザのフルネームをセットします。Debian でのデフォルトは「Debian Live user」です。 +.IP "\fBlive\-config.locales\fP=\fIロケール1\fP,\fIロケール2\fP ... \fIロケールn\fP | \fBlocales\fP=\fIロケール1\fP,\fIロケール2\fP ... \fIロケールn\fP" 4 +システムのロケール、例えば「de_CH.UTF\-8」をセットします。デフォルトは「en_US.UTF\-8」です。選択したロケールが既に利用できるようになっていない場合はその場で自動的に生成されます。 +.IP "\fBlive\-config.timezone\fP=\fIタイムゾーン\fP | \fBtimezone\fP=\fIタイムゾーン\fP" 4 +システムのタイムゾーン、例えば「Europe/Zurich」をセットします。デフォルトは「UTC」です。 +.IP "\fBlive\-config.keyboard\-model\fP=\fIキーボードの種類\fP | \fBkeyboard\-model\fP=\fIキーボードの種類\fP" 4 +キーボードの種類を変更します。デフォルト値はセットされていません。 +.IP "\fBlive\-config.keyboard\-layouts\fP=\fIキーボードレイアウト1\fP,\fIキーボードレイアウト2\fP ... \fIキーボードレイアウトn\fP | \fBkeyboard\-layouts\fP=\fIキーボードレイアウト1\fP,\fIキーボードレイアウト2\fP ... \fIキーボードレイアウトn\fP" 4 +キーボードレイアウトを変更します。複数指定した場合は X11 +からデスクトップ環境のツールを使うと切り替えることができます。デフォルト値はセットされていません。 +.IP "\fBlive\-config.keyboard\-variants\fP=\fIキーボード配列1\fP,\fIキーボード配列2\fP ... \fIキーボード配列n\fP | \fBkeyboard\-variants\fP=\fIキーボード配列1\fP,\fIキーボード配列2\fP ... \fIキーボード配列n\fP" 4 +キーボード配列を変更します。複数指定する場合は指定した順にキーボードレイアウトの設定と一対一で対応するため、値をそれぞれ同数指定するようにしてください。空白を指定できます。X11 +からデスクトップ環境のツールを使うとレイアウトと配列のそれぞれの組を切り替えることができます。デフォルト値はセットされていません。 +.IP "\fBlive\-config.keyboard\-options\fP=\fIキーボードオプション\fP | \fBkeyboard\-options\fP=\fIキーボードオプション\fP" 4 +キーボードオプションを変更します。デフォルト値はセットされていません。 +.IP "\fBlive\-config.sysv\-rc\fP=\fIサービス1\fP,\fIサービス2\fP ... \fIサービスn\fP | \fBsysv\-rc\fP=\fIサービス1\fP,\fIサービス2\fP ... \fIサービスn\fP" 4 +update\-rc.d から sysv サービスを無効化します。 +.IP "\fBlive\-config.utc\fP=\fByes\fP|no | \fButc\fP=\fByes\fP|no" 4 +ハードウェア時刻が UTC でセットされているとシステムが仮定するか否かを変更します。デフォルトは「yes」です。 +.IP "\fBlive\-config.x\-session\-manager=\fP\fIXセッションマネージャ\fP | \fBx\-session\-manager\fP=\fIXセッションマネージャ\fP" 4 +update\-alternatives から x\-session\-manager をセットします。 +.IP "\fBlive\-config.xorg\-driver\fP=\fIXORGドライバ\fP | \fBxorg\-driver\fP=\fIXORGドライバ\fP" 4 +xorg ドライバを自動検出に代えてセットします。Live システム内の +/usr/share/live/config/xserver\-xorg/\fIドライバ\fP.ids で PCI ID +が指定された場合は対象デバイスについてその\fIドライバ\fPを強制的に使います。ブートパラメータと別の設定が両方ともある場合はブートパラメータが優先されます。 +.IP "\fBlive\-config.xorg\-resolution\fP=\fIXORG解像度\fP | \fBxorg\-resolution\fP=\fIXORG解像度\fP" 4 +xorg 解像度を自動検出に代えてセットします。例えば 1024x768。 +.IP "\fBlive\-config.wlan\-driver\fP=\fIWLANドライバ\fP | \fBwlan\-driver\fP=\fIWLANドライバ\fP" 4 +WLAN ドライバを自動検出に代えてセットします。Live システム内の +/usr/share/live/config/broadcom\-sta/\fIドライバ\fP.ids で PCI ID +が指定された場合は対象デバイスについてその\fIドライバ\fPを強制的に使います。ブートパラメータと別の設定が両方ともある場合はブートパラメータが優先されます。 +.IP "\fBlive\-config.hooks\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP | \fBhooks\fP=medium|filesystem|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +任意のファイルを取得、実行します。URL は wget により取得できるもの (http、 ftp、 file:// のどれか) +でないといけないことと、そのファイルは実行中の Live システムの /tmp +で実行されること、そのファイルが何かに依存している場合はそれが既にインストールされている必要があることに注意してください。例えば python +スクリプトを実行するのであればそのシステムには python がインストールされている必要があります。一般的な活用事例の一部について、そのためのフックが +/usr/share/doc/live\-config/examples/hooks/ や +<\fIhttp://live\-systems.org/other/hooks\fP> からいくらか利用できるようになっています。 +.br +ファイルが Live メディア上にある場合は file:///lib/live/mount/medium/\fIファイル\fP、Live +システム自体のルートファイルシステムにある場合は file:///\fIファイル\fP で取得できます。 +.br +「filesystem」というキーワードにより、Live システムのルートファイルシステムの /lib/live/config\-hooks/ +にあるフックを全て自動的に有効化することができます。 +.br +「medium」というキーワードにより、Live メディアの /live/config\-hooks/ +にあるフックを全て自動的に有効化することができます。 +.br +複数の仕組みを組み合わせた場合はファイルシステムのフックがまず実行され、それからメディアのフック、最後にネットワークのフックが実行されます。 + +.SS "ブートパラメータ (ショートカット)" +個々のパラメータを複数組み合わせる必要がある一般的な活用事例の一部については \fBlive\-config\fP +がショートカットを提供しています。これにより、全オプションについて細かな指示を出しつつ、同時にパラメータを単純なものにしておくことができます。 + +.IP "\fBlive\-config.noroot\fP | \fBnoroot\fP" 4 +sudo と policykit を無効にします。ユーザがそのシステムの root 権限を得ることはできなくなります。 +.IP "\fBlive\-config.noautologin\fP | \fBnoautologin\fP" 4 +自動化でのコンソールログインとグラフィカルな自動ログインを両方とも無効にします。 +.IP "\fBlive\-config.nottyautologin\fP | \fBnottyautologin\fP" 4 +自動化でのコンソールログインを無効にします。グラフィカルな自動ログインには影響しません。 +.IP "\fBlive\-config.nox11autologin\fP | \fBnox11autologin\fP" 4 +あらゆるディスプレイマネージャによる自動化でのログインを無効にします。tty の自動ログインには影響しません。 + +.SS "ブートパラメータ (特別なオプション)" +特定用途向けに特別なブートパラメータがいくつかあります。 + +.IP "\fBlive\-config.debug\fP | \fBdebug\fP" 4 +live\-config のデバッグ用出力を有効化します。 + +.SS 設定ファイル +\fBlive\-config\fP は設定ファイルにより設定 (ただし有効化しない) +することができます。ブートパラメータにより設定できるものはショートカットを除いて全てファイルによる設定もできます。設定ファイルを使う場合でも +\fBlive\-config\fP を有効化するためには「boot=live」パラメータが必要となります。 +.PP +\fB注意:\fP 設定ファイルを使う場合はブートパラメータを全て \fBLIVE_CONFIG_CMDLINE\fP 変数に配置する (好ましい) +か、変数を個々にセットすることができます。個々にセットする場合、有効な設定を作成するためにユーザは必ず必要な変数を全てセットすることが要求されます。 +.PP +設定ファイルはルートファイルシステム自体 (/etc/live/config.conf、 +/etc/live/config.conf.d/*.conf)、 または Live メディア (live/config.conf、 +live/config.conf.d/*.conf) +に配置できます。特定のオプションについて両方に配置されている場合はルートファイルシステムにあるものよりも Live メディアにあるものを優先します。 +.PP +設定ディレクトリに置かれる設定ファイルには特定の名前や拡張子が要求されるわけではありませんが、命名規則を整合性のため「vendor.conf」や「project.conf」のようにすることを提案します +(「vendor」や「project」は実際の名前に置き換え、ファイル名は「progress\-linux.conf」のようになります)。 +.PP +設定ファイルの実際の内容は以下の変数 (群) で構成されます。 + +.IP "\fBLIVE_CONFIG_CMDLINE\fP=\fIパラメータ1\fP \fIパラメータ2\fP ... \fIパラメータn\fP" 4 +この変数はブートローダのコマンドラインに相当します。 +.IP "\fBLIVE_CONFIG_COMPONENTS\fP=\fI構成要素1\fP,\fI構成要素2\fP, ... \fI構成要素n\fP" 4 +この変数は「\fBlive\-config.components\fP=\fI構成要素1\fP,\fI構成要素2\fP, ... \fI構成要素n\fP」パラメータに相当します。 +.IP "\fBLIVE_CONFIG_NOCOMPONENTS\fP=\fI構成要素1\fP,\fI構成要素2\fP, ... \fI構成要素n\fP" 4 +この変数は「\fBlive\-config.nocomponents\fP=\fI構成要素1\fP,\fI構成要素2\fP, +\&... \fI構成要素n\fP」パラメータに相当します。 +.IP "\fBLIVE_DEBCONF_PRESEED\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +この変数は「\fBlive\-config.debconf\-preseed\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| +\&... |\fIURLn\fP」パラメータに相当します。 +.IP \fBLIVE_HOSTNAME\fP=\fIホスト名\fP 4 +この変数は「\fBlive\-config.hostname\fP=\fIホスト名\fP」パラメータに相当します。 +.IP \fBLIVE_USERNAME\fP=\fIユーザ名\fP 4 +この変数は「\fBlive\-config.username\fP=\fIユーザ名\fP」パラメータに相当します。 +.IP "\fBLIVE_USER_DEFAULT_GROUPS\fP=\fIグループ1\fP,\fIグループ2\fP ... \fIグループn\fP" 4 +この変数は「\fBlive\-config.user\-default\-groups\fP="\fIグループ1\fP,\fIグループ2\fP +\&... \fIグループn\fP"」パラメータに相当します。 +.IP \fBLIVE_USER_FULLNAME\fP=\(dq\fIユーザのフルネーム\fP\(dq 4 +この変数は「\fBlive\-config.user\-fullname\fP="\fIユーザのフルネーム\fP"」パラメータに相当します。 +.IP "\fBLIVE_LOCALES\fP=\fIロケール1\fP,\fIロケール2\fP ... \fIロケールn\fP" 4 +この変数は「\fBlive\-config.locales\fP=\fIロケール1\fP,\fIロケール2\fP ... \fIロケールn\fP」パラメータに相当します。 +.IP \fBLIVE_TIMEZONE\fP=\fIタイムゾーン\fP 4 +この変数は「\fBlive\-config.timezone\fP=\fIタイムゾーン\fP」パラメータに相当します。 +.IP \fBLIVE_KEYBOARD_MODEL\fP=\fIキーボードの種類\fP 4 +この変数は「\fBlive\-config.keyboard\-model\fP=\fIキーボードの種類\fP」パラメータに相当します。 +.IP "\fBLIVE_KEYBOARD_LAYOUTS\fP=\fIキーボードレイアウト1\fP,\fIキーボードレイアウト2\fP ... \fIキーボードレイアウトn\fP" 4 +この変数は「\fBlive\-config.keyboard\-layouts\fP=\fIキーボードレイアウト1\fP,\fIキーボードレイアウト2\fP +\&... \fIキーボードレイアウトn\fP」パラメータに相当します。 +.IP "\fBLIVE_KEYBOARD_VARIANTS\fP=\fIキーボード配列1\fP,\fIキーボード配列2\fP ... \fIキーボード配列n\fP" 4 +この変数は「\fBlive\-config.keyboard\-variants\fP=\fIキーボード配列1\fP,\fIキーボード配列2\fP +\&... \fIキーボード配列n\fP」パラメータに相当します。 +.IP \fBLIVE_KEYBOARD_OPTIONS\fP=\fIキーボードオプション\fP 4 +この変数は「\fBlive\-config.keyboard\-options\fP=\fIキーボードオプション\fP」パラメータに相当します。 +.IP "\fBLIVE_SYSV_RC\fP=\fIサービス1\fP,\fIサービス2\fP ... \fIサービスn\fP" 4 +この変数は「\fBlive\-config.sysv\-rc\fP=\fIサービス1\fP,\fIサービス2\fP ... \fIサービスn\fP」パラメータに相当します。 +.IP \fBLIVE_UTC\fP=\fByes\fP|no 4 +この変数は「\fBlive\-config.utc\fP=\fByes\fP|no」パラメータに相当します。 +.IP \fBLIVE_X_SESSION_MANAGER\fP=\fIXセッションマネージャ\fP 4 +この変数は「\fBlive\-config.x\-session\-manager\fP=\fIXセッションマネージャ\fP」パラメータに相当します。 +.IP \fBLIVE_XORG_DRIVER\fP=\fIXORGドライバ\fP 4 +この変数は「\fBlive\-config.xorg\-driver\fP=\fIXORGドライバ\fP」パラメータに相当します。 +.IP \fBLIVE_XORG_RESOLUTION\fP=\fIXORG解像度\fP 4 +この変数は「\fBlive\-config.xorg\-resolution\fP=\fIXORG解像度\fP」パラメータに相当します。 +.IP \fBLIVE_WLAN_DRIVER\fP=\fIWLANドライバ\fP 4 +この変数は「\fBlive\-config.wlan\-driver\fP=\fIWLANドライバ\fP」パラメータに相当します。 +.IP "\fBLIVE_HOOKS\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| ... |\fIURLn\fP" 4 +この変数は「\fBlive\-config.hooks\fP=filesystem|medium|\fIURL1\fP|\fIURL2\fP| +\&... |\fIURLn\fP」パラメータに相当します。 +.IP \fBLIVE_CONFIG_DEBUG\fP=true|false 4 +この変数は「\fBlive\-config.debug\fP」パラメータに相当します。 + +.SH 独自化 +\fBlive\-config\fP は下流プロジェクトやローカル用途向けに簡単に独自化できます。 + +.SS 新しい設定構成要素の追加 +下流プロジェクトは /lib/live/config +に自分の構成要素を配置するだけで用は済みます。他に何かする必要はなく、その構成要素はブート中に自動的に呼ばれます。 +.PP +構成要素は自分専用の Debian パッケージに配置するのが最善です。構成要素の例を収録した見本のパッケージが +/usr/share/doc/live\-config/examples にあります。 + +.SS 既存の設定構成要素の削除 +独自に改変した \fBlive\-config\fP パッケージの作成や dpkg\-divert +の利用を要求せずに健全な方法で構成要素自体を実際に削除することは今のところできません。しかし、上記で説明した +live\-config.nocomponents +の仕組みにより該当する構成要素を無効にすれば同じことが実現できます。無効にする構成要素を常にブートパラメータから指定しないといけないということを避けるためには、上記で説明した設定ファイルを使うようにしてください。 +.PP +Live システム自体の設定ファイルは自分の Debian パッケージに配置するのが最善です。設定例を収録した見本のパッケージが +/usr/share/doc/live\-config/examples にあります。 + +.SH 構成要素 +\fBlive\-config\fP では /lib/live/config 中の以下の構成要素が現在有効です。 + +.IP \fBdebconf\fP 4 +Live メディアや http/ftp サーバに置かれた任意の preseed ファイルを適用します。 +.IP \fBhostname\fP 4 +/etc/hostname 及び /etc/hosts を設定します。 +.IP \fBuser\-setup\fP 4 +Live ユーザアカウントを追加します。 +.IP \fBsudo\fP 4 +Live ユーザに sudo 権限を与えます。 +.IP \fBlocales\fP 4 +ロケールを設定します。 +.IP \fBlocales\-all\fP 4 +locales\-all を設定します。 +.IP \fBtzdata\fP 4 +/etc/timezone を設定します。 +.IP \fBgdm3\fP 4 +gdm3 の自動ログインを設定します。 +.IP \fBkdm\fP 4 +kdm の自動ログインを設定します。 +.IP \fBlightdm\fP 4 +lightdm の自動ログインを設定します。 +.IP \fBlxdm\fP 4 +lxdm の自動ログインを設定します。 +.IP \fBnodm\fP 4 +nodm の自動ログインを設定します。 +.IP \fBslim\fP 4 +slim の自動ログインを設定します。 +.IP \fBxinit\fP 4 +xinit を使って自動ログインを設定します。 +.IP \fBkeyboard\-configuration\fP 4 +キーボードを設定します。 +.IP \fBsystemd\fP 4 +systemd の自動ログインを設定します。 +.IP \fBsysvinit\fP 4 +sysvinit を設定します。 +.IP \fBsysv\-rc\fP 4 +一覧にあるサービスを無効にして sysv\-rc を設定します。 +.IP \fBlogin\fP 4 +lastlog を無効にします。 +.IP \fBapport\fP 4 +apport を無効にします。 +.IP \fBgnome\-panel\-data\fP 4 +を無効にします。 +.IP \fBgnome\-power\-manager\fP 4 +ハイバネーションを無効にします。 +.IP \fBgnome\-screensaver\fP 4 +画面をロックするスクリーンセーバーを無効にします。 +.IP \fBkaboom\fP 4 +KDE 移行ウイザードを無効にします (squeeze 以降)。 +.IP \fBkde\-services\fP 4 +望まれていない KDE サービスの一部を無効にします (squeeze 以降)。 +.IP \fBpolicykit\fP 4 +policykit を使ってユーザ権限を与えます。 +.IP \fBssl\-cert\fP 4 +SSL の snake\-oil 証明書を再生成します。 +.IP \fBanacron\fP 4 +anacron を無効にします。 +.IP \fButil\-linux\fP 4 +util\-linux の hwclock を無効にします。 +.IP \fBlogin\fP 4 +lastlog を無効にします。 +.IP \fBxserver\-xorg\fP 4 +xserver\-xorg を設定します。 +.IP \fBbroadcom\-sta\fP 4 +broadcom\-sta WLAN ドライバを設定します。 +.IP \fBopenssh\-server\fP 4 +openssh\-server のホストキーを再生成します。 +.IP \fBxfce4\-panel\fP 4 +xfce4\-panel をデフォルト設定にします。 +.IP \fBxscreensaver\fP 4 +画面をロックするスクリーンセーバーを無効にします。 +.IP \fBhooks\fP 4 +Live メディアや http/ftp サーバに置かれたファイルから任意の任意のコマンドを実行します。 + +.SH ファイル +.IP \fB/etc/live/config.conf\fP 4 +.IP \fB/etc/live/config.conf.d/*.conf\fP 4 +.IP \fBlive/config.conf\fP 4 +.IP \fBlive/config.conf.d/*.conf\fP 4 +.IP \fB/lib/live/config.sh\fP 4 +.IP \fB/lib/live/config/\fP 4 +.IP \fB/var/lib/live/config/\fP 4 +.IP \fB/var/log/live/config.log\fP 4 +.PP +.IP \fB/live/config\-hooks/*\fP 4 +.IP \fBlive/config\-hooks/*\fP 4 +.IP \fB/live/config\-preseed/*\fP 4 +.IP "\fBlive/config\-preseed/* \fP" 4 + +.SH 関連項目 +\fIlive\-boot\fP(7) +.PP +\fIlive\-build\fP(7) +.PP +\fIlive\-tools\fP(7) + +.SH ホームページ +live\-config 及び Live +システムプロジェクトについてのさらなる情報は、<\fIhttp://live\-systems.org/\fP> のホームページや +<\fIhttp://live\-systems.org/manual/\fP> のマニュアルにあります。 + +.SH バグ +バグは <\fIhttp://bugs.debian.org/\fP> にあるバグ追跡システムに live\-config +パッケージのバグ報告として提出するか、<\fIdebian\-live@lists.debian.org\fP> にある Live +システムのメーリングリスト宛てにメールを書くことにより報告できます。 + +.SH 作者 +live\-config は Daniel Baumann さん <\fImail@daniel\-baumann.ch\fP> +により書かれました。 diff --git a/system-config/manpages/po/es/live-config.7.po b/system-config/manpages/po/es/live-config.7.po new file mode 100644 index 0000000..8d8471e --- /dev/null +++ b/system-config/manpages/po/es/live-config.7.po @@ -0,0 +1,1672 @@ +# Spanish translations for live-config +# Copyright (C) 2011-2015 Carlos Zuferri <chals@altorricon.com> +# Copyright (C) 2011-2012 José Luis Zabalza <jlz.3008@gmail.com> +# This file is distributed under the same license as the live-config package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-config\n" +"POT-Creation-Date: 2015-09-23 16:59+0200\n" +"PO-Revision-Date: 2015-08-21 11:45+0100\n" +"Last-Translator: Carlos Zuferri <chals@altorricon.com>\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "LIVE-CONFIG" +msgstr "LIVE-CONFIG" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "2015-09-23" +msgstr "" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "5.0~a5-1" +msgstr "" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "Live Systems Project" +msgstr "Proyecto Live Systems" + +#. type: SH +#: en/live-config.7:11 +#, no-wrap +msgid "NAME" +msgstr "NOMBRE" + +#. type: Plain text +#: en/live-config.7:13 +msgid "B<live-config> - System Configuration Components" +msgstr "B<live-config> - Componentes de configuración del sistema" + +#. type: SH +#: en/live-config.7:14 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPCIÓN" + +#. type: Plain text +#: en/live-config.7:16 +msgid "" +"B<live-config> contains the components that configure a live system during " +"the boot process (late userspace)." +msgstr "" +"B<live-config> contiene los componentes que configuran un sistema en vivo " +"durante el proceso de arranque (late userspace)." + +#. type: SH +#: en/live-config.7:17 +#, no-wrap +msgid "CONFIGURATION" +msgstr "CONFIGURACIÓN" + +#. type: Plain text +#: en/live-config.7:19 +msgid "" +"B<live-config> can be configured through boot parameters or configuration " +"files. If both mechanisms are used for a certain option, the boot parameters " +"take precedence over the configuration files. When using persistency, B<live-" +"config> components are only run once." +msgstr "" +"B<live-config> se puede configurar mediante parámetros durante el proceso de " +"arranque o mediante ficheros de configuración. Si se usan ambos métodos para " +"una misma opción, los parámetros de arranque tienen preferencia sobre los " +"ficheros de configuración. Cuando se utiliza la persistencia, los " +"componentes de B<live-config> sólo se ejecutan una vez." + +#. type: Plain text +#: en/live-config.7:21 +msgid "" +"If I<live-build>(7) is used to build the live system, the live-config " +"parameters used by default can be set through the --bootappend-live option, " +"see I<lb_config>(1) manual page." +msgstr "" +"Si se utiliza I<live-build>(7) para construir el sistema en vivo, los " +"parámetros de live-config utilizados por defecto se pueden establecer " +"mediante la opción --bootappend-live, ver la página del manual " +"I<lb_config>(1)" + +#. type: SS +#: en/live-config.7:22 +#, no-wrap +msgid "Boot Parameters (components)" +msgstr "Parámetros de arranque (componentes)" + +#. type: Plain text +#: en/live-config.7:24 +msgid "" +"B<live-config> is only activated if 'boot=live' is used as a boot parameter. " +"Additionally, B<live-config> needs to be told which components to run " +"through the 'live-config.components' parameter or which components to not " +"run through the 'live-config.nocomponents' parameter. If both 'live-config." +"components' and 'live-config.nocomponents' are used, or, if either one is " +"specified multiple times, always the later one takes precedence over the " +"previous one(s)." +msgstr "" +"B<live-config> sólo se activa si se utiliza como parámetro de arranque " +"«boot=live». Adicionalmente, se debe especificar a B<live-config> qué " +"componentes tiene que ejecutar mediante el parámetro «live-config." +"components» o qué componentes no tiene que ejecutar mediante la opción «live-" +"config.nocomponents». Si se usan las dos opciones «live-config.components» y " +"«live-config.nocomponents» a la vez, o si alguna de las dos se especifica " +"varias veces, la última tiene prioridad sobre las anteriores." + +#. type: IP +#: en/live-config.7:25 +#, no-wrap +msgid "B<live-config.components> | B<components>" +msgstr "B<live-config.components> | B<components>" + +#. type: Plain text +#: en/live-config.7:27 +msgid "All components are run. This is what live images use by default." +msgstr "" +"Se ejecutan todos los componentes. Esto es lo que las imágenes en vivo " +"utilizan por defecto." + +#. type: IP +#: en/live-config.7:27 +#, no-wrap +msgid "B<live-config.components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<live-config.components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:29 +msgid "" +"Only the specified components are run. Note that the order matters, e.g. " +"'live-config.components=sudo,user-setup' would not work since the user needs " +"to be added before it can be configured for sudo. Look at the filenames of " +"the components in /lib/live/config for their ordering number." +msgstr "" +"Sólo se ejecutan los scripts especificados. Se debe tener en cuenta que el " +"orden es importante. p.ej. «live-config=sudo,user-setup» no funcionaría ya " +"que el usuario debe añadirse antes de configurarse como «sudo». Puede " +"revisarse los nombres de los scripts en /lib/live/config para ver su orden." + +#. type: IP +#: en/live-config.7:29 +#, no-wrap +msgid "B<live-config.nocomponents> | B<nocomponents>" +msgstr "B<live-config.nocomponents> | B<nocomponents>" + +#. type: Plain text +#: en/live-config.7:31 +msgid "" +"No component is run. This is the same as not using any of 'live-config." +"components' or 'live-config.nocomponents'." +msgstr "" +"No se ejecuta ningún componente. Es lo mismo que no utilizar ninguno de " +"«live-config.components» o «live-config.nocomponents»." + +#. type: IP +#: en/live-config.7:31 +#, no-wrap +msgid "B<live-config.nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<live-config.nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:33 +msgid "All components are run, except the specified ones." +msgstr "Se ejecutan todos los componentes, a excepción de los especificados." + +#. type: SS +#: en/live-config.7:34 +#, no-wrap +msgid "Boot Parameters (options)" +msgstr "Parámetros de arranque (opciones)" + +#. type: Plain text +#: en/live-config.7:36 +msgid "" +"Some individual components can change their behaviour upon a boot parameter." +msgstr "" +"Algunos componentes pueden cambiar su comportamiento según que parámetros de " +"arranque se utilicen." + +#. type: IP +#: en/live-config.7:37 +#, no-wrap +msgid "B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<debconf-preseed>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<debconf-preseed>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:39 +msgid "" +"Allows to fetch and apply one or more debconf preseed files to be applied to " +"the debconf database. Note that the URLs must be fetchable by wget (http, " +"ftp or file://)." +msgstr "" +"Permite buscar y aplicar uno o más ficheros de preconfiguración debconf a la " +"base de datos de debconf. Tener en cuenta que las URLs deben poder ser " +"descargadas por wget (http, ftp o file://)." + +#. type: Plain text +#: en/live-config.7:41 en/live-config.7:83 +msgid "" +"If the file is placed on the live medium, it can be fetched with file:///lib/" +"live/mount/medium/I<FILE>, or with file:///I<FILE> if it is in the root " +"filesystem of the live system itself." +msgstr "" +"Si el fichero está en el medio en vivo, se puede obtener con file:///lib/" +"live/mount/medium/I<FILE>, o con file:///I<FILE> si se encuentra en el " +"directorio raíz del sistema en vivo." + +#. type: Plain text +#: en/live-config.7:43 +msgid "" +"All preseed files in /lib/live/config-preseed/ in the root filesystem of the " +"live system can be automatically enabled with the keyword 'filesystem'." +msgstr "" +"Todos los ficheros de preconfiguración en /lib/live/config-preseed/ en el " +"sistema de ficheros raíz del sistema en vivo pueden activarse " +"automáticamente con la palabra clave «filesystem»." + +#. type: Plain text +#: en/live-config.7:45 +msgid "" +"All preseed files in /live/config-preseed/ of the live medium can be " +"automatically enabled with the keyword 'medium'." +msgstr "" +"Todos los ficheros en /live/config-preseed/ del medio en vivo pueden " +"activarse automáticamente con la palabra clave «medium»." + +#. type: Plain text +#: en/live-config.7:47 +msgid "" +"If several mechanisms are combined, then filesystem preseed files are " +"applied first, then medium preseed files, and last the network preseed files." +msgstr "" +"Si se combinan varios mecanismos, los ficheros de preconfiguración del " +"sistema de ficheros se aplican primero, después los ficheros de " +"preconfiguración del medio, y en último lugar los de red." + +#. type: IP +#: en/live-config.7:47 +#, no-wrap +msgid "B<live-config.hostname>=I<HOSTNAME> | B<hostname>=I<HOSTNAME>" +msgstr "B<live-config.hostname>=I<HOSTNAME> | B<hostname>=I<HOSTNAME>" + +#. type: Plain text +#: en/live-config.7:49 +msgid "Allows to set the hostname of the system. The default is 'debian'." +msgstr "Permite establecer el anfitrión del sistema. Por defecto es «debian»." + +#. type: IP +#: en/live-config.7:49 +#, no-wrap +msgid "B<live-config.username>=I<USERNAME> | B<username>=I<USERNAME>" +msgstr "B<live-config.username>=I<USERNAME> | B<username>=I<USERNAME>" + +#. type: Plain text +#: en/live-config.7:51 +msgid "" +"Allows to set the username that gets created for autologin. The default is " +"'user'." +msgstr "" +"Permite establecer el nombre del usuario que se crea para iniciar sesión de " +"forma automática. Por defecto es «user»." + +#. type: IP +#: en/live-config.7:51 +#, no-wrap +msgid "B<live-config.user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn> | B<user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "B<live-config.user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn> | B<user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" + +#. type: Plain text +#: en/live-config.7:53 +msgid "" +"Allows to set the default groups of the users that gets created for " +"autologin is member of. The default is 'audio cdrom dip floppy video plugdev " +"netdev powerdev scanner bluetooth'." +msgstr "" +"Permite establecer los grupos por defecto a los que pertenecen los usuarios " +"que se crean para iniciar sesión automáticamente. Los grupos predeterminados " +"son 'audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth'." + +#. type: IP +#: en/live-config.7:53 +#, no-wrap +msgid "B<live-config.user-fullname>=\"I<USER FULLNAME>\" | B<user-fullname>=\"I<USER FULLNAME>\"" +msgstr "B<live-config.user-fullname>=\"I<USER FULLNAME>\" | B<user-fullname>=\"I<USER·FULLNAME>\"" + +#. type: Plain text +#: en/live-config.7:55 +msgid "" +"Allows to set the fullname of the users that gets created for autologin. On " +"Debian the default is 'Debian Live user'." +msgstr "" +"Permite establecer el nombre completo del usuario que se crea para iniciar " +"sesión de forma automática. Por defecto es «Debian Live user»." + +#. type: IP +#: en/live-config.7:55 +#, no-wrap +msgid "B<live-config.locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn> | B<locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "B<live-config.locales>=I<LOCALE1>,I<LOCALE2>·...·I<LOCALEn> | B<locales>=I<LOCALE1>,I<LOCALE2>·...·I<LOCALEn>" + +#. type: Plain text +#: en/live-config.7:57 +msgid "" +"Allows to set the locale of the system, e.g. 'de_CH.UTF-8'. The default is " +"'en_US.UTF-8'. In case the selected locale is not already available on the " +"system, it is automatically generated on the fly." +msgstr "" +"Permite establecer las variantes locales del sistema, p.ej. «es_ES.UTF-8». " +"Por defecto es «en_US.UTF-8». En caso de que las variantes locales no estén " +"disponibles en el sistema, se generarán sobre la marcha." + +#. type: IP +#: en/live-config.7:57 +#, no-wrap +msgid "B<live-config.timezone>=I<TIMEZONE> | B<timezone>=I<TIMEZONE>" +msgstr "B<live-config.timezone>=I<TIMEZONE> | B<timezone>=I<TIMEZONE>" + +#. type: Plain text +#: en/live-config.7:59 +msgid "" +"Allows to set the timezone of the system, e.g. 'Europe/Zurich'. The default " +"is 'UTC'." +msgstr "" +"Permite establecer la zona horaria del sistema, p.ej. «Europa/Madrid». Por " +"defecto es «UTC»." + +#. type: IP +#: en/live-config.7:59 +#, no-wrap +msgid "B<live-config.keyboard-model>=I<KEYBOARD_MODEL> | B<keyboard-model>=I<KEYBOARD_MODEL>" +msgstr "B<live-config.keyboard-model>=I<KEYBOARD_MODEL> | B<keyboard-model>=I<KEYBOARD_MODEL>" + +#. type: Plain text +#: en/live-config.7:61 +msgid "Allows to change the keyboard model. There is no default value set." +msgstr "Permite cambiar el modelo de teclado. No hay ningún valor por defecto." + +#. type: IP +#: en/live-config.7:61 +#, no-wrap +msgid "B<live-config.keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn> | B<keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "B<live-config.keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn> | B<keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" + +#. type: Plain text +#: en/live-config.7:63 +msgid "" +"Allows to change the keyboard layouts. If more than one is specified, the " +"tools of the desktop environment will allow to switch it under X11. There is " +"no default value set." +msgstr "" +"Permite cambiar la disposición del teclado. Si se especifica más de una, las " +"herramientas de escritorio permitirán cambiarlas bajo X11. No hay ningún " +"valor por defecto." + +#. type: IP +#: en/live-config.7:63 +#, no-wrap +msgid "B<live-config.keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn> | B<keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "B<live-config.keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn> | B<keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" + +#. type: Plain text +#: en/live-config.7:65 +msgid "" +"Allows to change the keyboard variants. If more than one is specified, the " +"same number of values as keyboard-layouts values should be specified as they " +"will be matched one-to-one in the order specified. Blank values are allowed. " +"The tools of the desktop environment will allow to switch between each " +"layout and variant pair under X11. There is no default value set." +msgstr "" +"Permite cambiar las variantes de teclado. Si se especifica más de una, se " +"deben especificar el mismo número de variantes como de distribuciones de " +"teclado, ya que se corresponderan una a una en el orden especificado. Se " +"pueden dejar valores en blanco. Las herramientas de escritorio permitirán " +"cambiarlas bajo X11. No hay ningún valor por defecto." + +#. type: IP +#: en/live-config.7:65 +#, no-wrap +msgid "B<live-config.keyboard-options>=I<KEYBOARD_OPTIONS> | B<keyboard-options>=I<KEYBOARD_OPTIONS>" +msgstr "B<live-config.keyboard-options>=I<KEYBOARD_OPTIONS> | B<keyboard-options>=I<KEYBOARD_OPTIONS>" + +#. type: Plain text +#: en/live-config.7:67 +msgid "Allows to change the keyboard options. There is no default value set." +msgstr "Permite cambiar las opciones del teclado. No hay un valor por defecto." + +#. type: IP +#: en/live-config.7:67 +#, no-wrap +msgid "B<live-config.sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn> | B<sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "B<live-config.sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn> | B<sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" + +#. type: Plain text +#: en/live-config.7:69 +msgid "Allows to disable sysv services through update-rc.d." +msgstr "Permite desactivar los servicios «sysv» mediante «update-rc.d»." + +#. type: IP +#: en/live-config.7:69 +#, no-wrap +msgid "B<live-config.utc>=B<yes>|no | B<utc>=B<yes>|no" +msgstr "B<live-config.utc>=B<yes>|no | B<utc>=B<yes>|no" + +#. type: Plain text +#: en/live-config.7:71 +msgid "" +"Allows to change if the system is assuming that the hardware clock is set to " +"UTC or not. The default is 'yes'." +msgstr "" +"Permite cambiar si el sistema debe asumir que el reloj de la máquina está " +"ajustado a la hora UTC o no. Por defecto es «Si»." + +#. type: IP +#: en/live-config.7:71 +#, no-wrap +msgid "B<live-config.x-session-manager=>I<X_SESSION_MANAGER> | B<x-session-manager>=I<X_SESSION_MANAGER>" +msgstr "B<live-config.x-session-manager=>I<X_SESSION_MANAGER> | B<x-session-manager>=I<X_SESSION_MANAGER>" + +#. type: Plain text +#: en/live-config.7:73 +msgid "Allows to set the x-session-manager through update-alternatives." +msgstr "" +"Permite seleccionar el gestor de sesión gráfica «x-session-manager» mediante " +"«update-alternatives»." + +#. type: IP +#: en/live-config.7:73 +#, no-wrap +msgid "B<live-config.xorg-driver>=I<XORG_DRIVER> | B<xorg-driver>=I<XORG_DRIVER>" +msgstr "B<live-config.xorg-driver>=I<XORG_DRIVER> | B<xorg-driver>=I<XORG_DRIVER>" + +#. type: Plain text +#: en/live-config.7:75 +msgid "" +"Allows to set xorg driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/xserver-xorg/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" +"Permite seleccionar el controlador xorg en lugar de detectarlo de forma " +"automática. Si se especifica un PCI ID en /usr/share/live/config/xserver-" +"xorg/I<DRIVER>.ids dentro del sistema en vivo, se aplica I<DRIVER> para " +"estos dispositivos. Si se encuentran juntos un parámetro de arranque y un " +"override, el parámetro de arranque tiene prioridad." + +#. type: IP +#: en/live-config.7:75 +#, no-wrap +msgid "B<live-config.xorg-resolution>=I<XORG_RESOLUTION> | B<xorg-resolution>=I<XORG_RESOLUTION>" +msgstr "B<live-config.xorg-resolution>=I<XORG_RESOLUTION>·|·B<xorg-resolution>=I<XORG_RESOLUTION>" + +#. type: Plain text +#: en/live-config.7:77 +msgid "" +"Allows to set xorg resolution instead of autodetecting it, e.g. 1024x768." +msgstr "" +"Permite seleccionar la resolución de xorg en lugar de detectarla de forma " +"automática, p.ej. 1024x768." + +#. type: IP +#: en/live-config.7:77 +#, no-wrap +msgid "B<live-config.wlan-driver>=I<WLAN_DRIVER> | B<wlan-driver>=I<WLAN_DRIVER>" +msgstr "B<live-config.wlan-driver>=I<WLAN_DRIVER> | B<wlan-driver>=I<WLAN_DRIVER>" + +#. type: Plain text +#: en/live-config.7:79 +msgid "" +"Allows to set WLAN driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/broadcom-sta/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" +"Permite seleccionar el controlador WLAN en lugar de detectarlo de forma " +"automática. Si se especifica un PCI ID en /usr/share/live/config/broadcom-" +"sta/I<DRIVER>.ids dentro del sistema en vivo, se aplica I<DRIVER> para " +"estos dispositivos. Si se encuentran juntos un parámetro de arranque y un " +"override, el parámetro de arranque tiene prioridad." + +#. type: IP +#: en/live-config.7:79 +#, no-wrap +msgid "B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<hooks>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<hooks>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:81 +msgid "" +"Allows to fetch and execute one or more arbitrary files. Note that the URLs " +"must be fetchable by wget (http, ftp or file://), the files are executed in /" +"tmp of the running live system, and that the files needs their dependencies, " +"if any, already installed, e.g. if a python script should be executed the " +"system needs python installed. Some hooks for some common use-cases are " +"available at /usr/share/doc/live-config/examples/hooks/ and E<lt>I<http://" +"live-systems.org/other/hooks>E<gt>." +msgstr "" +"Permite buscar y ejecutar uno o más ficheros de forma arbitraria. Tener en " +"cuenta que las URLs deben ser descargadas usando wget (http, ftp o file://), " +"los ficheros se ejecutan en el directorio /tmp del sistema en vivo en " +"ejecución y que los ficheros necesitan, si tienen dependencias, tenerlas " +"resueltas. p.ej. Si se debe ejecutar un script python, el sistema necesita " +"tener python instalado. Hay algunos scripts gancho para varios casos de uso " +"común disponibles en /usr/share/doc/live-config/examples/hooks/ y en " +"E<lt>I<http://live-systems.org/other/hooks>E<gt>." + +#. type: Plain text +#: en/live-config.7:85 +msgid "" +"All hooks in /lib/live/config-hooks/ in the root filesystem of the live " +"system can be automatically enabled with the keyword 'filesystem'." +msgstr "" +"Todos los scripts gancho de /lib/live/config-hooks/ del directorio raíz del " +"sistema en vivo pueden activarse con la palabra clave «filesystem»." + +#. type: Plain text +#: en/live-config.7:87 +msgid "" +"All hooks in /live/config-hooks/ of the live medium can be automatically " +"enabled with the keyword 'medium'." +msgstr "" +"Todos los scripts gancho de /live/config-hooks/ del medio en vivo pueden " +"activarse con la palabra clave «medium»." + +#. type: Plain text +#: en/live-config.7:89 +msgid "" +"If several mechanisms are combined, then filesystem hooks are executed " +"first, then medium hooks, and last the network hooks." +msgstr "" +"Si se combinan varios mecanismos, los scripts gancho del sistema de ficheros " +"se ejecutan primero, después los del medio, y en último lugar los de red." + +#. type: SS +#: en/live-config.7:90 +#, no-wrap +msgid "Boot Parameters (shortcuts)" +msgstr "Parámetros de arranque (atajos)" + +#. type: Plain text +#: en/live-config.7:92 +msgid "" +"For some common use cases where it would require to combine several " +"individual parameters, B<live-config> provides shortcuts. This allows both " +"to have full granularity over all the options, as well keep things simple." +msgstr "" +"Para algunos casos de uso común en los que es necesario combinar varios " +"parámetros individuales, B<live-config> proporciona atajos. Esto permite " +"tener control total sobre todas las opciones así como poder hacer las cosas " +"de forma sencilla." + +#. type: IP +#: en/live-config.7:93 +#, no-wrap +msgid "B<live-config.noroot> | B<noroot>" +msgstr "B<live-config.noroot> | B<noroot>" + +#. type: Plain text +#: en/live-config.7:95 +msgid "" +"Disables sudo and policykit, the user cannot gain root privileges on the " +"system." +msgstr "" +"Desactiva sudo y policyKit, el usuario no puede obtener privilegios de " +"superusuario en el sistema." + +#. type: IP +#: en/live-config.7:95 +#, no-wrap +msgid "B<live-config.noautologin> | B<noautologin>" +msgstr "B<live-config.noautologin> | B<noautologin>" + +#. type: Plain text +#: en/live-config.7:97 +msgid "Disables both the automatic console login and the graphical autologin." +msgstr "" +"Desactiva el inicio de sesión automático en la consola y el inicio de sesión " +"automático en la interfaz gráfica." + +#. type: IP +#: en/live-config.7:97 +#, no-wrap +msgid "B<live-config.nottyautologin> | B<nottyautologin>" +msgstr "B<live-config.nottyautologin> | B<nottyautologin>" + +#. type: Plain text +#: en/live-config.7:99 +msgid "" +"Disables the automatic login on the console, not affecting the graphical " +"autologin." +msgstr "" +"Desactiva el inicio de sesión automático en la consola, sin afectar al " +"inicio de sesión automático gráfico." + +#. type: IP +#: en/live-config.7:99 +#, no-wrap +msgid "B<live-config.nox11autologin> | B<nox11autologin>" +msgstr "B<live-config.nox11autologin> | B<nox11autologin>" + +#. type: Plain text +#: en/live-config.7:101 +msgid "" +"Disables the automatic login with any display manager, not affecting tty " +"autologin." +msgstr "" +"Desactiva el inicio de sesión automático con cualquier gestor de ventanas, " +"sin afectar el inicio de sesión automático en un terminal tty." + +#. type: SS +#: en/live-config.7:102 +#, no-wrap +msgid "Boot Parameters (special options)" +msgstr "Parámetros de arranque (opciones especiales)" + +#. type: Plain text +#: en/live-config.7:104 +msgid "For special use cases there are some special boot paramters." +msgstr "" +"Para casos de uso especial hay algunos parámetros de arranque especiales." + +#. type: IP +#: en/live-config.7:105 +#, no-wrap +msgid "B<live-config.debug> | B<debug>" +msgstr "B<live-config.debug> | B<debug>" + +#. type: Plain text +#: en/live-config.7:107 +msgid "Enables debug output in live-config." +msgstr "Activa la información sobre errores en live-config. " + +#. type: SS +#: en/live-config.7:108 +#, no-wrap +msgid "Configuration Files" +msgstr "Ficheros de configuración" + +#. type: Plain text +#: en/live-config.7:110 +msgid "" +"B<live-config> can be configured (but not activated) through configuration " +"files. Everything but the shortcuts that can be configured with a boot " +"parameter can also alternatively be configured through one or more files. If " +"configuration files are used, the 'boot=live' parameter is still required to " +"activate B<live-config>." +msgstr "" +"B<live-config> se puede configurar (pero no activar) mediante ficheros de " +"configuración. Todo, excepto los atajos que se pueden configurar con un " +"parámetro de arranque, puede ser, alternativamente, configurado a través de " +"uno o más ficheros. Aunque se utilicen los ficheros de configuración, el " +"parámetro «boot =live» es necesario para activar B<live-config>." + +#. type: Plain text +#: en/live-config.7:112 +msgid "" +"B<Note:> If configuration files are used, either (preferably) all boot " +"parameters should be put into the B<LIVE_CONFIG_CMDLINE> variable, or " +"individual variables can be set. If individual variables are used, the user " +"is required to ensure that all the necessary variables are set to create a " +"valid configuration." +msgstr "" +"B<Nota:> Si se utilizan ficheros de configuración, todos los parámetros de " +"arranque deben (preferiblemente) ser especificados en la variable " +"B<LIVE_CONFIG_CMDLINE> o bien, se pueden especificar variables individuales, " +"el usuario debe asegurarse de crear todas las variables necesarias para " +"tener una configuración válida." + +#. type: Plain text +#: en/live-config.7:114 +msgid "" +"Configuration files can be placed either in the root filesystem itself (/etc/" +"live/config.conf, /etc/live/config.conf.d/*.conf), or on the live media " +"(live/config.conf, live/config.conf.d/*.conf). If both places are used for a " +"certain option, the ones from the live media take precedence over the ones " +"from the root filesystem." +msgstr "" +"Los ficheros de configuración se pueden colocar en el sistema de ficheros " +"raíz (/etc/live/config.conf, /etc/live/config.conf.d/*.conf), o en el medio " +"en vivo (live/config.conf, live/config.conf.d/*.conf). Si ambos directorios " +"se utilizan para una determinada opción, la del medio en vivo tienen " +"prioridad sobre la del sistema de ficheros raíz." + +#. type: Plain text +#: en/live-config.7:116 +msgid "" +"Although the configuration files placed in the configuration directories do " +"not require a particular name or suffix, it is suggested for consistency " +"reasons to either use 'vendor.conf' or 'project.conf' as a naming scheme " +"(whereas 'vendor' or 'project' is replaced with the actual name, resulting " +"in a filename like 'progress-linux.conf')." +msgstr "" +"Aunque los ficheros de configuración situados en los directorios de " +"configuración no requieren un nombre o sufijo en concreto, se sugiere, por " +"coherencia, utilizar como nomenclatura «vendor.conf» o «project." +"conf» (Siempre que «vendor» o «project» se sustituya por el nombre real, lo " +"que resultará en un nombre de fichero como «progress-linux.conf»)." + +#. type: Plain text +#: en/live-config.7:118 +msgid "" +"The actual content of the configuration files consists of one or more of the " +"following variables." +msgstr "" +"El contenido de los ficheros de configuración consiste en una o más de las " +"siguientes variables." + +#. type: IP +#: en/live-config.7:119 +#, no-wrap +msgid "B<LIVE_CONFIG_CMDLINE>=I<PARAMETER1> I<PARAMETER2> ... I<PARAMETERn>" +msgstr "B<LIVE_CONFIG_CMDLINE>=I<PARAMETER1> I<PARAMETER2> ... I<PARAMETERn>" + +#. type: Plain text +#: en/live-config.7:121 +msgid "This variable corresponds to the bootloader command line." +msgstr "" +"Esta variable corresponde a la línea de comandos del gestor de arranque." + +#. type: IP +#: en/live-config.7:121 +#, no-wrap +msgid "B<LIVE_CONFIG_COMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<LIVE_CONFIG_COMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:123 +msgid "" +"This variable corresponds to the 'B<live-config.components>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config." +"components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>'" + +#. type: IP +#: en/live-config.7:123 +#, no-wrap +msgid "B<LIVE_CONFIG_NOCOMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<LIVE_CONFIG_NOCOMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:125 +msgid "" +"This variable corresponds to the 'B<live-config.nocomponents>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config." +"nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>'" + +#. type: IP +#: en/live-config.7:125 +#, no-wrap +msgid "B<LIVE_DEBCONF_PRESEED>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<LIVE_DEBCONF_PRESEED>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:127 +msgid "" +"This variable corresponds to the 'B<live-config.debconf-preseed>=filesystem|" +"medium|I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.debconf-" +"preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>'." + +#. type: IP +#: en/live-config.7:127 +#, no-wrap +msgid "B<LIVE_HOSTNAME>=I<HOSTNAME>" +msgstr "B<LIVE_HOSTNAME>=I<HOSTNAME>" + +#. type: Plain text +#: en/live-config.7:129 +msgid "" +"This variable corresponds to the 'B<live-config.hostname>=I<HOSTNAME>' " +"parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.hostname>=I<HOSTNAME>'" + +#. type: IP +#: en/live-config.7:129 +#, no-wrap +msgid "B<LIVE_USERNAME>=I<USERNAME>" +msgstr "B<LIVE_USERNAME>=I<USERNAME>" + +#. type: Plain text +#: en/live-config.7:131 +msgid "" +"This variable corresponds to the 'B<live-config.username>=I<USERNAME>' " +"parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.username>=I<USERNAME>'" + +#. type: IP +#: en/live-config.7:131 +#, no-wrap +msgid "B<LIVE_USER_DEFAULT_GROUPS>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "B<LIVE_USER_DEFAULT_GROUPS>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" + +#. type: Plain text +#: en/live-config.7:133 +msgid "" +"This variable corresponds to the 'B<live-config.user-default-groups>=" +"\"I<GROUP1>,I<GROUP2> ... I<GROUPn>\"' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.user-default-groups>=" +"\"I<GROUP1>,I<GROUP2> ... I<GROUPn>\"'" + +#. type: IP +#: en/live-config.7:133 +#, no-wrap +msgid "B<LIVE_USER_FULLNAME>=\"I<USER FULLNAME>\"" +msgstr "B<LIVE_USER_FULLNAME>=\"I<USER FULLNAME>\"" + +#. type: Plain text +#: en/live-config.7:135 +msgid "" +"This variable corresponds to the 'B<live-config.user-fullname>=\"I<USER " +"FULLNAME>\"' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.user-fullname>=" +"\"I<USER FULLNAME>\"'" + +#. type: IP +#: en/live-config.7:135 +#, no-wrap +msgid "B<LIVE_LOCALES>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "B<LIVE_LOCALES>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" + +#. type: Plain text +#: en/live-config.7:137 +msgid "" +"This variable corresponds to the 'B<live-config.locales>=I<LOCALE1>," +"I<LOCALE2> ... I<LOCALEn>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.locales>=I<LOCALE1>," +"I<LOCALE2> ... I<LOCALEn>'" + +#. type: IP +#: en/live-config.7:137 +#, no-wrap +msgid "B<LIVE_TIMEZONE>=I<TIMEZONE>" +msgstr "B<LIVE_TIMEZONE>=I<TIMEZONE>" + +#. type: Plain text +#: en/live-config.7:139 +msgid "" +"This variable corresponds to the 'B<live-config.timezone>=I<TIMEZONE>' " +"parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.timezone>=I<TIMEZONE>'" + +#. type: IP +#: en/live-config.7:139 +#, no-wrap +msgid "B<LIVE_KEYBOARD_MODEL>=I<KEYBOARD_MODEL>" +msgstr "B<LIVE_KEYBOARD_MODEL>=I<KEYBOARD_MODEL>" + +#. type: Plain text +#: en/live-config.7:141 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"model>=I<KEYBOARD_MODEL>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.keyboard-" +"model>=I<KEYBOARD_MODEL>'" + +#. type: IP +#: en/live-config.7:141 +#, no-wrap +msgid "B<LIVE_KEYBOARD_LAYOUTS>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "B<LIVE_KEYBOARD_LAYOUTS>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" + +#. type: Plain text +#: en/live-config.7:143 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>' " +"parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.keyboard-" +"layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>'" + +#. type: IP +#: en/live-config.7:143 +#, no-wrap +msgid "B<LIVE_KEYBOARD_VARIANTS>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "B<LIVE_KEYBOARD_VARIANTS>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" + +#. type: Plain text +#: en/live-config.7:145 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... " +"I<KEYBOARD_VARIANTn>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.keyboard-" +"variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>'" + +#. type: IP +#: en/live-config.7:145 +#, no-wrap +msgid "B<LIVE_KEYBOARD_OPTIONS>=I<KEYBOARD_OPTIONS>" +msgstr "B<LIVE_KEYBOARD_OPTIONS>=I<KEYBOARD_OPTIONS>" + +#. type: Plain text +#: en/live-config.7:147 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"options>=I<KEYBOARD_OPTIONS>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.keyboard-" +"options>=I<KEYBOARD_OPTIONS>'" + +#. type: IP +#: en/live-config.7:147 +#, no-wrap +msgid "B<LIVE_SYSV_RC>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "B<LIVE_SYSV_RC>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" + +#. type: Plain text +#: en/live-config.7:149 +msgid "" +"This variable corresponds to the 'B<live-config.sysv-rc>=I<SERVICE1>," +"I<SERVICE2> ... I<SERVICEn>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.sysv-rc>=I<SERVICE1>," +"I<SERVICE2> ... I<SERVICEn>'" + +#. type: IP +#: en/live-config.7:149 +#, no-wrap +msgid "B<LIVE_UTC>=B<yes>|no" +msgstr "B<LIVE_UTC>=B<yes>|no" + +#. type: Plain text +#: en/live-config.7:151 +msgid "" +"This variable corresponds to the 'B<live-config.utc>=B<yes>|no' parameter." +msgstr "Esta variable corresponde al parámetro 'B<live-config.utc>=B<yes>|no'" + +#. type: IP +#: en/live-config.7:151 +#, no-wrap +msgid "B<LIVE_X_SESSION_MANAGER>=I<X_SESSION_MANAGER>" +msgstr "B<LIVE_X_SESSION_MANAGER>=I<X_SESSION_MANAGER>" + +#. type: Plain text +#: en/live-config.7:153 +msgid "" +"This variable corresponds to the 'B<live-config.x-session-" +"manager>=I<X_SESSION_MANAGER>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.x-session-" +"manager>=I<X_SESSION_MANAGER>'" + +#. type: IP +#: en/live-config.7:153 +#, no-wrap +msgid "B<LIVE_XORG_DRIVER>=I<XORG_DRIVER>" +msgstr "B<LIVE_XORG_DRIVER>=I<XORG_DRIVER>" + +#. type: Plain text +#: en/live-config.7:155 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-driver>=I<XORG_DRIVER>' " +"parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.xorg-" +"driver>=I<XORG_DRIVER>'" + +#. type: IP +#: en/live-config.7:155 +#, no-wrap +msgid "B<LIVE_XORG_RESOLUTION>=I<XORG_RESOLUTION>" +msgstr "B<LIVE_XORG_RESOLUTION>=I<XORG_RESOLUTION>" + +#. type: Plain text +#: en/live-config.7:157 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-" +"resolution>=I<XORG_RESOLUTION>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.xorg-" +"resolution>=I<XORG_RESOLUTION>'" + +#. type: IP +#: en/live-config.7:157 +#, no-wrap +msgid "B<LIVE_WLAN_DRIVER>=I<WLAN_DRIVER>" +msgstr "B<LIVE_WLAN_DRIVER>=I<WLAN_DRIVER>" + +#. type: Plain text +#: en/live-config.7:159 +msgid "" +"This variable corresponds to the 'B<live-config.wlan-driver>=I<WLAN_DRIVER>' " +"parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.wlan-" +"driver>=I<WLAN_DRIVER>'" + +#. type: IP +#: en/live-config.7:159 +#, no-wrap +msgid "B<LIVE_HOOKS>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<LIVE_HOOKS>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:161 +msgid "" +"This variable corresponds to the 'B<live-config.hooks>=filesystem|medium|" +"I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" +"Esta variable corresponde al parámetro 'B<live-config.hooks>=filesystem|" +"medium|I<URL1>|I<URL2>| ... |I<URLn>'" + +#. type: IP +#: en/live-config.7:161 +#, no-wrap +msgid "B<LIVE_CONFIG_DEBUG>=true|false" +msgstr "B<LIVE_CONFIG_DEBUG>=true|false" + +#. type: Plain text +#: en/live-config.7:163 +msgid "This variable corresponds to the 'B<live-config.debug>' parameter." +msgstr "Esta variable corresponde al parámetro 'B<live-config.debug>'" + +#. type: SH +#: en/live-config.7:164 +#, no-wrap +msgid "CUSTOMIZATION" +msgstr "PERSONALIZACIÓN" + +#. type: Plain text +#: en/live-config.7:166 +msgid "" +"B<live-config> can be easily customized for downstream projects or local " +"usage." +msgstr "" +"B<live-config> puede ser fácilmente personalizado para proyectos derivados o " +"de uso local." + +#. type: SS +#: en/live-config.7:167 +#, no-wrap +msgid "Adding new config components" +msgstr "Añadiendo nuevos componentes de configuración" + +#. type: Plain text +#: en/live-config.7:169 +msgid "" +"Downstream projects can put their components into /lib/live/config and do " +"not need to do anything else, the components will be called automatically " +"during boot." +msgstr "" +"Los proyectos derivados pueden incluir sus componentes en /lib/live/config y " +"sin necesidad de hacer otra cosa, las secuencias de comandos se ejecutarán " +"automáticamente durante el proceso de arranque." + +#. type: Plain text +#: en/live-config.7:171 +msgid "" +"The components are best put into an own debian package. A sample package " +"containing an example component can be found in /usr/share/doc/live-config/" +"examples." +msgstr "" +"Lo ideal sería incluir los componentes en su propio paquete debian. En /usr/" +"share/doc/live-config/examples se encuentra un paquete de muestra con un " +"componente de ejemplo." + +#. type: SS +#: en/live-config.7:172 +#, no-wrap +msgid "Removing existing config components" +msgstr "Eliminación de componentes de configuración existentes." + +#. type: Plain text +#: en/live-config.7:174 +msgid "" +"It is not really possible to remove components itself in a sane way yet " +"without requiring either to ship a locally modified B<live-config> package " +"or using dpkg-divert. However, the same can be achieved by disabling the " +"respective components through the live-config.nocomponents mechanism, see " +"above. To avoid to always need specifing disabled components through the " +"boot parameter, a configuration file should be used, see above." +msgstr "" +"No es realmente posible eliminar los componentes de una manera sensata sin " +"incluir un paquete B<live-config> modificado localmente o utilizando dpkg-" +"divert. Sin embargo, se puede obtener el mismo resultado si se desactivan " +"los componentes correspondientes a través del mecanismo live-config." +"nocomponents, como se ha indicado anteriormente. Para evitar que siempre " +"haga falta especificar qué componentes se desactivan a través del parámetro " +"de arranque, debería utilizarse un fichero de configuración, véase más " +"arriba." + +#. type: Plain text +#: en/live-config.7:176 +msgid "" +"The configuration files for the live system itself are best put into an own " +"debian package. A sample package containing an example configuration can be " +"found in /usr/share/doc/live-config/examples." +msgstr "" +"Lo ideal sería incluir los ficheros de configuración para el sistema en vivo " +"dentro de un paquete debian. Se puede encontrar un paquete de muestra con un " +"ejemplo de configuración en /usr/share/doc/live-config/examples." + +#. type: SH +#: en/live-config.7:177 +#, no-wrap +msgid "COMPONENTS" +msgstr "COMPONENTES" + +#. type: Plain text +#: en/live-config.7:179 +msgid "" +"B<live-config> currently features the following components in /lib/live/" +"config." +msgstr "B<live-config> incluye los siguientes componentes en /lib/live/config." + +#. type: IP +#: en/live-config.7:180 +#, no-wrap +msgid "B<debconf>" +msgstr "B<debconf>" + +#. type: Plain text +#: en/live-config.7:182 +msgid "" +"allows to apply arbitrary preseed files placed on the live media or an http/" +"ftp server." +msgstr "" +"permite aplicar de forma arbitraria ficheros de preconfiguración situados en " +"el medios en vivo o en un servidor http/ftp." + +#. type: IP +#: en/live-config.7:182 +#, no-wrap +msgid "B<hostname>" +msgstr "B<hostname>" + +#. type: Plain text +#: en/live-config.7:184 +msgid "configures /etc/hostname and /etc/hosts." +msgstr "configura /etc/hostname y /etc/hosts." + +#. type: IP +#: en/live-config.7:184 +#, no-wrap +msgid "B<user-setup>" +msgstr "B<user-setup>" + +#. type: Plain text +#: en/live-config.7:186 +msgid "adds a live user account." +msgstr "Añade una cuenta de usuario en vivo." + +#. type: IP +#: en/live-config.7:186 +#, no-wrap +msgid "B<sudo>" +msgstr "B<sudo>" + +#. type: Plain text +#: en/live-config.7:188 +msgid "grants sudo privileges to the live user." +msgstr "garantiza privilegios de sudo al usuario del sistema en vivo." + +#. type: IP +#: en/live-config.7:188 +#, no-wrap +msgid "B<locales>" +msgstr "B<locales>" + +#. type: Plain text +#: en/live-config.7:190 +msgid "configures locales." +msgstr "configura las variantes locales." + +#. type: IP +#: en/live-config.7:190 +#, no-wrap +msgid "B<locales-all>" +msgstr "B<locales-all>" + +#. type: Plain text +#: en/live-config.7:192 +msgid "configures locales-all." +msgstr "configura las variantes locales-all." + +#. type: IP +#: en/live-config.7:192 +#, no-wrap +msgid "B<tzdata>" +msgstr "B<tzdata>" + +#. type: Plain text +#: en/live-config.7:194 +msgid "configures /etc/timezone." +msgstr "configura /etc/timezone." + +#. type: IP +#: en/live-config.7:194 +#, no-wrap +msgid "B<gdm3>" +msgstr "B<gdm3>" + +#. type: Plain text +#: en/live-config.7:196 +msgid "configures autologin in gdm3." +msgstr "configura el inicio de sesión automático en gdm3." + +#. type: IP +#: en/live-config.7:196 +#, no-wrap +msgid "B<kdm>" +msgstr "B<kdm>" + +#. type: Plain text +#: en/live-config.7:198 +msgid "configures autologin in kdm." +msgstr "configura el inicio de sesión automático en kdm." + +#. type: IP +#: en/live-config.7:198 +#, no-wrap +msgid "B<lightdm>" +msgstr "B<lightdm>" + +#. type: Plain text +#: en/live-config.7:200 +msgid "configures autologin in lightdm." +msgstr "configura el inicio de sesión automático en lightdm." + +#. type: IP +#: en/live-config.7:200 +#, no-wrap +msgid "B<lxdm>" +msgstr "B<lxdm>" + +#. type: Plain text +#: en/live-config.7:202 +msgid "configures autologin in lxdm." +msgstr "configura el inicio de sesión automático en lxdm." + +#. type: IP +#: en/live-config.7:202 +#, no-wrap +msgid "B<nodm>" +msgstr "B<nodm>" + +#. type: Plain text +#: en/live-config.7:204 +msgid "configures autologin in nodm." +msgstr "configura el inicio de sesión automático en nodm." + +#. type: IP +#: en/live-config.7:204 +#, no-wrap +msgid "B<slim>" +msgstr "B<slim>" + +#. type: Plain text +#: en/live-config.7:206 +msgid "configures autologin in slim." +msgstr "configura el inicio de sesión automático en slim." + +#. type: IP +#: en/live-config.7:206 +#, no-wrap +msgid "B<xinit>" +msgstr "B<xinit>" + +#. type: Plain text +#: en/live-config.7:208 +msgid "configures autologin with xinit." +msgstr "configura el inicio de sesión automático con xinit." + +#. type: IP +#: en/live-config.7:208 +#, no-wrap +msgid "B<keyboard-configuration>" +msgstr "B<keyboard-configuration>" + +#. type: Plain text +#: en/live-config.7:210 +msgid "configures the keyboard." +msgstr "configura el teclado." + +#. type: IP +#: en/live-config.7:210 +#, no-wrap +msgid "B<systemd>" +msgstr "B<systemd>" + +#. type: Plain text +#: en/live-config.7:212 +msgid "configures systemd autologin." +msgstr "configura el inicio de sesión automático con systemd." + +#. type: IP +#: en/live-config.7:212 +#, no-wrap +msgid "B<sysvinit>" +msgstr "B<sysvinit>" + +#. type: Plain text +#: en/live-config.7:214 +msgid "configures sysvinit." +msgstr "configura sysvinit." + +#. type: IP +#: en/live-config.7:214 +#, no-wrap +msgid "B<sysv-rc>" +msgstr "B<sysv-rc>" + +#. type: Plain text +#: en/live-config.7:216 +msgid "configures sysv-rc by disabling listed services." +msgstr "configura sysv-rc desactivando los sevicios listados." + +#. type: IP +#: en/live-config.7:216 en/live-config.7:238 +#, no-wrap +msgid "B<login>" +msgstr "B<login>" + +#. type: Plain text +#: en/live-config.7:218 en/live-config.7:240 +msgid "disables lastlog." +msgstr "Desactiva lastlog." + +#. type: IP +#: en/live-config.7:218 +#, no-wrap +msgid "B<apport>" +msgstr "B<apport>" + +#. type: Plain text +#: en/live-config.7:220 +msgid "disables apport." +msgstr "Desactiva apport." + +#. type: IP +#: en/live-config.7:220 +#, no-wrap +msgid "B<gnome-panel-data>" +msgstr "B<gnome-panel-data>" + +#. type: Plain text +#: en/live-config.7:222 +msgid "disables lock button for the screen." +msgstr "Desactiva el botón de bloqueo de la pantalla." + +#. type: IP +#: en/live-config.7:222 +#, no-wrap +msgid "B<gnome-power-manager>" +msgstr "B<gnome-power-manager>" + +#. type: Plain text +#: en/live-config.7:224 +msgid "disables hibernation." +msgstr "Desactiva la hibernación." + +#. type: IP +#: en/live-config.7:224 +#, no-wrap +msgid "B<gnome-screensaver>" +msgstr "B<gnome-screensaver>" + +#. type: Plain text +#: en/live-config.7:226 en/live-config.7:250 +msgid "disables the screensaver locking the screen." +msgstr "Impide que el salvapantallas bloquee la pantalla." + +#. type: IP +#: en/live-config.7:226 +#, no-wrap +msgid "B<kaboom>" +msgstr "B<kaboom>" + +#. type: Plain text +#: en/live-config.7:228 +msgid "disables KDE migration wizard (squeeze and newer)." +msgstr "Desactiva el asistente de migración de KDE (Squeeze y superior)." + +#. type: IP +#: en/live-config.7:228 +#, no-wrap +msgid "B<kde-services>" +msgstr "B<kde-services>" + +#. type: Plain text +#: en/live-config.7:230 +msgid "disables some unwanted KDE services (squeeze and newer)." +msgstr "Desactiva algunos servicios de KDE no deseados (squeeze y superior)." + +#. type: IP +#: en/live-config.7:230 +#, no-wrap +msgid "B<policykit>" +msgstr "B<policykit>" + +#. type: Plain text +#: en/live-config.7:232 +msgid "grant user privilegies through policykit." +msgstr "garantiza privilegios de usuario mediante policykit." + +#. type: IP +#: en/live-config.7:232 +#, no-wrap +msgid "B<ssl-cert>" +msgstr "B<ssl-cert>" + +#. type: Plain text +#: en/live-config.7:234 +msgid "regenerating ssl snake-oil certificates." +msgstr "Regenera los certificados ssl snake-oil." + +#. type: IP +#: en/live-config.7:234 +#, no-wrap +msgid "B<anacron>" +msgstr "B<anacron>" + +#. type: Plain text +#: en/live-config.7:236 +msgid "disables anacron." +msgstr "Desactiva anacron." + +#. type: IP +#: en/live-config.7:236 +#, no-wrap +msgid "B<util-linux>" +msgstr "B<util-linux>" + +#. type: Plain text +#: en/live-config.7:238 +msgid "disables util-linux' hwclock." +msgstr "Desactiva util-linux' hwclock." + +#. type: IP +#: en/live-config.7:240 +#, no-wrap +msgid "B<xserver-xorg>" +msgstr "B<xserver-xorg>" + +#. type: Plain text +#: en/live-config.7:242 +msgid "configures xserver-xorg." +msgstr "configura xserver-xorg." + +#. type: IP +#: en/live-config.7:242 +#, no-wrap +msgid "B<broadcom-sta>" +msgstr "B<broadcom-sta>" + +#. type: Plain text +#: en/live-config.7:244 +msgid "configures broadcom-sta WLAN drivers." +msgstr "configura el controlador broadcom-sta WLAN." + +#. type: IP +#: en/live-config.7:244 +#, no-wrap +msgid "B<openssh-server>" +msgstr "B<openssh-server>" + +#. type: Plain text +#: en/live-config.7:246 +msgid "recreates openssh-server host keys." +msgstr "Recrea las claves del host openssh-server." + +#. type: IP +#: en/live-config.7:246 +#, no-wrap +msgid "B<xfce4-panel>" +msgstr "B<xfce4-panel>" + +#. type: Plain text +#: en/live-config.7:248 +msgid "configures xfce4-panel to default settings." +msgstr "configura xfce4-panel utilizando las opciones por defecto." + +#. type: IP +#: en/live-config.7:248 +#, no-wrap +msgid "B<xscreensaver>" +msgstr "B<xscreensaver>" + +#. type: IP +#: en/live-config.7:250 +#, no-wrap +msgid "B<hooks>" +msgstr "B<hooks>" + +#. type: Plain text +#: en/live-config.7:252 +msgid "" +"allows to run arbitrary commands from a file placed on the live media or an " +"http/ftp server." +msgstr "" +"permite ejecutar de forma arbitraria los comandos de un fichero ubicado en " +"el medio en vivo o en un servidor http/ftp." + +#. type: SH +#: en/live-config.7:253 +#, no-wrap +msgid "FILES" +msgstr "FICHEROS" + +#. type: IP +#: en/live-config.7:254 +#, no-wrap +msgid "B</etc/live/config.conf>" +msgstr "B</etc/live/config.conf>" + +#. type: IP +#: en/live-config.7:255 +#, no-wrap +msgid "B</etc/live/config.conf.d/*.conf>" +msgstr "B</etc/live/config.conf.d/*.conf>" + +#. type: IP +#: en/live-config.7:256 +#, no-wrap +msgid "B<live/config.conf>" +msgstr "B<live/config.conf>" + +#. type: IP +#: en/live-config.7:257 +#, no-wrap +msgid "B<live/config.conf.d/*.conf>" +msgstr "B<live/config.conf.d/*.conf>" + +#. type: IP +#: en/live-config.7:258 +#, no-wrap +msgid "B</lib/live/config.sh>" +msgstr "B</lib/live/config.sh>" + +#. type: IP +#: en/live-config.7:259 +#, no-wrap +msgid "B</lib/live/config/>" +msgstr "B</lib/live/config/>" + +#. type: IP +#: en/live-config.7:260 +#, no-wrap +msgid "B</var/lib/live/config/>" +msgstr "B</var/lib/live/config/>" + +#. type: IP +#: en/live-config.7:261 +#, no-wrap +msgid "B</var/log/live/config.log>" +msgstr "B</var/log/live/config.log>" + +#. type: IP +#: en/live-config.7:263 +#, no-wrap +msgid "B</live/config-hooks/*>" +msgstr "B</live/config-hooks/*>" + +#. type: IP +#: en/live-config.7:264 +#, no-wrap +msgid "B<live/config-hooks/*>" +msgstr "B<live/config-hooks/*>" + +#. type: IP +#: en/live-config.7:265 +#, no-wrap +msgid "B</live/config-preseed/*>" +msgstr "B</live/config-preseed/*>" + +#. type: IP +#: en/live-config.7:266 +#, no-wrap +msgid "B<live/config-preseed/* >" +msgstr "B<live/config-preseed/* >" + +#. type: SH +#: en/live-config.7:268 +#, no-wrap +msgid "SEE ALSO" +msgstr "VER ADEMÁS" + +#. type: Plain text +#: en/live-config.7:270 +msgid "I<live-boot>(7)" +msgstr "I<live-boot>(7)" + +#. type: Plain text +#: en/live-config.7:272 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-config.7:274 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-config.7:275 +#, no-wrap +msgid "HOMEPAGE" +msgstr "PÁGINA PRINCIPAL" + +#. type: Plain text +#: en/live-config.7:277 +msgid "" +"More information about live-config and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"Se puede encontrar más información acerca de live-config y el proyecto Live " +"Systems en su página principal en E<lt>I<http://live-systems.org/>E<gt> y en " +"el manual en E<lt>I<http://live-systems.org/manual/>E<gt>." + +#. type: SH +#: en/live-config.7:278 +#, no-wrap +msgid "BUGS" +msgstr "ERRORES" + +#. type: Plain text +#: en/live-config.7:280 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-config package " +"in the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"Se puede notificar los fallos enviando un informe de errores sobre el " +"paquete live-config al Sistema de Seguimiento de Errores en E<lt>I<http://" +"bugs.debian.org/>E<gt> o escribiendo un mensaje a la lista de correo de Live " +"Systems a la dirección E<lt>I<debian-live@lists.debian.org>E<gt>." + +#. type: SH +#: en/live-config.7:281 +#, no-wrap +msgid "AUTHOR" +msgstr "AUTOR" + +#. type: Plain text +#: en/live-config.7:282 +msgid "" +"live-config was written by Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." +msgstr "" +"live-config fue escrito por Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." diff --git a/system-config/manpages/po/fr/live-config.7.po b/system-config/manpages/po/fr/live-config.7.po new file mode 100644 index 0000000..4373ce2 --- /dev/null +++ b/system-config/manpages/po/fr/live-config.7.po @@ -0,0 +1,1691 @@ +# French translations for live-config +# Copyright (C) 2015 Olivier Humbert <trebmuh@tuxfamily.org> +# Copyright (C) 2011-2015 Carlos Zuferri <chals@altorricon.com> +# Copyright (C) 2010 Thierry Lépicier <thierry.lepicier@free.fr> +# This file is distributed under the same license as the live-config package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-config\n" +"POT-Creation-Date: 2015-09-23 16:52+0200\n" +"PO-Revision-Date: 2013-06-25 20:32+0100\n" +"Last-Translator: Olivier Humbert <trebmuh@tuxfamily.org>\n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "LIVE-CONFIG" +msgstr "LIVE-CONFIG" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "2015-09-23" +msgstr "23.09.2015" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "5.0~a5-1" +msgstr "5.0~a4-1" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "Live Systems Project" +msgstr "Projet Live Systems" + +#. type: SH +#: en/live-config.7:11 +#, no-wrap +msgid "NAME" +msgstr "NOM" + +#. type: Plain text +#: en/live-config.7:13 +msgid "B<live-config> - System Configuration Components" +msgstr "B<live-config> - Composants de configuration du système" + +#. type: SH +#: en/live-config.7:14 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPTION" + +#. type: Plain text +#: en/live-config.7:16 +msgid "" +"B<live-config> contains the components that configure a live system during " +"the boot process (late userspace)." +msgstr "" +"B<live-config> contient les composants chargés de configurer le système live " +"lors du processus de démarrage (espace utilisateur tardif)." + +#. type: SH +#: en/live-config.7:17 +#, no-wrap +msgid "CONFIGURATION" +msgstr "CONFIGURATION" + +#. type: Plain text +#: en/live-config.7:19 +msgid "" +"B<live-config> can be configured through boot parameters or configuration " +"files. If both mechanisms are used for a certain option, the boot parameters " +"take precedence over the configuration files. When using persistency, B<live-" +"config> components are only run once." +msgstr "" +"B<live-config> peut être configuré en utilisant des paramètres d'amorçage ou " +"des fichiers de configuration. Si ces deux mécanismes sont utilisés pour " +"certaines options, les paramètres d'amorçage sont prioritaires sur les " +"fichiers de configuration. Lorsque la persistance est utilisée, les " +"composants de B<live-config> ne sont lancés qu'une seule fois." + +#. type: Plain text +#: en/live-config.7:21 +msgid "" +"If I<live-build>(7) is used to build the live system, the live-config " +"parameters used by default can be set through the --bootappend-live option, " +"see I<lb_config>(1) manual page." +msgstr "" +"Si I<live-build>(7) est utilisé pour construire le système live, les " +"paramètres de live-config utilisés par défaut peuvent être réglés avec " +"l'option --bootappend-live, consultez la page de manuel I<lb_config>(1)" + +#. type: SS +#: en/live-config.7:22 +#, no-wrap +msgid "Boot Parameters (components)" +msgstr "Paramètres d'amorçage (composants)" + +#. type: Plain text +#: en/live-config.7:24 +msgid "" +"B<live-config> is only activated if 'boot=live' is used as a boot parameter. " +"Additionally, B<live-config> needs to be told which components to run " +"through the 'live-config.components' parameter or which components to not " +"run through the 'live-config.nocomponents' parameter. If both 'live-config." +"components' and 'live-config.nocomponents' are used, or, if either one is " +"specified multiple times, always the later one takes precedence over the " +"previous one(s)." +msgstr "" +"B<live-config> est uniquement activé si 'boot=live' est utilisé en tant que " +"paramètre d'amorçage. De plus, B<live-config> a besoin d'être informé des " +"composants qui seront lancés via le paramètre «live-config.components» ou de " +"ceux qui ne doivent pas être lancés en utilisant le paramètre «live-config." +"nocomponents». Si «live-config.components» et «live-config.nocomponents» " +"sont utilisés ou, si l'un d'eux est spécifié plusieurs fois, c'est toujours " +"le dernier qui prévaut sur ceux qui précèdent." + +#. type: IP +#: en/live-config.7:25 +#, no-wrap +msgid "B<live-config.components> | B<components>" +msgstr "B<live-config.components> | B<components>" + +#. type: Plain text +#: en/live-config.7:27 +msgid "All components are run. This is what live images use by default." +msgstr "" +"Tous les composants sont lancés. C'est la configuration par défaut des " +"images live." + +#. type: IP +#: en/live-config.7:27 +#, no-wrap +msgid "B<live-config.components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<live-config.components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:29 +msgid "" +"Only the specified components are run. Note that the order matters, e.g. " +"'live-config.components=sudo,user-setup' would not work since the user needs " +"to be added before it can be configured for sudo. Look at the filenames of " +"the components in /lib/live/config for their ordering number." +msgstr "" +"Seuls les scripts spécifiés sont lancés. Notez que leur ordre importe, ainsi " +"'live-config=sudo,user-setup' ne peut pas fonctionner tant que l'utilisateur " +"configuré pour utiliser sudo n'a pas été créé. Regardez l'ordre numérique " +"des noms de fichiers des composants dans /lib/live/config." + +#. type: IP +#: en/live-config.7:29 +#, no-wrap +msgid "B<live-config.nocomponents> | B<nocomponents>" +msgstr "B<live-config.nocomponents> | B<nocomponents>" + +#. type: Plain text +#: en/live-config.7:31 +msgid "" +"No component is run. This is the same as not using any of 'live-config." +"components' or 'live-config.nocomponents'." +msgstr "" +"Aucun composant n'est lancé. Cela revient au même que de n'utiliser ni «live-" +"config.components», ni «live-config.nocomponents»." + +#. type: IP +#: en/live-config.7:31 +#, no-wrap +msgid "B<live-config.nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<live-config.nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:33 +msgid "All components are run, except the specified ones." +msgstr "Tous les composants sont lancés, à l'exception de ceux spécifiés." + +#. type: SS +#: en/live-config.7:34 +#, no-wrap +msgid "Boot Parameters (options)" +msgstr "Paramètres d'amorçage (options)" + +#. type: Plain text +#: en/live-config.7:36 +msgid "" +"Some individual components can change their behaviour upon a boot parameter." +msgstr "" +"Certains des composants peuvent changer leur comportement en fonction d'un " +"paramètre d'amorçage." + +#. type: IP +#: en/live-config.7:37 +#, no-wrap +msgid "B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<debconf-preseed>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<debconf-preseed>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:39 +msgid "" +"Allows to fetch and apply one or more debconf preseed files to be applied to " +"the debconf database. Note that the URLs must be fetchable by wget (http, " +"ftp or file://)." +msgstr "" +"Permet de récupérer et d'appliquer un ou plusieurs fichiers de pré-" +"configuration debconf à la base de données debconf. Notez que les URLs " +"doivent pouvoir être utilisables par wget (http, ftp ou file://)." + +#. type: Plain text +#: en/live-config.7:41 en/live-config.7:83 +msgid "" +"If the file is placed on the live medium, it can be fetched with file:///lib/" +"live/mount/medium/I<FILE>, or with file:///I<FILE> if it is in the root " +"filesystem of the live system itself." +msgstr "" +"Si le fichier est placé dans le dispositif live, il peut être utilisé avec " +"file:///lib/live/mount/medium/I<FILE>, ou bien avec file:///I<FILE> s'il est " +"placé à la racine du système de fichiers du système live." + +#. type: Plain text +#: en/live-config.7:43 +msgid "" +"All preseed files in /lib/live/config-preseed/ in the root filesystem of the " +"live system can be automatically enabled with the keyword 'filesystem'." +msgstr "" +"Tous les fichiers de pré-configuration dans /lib/live/config-preseed/ dans " +"le système de fichiers racine du système live peuvent être automatiquement " +"activés avec le mot clé 'filesystem'." + +#. type: Plain text +#: en/live-config.7:45 +msgid "" +"All preseed files in /live/config-preseed/ of the live medium can be " +"automatically enabled with the keyword 'medium'." +msgstr "" +"Tous les fichiers de pré-configuration dans /live/config-preseed/ du " +"dispositif live peuvent être automatiquement activés avec le mot clé 'medium'" + +#. type: Plain text +#: en/live-config.7:47 +msgid "" +"If several mechanisms are combined, then filesystem preseed files are " +"applied first, then medium preseed files, and last the network preseed files." +msgstr "" +"Si plusieurs mécanismes sont combinés, alors les fichiers de pré-" +"configuration du système de fichiers sont appliqués en premier, puis les " +"fichiers de pré-configuration du dispositif, et enfin les fichiers de pré-" +"configuration du réseau." + +#. type: IP +#: en/live-config.7:47 +#, no-wrap +msgid "B<live-config.hostname>=I<HOSTNAME> | B<hostname>=I<HOSTNAME>" +msgstr "B<live-config.hostname>=I<NOM_D_HÔTE> | B<hostname>=I<NOM_D_HÔTE>" + +#. type: Plain text +#: en/live-config.7:49 +msgid "Allows to set the hostname of the system. The default is 'debian'." +msgstr "" +"Permet de spécifier un nom d'hôte (hostname) du système. Par défaut ce nom " +"est 'debian'." + +#. type: IP +#: en/live-config.7:49 +#, no-wrap +msgid "B<live-config.username>=I<USERNAME> | B<username>=I<USERNAME>" +msgstr "B<live-config.username>=I<NOM_D_UTILISATEUR> | B<username>=I<NOM_D_UTILISATEUR>" + +#. type: Plain text +#: en/live-config.7:51 +msgid "" +"Allows to set the username that gets created for autologin. The default is " +"'user'." +msgstr "" +"Permet de spécifier le nom d'utilisateur qui est créé pour l'auto-login. Par " +"défaut ce nom est 'user'." + +#. type: IP +#: en/live-config.7:51 +#, no-wrap +msgid "B<live-config.user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn> | B<user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "B<live-config.user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn> | B<user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" + +#. type: Plain text +#: en/live-config.7:53 +msgid "" +"Allows to set the default groups of the users that gets created for " +"autologin is member of. The default is 'audio cdrom dip floppy video plugdev " +"netdev powerdev scanner bluetooth'." +msgstr "" +"Permet de spécifier les groupes par défaut dont sont membre les utilisateurs " +"qui sont créés pour l'auto-login. Par défaut, c'est 'audio cdrom dip floppy " +"video plugdev netdev powerdev scanner bluetooth'." + +#. type: IP +#: en/live-config.7:53 +#, no-wrap +msgid "B<live-config.user-fullname>=\"I<USER FULLNAME>\" | B<user-fullname>=\"I<USER FULLNAME>\"" +msgstr "B<live-config.user-fullname>=\"I<NOM_COMPLET_D_UTILISATEUR>\" | B<user-fullname>=\"I<NOM_COMPLET_D_UTILISATEUR>\"" + +#. type: Plain text +#: en/live-config.7:55 +msgid "" +"Allows to set the fullname of the users that gets created for autologin. On " +"Debian the default is 'Debian Live user'." +msgstr "" +"Permet de spécifier le nom complet des utilisateurs créés pour l'auto-login. " +"Pour Debian, il s'agit par défaut de 'Debian Live user'." + +#. type: IP +#: en/live-config.7:55 +#, no-wrap +msgid "B<live-config.locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn> | B<locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "B<live-config.locales>=I<LOCALISATION1>,I<LOCALISATION2> ... I<LOCALISATIONn> | B<locales>=I<LOCALISATION1>,I<LOCALISATION2> ... I<LOCALISATIONn>" + +#. type: Plain text +#: en/live-config.7:57 +msgid "" +"Allows to set the locale of the system, e.g. 'de_CH.UTF-8'. The default is " +"'en_US.UTF-8'. In case the selected locale is not already available on the " +"system, it is automatically generated on the fly." +msgstr "" +"Permet de spécifier la localisation du système, par exemple 'fr_FR.UTF-8'. " +"Par défaut, il s'agit de 'en_US.UTF-8'. Dans le cas où la locale spécifiée " +"n'est pas déjà disponible sur le système, elle est automatiquement générée à " +"la volée." + +#. type: IP +#: en/live-config.7:57 +#, no-wrap +msgid "B<live-config.timezone>=I<TIMEZONE> | B<timezone>=I<TIMEZONE>" +msgstr "B<live-config.timezone>=I<TIMEZONE> | B<timezone>=I<TIMEZONE>" + +#. type: Plain text +#: en/live-config.7:59 +msgid "" +"Allows to set the timezone of the system, e.g. 'Europe/Zurich'. The default " +"is 'UTC'." +msgstr "" +"Permet de spécifier la timezone du système, par exemple 'Europe/Paris'. Par " +"défaut, il s'agit de 'UTC'." + +#. type: IP +#: en/live-config.7:59 +#, no-wrap +msgid "B<live-config.keyboard-model>=I<KEYBOARD_MODEL> | B<keyboard-model>=I<KEYBOARD_MODEL>" +msgstr "B<live-config.keyboard-model>=I<MODELE_DE_CLAVIER> | B<keyboard-model>=I<MODELE_DE_CLAVIER>" + +#. type: Plain text +#: en/live-config.7:61 +msgid "Allows to change the keyboard model. There is no default value set." +msgstr "" +"Permet de changer le modèle de clavier. Il n'y a pas de valeur par défaut " +"spécifiée." + +#. type: IP +#: en/live-config.7:61 +#, no-wrap +msgid "B<live-config.keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn> | B<keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "B<live-config.keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn> | B<keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" + +#. type: Plain text +#: en/live-config.7:63 +msgid "" +"Allows to change the keyboard layouts. If more than one is specified, the " +"tools of the desktop environment will allow to switch it under X11. There is " +"no default value set." +msgstr "" +"Permet de changer la configuration du clavier. Si plus d'une configuration " +"est spécifiée, les utilitaires de l'environnement de bureau permettront de " +"passer de l'une à l'autre sous X11. Il n'y a pas de valeur par défaut " +"spécifiée." + +#. type: IP +#: en/live-config.7:63 +#, no-wrap +msgid "B<live-config.keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn> | B<keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "B<live-config.keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn> | B<keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" + +#. type: Plain text +#: en/live-config.7:65 +msgid "" +"Allows to change the keyboard variants. If more than one is specified, the " +"same number of values as keyboard-layouts values should be specified as they " +"will be matched one-to-one in the order specified. Blank values are allowed. " +"The tools of the desktop environment will allow to switch between each " +"layout and variant pair under X11. There is no default value set." +msgstr "" +"Permet de changer la variante du clavier. Si plus d'une variante est " +"spécifiée, le même nombre de valeurs que keyboard-layouts devraient être " +"spécifiées car elles se correspondront une à une dans l'ordre spécifié. On " +"peut utiliser valeurs vides. Les outils de l'environnement de bureau " +"permettront de passer de l'une à l'autre sous X11. Il n'y a pas de valeur " +"par défaut spécifiée." + +#. type: IP +#: en/live-config.7:65 +#, no-wrap +msgid "B<live-config.keyboard-options>=I<KEYBOARD_OPTIONS> | B<keyboard-options>=I<KEYBOARD_OPTIONS>" +msgstr "B<live-config.keyboard-options>=I<OPTIONS_DU_CLAVIER> | B<keyboard-options>=I<OPTIONS_DU_CLAVIER>" + +#. type: Plain text +#: en/live-config.7:67 +msgid "Allows to change the keyboard options. There is no default value set." +msgstr "" +"Permet de changer les options du clavier. Il n'y a pas de valeur par défaut " +"spécifiée." + +#. type: IP +#: en/live-config.7:67 +#, no-wrap +msgid "B<live-config.sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn> | B<sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "B<live-config.sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn> | B<sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" + +#. type: Plain text +#: en/live-config.7:69 +msgid "Allows to disable sysv services through update-rc.d." +msgstr "Permet de désactiver des services sysv via update-rc.d." + +#. type: IP +#: en/live-config.7:69 +#, no-wrap +msgid "B<live-config.utc>=B<yes>|no | B<utc>=B<yes>|no" +msgstr "B<live-config.utc>=B<yes>|no | B<utc>=B<yes>|no" + +#. type: Plain text +#: en/live-config.7:71 +msgid "" +"Allows to change if the system is assuming that the hardware clock is set to " +"UTC or not. The default is 'yes'." +msgstr "" +"Permet de modifier si le système assume que l'horloge matérielle est réglée " +"sur UTC. Par défaut : 'oui'." + +#. type: IP +#: en/live-config.7:71 +#, no-wrap +msgid "B<live-config.x-session-manager=>I<X_SESSION_MANAGER> | B<x-session-manager>=I<X_SESSION_MANAGER>" +msgstr "B<live-config.x-session-manager=>I<GESTIONNAIRE_DE_SESSION_X> | B<x-session-manager>=I<GESTIONNAIRE_DE_SESSION_X>" + +#. type: Plain text +#: en/live-config.7:73 +msgid "Allows to set the x-session-manager through update-alternatives." +msgstr "Permet de spécifier le x-session-manager via update-alternatives." + +#. type: IP +#: en/live-config.7:73 +#, no-wrap +msgid "B<live-config.xorg-driver>=I<XORG_DRIVER> | B<xorg-driver>=I<XORG_DRIVER>" +msgstr "B<live-config.xorg-driver>=I<PILOTE_XORG> | B<xorg-driver>=I<PILOTE_XORG>" + +#. type: Plain text +#: en/live-config.7:75 +msgid "" +"Allows to set xorg driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/xserver-xorg/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" +"Permet de spécifier le pilote utilisé par xorg plutôt que d'utiliser l'auto-" +"détection. Si un ID PCI est spécifié dans /usr/share/live/config/xserver-" +"xorg/I<DRIVER>.ids dans le système live, le I<DRIVER> est appliqué pour ces " +"périphériques. Si un paramètre d'amorçage et un override sont trouvés à la " +"fois, le paramètre de démarrage est prioritaire." + +#. type: IP +#: en/live-config.7:75 +#, no-wrap +msgid "B<live-config.xorg-resolution>=I<XORG_RESOLUTION> | B<xorg-resolution>=I<XORG_RESOLUTION>" +msgstr "B<live-config.xorg-resolution>=I<RESOLUTION_XORG> | B<xorg-resolution>=I<RESOLUTION_XORG>" + +#. type: Plain text +#: en/live-config.7:77 +msgid "" +"Allows to set xorg resolution instead of autodetecting it, e.g. 1024x768." +msgstr "" +"Permet de spécifier la résolution utilisée par xorg, plutôt que d'utiliser " +"l'auto-détection, par example 1024x768." + +#. type: IP +#: en/live-config.7:77 +#, no-wrap +msgid "B<live-config.wlan-driver>=I<WLAN_DRIVER> | B<wlan-driver>=I<WLAN_DRIVER>" +msgstr "B<live-config.wlan-driver>=I<PILOTE_WLAN> | B<wlan-driver>=I<PILOTE_WLAN>" + +#. type: Plain text +#: en/live-config.7:79 +msgid "" +"Allows to set WLAN driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/broadcom-sta/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" +"Permet de spécifier le pilote utilisé par WLAN plutôt que d'utiliser l'auto-" +"détection. Si un ID PCI est spécifié dans /usr/share/live/config/broadcom-" +"sta/I<DRIVER>.ids dans le système live, le I<DRIVER> est appliqué pour ces " +"périphériques. Si un paramètre d'amorçage et un override sont trouvés à la " +"fois, le paramètre de démarrage est prioritaire." + +#. type: IP +#: en/live-config.7:79 +#, no-wrap +msgid "B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<hooks>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<hooks>=I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:81 +msgid "" +"Allows to fetch and execute one or more arbitrary files. Note that the URLs " +"must be fetchable by wget (http, ftp or file://), the files are executed in /" +"tmp of the running live system, and that the files needs their dependencies, " +"if any, already installed, e.g. if a python script should be executed the " +"system needs python installed. Some hooks for some common use-cases are " +"available at /usr/share/doc/live-config/examples/hooks/ and E<lt>I<http://" +"live-systems.org/other/hooks>E<gt>." +msgstr "" +"Permet d'aller chercher et d'exécuter un ou plusieurs fichiers spécifiques. " +"Notez que les URLs doivent pouvoir être téléchargées par wget (http, ftp or " +"file://), que les fichiers sont exécutés dans /tmp du système live en " +"fonctionnement, et que les dépendances des fichiers doivent être " +"préalablement installées; par exemple, si vous devez exécuter un script " +"python, vous devez préalablement installer l'interpréteur python sur le " +"système. Quelques hooks pour certains cas d'utilisation communs sont " +"disponibles dans /usr/share/doc/live-config/examples/hooks/ et sur " +"E<lt>I<http://live.debian.net/other/hooks>E<gt>." + +#. type: Plain text +#: en/live-config.7:85 +msgid "" +"All hooks in /lib/live/config-hooks/ in the root filesystem of the live " +"system can be automatically enabled with the keyword 'filesystem'." +msgstr "" +"Tous les hooks, placés dans /lib/live/config-hooks/ à la racine du système " +"de fichiers, peuvent être automatiquement activés avec le mot clé " +"'filesystem'." + +#. type: Plain text +#: en/live-config.7:87 +msgid "" +"All hooks in /live/config-hooks/ of the live medium can be automatically " +"enabled with the keyword 'medium'." +msgstr "" +"Tous les hooks dans /live/config-hooks/ du dispositif live peuvent être " +"automatiquement activés avec le mot clé 'medium'." + +#. type: Plain text +#: en/live-config.7:89 +msgid "" +"If several mechanisms are combined, then filesystem hooks are executed " +"first, then medium hooks, and last the network hooks." +msgstr "" +"Si plusieurs mécanismes sont combinés, alors les hooks du système de " +"fichiers sont exécutés en premiers, puis les hooks du dispositif, et enfin " +"les hooks du réseau." + +#. type: SS +#: en/live-config.7:90 +#, no-wrap +msgid "Boot Parameters (shortcuts)" +msgstr "Paramètres d'amorçage (raccourcis)" + +#. type: Plain text +#: en/live-config.7:92 +msgid "" +"For some common use cases where it would require to combine several " +"individual parameters, B<live-config> provides shortcuts. This allows both " +"to have full granularity over all the options, as well keep things simple." +msgstr "" +"Dans certains cas communs où il est nécessaire de combiner plusieurs " +"paramètres individuels, B<live-config> fournit des raccourcis. Ceci permet à " +"la fois d'avoir une granularité complète à travers les options, et également " +"de rester simples." + +#. type: IP +#: en/live-config.7:93 +#, no-wrap +msgid "B<live-config.noroot> | B<noroot>" +msgstr "B<live-config.noroot> | B<noroot>" + +#. type: Plain text +#: en/live-config.7:95 +msgid "" +"Disables sudo and policykit, the user cannot gain root privileges on the " +"system." +msgstr "" +"Désactive sudo et policykit, dans ce cas l'utilisateur ne peut pas obtenir " +"des privilèges d'administrateur (root) sur le système." + +#. type: IP +#: en/live-config.7:95 +#, no-wrap +msgid "B<live-config.noautologin> | B<noautologin>" +msgstr "B<live-config.nottyautologin> | B<noautologin>" + +#. type: Plain text +#: en/live-config.7:97 +msgid "Disables both the automatic console login and the graphical autologin." +msgstr "Désactive l'auto-login sur la console et l'auto-login graphique." + +#. type: IP +#: en/live-config.7:97 +#, no-wrap +msgid "B<live-config.nottyautologin> | B<nottyautologin>" +msgstr "B<live-config.nottyautologin> | B<nottyautologin>" + +#. type: Plain text +#: en/live-config.7:99 +msgid "" +"Disables the automatic login on the console, not affecting the graphical " +"autologin." +msgstr "" +"Désactive l'auto-login sur la console, mais ne concerne pas l'auto-login " +"graphique." + +#. type: IP +#: en/live-config.7:99 +#, no-wrap +msgid "B<live-config.nox11autologin> | B<nox11autologin>" +msgstr "B<live-config.nox11autologin> | B<nox11autologin>" + +#. type: Plain text +#: en/live-config.7:101 +msgid "" +"Disables the automatic login with any display manager, not affecting tty " +"autologin." +msgstr "" +"Désactive l'auto-login avec tout gestionnaire graphique, sans affecter " +"l'auto-login en console (tty)." + +#. type: SS +#: en/live-config.7:102 +#, no-wrap +msgid "Boot Parameters (special options)" +msgstr "Paramètres d'amorçage (options particulières)" + +#. type: Plain text +#: en/live-config.7:104 +msgid "For special use cases there are some special boot paramters." +msgstr "" +"Pour certains cas d'utilisation, il existe des paramètres de démarrage " +"spécifiques." + +#. type: IP +#: en/live-config.7:105 +#, no-wrap +msgid "B<live-config.debug> | B<debug>" +msgstr "B<live-config.debug> | B<debug>" + +#. type: Plain text +#: en/live-config.7:107 +msgid "Enables debug output in live-config." +msgstr "Active les messages de debug dans live-config." + +#. type: SS +#: en/live-config.7:108 +#, no-wrap +msgid "Configuration Files" +msgstr "Fichiers de configuration" + +#. type: Plain text +#: en/live-config.7:110 +msgid "" +"B<live-config> can be configured (but not activated) through configuration " +"files. Everything but the shortcuts that can be configured with a boot " +"parameter can also alternatively be configured through one or more files. If " +"configuration files are used, the 'boot=live' parameter is still required to " +"activate B<live-config>." +msgstr "" +"B<live-config> peut être configuré (mais pas activé) par certains fichiers " +"de configuration. Tout, sauf les touches de raccourcis qui peuvent être " +"configurées avec un paramètre d'amorçage, peut alternativement être " +"configuré via un ou plusieurs fichiers. Si des fichiers de configuration " +"sont utilisés, le paramètre 'boot=live' est toujours requis pour activer " +"B<live-config>." + +#. type: Plain text +#: en/live-config.7:112 +msgid "" +"B<Note:> If configuration files are used, either (preferably) all boot " +"parameters should be put into the B<LIVE_CONFIG_CMDLINE> variable, or " +"individual variables can be set. If individual variables are used, the user " +"is required to ensure that all the necessary variables are set to create a " +"valid configuration." +msgstr "" +"B<Remarque :> Si des fichiers de configuration sont utilisés, soit (de " +"préférence) tous les paramètres d'amorçage devraient être mis dans la " +"variable B<LIVE_CONFIG_CMDLINE>, ou bien des variables individuelles peuvent " +"être réglées. Si des variables individuelles sont utilisées, l'utilisateur " +"doit s'assurer que toutes les variables nécessaires sont réglées pour créer " +"une configuration valide." + +#. type: Plain text +#: en/live-config.7:114 +msgid "" +"Configuration files can be placed either in the root filesystem itself (/etc/" +"live/config.conf, /etc/live/config.conf.d/*.conf), or on the live media " +"(live/config.conf, live/config.conf.d/*.conf). If both places are used for a " +"certain option, the ones from the live media take precedence over the ones " +"from the root filesystem." +msgstr "" +"Les fichiers de configuration peuvent être placés soit dans la racine du " +"système de fichiers (/etc/live/config.conf, /etc/live/config.conf.d/*.conf), " +"soit sur le média live (live/config.conf, live/config.conf.d/*.conf). Si ces " +"deux emplacements sont utilisés pour une même option, ceux placés dans le " +"média live sont prioritaires sur ceux dans la racine du système." + +#. type: Plain text +#: en/live-config.7:116 +msgid "" +"Although the configuration files placed in the configuration directories do " +"not require a particular name or suffix, it is suggested for consistency " +"reasons to either use 'vendor.conf' or 'project.conf' as a naming scheme " +"(whereas 'vendor' or 'project' is replaced with the actual name, resulting " +"in a filename like 'progress-linux.conf')." +msgstr "" +"Bien que les fichiers de configuration placés dans les répertoires de " +"configuration ne nécessitent pas un nom ou suffixe particulier, il est " +"suggéré, pour des raisons de cohérence, d'utiliser «vendeur.conf» ou «projet." +"conf» en tant que modèle de nommage («vendeur» ou «projet» étant remplacé " +"par le nom réel, résultant en un nom de fichier comme «progress-linux.conf»)." + +#. type: Plain text +#: en/live-config.7:118 +msgid "" +"The actual content of the configuration files consists of one or more of the " +"following variables." +msgstr "" +"Le contenu réel des fichiers de configuration se compose d'une ou plusieurs " +"des variables suivantes." + +#. type: IP +#: en/live-config.7:119 +#, no-wrap +msgid "B<LIVE_CONFIG_CMDLINE>=I<PARAMETER1> I<PARAMETER2> ... I<PARAMETERn>" +msgstr "B<LIVE_CONFIG_CMDLINE>=I<PARAMÈTRE1> I<PARAMÈTRE2> ... I<PARAMETREn>" + +#. type: Plain text +#: en/live-config.7:121 +msgid "This variable corresponds to the bootloader command line." +msgstr "" +"Cette variable correspond à la ligne de commande du chargeur d'amorçage." + +#. type: IP +#: en/live-config.7:121 +#, no-wrap +msgid "B<LIVE_CONFIG_COMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<LIVE_CONFIG_COMPONENTS>=I<COMPOSANT1>,I<COMPOSANT2>, ... I<COMPOSANTn>" + +#. type: Plain text +#: en/live-config.7:123 +msgid "" +"This variable corresponds to the 'B<live-config.components>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config." +"components>=I<COMPOSANT1>,I<COMPOSANT2>, ... I<COMPOSANTn>'" + +#. type: IP +#: en/live-config.7:123 +#, no-wrap +msgid "B<LIVE_CONFIG_NOCOMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<LIVE_CONFIG_NOCOMPONENTS>=I<COMPOSANT1>,I<COMPOSANT2>, ... I<COMPOSANTn>" + +#. type: Plain text +#: en/live-config.7:125 +msgid "" +"This variable corresponds to the 'B<live-config.nocomponents>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config." +"nocomponents>=I<COMPOSANT1>,I<COMPOSANT2>, ... I<COMPOSANTn>'" + +#. type: IP +#: en/live-config.7:125 +#, no-wrap +msgid "B<LIVE_DEBCONF_PRESEED>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<LIVE_DEBCONF_PRESEED>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:127 +msgid "" +"This variable corresponds to the 'B<live-config.debconf-preseed>=filesystem|" +"medium|I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.debconf-" +"preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>'." + +#. type: IP +#: en/live-config.7:127 +#, no-wrap +msgid "B<LIVE_HOSTNAME>=I<HOSTNAME>" +msgstr "B<LIVE_HOSTNAME>=I<NOM_D_HÔTE>" + +#. type: Plain text +#: en/live-config.7:129 +msgid "" +"This variable corresponds to the 'B<live-config.hostname>=I<HOSTNAME>' " +"parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config." +"hostname>=I<NOM_D_HÔTE>'." + +#. type: IP +#: en/live-config.7:129 +#, no-wrap +msgid "B<LIVE_USERNAME>=I<USERNAME>" +msgstr "B<LIVE_USERNAME>=I<NOM_D_UTILISATEUR>" + +#. type: Plain text +#: en/live-config.7:131 +msgid "" +"This variable corresponds to the 'B<live-config.username>=I<USERNAME>' " +"parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config." +"username>=I<NOM_D_UTILISATEUR>'." + +#. type: IP +#: en/live-config.7:131 +#, no-wrap +msgid "B<LIVE_USER_DEFAULT_GROUPS>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "B<LIVE_USER_DEFAULT_GROUPS>=I<GROUPE1>,I<GROUPE2> ... I<GROUPEn>" + +#. type: Plain text +#: en/live-config.7:133 +msgid "" +"This variable corresponds to the 'B<live-config.user-default-groups>=" +"\"I<GROUP1>,I<GROUP2> ... I<GROUPn>\"' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.user-default-groups>=" +"\"I<GROUPE1>,I<GROUPE2> ... I<GROUPEn>\"'" + +#. type: IP +#: en/live-config.7:133 +#, no-wrap +msgid "B<LIVE_USER_FULLNAME>=\"I<USER FULLNAME>\"" +msgstr "B<LIVE_USER_FULLNAME>=\"I<NOM_COMPLET_D_UTILISATEUR\">" + +#. type: Plain text +#: en/live-config.7:135 +msgid "" +"This variable corresponds to the 'B<live-config.user-fullname>=\"I<USER " +"FULLNAME>\"' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.user-fullname>=" +"\"I<NOM_COMPLET_D_UTILISATEUR\">'." + +#. type: IP +#: en/live-config.7:135 +#, no-wrap +msgid "B<LIVE_LOCALES>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "B<LIVE_LOCALES>=I<LOCALISATION1>,I<LOCALISATION2> ... I<LOCALISATIONn>" + +#. type: Plain text +#: en/live-config.7:137 +msgid "" +"This variable corresponds to the 'B<live-config.locales>=I<LOCALE1>," +"I<LOCALE2> ... I<LOCALEn>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config." +"locales>=I<LOCALISATION1>,I<LOCALISATION2> ... I<LOCALISATIONn>'." + +#. type: IP +#: en/live-config.7:137 +#, no-wrap +msgid "B<LIVE_TIMEZONE>=I<TIMEZONE>" +msgstr "B<LIVE_TIMEZONE>=I<TIMEZONE>" + +#. type: Plain text +#: en/live-config.7:139 +msgid "" +"This variable corresponds to the 'B<live-config.timezone>=I<TIMEZONE>' " +"parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.timezone>=I<TIMEZONE>'." + +#. type: IP +#: en/live-config.7:139 +#, no-wrap +msgid "B<LIVE_KEYBOARD_MODEL>=I<KEYBOARD_MODEL>" +msgstr "B<LIVE_KEYBOARD_MODEL>=I<MODELE_DE_CLAVIER>" + +#. type: Plain text +#: en/live-config.7:141 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"model>=I<KEYBOARD_MODEL>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.keyboard-" +"model>=I<MODELE_DE_CLAVIER>'." + +#. type: IP +#: en/live-config.7:141 +#, no-wrap +msgid "B<LIVE_KEYBOARD_LAYOUTS>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "B<LIVE_KEYBOARD_LAYOUTS>=I<CONFIGURATION1_DU_CLAVIER>,I<CONFIGURATION2_DU_CLAVIER> ... I<CONFIGURATIONn_DU_CLAVIER>" + +#. type: Plain text +#: en/live-config.7:143 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>' " +"parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.keyboard-" +"layouts>=I<CONFIGURATION1_DU_CLAVIER>,I<CONFIGURATION2_DU_CLAVIER> ... " +"I<CONFIGURATIONn_DU_CLAVIER>'." + +#. type: IP +#: en/live-config.7:143 +#, no-wrap +msgid "B<LIVE_KEYBOARD_VARIANTS>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "B<LIVE_KEYBOARD_VARIANTS>=I<VARIANTE_CLAVIER1>,I<VARIANTE_CLAVIER2> ... I<VARIANTE_CLAVIERn>" + +#. type: Plain text +#: en/live-config.7:145 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... " +"I<KEYBOARD_VARIANTn>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.keyboard-" +"variants>=I<VARIANTE_CLAVIER1>,I<VARIANTE_CLAVIER2> ... " +"I<VARIANTE_CLAVIERn>'." + +#. type: IP +#: en/live-config.7:145 +#, no-wrap +msgid "B<LIVE_KEYBOARD_OPTIONS>=I<KEYBOARD_OPTIONS>" +msgstr "B<LIVE_KEYBOARD_OPTIONS>=I<OPTIONS_DU_CLAVIER>" + +#. type: Plain text +#: en/live-config.7:147 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"options>=I<KEYBOARD_OPTIONS>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.keyboard-" +"options>=I<OPTIONS_DU_CLAVIER>'." + +#. type: IP +#: en/live-config.7:147 +#, no-wrap +msgid "B<LIVE_SYSV_RC>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "B<LIVE_SYSV_RC>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" + +#. type: Plain text +#: en/live-config.7:149 +msgid "" +"This variable corresponds to the 'B<live-config.sysv-rc>=I<SERVICE1>," +"I<SERVICE2> ... I<SERVICEn>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.sysv-rc>=I<SERVICE1>," +"I<SERVICE2> ... I<SERVICEn>'." + +#. type: IP +#: en/live-config.7:149 +#, no-wrap +msgid "B<LIVE_UTC>=B<yes>|no" +msgstr "B<LIVE_UTC>=B<yes>|no" + +#. type: Plain text +#: en/live-config.7:151 +msgid "" +"This variable corresponds to the 'B<live-config.utc>=B<yes>|no' parameter." +msgstr "Cette variable correspond au paramètre 'B<live-config.utc>=B<yes>|no'." + +#. type: IP +#: en/live-config.7:151 +#, no-wrap +msgid "B<LIVE_X_SESSION_MANAGER>=I<X_SESSION_MANAGER>" +msgstr "B<LIVE_X_SESSION_MANAGER>=I<GESTIONNAIRE_DE_SESSION_X>" + +#. type: Plain text +#: en/live-config.7:153 +msgid "" +"This variable corresponds to the 'B<live-config.x-session-" +"manager>=I<X_SESSION_MANAGER>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.x-session-" +"manager>=I<GESTIONNAIRE_DE_SESSION_X>'." + +#. type: IP +#: en/live-config.7:153 +#, no-wrap +msgid "B<LIVE_XORG_DRIVER>=I<XORG_DRIVER>" +msgstr "B<LIVE_XORG_DRIVER>=I<PILOTE_XORG>" + +#. type: Plain text +#: en/live-config.7:155 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-driver>=I<XORG_DRIVER>' " +"parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.xorg-" +"driver>=I<PILOTE_XORG>." + +#. type: IP +#: en/live-config.7:155 +#, no-wrap +msgid "B<LIVE_XORG_RESOLUTION>=I<XORG_RESOLUTION>" +msgstr "B<LIVE_XORG_RESOLUTION>=I<RESOLUTION_XORG>" + +#. type: Plain text +#: en/live-config.7:157 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-" +"resolution>=I<XORG_RESOLUTION>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.xorg-" +"resolution>=I<RESOLUTION_XORG>'." + +#. type: IP +#: en/live-config.7:157 +#, no-wrap +msgid "B<LIVE_WLAN_DRIVER>=I<WLAN_DRIVER>" +msgstr "B<LIVE_WLAN_DRIVER>=I<PILOTE_WLAN>" + +#. type: Plain text +#: en/live-config.7:159 +msgid "" +"This variable corresponds to the 'B<live-config.wlan-driver>=I<WLAN_DRIVER>' " +"parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.wlan-" +"driver>=I<PILOTE_WLAN>." + +#. type: IP +#: en/live-config.7:159 +#, no-wrap +msgid "B<LIVE_HOOKS>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<LIVE_HOOKS>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:161 +msgid "" +"This variable corresponds to the 'B<live-config.hooks>=filesystem|medium|" +"I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" +"Cette variable correspond au paramètre 'B<live-config.hooks>=filesystem|" +"medium|I<URL1>|I<URL2>| ... |I<URLn>'." + +#. type: IP +#: en/live-config.7:161 +#, no-wrap +msgid "B<LIVE_CONFIG_DEBUG>=true|false" +msgstr "B<LIVE_CONFIG_DEBUG>=true|false" + +#. type: Plain text +#: en/live-config.7:163 +msgid "This variable corresponds to the 'B<live-config.debug>' parameter." +msgstr "Cette variable correspond au paramètre 'B<live-config.debug>'." + +#. type: SH +#: en/live-config.7:164 +#, no-wrap +msgid "CUSTOMIZATION" +msgstr "PERSONNALISATION" + +#. type: Plain text +#: en/live-config.7:166 +msgid "" +"B<live-config> can be easily customized for downstream projects or local " +"usage." +msgstr "" +"B<live-config> peut être facilement personnalisé pour des projets dérivés, " +"ou pour un usage local." + +#. type: SS +#: en/live-config.7:167 +#, no-wrap +msgid "Adding new config components" +msgstr "Ajout de nouveaux composants de configuration" + +#. type: Plain text +#: en/live-config.7:169 +msgid "" +"Downstream projects can put their components into /lib/live/config and do " +"not need to do anything else, the components will be called automatically " +"during boot." +msgstr "" +"Les projets dérivés peuvent utiliser leurs propres composants dans /lib/live/" +"config et n'ont besoin de rien d'autre, les composants seront appelés lors " +"du démarrage." + +#. type: Plain text +#: en/live-config.7:171 +msgid "" +"The components are best put into an own debian package. A sample package " +"containing an example component can be found in /usr/share/doc/live-config/" +"examples." +msgstr "" +"Il est préférable que les composants soient mis dans leur propre paquet " +"Debian. Un paquet contenant un composant d'exemple est proposé dans /usr/" +"share/doc/live-config/examples." + +#. type: SS +#: en/live-config.7:172 +#, no-wrap +msgid "Removing existing config components" +msgstr "Enlever des composants de configuration existants" + +#. type: Plain text +#: en/live-config.7:174 +msgid "" +"It is not really possible to remove components itself in a sane way yet " +"without requiring either to ship a locally modified B<live-config> package " +"or using dpkg-divert. However, the same can be achieved by disabling the " +"respective components through the live-config.nocomponents mechanism, see " +"above. To avoid to always need specifing disabled components through the " +"boot parameter, a configuration file should be used, see above." +msgstr "" +"Il n'est actuellement pas vraiment possible d'enlever proprement les " +"composants sans avoir besoin soit d'utiliser un paquet B<live-config> " +"modifié localement, soit à l'aide de dpkg-divert. Cependant, la même chose " +"peut être réalisée en désactivant les scripts respectifs via le mécanisme " +"live-config.nocomponents, comme indiqué ci-dessus. Afin d'éviter de toujours " +"avoir à spécifier les composants désactivés via le paramètre d'amorçage, un " +"fichier de configuration devrait être utilisé, voir ci-dessus." + +#. type: Plain text +#: en/live-config.7:176 +msgid "" +"The configuration files for the live system itself are best put into an own " +"debian package. A sample package containing an example configuration can be " +"found in /usr/share/doc/live-config/examples." +msgstr "" +"Les fichiers de configuration pour le système live lui-même devront de " +"préférence être inclus dans leur propre paquet debian. Un paquet de " +"démonstration contenant un exemple de configuration est proposé dans /usr/" +"share/doc/live-config/examples." + +#. type: SH +#: en/live-config.7:177 +#, no-wrap +msgid "COMPONENTS" +msgstr "COMPOSANTS" + +#. type: Plain text +#: en/live-config.7:179 +msgid "" +"B<live-config> currently features the following components in /lib/live/" +"config." +msgstr "" +"B<live-config> fournit actuellement les composants suivants dans /lib/live/" +"config." + +#. type: IP +#: en/live-config.7:180 +#, no-wrap +msgid "B<debconf>" +msgstr "B<debconf>" + +#. type: Plain text +#: en/live-config.7:182 +msgid "" +"allows to apply arbitrary preseed files placed on the live media or an http/" +"ftp server." +msgstr "" +"permet d'appliquer des fichiers de pré-configuration arbitraires placés sur " +"les média live ou un serveur http/ftp." + +#. type: IP +#: en/live-config.7:182 +#, no-wrap +msgid "B<hostname>" +msgstr "B<hostname>" + +#. type: Plain text +#: en/live-config.7:184 +msgid "configures /etc/hostname and /etc/hosts." +msgstr "configure /etc/hostname et /etc/hosts." + +#. type: IP +#: en/live-config.7:184 +#, no-wrap +msgid "B<user-setup>" +msgstr "B<user-setup>" + +#. type: Plain text +#: en/live-config.7:186 +msgid "adds a live user account." +msgstr "ajoute un compte d'utilisateur live." + +#. type: IP +#: en/live-config.7:186 +#, no-wrap +msgid "B<sudo>" +msgstr "B<sudo>" + +#. type: Plain text +#: en/live-config.7:188 +msgid "grants sudo privileges to the live user." +msgstr "offre les privilèges sudo à l'utilisateur live." + +#. type: IP +#: en/live-config.7:188 +#, no-wrap +msgid "B<locales>" +msgstr "B<locales>" + +#. type: Plain text +#: en/live-config.7:190 +msgid "configures locales." +msgstr "configure les locales." + +#. type: IP +#: en/live-config.7:190 +#, no-wrap +msgid "B<locales-all>" +msgstr "B<locales-all>" + +#. type: Plain text +#: en/live-config.7:192 +msgid "configures locales-all." +msgstr "configure les locales-all." + +#. type: IP +#: en/live-config.7:192 +#, no-wrap +msgid "B<tzdata>" +msgstr "B<tzdata>" + +#. type: Plain text +#: en/live-config.7:194 +msgid "configures /etc/timezone." +msgstr "configure /etc/timezone." + +#. type: IP +#: en/live-config.7:194 +#, no-wrap +msgid "B<gdm3>" +msgstr "B<gdm3>" + +#. type: Plain text +#: en/live-config.7:196 +msgid "configures autologin in gdm3." +msgstr "configure l'auto-login dans gdm3." + +#. type: IP +#: en/live-config.7:196 +#, no-wrap +msgid "B<kdm>" +msgstr "B<kdm>" + +#. type: Plain text +#: en/live-config.7:198 +msgid "configures autologin in kdm." +msgstr "configure l'auto-login dans kdm." + +#. type: IP +#: en/live-config.7:198 +#, no-wrap +msgid "B<lightdm>" +msgstr "B<lightdm>" + +#. type: Plain text +#: en/live-config.7:200 +msgid "configures autologin in lightdm." +msgstr "configure l'auto-login dans lightdm." + +#. type: IP +#: en/live-config.7:200 +#, no-wrap +msgid "B<lxdm>" +msgstr "B<lxdm>" + +#. type: Plain text +#: en/live-config.7:202 +msgid "configures autologin in lxdm." +msgstr "configure l'auto-login dans lxdm." + +#. type: IP +#: en/live-config.7:202 +#, no-wrap +msgid "B<nodm>" +msgstr "B<nodm>" + +#. type: Plain text +#: en/live-config.7:204 +msgid "configures autologin in nodm." +msgstr "configure l'auto-login dans nodm." + +#. type: IP +#: en/live-config.7:204 +#, no-wrap +msgid "B<slim>" +msgstr "B<slim>" + +#. type: Plain text +#: en/live-config.7:206 +msgid "configures autologin in slim." +msgstr "configure l'auto-login dans slim." + +#. type: IP +#: en/live-config.7:206 +#, no-wrap +msgid "B<xinit>" +msgstr "B<xinit>" + +#. type: Plain text +#: en/live-config.7:208 +msgid "configures autologin with xinit." +msgstr "configure l'auto-login avec xinit." + +#. type: IP +#: en/live-config.7:208 +#, no-wrap +msgid "B<keyboard-configuration>" +msgstr "B<keyboard-configuration>" + +#. type: Plain text +#: en/live-config.7:210 +msgid "configures the keyboard." +msgstr "configure le clavier." + +#. type: IP +#: en/live-config.7:210 +#, no-wrap +msgid "B<systemd>" +msgstr "B<systemd>" + +#. type: Plain text +#: en/live-config.7:212 +msgid "configures systemd autologin." +msgstr "configure l'auto-login avec systemd." + +#. type: IP +#: en/live-config.7:212 +#, no-wrap +msgid "B<sysvinit>" +msgstr "B<sysvinit>" + +#. type: Plain text +#: en/live-config.7:214 +msgid "configures sysvinit." +msgstr "configure sysvinit." + +#. type: IP +#: en/live-config.7:214 +#, no-wrap +msgid "B<sysv-rc>" +msgstr "B<sysv-rc>" + +#. type: Plain text +#: en/live-config.7:216 +msgid "configures sysv-rc by disabling listed services." +msgstr "configure sysv-rc en désactivant les services listés." + +#. type: IP +#: en/live-config.7:216 en/live-config.7:238 +#, no-wrap +msgid "B<login>" +msgstr "B<login>" + +#. type: Plain text +#: en/live-config.7:218 en/live-config.7:240 +msgid "disables lastlog." +msgstr "désactive lastlog." + +#. type: IP +#: en/live-config.7:218 +#, no-wrap +msgid "B<apport>" +msgstr "B<apport>" + +#. type: Plain text +#: en/live-config.7:220 +msgid "disables apport." +msgstr "désactive apport." + +#. type: IP +#: en/live-config.7:220 +#, no-wrap +msgid "B<gnome-panel-data>" +msgstr "B<gnome-panel-data>" + +#. type: Plain text +#: en/live-config.7:222 +msgid "disables lock button for the screen." +msgstr "désactive le bouton de verrouillage de l'écran." + +#. type: IP +#: en/live-config.7:222 +#, no-wrap +msgid "B<gnome-power-manager>" +msgstr "B<gnome-power-manager>" + +#. type: Plain text +#: en/live-config.7:224 +msgid "disables hibernation." +msgstr "désactive l'hibernation." + +#. type: IP +#: en/live-config.7:224 +#, no-wrap +msgid "B<gnome-screensaver>" +msgstr "B<gnome-screensaver>" + +#. type: Plain text +#: en/live-config.7:226 en/live-config.7:250 +msgid "disables the screensaver locking the screen." +msgstr "désactive le verrouillage de session par l'économiseur d'écran." + +#. type: IP +#: en/live-config.7:226 +#, no-wrap +msgid "B<kaboom>" +msgstr "B<kaboom>" + +#. type: Plain text +#: en/live-config.7:228 +msgid "disables KDE migration wizard (squeeze and newer)." +msgstr "désactive l'assistant de migration de KDE (squeeze et plus récent)." + +#. type: IP +#: en/live-config.7:228 +#, no-wrap +msgid "B<kde-services>" +msgstr "B<kde-services>" + +#. type: Plain text +#: en/live-config.7:230 +msgid "disables some unwanted KDE services (squeeze and newer)." +msgstr "désactive des services de KDE non souhaités (squeeze et plus récent)." + +#. type: IP +#: en/live-config.7:230 +#, no-wrap +msgid "B<policykit>" +msgstr "B<policykit>" + +#. type: Plain text +#: en/live-config.7:232 +msgid "grant user privilegies through policykit." +msgstr "accorde à l'utilisateur des privilèges via le policykit." + +#. type: IP +#: en/live-config.7:232 +#, no-wrap +msgid "B<ssl-cert>" +msgstr "B<ssl-cert>" + +#. type: Plain text +#: en/live-config.7:234 +msgid "regenerating ssl snake-oil certificates." +msgstr "regénère les certificats snake-oil ssl." + +#. type: IP +#: en/live-config.7:234 +#, no-wrap +msgid "B<anacron>" +msgstr "B<anacron>" + +#. type: Plain text +#: en/live-config.7:236 +msgid "disables anacron." +msgstr "désactive anacron." + +#. type: IP +#: en/live-config.7:236 +#, no-wrap +msgid "B<util-linux>" +msgstr "B<util-linux>" + +#. type: Plain text +#: en/live-config.7:238 +msgid "disables util-linux' hwclock." +msgstr "désactive util-linux' hwclock." + +#. type: IP +#: en/live-config.7:240 +#, no-wrap +msgid "B<xserver-xorg>" +msgstr "B<xserver-xorg>" + +#. type: Plain text +#: en/live-config.7:242 +msgid "configures xserver-xorg." +msgstr "configure xserver-xorg." + +#. type: IP +#: en/live-config.7:242 +#, no-wrap +msgid "B<broadcom-sta>" +msgstr "B<broadcom-sta>" + +#. type: Plain text +#: en/live-config.7:244 +msgid "configures broadcom-sta WLAN drivers." +msgstr "configure les pilotes WLAN broadcom-sta." + +#. type: IP +#: en/live-config.7:244 +#, no-wrap +msgid "B<openssh-server>" +msgstr "B<openssh-server>" + +#. type: Plain text +#: en/live-config.7:246 +msgid "recreates openssh-server host keys." +msgstr "regénère les clés de l'hôte openssh-server." + +#. type: IP +#: en/live-config.7:246 +#, no-wrap +msgid "B<xfce4-panel>" +msgstr "B<xfce4-panel>" + +#. type: Plain text +#: en/live-config.7:248 +msgid "configures xfce4-panel to default settings." +msgstr "configure xfce4-panel avec les réglages par défaut." + +#. type: IP +#: en/live-config.7:248 +#, no-wrap +msgid "B<xscreensaver>" +msgstr "B<xscreensaver>" + +#. type: IP +#: en/live-config.7:250 +#, no-wrap +msgid "B<hooks>" +msgstr "B<hooks>" + +#. type: Plain text +#: en/live-config.7:252 +msgid "" +"allows to run arbitrary commands from a file placed on the live media or an " +"http/ftp server." +msgstr "" +"permet de lancer des commandes arbitraires depuis un composant placé sur le " +"média live, ou sur un serveur http/ftp." + +#. type: SH +#: en/live-config.7:253 +#, no-wrap +msgid "FILES" +msgstr "FICHIERS" + +#. type: IP +#: en/live-config.7:254 +#, no-wrap +msgid "B</etc/live/config.conf>" +msgstr "B</etc/live/config.conf>" + +#. type: IP +#: en/live-config.7:255 +#, no-wrap +msgid "B</etc/live/config.conf.d/*.conf>" +msgstr "B</etc/live/config.conf.d/*.conf>" + +#. type: IP +#: en/live-config.7:256 +#, no-wrap +msgid "B<live/config.conf>" +msgstr "B<live/config.conf>" + +#. type: IP +#: en/live-config.7:257 +#, no-wrap +msgid "B<live/config.conf.d/*.conf>" +msgstr "B<live/config.conf.d/*.conf>" + +#. type: IP +#: en/live-config.7:258 +#, no-wrap +msgid "B</lib/live/config.sh>" +msgstr "B</lib/live/config.sh>" + +#. type: IP +#: en/live-config.7:259 +#, no-wrap +msgid "B</lib/live/config/>" +msgstr "B</lib/live/config/>" + +#. type: IP +#: en/live-config.7:260 +#, no-wrap +msgid "B</var/lib/live/config/>" +msgstr "B</var/lib/live/config/>" + +#. type: IP +#: en/live-config.7:261 +#, no-wrap +msgid "B</var/log/live/config.log>" +msgstr "B</var/log/live/config.log>" + +#. type: IP +#: en/live-config.7:263 +#, no-wrap +msgid "B</live/config-hooks/*>" +msgstr "B</live/config-hooks/*>" + +#. type: IP +#: en/live-config.7:264 +#, no-wrap +msgid "B<live/config-hooks/*>" +msgstr "B<live/config-hooks/*>" + +#. type: IP +#: en/live-config.7:265 +#, no-wrap +msgid "B</live/config-preseed/*>" +msgstr "B</live/config-preseed/*>" + +#. type: IP +#: en/live-config.7:266 +#, no-wrap +msgid "B<live/config-preseed/* >" +msgstr "B<live/config-preseed/* >" + +#. type: SH +#: en/live-config.7:268 +#, no-wrap +msgid "SEE ALSO" +msgstr "VOIR AUSSI" + +#. type: Plain text +#: en/live-config.7:270 +msgid "I<live-boot>(7)" +msgstr "I<live-boot>(7)" + +#. type: Plain text +#: en/live-config.7:272 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-config.7:274 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-config.7:275 +#, no-wrap +msgid "HOMEPAGE" +msgstr "PAGE D'ACCUEIL" + +#. type: Plain text +#: en/live-config.7:277 +msgid "" +"More information about live-config and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"Davantage d'informations sur live-config et le project Live Systems peuvent " +"être trouvées sur la page E<lt>I<http://live-systems.org/>E<gt> et dans le " +"manuel sur E<lt>I<http://live-systems.org/manual/>E<gt>." + +#. type: SH +#: en/live-config.7:278 +#, no-wrap +msgid "BUGS" +msgstr "BOGUES" + +#. type: Plain text +#: en/live-config.7:280 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-config package " +"in the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"Les bogues peuvent être signalés en soumettant un rapport de bogue à propos " +"du paquet live-config dans le système de gestion des bogues sur " +"E<lt>I<http://bugs.debian.org/>E<gt> ou en envoyant un courrier électronique " +"à la liste de diffusion Live Systems à E<lt>I<debian-live@lists.debian." +"org>E<gt>" + +#. type: SH +#: en/live-config.7:281 +#, no-wrap +msgid "AUTHOR" +msgstr "AUTEUR" + +#. type: Plain text +#: en/live-config.7:282 +msgid "" +"live-config was written by Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." +msgstr "" +"live-config a été écrit par Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." diff --git a/system-config/manpages/po/it/live-config.7.po b/system-config/manpages/po/it/live-config.7.po new file mode 100644 index 0000000..966ba9d --- /dev/null +++ b/system-config/manpages/po/it/live-config.7.po @@ -0,0 +1,1674 @@ +# Italian translations for live-config +# Copyright (C) 2011-2014 skizzhg <skizzhg@gmx.com> +# This file is distributed under the same license as the live-config package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-config\n" +"POT-Creation-Date: 2015-09-23 16:59+0200\n" +"PO-Revision-Date: 2013-09-29 18:59+0200\n" +"Last-Translator: skizzhg <skizzhg@gmx.com>\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "LIVE-CONFIG" +msgstr "LIVE-CONFIG" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "2015-09-23" +msgstr "" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "5.0~a5-1" +msgstr "" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "Live Systems Project" +msgstr "Progetto Live Systems" + +#. type: SH +#: en/live-config.7:11 +#, no-wrap +msgid "NAME" +msgstr "NOME" + +#. type: Plain text +#: en/live-config.7:13 +msgid "B<live-config> - System Configuration Components" +msgstr "B<live-config> - Componenti di configurazione del sistema" + +#. type: SH +#: en/live-config.7:14 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIZIONE" + +#. type: Plain text +#: en/live-config.7:16 +msgid "" +"B<live-config> contains the components that configure a live system during " +"the boot process (late userspace)." +msgstr "" +"B<live-config> contiene i componenti che configurano un sistema live durante " +"il processo di avvio (spazio utente inoltrato)." + +#. type: SH +#: en/live-config.7:17 +#, no-wrap +msgid "CONFIGURATION" +msgstr "CONFIGURAZIONE" + +#. type: Plain text +#: en/live-config.7:19 +msgid "" +"B<live-config> can be configured through boot parameters or configuration " +"files. If both mechanisms are used for a certain option, the boot parameters " +"take precedence over the configuration files. When using persistency, B<live-" +"config> components are only run once." +msgstr "" +"B<live-config> può essere configurato tramite parametri di avvio o file di " +"configurazione; se per una certa opzione vengono utilizzati entrambi i " +"meccanismi, i parametri di avvio hanno la precedenza su questi ultimi. " +"Quando si utilizza la persistenza i componenti di B<live-config> vengono " +"eseguiti solo una volta." + +#. type: Plain text +#: en/live-config.7:21 +msgid "" +"If I<live-build>(7) is used to build the live system, the live-config " +"parameters used by default can be set through the --bootappend-live option, " +"see I<lb_config>(1) manual page." +msgstr "" +"Se I<live-build>(7) viene usato per creare il sistema live, i parametri " +"predefiniti di live-config possono essere configurati tramite l'opzione --" +"bootappend-live, si veda la pagina di manuale di I<lb_config>(1)." + +#. type: SS +#: en/live-config.7:22 +#, no-wrap +msgid "Boot Parameters (components)" +msgstr "Parametri di avvio (componenti)" + +#. type: Plain text +#: en/live-config.7:24 +msgid "" +"B<live-config> is only activated if 'boot=live' is used as a boot parameter. " +"Additionally, B<live-config> needs to be told which components to run " +"through the 'live-config.components' parameter or which components to not " +"run through the 'live-config.nocomponents' parameter. If both 'live-config." +"components' and 'live-config.nocomponents' are used, or, if either one is " +"specified multiple times, always the later one takes precedence over the " +"previous one(s)." +msgstr "" +"B<live-config> viene attivato solo se \"boot=live\" è utilizzato come " +"parametro di avvio. Inoltre va detto a B<live-config> quali componenti " +"eseguire tramite il parametro \"live-config.nocomponents\" o quali non " +"eseguire tramite il parametro \"live-config.nocomponents\". Se vengono usati " +"entrambi i parametri, o se uno dei due è specificato più volte, avrà la " +"precedenza sempre l'ultimo." + +#. type: IP +#: en/live-config.7:25 +#, no-wrap +msgid "B<live-config.components> | B<components>" +msgstr "B<live-config.components> | B<components>" + +#. type: Plain text +#: en/live-config.7:27 +msgid "All components are run. This is what live images use by default." +msgstr "" +"Vengono eseguiti tutti i component; questo è ciò che le immagini live fanno " +"in modo predefinito." + +#. type: IP +#: en/live-config.7:27 +#, no-wrap +msgid "B<live-config.components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<live-config.components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:29 +msgid "" +"Only the specified components are run. Note that the order matters, e.g. " +"'live-config.components=sudo,user-setup' would not work since the user needs " +"to be added before it can be configured for sudo. Look at the filenames of " +"the components in /lib/live/config for their ordering number." +msgstr "" +"Vengono eseguiti solo gli script specificati. Si noti che l'ordine è " +"importante, ad esempio \"live-config=sudo,user-setup\" non funzionerebbe in " +"quanto prima di poter configurare l'utente per sudo è necessario " +"aggiungerlo. Per l'ordinamento numerico vedere i nomi degli script in /lib/" +"live/config." + +#. type: IP +#: en/live-config.7:29 +#, no-wrap +msgid "B<live-config.nocomponents> | B<nocomponents>" +msgstr "B<live-config.nocomponents> | B<nocomponents>" + +#. type: Plain text +#: en/live-config.7:31 +msgid "" +"No component is run. This is the same as not using any of 'live-config." +"components' or 'live-config.nocomponents'." +msgstr "" +"Non viene eseguito alcun componente, equivale a non utilizzare nessun " +"parametro di \"live-config.components\" o \"live-config.nocomponents\"." + +#. type: IP +#: en/live-config.7:31 +#, no-wrap +msgid "B<live-config.nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<live-config.nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:33 +msgid "All components are run, except the specified ones." +msgstr "Vengono eseguiti tutti i componenti tranne quelli specificati." + +#. type: SS +#: en/live-config.7:34 +#, no-wrap +msgid "Boot Parameters (options)" +msgstr "Parametri di avvio (opzioni)" + +#. type: Plain text +#: en/live-config.7:36 +msgid "" +"Some individual components can change their behaviour upon a boot parameter." +msgstr "" +"Alcuni singoli componenti possono modificare il loro comportamento in base a " +"un parametro di avvio." + +#. type: IP +#: en/live-config.7:37 +#, no-wrap +msgid "B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<debconf-preseed>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<debconf-preseed>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:39 +msgid "" +"Allows to fetch and apply one or more debconf preseed files to be applied to " +"the debconf database. Note that the URLs must be fetchable by wget (http, " +"ftp or file://)." +msgstr "" +"Permette di prelevare e applicare uno o più file debconf di " +"preconfigurazione da applicare al database debconf. Si noti che gli URL " +"devono essere scaricabili da wget (http, ftp o file://)." + +#. type: Plain text +#: en/live-config.7:41 en/live-config.7:83 +msgid "" +"If the file is placed on the live medium, it can be fetched with file:///lib/" +"live/mount/medium/I<FILE>, or with file:///I<FILE> if it is in the root " +"filesystem of the live system itself." +msgstr "" +"Se il file è posizionato sul supporto live, questo può essere prelevato con " +"file:///lib/live/mount/medium/I<FILE>, o con file:///I<FILE> se è nella " +"radice del filesystem del sistema live stesso." + +#. type: Plain text +#: en/live-config.7:43 +msgid "" +"All preseed files in /lib/live/config-preseed/ in the root filesystem of the " +"live system can be automatically enabled with the keyword 'filesystem'." +msgstr "" +"Tutti i file di preconfigurazione in /lib/live/config-preseed/ nella radice " +"del sistema live possono essere abilitati automaticamente con la parola " +"chiave \"filesystem\"." + +#. type: Plain text +#: en/live-config.7:45 +msgid "" +"All preseed files in /live/config-preseed/ of the live medium can be " +"automatically enabled with the keyword 'medium'." +msgstr "" +"Tutti i file di preconfigurazione in /live/config-preseed/ sul supporto live " +"possono essere abilitati automaticamente con la parola chiave \"medium\"." + +#. type: Plain text +#: en/live-config.7:47 +msgid "" +"If several mechanisms are combined, then filesystem preseed files are " +"applied first, then medium preseed files, and last the network preseed files." +msgstr "" +"Se vengono congiunti diversi meccanismi i file di preconfigurazione di tipo " +"filesystem vengono applicati per primi, seguiti dalla tipologia medium e " +"quindi da quelli network." + +#. type: IP +#: en/live-config.7:47 +#, no-wrap +msgid "B<live-config.hostname>=I<HOSTNAME> | B<hostname>=I<HOSTNAME>" +msgstr "B<live-config.hostname>=I<HOSTNAME> | B<hostname>=I<HOSTNAME>" + +#. type: Plain text +#: en/live-config.7:49 +msgid "Allows to set the hostname of the system. The default is 'debian'." +msgstr "" +"Permette di impostare l'hostname del sistema, il predefinito è \"debian\"." + +#. type: IP +#: en/live-config.7:49 +#, no-wrap +msgid "B<live-config.username>=I<USERNAME> | B<username>=I<USERNAME>" +msgstr "B<live-config.username>=I<NOMEUTENTE> | B<username>=I<NOMEUTENTE>" + +#. type: Plain text +#: en/live-config.7:51 +msgid "" +"Allows to set the username that gets created for autologin. The default is " +"'user'." +msgstr "" +"Permette di impostare il nome utente che viene creato per il login " +"automatico, il predefinito è \"user\"." + +#. type: IP +#: en/live-config.7:51 +#, no-wrap +msgid "B<live-config.user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn> | B<user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "B<live-config.user-default-groups>=I<GRUPPO>,I<GRUPPO2> ... I<GRUPPOn> | B<user-default-groups>=I<GRUPPO1>,I<GRUPPO2> ... I<GRUPPOn>" + +#. type: Plain text +#: en/live-config.7:53 +msgid "" +"Allows to set the default groups of the users that gets created for " +"autologin is member of. The default is 'audio cdrom dip floppy video plugdev " +"netdev powerdev scanner bluetooth'." +msgstr "" +"Permette di impostare i gruppi dei quali fanno parte gli utenti creati per " +"il login automatico. Il valore predefinito è \"audio cdrom dip floppy video " +"plugdev netdev powerdev scanner bluetooth\"." + +#. type: IP +#: en/live-config.7:53 +#, no-wrap +msgid "B<live-config.user-fullname>=\"I<USER FULLNAME>\" | B<user-fullname>=\"I<USER FULLNAME>\"" +msgstr "B<live-config.user-fullname>=\"I<NOME COMPLETO UTENTE>\" | B<user-fullname>=\"I<NOME COMPLETO UTENTE>\"" + +#. type: Plain text +#: en/live-config.7:55 +msgid "" +"Allows to set the fullname of the users that gets created for autologin. On " +"Debian the default is 'Debian Live user'." +msgstr "" +"Permette di impostare il nome utente completo che viene creato per il login " +"automatico, il predefinito di Debian è \"Debian Live user\"." + +#. type: IP +#: en/live-config.7:55 +#, no-wrap +msgid "B<live-config.locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn> | B<locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "B<live-config.locales>=I<LOCALIZZAZIONE1>,I<LOCALIZZAZIONE2> ... I<LOCALIZZAZIONEn> | B<locales>=I<LOCALIZZAZIONE1>,I<LOCALIZZAZIONE2> ... I<LOCALIZZAZIONEn>" + +#. type: Plain text +#: en/live-config.7:57 +msgid "" +"Allows to set the locale of the system, e.g. 'de_CH.UTF-8'. The default is " +"'en_US.UTF-8'. In case the selected locale is not already available on the " +"system, it is automatically generated on the fly." +msgstr "" +"Permette di impostare la localizzazione del sistema, ad esempio \"it_IT." +"UTF-8\", il predefinito è \"en_US.UTF-8\". Se la localizzazione selezionata " +"non è già disponibile viene generata al volo automaticamente." + +#. type: IP +#: en/live-config.7:57 +#, no-wrap +msgid "B<live-config.timezone>=I<TIMEZONE> | B<timezone>=I<TIMEZONE>" +msgstr "B<live-config.timezone>=I<FUSO ORARIO> | B<timezone>=I<FUSO ORARIO>" + +#. type: Plain text +#: en/live-config.7:59 +msgid "" +"Allows to set the timezone of the system, e.g. 'Europe/Zurich'. The default " +"is 'UTC'." +msgstr "" +"Permette di impostare il fuso orario del sistema, ad esempio \"Europe/Rome" +"\"; il predefinito è \"UTC\"." + +#. type: IP +#: en/live-config.7:59 +#, no-wrap +msgid "B<live-config.keyboard-model>=I<KEYBOARD_MODEL> | B<keyboard-model>=I<KEYBOARD_MODEL>" +msgstr "B<live-config.keyboard-model>=I<MODELLO_TASTIERA> | B<keyboard-model>=I<MODELLO_TASTIERA>" + +#. type: Plain text +#: en/live-config.7:61 +msgid "Allows to change the keyboard model. There is no default value set." +msgstr "" +"Permette di scegliere il modello della tastiera, non è impostato alcun " +"valore predefinito." + +#. type: IP +#: en/live-config.7:61 +#, no-wrap +msgid "B<live-config.keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn> | B<keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "B<live-config.keyboard-layouts>=I<LAYOUT_TASTIERA1>,I<LAYOUT_TASTIERA2> ... I<LAYOUT_TASTIERAn> | B<keyboard-layouts>=I<LAYOUT_TASTIERA1>,I<LAYOUT_TASTIERA2> ... I<LAYOUT_TASTIERAn>" + +#. type: Plain text +#: en/live-config.7:63 +msgid "" +"Allows to change the keyboard layouts. If more than one is specified, the " +"tools of the desktop environment will allow to switch it under X11. There is " +"no default value set." +msgstr "" +"Permette di modificare i layout della tastiera. Se ne viene specificato più " +"di uno gli strumenti dell'ambiente desktop consentiranno di cambiarlo in " +"X11. Non è impostato alcun valore predefinito." + +#. type: IP +#: en/live-config.7:63 +#, no-wrap +msgid "B<live-config.keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn> | B<keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "B<live-config.keyboard-variants>=I<SCHEMA_TASTIERA1>,I<SCHEMA_TASTIERA2> ... I<SCHEMA_TASTIERAn> | B<keyboard-variants>=I<SCHEMA_TASTIERA1>,I<SCHEMA_TASTIERA2> ... I<SCHEMA_TASTIERAn>" + +#. type: Plain text +#: en/live-config.7:65 +msgid "" +"Allows to change the keyboard variants. If more than one is specified, the " +"same number of values as keyboard-layouts values should be specified as they " +"will be matched one-to-one in the order specified. Blank values are allowed. " +"The tools of the desktop environment will allow to switch between each " +"layout and variant pair under X11. There is no default value set." +msgstr "" +"Permette di modificare gli schemi della tastiera (es. qwerty, qWERTZ, " +"AZERTY, ecc.). Se ne viene specificato più di uno è necessario indicare lo " +"stesso numero di valori dei layout della tastiera che verranno abbinati ad " +"uno schema nell'ordine definito. Sono ammessi valori vuoti. Gli strumenti " +"dell'ambiente desktop consentiranno di passare da uno all'altro in X11. Non " +"è impostato alcun valore predefinito." + +#. type: IP +#: en/live-config.7:65 +#, no-wrap +msgid "B<live-config.keyboard-options>=I<KEYBOARD_OPTIONS> | B<keyboard-options>=I<KEYBOARD_OPTIONS>" +msgstr "B<live-config.keyboard-options>=I<OPZIONI_TASTIERA> | B<keyboard-options>=I<OPZIONI_TASTIERA>" + +#. type: Plain text +#: en/live-config.7:67 +msgid "Allows to change the keyboard options. There is no default value set." +msgstr "" +"Permette di modificare le opzioni della tastiera, non è impostato alcun " +"valore predefinito." + +#. type: IP +#: en/live-config.7:67 +#, no-wrap +msgid "B<live-config.sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn> | B<sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "B<live-config.sysv-rc>=I<SERVIZIO1>,I<SERVIZIO2> ... I<SERVIZIOn> | B<sysv-rc>=I<SERVIZIO1>,I<SERVIZIO2> ... I<SERVIZIOn>" + +#. type: Plain text +#: en/live-config.7:69 +msgid "Allows to disable sysv services through update-rc.d." +msgstr "Permette di disabilitare i servizi di sysv tramite update-rc.d." + +#. type: IP +#: en/live-config.7:69 +#, no-wrap +msgid "B<live-config.utc>=B<yes>|no | B<utc>=B<yes>|no" +msgstr "B<live-config.utc>=B<yes>|no | B<utc>=B<yes>|no" + +#. type: Plain text +#: en/live-config.7:71 +msgid "" +"Allows to change if the system is assuming that the hardware clock is set to " +"UTC or not. The default is 'yes'." +msgstr "" +"Permette di scegliere se il sistema debba supporre che l'orologio hardware " +"sia impostato o meno su UTC, il valore predefinito è \"yes\"." + +#. type: IP +#: en/live-config.7:71 +#, no-wrap +msgid "B<live-config.x-session-manager=>I<X_SESSION_MANAGER> | B<x-session-manager>=I<X_SESSION_MANAGER>" +msgstr "B<live-config.x-session-manager=>I<X_SESSION_MANAGER> | B<x-session-manager>=I<X_SESSION_MANAGER>" + +#. type: Plain text +#: en/live-config.7:73 +msgid "Allows to set the x-session-manager through update-alternatives." +msgstr "Permette di impostare x-session-manager tramite update-alternatives." + +#. type: IP +#: en/live-config.7:73 +#, no-wrap +msgid "B<live-config.xorg-driver>=I<XORG_DRIVER> | B<xorg-driver>=I<XORG_DRIVER>" +msgstr "B<live-config.xorg-driver>=I<DRIVER_XORG> | B<xorg-driver>=I<DRIVER_XORG>" + +#. type: Plain text +#: en/live-config.7:75 +msgid "" +"Allows to set xorg driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/xserver-xorg/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" +"Permette di impostare il driver per xorg invece di riconoscerlo " +"automaticamente. Se un ID PCI viene specificato in /usr/share/live/config/" +"xserver-xorg/I<DRIVER>.ids all'interno del sistema live, I<DRIVER> viene " +"applicato a questi device. Se viene trovato sia un parametro di boot sia uno " +"imposto, quello di boot ha la precedenza." + +#. type: IP +#: en/live-config.7:75 +#, no-wrap +msgid "B<live-config.xorg-resolution>=I<XORG_RESOLUTION> | B<xorg-resolution>=I<XORG_RESOLUTION>" +msgstr "B<live-config.xorg-resolution>=I<RISOLUZIONE_XORG> | B<xorg-resolution>=I<RISOLUZIONE_XORG>" + +#. type: Plain text +#: en/live-config.7:77 +msgid "" +"Allows to set xorg resolution instead of autodetecting it, e.g. 1024x768." +msgstr "" +"Permette di impostare la risoluzione per xorg invece di riconoscerla " +"automaticamente, ad esempio 1024x768." + +#. type: IP +#: en/live-config.7:77 +#, no-wrap +msgid "B<live-config.wlan-driver>=I<WLAN_DRIVER> | B<wlan-driver>=I<WLAN_DRIVER>" +msgstr "B<live-config.wlan-driver>=I<DRIVER_WLAN> | B<wlan-driver>=I<DRIVER_WLAN>" + +#. type: Plain text +#: en/live-config.7:79 +msgid "" +"Allows to set WLAN driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/broadcom-sta/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" +"Permette di impostare il driver per WLAN invece di riconoscerlo " +"automaticamente. Se un ID PCI viene specificato in /usr/share/live/config/" +"broadcom-sta/I<DRIVER>.ids all'interno del sistema live, I<DRIVER> viene " +"applicato a questi device. Se viene trovato sia un parametro di boot sia uno " +"imposto, quello di boot ha la precedenza." + +#. type: IP +#: en/live-config.7:79 +#, no-wrap +msgid "B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<hooks>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<hooks>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:81 +msgid "" +"Allows to fetch and execute one or more arbitrary files. Note that the URLs " +"must be fetchable by wget (http, ftp or file://), the files are executed in /" +"tmp of the running live system, and that the files needs their dependencies, " +"if any, already installed, e.g. if a python script should be executed the " +"system needs python installed. Some hooks for some common use-cases are " +"available at /usr/share/doc/live-config/examples/hooks/ and E<lt>I<http://" +"live-systems.org/other/hooks>E<gt>." +msgstr "" +"Permette di prelevare ed eseguire uno o più file arbitrari. Si noti che gli " +"URL devono essere scaricabili da wget (http, ftp o file://), i file vengono " +"eseguiti nella directory /tmp del sistema in esecuzione, e che tali file " +"necessitano delle loro dipendenze già installate; ad esempio se bisogna " +"eseguire uno script python il sistema ha bisogno di python installato. Sono " +"disponibili alcuni hook per i casi d'uso più comuni in /usr/share/doc/live-" +"config/examples/hooks/ e all'indirizzo E<lt>I<http://live-systems.org/other/" +"hooks>E<gt>." + +#. type: Plain text +#: en/live-config.7:85 +msgid "" +"All hooks in /lib/live/config-hooks/ in the root filesystem of the live " +"system can be automatically enabled with the keyword 'filesystem'." +msgstr "" +"Tutti gli hook nella directory /lib/live/config-hooks/ del sistema live " +"possono essere abilitati automaticamente con la parola chiave \"filesystem\"." + +#. type: Plain text +#: en/live-config.7:87 +msgid "" +"All hooks in /live/config-hooks/ of the live medium can be automatically " +"enabled with the keyword 'medium'." +msgstr "" +"Tutti gli hook nella directory /live/config-hooks/ del sistema live possono " +"essere abilitati automaticamente con la parola chiave \"medium\"." + +#. type: Plain text +#: en/live-config.7:89 +msgid "" +"If several mechanisms are combined, then filesystem hooks are executed " +"first, then medium hooks, and last the network hooks." +msgstr "" +"Se vengono congiunti svariati meccanismi, gli hook di tipo filesystem " +"vengono applicati per primi, seguiti dalla tipologia medium e quindi da " +"quelli network." + +#. type: SS +#: en/live-config.7:90 +#, no-wrap +msgid "Boot Parameters (shortcuts)" +msgstr "Parametri di avvio (scorciatoie)" + +#. type: Plain text +#: en/live-config.7:92 +msgid "" +"For some common use cases where it would require to combine several " +"individual parameters, B<live-config> provides shortcuts. This allows both " +"to have full granularity over all the options, as well keep things simple." +msgstr "" +"Per alcuni casi di uso comune in cui sarebbe necessario combinare diversi " +"parametri particolari, B<live-config> fornisce delle scorciatoie. Questo " +"permette sia di avere una completa granularità su tutte le opzioni, sia di " +"mantenere semplici le cose." + +#. type: IP +#: en/live-config.7:93 +#, no-wrap +msgid "B<live-config.noroot> | B<noroot>" +msgstr "B<live-config.noroot> | B<noroot>" + +#. type: Plain text +#: en/live-config.7:95 +msgid "" +"Disables sudo and policykit, the user cannot gain root privileges on the " +"system." +msgstr "" +"Disabilita sudo e policykit, l'utente non può ottenere i privilegi di root " +"nel sistema." + +#. type: IP +#: en/live-config.7:95 +#, no-wrap +msgid "B<live-config.noautologin> | B<noautologin>" +msgstr "B<live-config.noautologin> | B<noautologin>" + +#. type: Plain text +#: en/live-config.7:97 +msgid "Disables both the automatic console login and the graphical autologin." +msgstr "Disabilita sia il login automatico in console sia quello grafico." + +#. type: IP +#: en/live-config.7:97 +#, no-wrap +msgid "B<live-config.nottyautologin> | B<nottyautologin>" +msgstr "B<live-config.nottyautologin> | B<nottyautologin>" + +#. type: Plain text +#: en/live-config.7:99 +msgid "" +"Disables the automatic login on the console, not affecting the graphical " +"autologin." +msgstr "" +"Disabilita il login automatico in console senza coinvolgere quello grafico." + +#. type: IP +#: en/live-config.7:99 +#, no-wrap +msgid "B<live-config.nox11autologin> | B<nox11autologin>" +msgstr "B<live-config.nox11autologin> | B<nox11autologin>" + +#. type: Plain text +#: en/live-config.7:101 +msgid "" +"Disables the automatic login with any display manager, not affecting tty " +"autologin." +msgstr "" +"Disabilita il login automatico con qualsiasi gestore grafico senza " +"coinvolgere quello in tty." + +#. type: SS +#: en/live-config.7:102 +#, no-wrap +msgid "Boot Parameters (special options)" +msgstr "Parametri di avvio (opzioni speciali)" + +#. type: Plain text +#: en/live-config.7:104 +msgid "For special use cases there are some special boot paramters." +msgstr "Per casi particolari ci sono alcuni parametri speciali." + +#. type: IP +#: en/live-config.7:105 +#, no-wrap +msgid "B<live-config.debug> | B<debug>" +msgstr "B<live-config.debug> | B<debug>" + +#. type: Plain text +#: en/live-config.7:107 +msgid "Enables debug output in live-config." +msgstr "Abilita l'output di debug in live-config." + +#. type: SS +#: en/live-config.7:108 +#, no-wrap +msgid "Configuration Files" +msgstr "File di configurazione" + +#. type: Plain text +#: en/live-config.7:110 +msgid "" +"B<live-config> can be configured (but not activated) through configuration " +"files. Everything but the shortcuts that can be configured with a boot " +"parameter can also alternatively be configured through one or more files. If " +"configuration files are used, the 'boot=live' parameter is still required to " +"activate B<live-config>." +msgstr "" +"B<live-config> può essere configurato (ma non attivato) attraverso file di " +"configurazione. Tranne le scorciatoie che sono configurabili con un " +"parametro di avvio, tutto può essere configurato in alternativa tramite uno " +"o più file. Se vengono usati questi file, il parametro \"boot=live\" è " +"comunque richiesto per attivare B<live-config>." + +#. type: Plain text +#: en/live-config.7:112 +msgid "" +"B<Note:> If configuration files are used, either (preferably) all boot " +"parameters should be put into the B<LIVE_CONFIG_CMDLINE> variable, or " +"individual variables can be set. If individual variables are used, the user " +"is required to ensure that all the necessary variables are set to create a " +"valid configuration." +msgstr "" +"B<Nota:> Se vengono utilizzati file di configurazione tutti i parametri di " +"avvio vanno inseriti nella variabile B<LIVE_CONFIG_CMDLINE> " +"(preferibilmente), oppure si possono impostare variabili singole. Se si " +"utilizzano queste ultime, per creare una configurazione valida è richiesto " +"che l'utente si accerti che siano impostate tutte le variabili necessarie." + +#. type: Plain text +#: en/live-config.7:114 +msgid "" +"Configuration files can be placed either in the root filesystem itself (/etc/" +"live/config.conf, /etc/live/config.conf.d/*.conf), or on the live media " +"(live/config.conf, live/config.conf.d/*.conf). If both places are used for a " +"certain option, the ones from the live media take precedence over the ones " +"from the root filesystem." +msgstr "" +"I file di configurazione sono collocabili sia nello stesso filesystem di " +"root (/etc/live/config.conf, /etc/live/config.conf.d/*.conf), sia nel " +"supporto live (live/config.conf, live/config.conf.d/*.conf). Se per una " +"certa opzione si usano entrambe le destinazioni, avrà la precedenza quello " +"del supporto live." + +#. type: Plain text +#: en/live-config.7:116 +msgid "" +"Although the configuration files placed in the configuration directories do " +"not require a particular name or suffix, it is suggested for consistency " +"reasons to either use 'vendor.conf' or 'project.conf' as a naming scheme " +"(whereas 'vendor' or 'project' is replaced with the actual name, resulting " +"in a filename like 'progress-linux.conf')." +msgstr "" +"Sebbene i file di configurazione messi nelle directory di configurazione non " +"richiedano un nome o un suffisso particolari, per coerenza è suggerito di " +"usare \"vendor.conf\"o \"project.conf\" come schema di denominazione " +"(laddove \"vendor\" o \"project\" è sostituito con un nome reale, risultando " +"in un nome di file come \"progress-linux.conf\")." + +#. type: Plain text +#: en/live-config.7:118 +msgid "" +"The actual content of the configuration files consists of one or more of the " +"following variables." +msgstr "" +"Il contenuto effettivo dei file di configurazione è costituito da una o più " +"delle seguenti variabili." + +#. type: IP +#: en/live-config.7:119 +#, no-wrap +msgid "B<LIVE_CONFIG_CMDLINE>=I<PARAMETER1> I<PARAMETER2> ... I<PARAMETERn>" +msgstr "B<LIVE_CONFIG_CMDLINE>=I<PARAMETER1> I<PARAMETER2> ... I<PARAMETERn>" + +#. type: Plain text +#: en/live-config.7:121 +msgid "This variable corresponds to the bootloader command line." +msgstr "" +"Questa variabile corrisponde all'opzione bootloader da riga di comando." + +#. type: IP +#: en/live-config.7:121 +#, no-wrap +msgid "B<LIVE_CONFIG_COMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<LIVE_CONFIG_COMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:123 +msgid "" +"This variable corresponds to the 'B<live-config.components>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config." +"components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>\"." + +#. type: IP +#: en/live-config.7:123 +#, no-wrap +msgid "B<LIVE_CONFIG_NOCOMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<LIVE_CONFIG_NOCOMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" + +#. type: Plain text +#: en/live-config.7:125 +msgid "" +"This variable corresponds to the 'B<live-config.nocomponents>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config." +"nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>\"." + +#. type: IP +#: en/live-config.7:125 +#, no-wrap +msgid "B<LIVE_DEBCONF_PRESEED>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<LIVE_DEBCONF_PRESEED>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:127 +msgid "" +"This variable corresponds to the 'B<live-config.debconf-preseed>=filesystem|" +"medium|I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.debconf-" +"preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>\"." + +#. type: IP +#: en/live-config.7:127 +#, no-wrap +msgid "B<LIVE_HOSTNAME>=I<HOSTNAME>" +msgstr "B<LIVE_HOSTNAME>=I<HOSTNAME>" + +#. type: Plain text +#: en/live-config.7:129 +msgid "" +"This variable corresponds to the 'B<live-config.hostname>=I<HOSTNAME>' " +"parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config." +"hostname>=I<HOSTNAME>\"." + +#. type: IP +#: en/live-config.7:129 +#, no-wrap +msgid "B<LIVE_USERNAME>=I<USERNAME>" +msgstr "B<LIVE_USERNAME>=I<NOMEUTENTE>" + +#. type: Plain text +#: en/live-config.7:131 +msgid "" +"This variable corresponds to the 'B<live-config.username>=I<USERNAME>' " +"parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config." +"username>=I<NOMEUTENTE>\"." + +#. type: IP +#: en/live-config.7:131 +#, no-wrap +msgid "B<LIVE_USER_DEFAULT_GROUPS>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "B<LIVE_USER_DEFAULT_GROUPS>=I<GRUPPO1>,I<GRUPPO2> ... I<GRUPPOn>" + +#. type: Plain text +#: en/live-config.7:133 +msgid "" +"This variable corresponds to the 'B<live-config.user-default-groups>=" +"\"I<GROUP1>,I<GROUP2> ... I<GROUPn>\"' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.user-default-" +"groups>=\"I<GRUPPO1>,I<GRUPPO2> ... I<GRUPPOn>\"\"." + +#. type: IP +#: en/live-config.7:133 +#, no-wrap +msgid "B<LIVE_USER_FULLNAME>=\"I<USER FULLNAME>\"" +msgstr "B<LIVE_USER_FULLNAME>=\"I<NOME COMPLETO UTENTE>\"" + +#. type: Plain text +#: en/live-config.7:135 +msgid "" +"This variable corresponds to the 'B<live-config.user-fullname>=\"I<USER " +"FULLNAME>\"' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.user-fullname>=" +"\"I<NOME COMPLETO UTENTE>\"." + +#. type: IP +#: en/live-config.7:135 +#, no-wrap +msgid "B<LIVE_LOCALES>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "B<LIVE_LOCALES>=I<LOCALIZZAZIONE1>,I<LOCALIZZAZIONE2> ... I<LOCALIZZAZIONEn>" + +#. type: Plain text +#: en/live-config.7:137 +msgid "" +"This variable corresponds to the 'B<live-config.locales>=I<LOCALE1>," +"I<LOCALE2> ... I<LOCALEn>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config." +"locales>=I<LOCALIZZAZIONE1>,I<LOCALIZZAZIONE2> ... I<LOCALIZZAZIONEn>\"." + +#. type: IP +#: en/live-config.7:137 +#, no-wrap +msgid "B<LIVE_TIMEZONE>=I<TIMEZONE>" +msgstr "B<LIVE_TIMEZONE>=I<FUSO ORARIO>" + +#. type: Plain text +#: en/live-config.7:139 +msgid "" +"This variable corresponds to the 'B<live-config.timezone>=I<TIMEZONE>' " +"parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.timezone>=I<FUSO " +"ORARIO>\"." + +#. type: IP +#: en/live-config.7:139 +#, no-wrap +msgid "B<LIVE_KEYBOARD_MODEL>=I<KEYBOARD_MODEL>" +msgstr "B<LIVE_KEYBOARD_MODEL>=I<MODELLO_TASTIERA>" + +#. type: Plain text +#: en/live-config.7:141 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"model>=I<KEYBOARD_MODEL>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.keyboard-" +"model>=I<MODELLO_TASTIERA>\"." + +#. type: IP +#: en/live-config.7:141 +#, no-wrap +msgid "B<LIVE_KEYBOARD_LAYOUTS>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "B<LIVE_KEYBOARD_LAYOUTS>=I<LAYOUT_TASTIERA1>,I<LAYOUT_TASTIERA2> ... I<LAYOUT_TASTIERAn>" + +#. type: Plain text +#: en/live-config.7:143 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>' " +"parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.keyboard-" +"layouts>=I<LAYOUT_TASTIERA1>,I<LAYOUT_TASTIERA2> ... I<LAYOUT_TASTIERAn>\"." + +#. type: IP +#: en/live-config.7:143 +#, no-wrap +msgid "B<LIVE_KEYBOARD_VARIANTS>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "B<LIVE_KEYBOARD_VARIANTS>=I<SCHEMA_TASTIERA1>,I<SCHEMA_TASTIERA2> ... I<SCHEMA_TASTIERAn>" + +#. type: Plain text +#: en/live-config.7:145 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... " +"I<KEYBOARD_VARIANTn>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.keyboard-" +"variants>=I<SCHEMA_TASTIERA1>,I<SCHEMA_TASTIERA2> ... I<SCHEMA_TASTIERAn>\"." + +#. type: IP +#: en/live-config.7:145 +#, no-wrap +msgid "B<LIVE_KEYBOARD_OPTIONS>=I<KEYBOARD_OPTIONS>" +msgstr "B<LIVE_KEYBOARD_OPTIONS>=I<OPZIONI_TASTIERA>" + +#. type: Plain text +#: en/live-config.7:147 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"options>=I<KEYBOARD_OPTIONS>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.keyboard-" +"options>=I<OPZIONI_TASTIERA>\"." + +#. type: IP +#: en/live-config.7:147 +#, no-wrap +msgid "B<LIVE_SYSV_RC>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "B<LIVE_SYSV_RC>=I<SERVIZIO1>,I<SERVIZIO2> ... I<SERVIZIOn>" + +#. type: Plain text +#: en/live-config.7:149 +msgid "" +"This variable corresponds to the 'B<live-config.sysv-rc>=I<SERVICE1>," +"I<SERVICE2> ... I<SERVICEn>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.sysv-" +"rc>=I<SERVIZIO1>,I<SERVIZIO2> ... I<SERVIZIOn>\"." + +#. type: IP +#: en/live-config.7:149 +#, no-wrap +msgid "B<LIVE_UTC>=B<yes>|no" +msgstr "B<LIVE_UTC>=B<yes>|no" + +#. type: Plain text +#: en/live-config.7:151 +msgid "" +"This variable corresponds to the 'B<live-config.utc>=B<yes>|no' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.utc>=B<yes>|no\"." + +#. type: IP +#: en/live-config.7:151 +#, no-wrap +msgid "B<LIVE_X_SESSION_MANAGER>=I<X_SESSION_MANAGER>" +msgstr "B<LIVE_X_SESSION_MANAGER>=I<X_SESSION_MANAGER>" + +#. type: Plain text +#: en/live-config.7:153 +msgid "" +"This variable corresponds to the 'B<live-config.x-session-" +"manager>=I<X_SESSION_MANAGER>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.x-session-" +"manager>=I<X_SESSION_MANAGER>\"." + +#. type: IP +#: en/live-config.7:153 +#, no-wrap +msgid "B<LIVE_XORG_DRIVER>=I<XORG_DRIVER>" +msgstr "B<LIVE_XORG_DRIVER>=I<DRIVER_XORG>" + +#. type: Plain text +#: en/live-config.7:155 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-driver>=I<XORG_DRIVER>' " +"parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.xorg-" +"driver>=I<DRIVER_XORG>\"." + +#. type: IP +#: en/live-config.7:155 +#, no-wrap +msgid "B<LIVE_XORG_RESOLUTION>=I<XORG_RESOLUTION>" +msgstr "B<LIVE_XORG_RESOLUTION>=I<RISOLUZIONE_XORG>" + +#. type: Plain text +#: en/live-config.7:157 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-" +"resolution>=I<XORG_RESOLUTION>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.xorg-" +"resolution>=I<RISOLUZIONE_XORG>\"." + +#. type: IP +#: en/live-config.7:157 +#, no-wrap +msgid "B<LIVE_WLAN_DRIVER>=I<WLAN_DRIVER>" +msgstr "B<LIVE_WLAN_DRIVER>=I<DRIVER_WLAN>" + +#. type: Plain text +#: en/live-config.7:159 +msgid "" +"This variable corresponds to the 'B<live-config.wlan-driver>=I<WLAN_DRIVER>' " +"parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.wlan-" +"driver>=I<DRIVER_WLAN>\"." + +#. type: IP +#: en/live-config.7:159 +#, no-wrap +msgid "B<LIVE_HOOKS>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<LIVE_HOOKS>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:161 +msgid "" +"This variable corresponds to the 'B<live-config.hooks>=filesystem|medium|" +"I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" +"Questa variabile corrisponde al parametro \"B<live-config.hooks>=filesystem|" +"medium|I<URL1>|I<URL2>| ... |I<URLn>\"." + +#. type: IP +#: en/live-config.7:161 +#, no-wrap +msgid "B<LIVE_CONFIG_DEBUG>=true|false" +msgstr "B<LIVE_CONFIG_DEBUG>=true|false" + +#. type: Plain text +#: en/live-config.7:163 +msgid "This variable corresponds to the 'B<live-config.debug>' parameter." +msgstr "Questa variabile corrisponde al parametro \"B<live-config.debug>\"." + +#. type: SH +#: en/live-config.7:164 +#, no-wrap +msgid "CUSTOMIZATION" +msgstr "PERSONALIZZAZIONE" + +#. type: Plain text +#: en/live-config.7:166 +msgid "" +"B<live-config> can be easily customized for downstream projects or local " +"usage." +msgstr "" +"B<live-config> può essere facilmente personalizzato per progetti downstream " +"o utilizzo locale." + +#. type: SS +#: en/live-config.7:167 +#, no-wrap +msgid "Adding new config components" +msgstr "Aggiungere nuovi componenti config" + +#. type: Plain text +#: en/live-config.7:169 +msgid "" +"Downstream projects can put their components into /lib/live/config and do " +"not need to do anything else, the components will be called automatically " +"during boot." +msgstr "" +"I progetti downstream possono inserire i loro componenti nella directory /" +"lib/live/config senza la necessità di fare altro, i componenti saranno " +"richiamati automaticamente durante il boot." + +#. type: Plain text +#: en/live-config.7:171 +msgid "" +"The components are best put into an own debian package. A sample package " +"containing an example component can be found in /usr/share/doc/live-config/" +"examples." +msgstr "" +"È consigliato mettere tali componenti in un pacchetto debian dedicato. Si " +"può trovare un esempio in /usr/share/doc/live-config/examples." + +#. type: SS +#: en/live-config.7:172 +#, no-wrap +msgid "Removing existing config components" +msgstr "Rimuovere componenti config esistenti" + +#. type: Plain text +#: en/live-config.7:174 +msgid "" +"It is not really possible to remove components itself in a sane way yet " +"without requiring either to ship a locally modified B<live-config> package " +"or using dpkg-divert. However, the same can be achieved by disabling the " +"respective components through the live-config.nocomponents mechanism, see " +"above. To avoid to always need specifing disabled components through the " +"boot parameter, a configuration file should be used, see above." +msgstr "" +"Non è ancora realmente possibile rimuovere i componenti in un modo sensato " +"che non richieda di fornire un pacchetto di B<live-config> modificato " +"localmente o l'uso di dpkg-divert. Tuttavia la stessa cosa si può ottenere " +"disabilitando i rispettivi componenti tramite il meccanismo di live-config." +"nocomponents come spiegato prima. Per evitare di dover specificare ogni " +"volta con parametri di boot i componenti da disabilitare, usare un file di " +"configurazione come mostrato in precedenza." + +#. type: Plain text +#: en/live-config.7:176 +msgid "" +"The configuration files for the live system itself are best put into an own " +"debian package. A sample package containing an example configuration can be " +"found in /usr/share/doc/live-config/examples." +msgstr "" +"È consigliato mettere i file di configurazione per il sistema live in un " +"pacchetto debian dedicato. Si può trovare un esempio in /usr/share/doc/live-" +"config/examples." + +#. type: SH +#: en/live-config.7:177 +#, no-wrap +msgid "COMPONENTS" +msgstr "COMPONENTI" + +#. type: Plain text +#: en/live-config.7:179 +msgid "" +"B<live-config> currently features the following components in /lib/live/" +"config." +msgstr "" +"B<live-config> attualmente offre i seguenti componenti in /lib/live/config." + +#. type: IP +#: en/live-config.7:180 +#, no-wrap +msgid "B<debconf>" +msgstr "B<debconf>" + +#. type: Plain text +#: en/live-config.7:182 +msgid "" +"allows to apply arbitrary preseed files placed on the live media or an http/" +"ftp server." +msgstr "" +"permette di applicare file di preconfigurazione arbitrai situati sul " +"supporto live o su un server http/ftp." + +#. type: IP +#: en/live-config.7:182 +#, no-wrap +msgid "B<hostname>" +msgstr "B<hostname>" + +#. type: Plain text +#: en/live-config.7:184 +msgid "configures /etc/hostname and /etc/hosts." +msgstr "configura i file /etc/hostname e /etc/hosts." + +#. type: IP +#: en/live-config.7:184 +#, no-wrap +msgid "B<user-setup>" +msgstr "B<user-setup>" + +#. type: Plain text +#: en/live-config.7:186 +msgid "adds a live user account." +msgstr "aggiunge un account per l'utente live." + +#. type: IP +#: en/live-config.7:186 +#, no-wrap +msgid "B<sudo>" +msgstr "B<sudo>" + +#. type: Plain text +#: en/live-config.7:188 +msgid "grants sudo privileges to the live user." +msgstr "concede i privilegi per sudo all'utente live." + +#. type: IP +#: en/live-config.7:188 +#, no-wrap +msgid "B<locales>" +msgstr "B<locales>" + +#. type: Plain text +#: en/live-config.7:190 +msgid "configures locales." +msgstr "configura la localizzazione." + +#. type: IP +#: en/live-config.7:190 +#, no-wrap +msgid "B<locales-all>" +msgstr "B<locales-all>" + +#. type: Plain text +#: en/live-config.7:192 +msgid "configures locales-all." +msgstr "configura locales-all." + +#. type: IP +#: en/live-config.7:192 +#, no-wrap +msgid "B<tzdata>" +msgstr "B<tzdata>" + +#. type: Plain text +#: en/live-config.7:194 +msgid "configures /etc/timezone." +msgstr "configura il file /etc/timezone." + +#. type: IP +#: en/live-config.7:194 +#, no-wrap +msgid "B<gdm3>" +msgstr "B<gdm3>" + +#. type: Plain text +#: en/live-config.7:196 +msgid "configures autologin in gdm3." +msgstr "configura il login automatico per gdm3." + +#. type: IP +#: en/live-config.7:196 +#, no-wrap +msgid "B<kdm>" +msgstr "B<kdm>" + +#. type: Plain text +#: en/live-config.7:198 +msgid "configures autologin in kdm." +msgstr "configura il login automatico per kdm." + +#. type: IP +#: en/live-config.7:198 +#, no-wrap +msgid "B<lightdm>" +msgstr "B<lightdm>" + +#. type: Plain text +#: en/live-config.7:200 +msgid "configures autologin in lightdm." +msgstr "configura il login automatico per lightdm." + +#. type: IP +#: en/live-config.7:200 +#, no-wrap +msgid "B<lxdm>" +msgstr "B<lxdm>" + +#. type: Plain text +#: en/live-config.7:202 +msgid "configures autologin in lxdm." +msgstr "configura il login automatico per lxdm." + +#. type: IP +#: en/live-config.7:202 +#, no-wrap +msgid "B<nodm>" +msgstr "B<nodm>" + +#. type: Plain text +#: en/live-config.7:204 +msgid "configures autologin in nodm." +msgstr "configura il login automatico per nodm." + +#. type: IP +#: en/live-config.7:204 +#, no-wrap +msgid "B<slim>" +msgstr "B<slim>" + +#. type: Plain text +#: en/live-config.7:206 +msgid "configures autologin in slim." +msgstr "configura il login automatico per slim." + +#. type: IP +#: en/live-config.7:206 +#, no-wrap +msgid "B<xinit>" +msgstr "B<xinit>" + +#. type: Plain text +#: en/live-config.7:208 +msgid "configures autologin with xinit." +msgstr "configura il login automatico con xinit." + +#. type: IP +#: en/live-config.7:208 +#, no-wrap +msgid "B<keyboard-configuration>" +msgstr "B<keyboard-configuration>" + +#. type: Plain text +#: en/live-config.7:210 +msgid "configures the keyboard." +msgstr "configura la tastiera." + +#. type: IP +#: en/live-config.7:210 +#, no-wrap +msgid "B<systemd>" +msgstr "B<systemd>" + +#. type: Plain text +#: en/live-config.7:212 +msgid "configures systemd autologin." +msgstr "configura il login automatico con systemd." + +#. type: IP +#: en/live-config.7:212 +#, no-wrap +msgid "B<sysvinit>" +msgstr "B<sysvinit>" + +#. type: Plain text +#: en/live-config.7:214 +msgid "configures sysvinit." +msgstr "configura sysvinit." + +#. type: IP +#: en/live-config.7:214 +#, no-wrap +msgid "B<sysv-rc>" +msgstr "B<sysv-rc>" + +#. type: Plain text +#: en/live-config.7:216 +msgid "configures sysv-rc by disabling listed services." +msgstr "configura sysv-rc disabilitando i servizi elencati." + +#. type: IP +#: en/live-config.7:216 en/live-config.7:238 +#, no-wrap +msgid "B<login>" +msgstr "B<login>" + +#. type: Plain text +#: en/live-config.7:218 en/live-config.7:240 +msgid "disables lastlog." +msgstr "disabilita lastlog." + +#. type: IP +#: en/live-config.7:218 +#, no-wrap +msgid "B<apport>" +msgstr "B<apport>" + +#. type: Plain text +#: en/live-config.7:220 +msgid "disables apport." +msgstr "disabilita apport." + +#. type: IP +#: en/live-config.7:220 +#, no-wrap +msgid "B<gnome-panel-data>" +msgstr "B<gnome-panel-data>" + +#. type: Plain text +#: en/live-config.7:222 +msgid "disables lock button for the screen." +msgstr "disabilita il pulsante di blocco dello schermo." + +#. type: IP +#: en/live-config.7:222 +#, no-wrap +msgid "B<gnome-power-manager>" +msgstr "B<gnome-power-manager>" + +#. type: Plain text +#: en/live-config.7:224 +msgid "disables hibernation." +msgstr "disabilita l'ibernazione." + +#. type: IP +#: en/live-config.7:224 +#, no-wrap +msgid "B<gnome-screensaver>" +msgstr "B<gnome-screensaver>" + +#. type: Plain text +#: en/live-config.7:226 en/live-config.7:250 +msgid "disables the screensaver locking the screen." +msgstr "disabilita lo screensaver che blocca lo schermo." + +#. type: IP +#: en/live-config.7:226 +#, no-wrap +msgid "B<kaboom>" +msgstr "B<kaboom>" + +#. type: Plain text +#: en/live-config.7:228 +msgid "disables KDE migration wizard (squeeze and newer)." +msgstr "" +"disabilita la procedura guidata di migrazione di KDE (squeeze e successive)." + +#. type: IP +#: en/live-config.7:228 +#, no-wrap +msgid "B<kde-services>" +msgstr "B<kde-services>" + +#. type: Plain text +#: en/live-config.7:230 +msgid "disables some unwanted KDE services (squeeze and newer)." +msgstr "disabilita i servizi di KDE non voluti (squeeze e successive)." + +#. type: IP +#: en/live-config.7:230 +#, no-wrap +msgid "B<policykit>" +msgstr "B<policykit>" + +#. type: Plain text +#: en/live-config.7:232 +msgid "grant user privilegies through policykit." +msgstr "concede i privilegi per l'utente tramite policykit." + +#. type: IP +#: en/live-config.7:232 +#, no-wrap +msgid "B<ssl-cert>" +msgstr "B<ssl-cert>" + +#. type: Plain text +#: en/live-config.7:234 +msgid "regenerating ssl snake-oil certificates." +msgstr "rigenera certificati ssl snake-oil." + +#. type: IP +#: en/live-config.7:234 +#, no-wrap +msgid "B<anacron>" +msgstr "B<anacron>" + +#. type: Plain text +#: en/live-config.7:236 +msgid "disables anacron." +msgstr "disabilita anacron." + +#. type: IP +#: en/live-config.7:236 +#, no-wrap +msgid "B<util-linux>" +msgstr "B<util-linux>" + +#. type: Plain text +#: en/live-config.7:238 +msgid "disables util-linux' hwclock." +msgstr "disabilita hwclock (parte di util-linux)." + +#. type: IP +#: en/live-config.7:240 +#, no-wrap +msgid "B<xserver-xorg>" +msgstr "B<xserver-xorg>" + +#. type: Plain text +#: en/live-config.7:242 +msgid "configures xserver-xorg." +msgstr "configura xserver-xorg." + +#. type: IP +#: en/live-config.7:242 +#, no-wrap +msgid "B<broadcom-sta>" +msgstr "B<broadcom-sta>" + +#. type: Plain text +#: en/live-config.7:244 +msgid "configures broadcom-sta WLAN drivers." +msgstr "configura il driver per broadcom-sta WLAN." + +#. type: IP +#: en/live-config.7:244 +#, no-wrap +msgid "B<openssh-server>" +msgstr "B<openssh-server>" + +#. type: Plain text +#: en/live-config.7:246 +msgid "recreates openssh-server host keys." +msgstr "ricrea le chiavi di openssh-server." + +#. type: IP +#: en/live-config.7:246 +#, no-wrap +msgid "B<xfce4-panel>" +msgstr "B<xfce4-panel>" + +#. type: Plain text +#: en/live-config.7:248 +msgid "configures xfce4-panel to default settings." +msgstr "configura xfce4-panel con le impostazioni predefinite." + +#. type: IP +#: en/live-config.7:248 +#, no-wrap +msgid "B<xscreensaver>" +msgstr "B<xscreensaver>" + +#. type: IP +#: en/live-config.7:250 +#, no-wrap +msgid "B<hooks>" +msgstr "B<hooks>" + +#. type: Plain text +#: en/live-config.7:252 +msgid "" +"allows to run arbitrary commands from a file placed on the live media or an " +"http/ftp server." +msgstr "" +"permette di eseguire comandi arbitrari da un file situato sul supporto live " +"o su un server http/ftp." + +#. type: SH +#: en/live-config.7:253 +#, no-wrap +msgid "FILES" +msgstr "FILE" + +#. type: IP +#: en/live-config.7:254 +#, no-wrap +msgid "B</etc/live/config.conf>" +msgstr "B</etc/live/config.conf>" + +#. type: IP +#: en/live-config.7:255 +#, no-wrap +msgid "B</etc/live/config.conf.d/*.conf>" +msgstr "B</etc/live/config.conf.d/*.conf>" + +#. type: IP +#: en/live-config.7:256 +#, no-wrap +msgid "B<live/config.conf>" +msgstr "B<live/config.conf>" + +#. type: IP +#: en/live-config.7:257 +#, no-wrap +msgid "B<live/config.conf.d/*.conf>" +msgstr "B<live/config.conf.d/*.conf>" + +#. type: IP +#: en/live-config.7:258 +#, no-wrap +msgid "B</lib/live/config.sh>" +msgstr "B</lib/live/config.sh>" + +#. type: IP +#: en/live-config.7:259 +#, no-wrap +msgid "B</lib/live/config/>" +msgstr "B</lib/live/config/>" + +#. type: IP +#: en/live-config.7:260 +#, no-wrap +msgid "B</var/lib/live/config/>" +msgstr "B</var/lib/live/config/>" + +#. type: IP +#: en/live-config.7:261 +#, no-wrap +msgid "B</var/log/live/config.log>" +msgstr "B</var/log/live/config.log>" + +#. type: IP +#: en/live-config.7:263 +#, no-wrap +msgid "B</live/config-hooks/*>" +msgstr "B</live/config-hooks/*>" + +#. type: IP +#: en/live-config.7:264 +#, no-wrap +msgid "B<live/config-hooks/*>" +msgstr "B<live/config-hooks/*>" + +#. type: IP +#: en/live-config.7:265 +#, no-wrap +msgid "B</live/config-preseed/*>" +msgstr "B</live/config-preseed/*>" + +#. type: IP +#: en/live-config.7:266 +#, no-wrap +msgid "B<live/config-preseed/* >" +msgstr "B<live/config-preseed/* >" + +#. type: SH +#: en/live-config.7:268 +#, no-wrap +msgid "SEE ALSO" +msgstr "VEDERE ANCHE" + +#. type: Plain text +#: en/live-config.7:270 +msgid "I<live-boot>(7)" +msgstr "I<live-boot>(7)" + +#. type: Plain text +#: en/live-config.7:272 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-config.7:274 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-config.7:275 +#, no-wrap +msgid "HOMEPAGE" +msgstr "HOMEPAGE" + +#. type: Plain text +#: en/live-config.7:277 +msgid "" +"More information about live-config and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"Si possono trovare ulteriori informazioni su live-config e il progetto Live " +"Systems sulla homepage E<lt>I<http://live-systems.org/>E<gt> e nel manuale " +"all'indirizzo E<lt>I<http://live-systems.org/manual/>E<gt>." + +#. type: SH +#: en/live-config.7:278 +#, no-wrap +msgid "BUGS" +msgstr "BUG" + +#. type: Plain text +#: en/live-config.7:280 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-config package " +"in the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"I bug possono essere segnalati presentando un bugreport per il pacchetto " +"live-config sul Bug Tracking System all'indirizzo E<lt>I<http://bugs.debian." +"org/>E<gt> o inviando un'email alla mailing list di Live Sistems " +"E<lt>I<debian-live@lists.debian.org>E<gt>." + +#. type: SH +#: en/live-config.7:281 +#, no-wrap +msgid "AUTHOR" +msgstr "AUTORE" + +#. type: Plain text +#: en/live-config.7:282 +msgid "" +"live-config was written by Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." +msgstr "" +"live-config è stato scritto da Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." diff --git a/system-config/manpages/po/ja/live-config.7.po b/system-config/manpages/po/ja/live-config.7.po new file mode 100644 index 0000000..c812089 --- /dev/null +++ b/system-config/manpages/po/ja/live-config.7.po @@ -0,0 +1,1655 @@ +# Japanese translations for live-config package +# Copyright (C) 2013-2015 victory <victory.deb@gmail.com> +# This file is distributed under the same license as the live-config package. +# +msgid "" +msgstr "" +"Project-Id-Version: live-config\n" +"POT-Creation-Date: 2015-09-23 16:59+0200\n" +"PO-Revision-Date: 2015-08-21 18:15+0900\n" +"Last-Translator: victory <victory.deb@gmail.com>\n" +"Language-Team: none\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "LIVE-CONFIG" +msgstr "LIVE-CONFIG" + +#. type: TH +#: en/live-config.7:9 +#, fuzzy, no-wrap +#| msgid "2015-08-21" +msgid "2015-09-23" +msgstr "2015-08-21" + +#. type: TH +#: en/live-config.7:9 +#, fuzzy, no-wrap +#| msgid "5.0~a4-1" +msgid "5.0~a5-1" +msgstr "5.0~a4-1" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "Live Systems Project" +msgstr "Live システムプロジェクト" + +#. type: SH +#: en/live-config.7:11 +#, no-wrap +msgid "NAME" +msgstr "名前" + +#. type: Plain text +#: en/live-config.7:13 +msgid "B<live-config> - System Configuration Components" +msgstr "B<live-config> - システム設定構成要素" + +#. type: SH +#: en/live-config.7:14 +#, no-wrap +msgid "DESCRIPTION" +msgstr "説明" + +#. type: Plain text +#: en/live-config.7:16 +msgid "" +"B<live-config> contains the components that configure a live system during " +"the boot process (late userspace)." +msgstr "" +"B<live-config> はブートプロセス中 (後期ユーザ空間) に Live システムを設定する" +"構成要素を収録しています。" + +#. type: SH +#: en/live-config.7:17 +#, no-wrap +msgid "CONFIGURATION" +msgstr "設定" + +#. type: Plain text +#: en/live-config.7:19 +msgid "" +"B<live-config> can be configured through boot parameters or configuration " +"files. If both mechanisms are used for a certain option, the boot parameters " +"take precedence over the configuration files. When using persistency, B<live-" +"config> components are only run once." +msgstr "" +"B<live-config> はブートパラメータまたは設定ファイルから設定できます。両方の仕" +"組みで特定のオプションの設定が指示された場合はブートパラメータを設定ファイル" +"よりも優先します。保持機能を使っている場合、B<live-config> 構成要素は一度だけ" +"実行されます。" + +#. type: Plain text +#: en/live-config.7:21 +msgid "" +"If I<live-build>(7) is used to build the live system, the live-config " +"parameters used by default can be set through the --bootappend-live option, " +"see I<lb_config>(1) manual page." +msgstr "" +"I<live-build>(7) を使って Live システムをビルドした場合にデフォルトで利用され" +"る live-config パラメータは --bootappend-live オプションによりセットできま" +"す。I<lb_config>(1) マニュアルページを見てください。" + +#. type: SS +#: en/live-config.7:22 +#, no-wrap +msgid "Boot Parameters (components)" +msgstr "ブートパラメータ (構成要素)" + +#. type: Plain text +#: en/live-config.7:24 +msgid "" +"B<live-config> is only activated if 'boot=live' is used as a boot parameter. " +"Additionally, B<live-config> needs to be told which components to run " +"through the 'live-config.components' parameter or which components to not " +"run through the 'live-config.nocomponents' parameter. If both 'live-config." +"components' and 'live-config.nocomponents' are used, or, if either one is " +"specified multiple times, always the later one takes precedence over the " +"previous one(s)." +msgstr "" +"B<live-config> はブートパラメータとして「boot=live」が与えられた場合にのみ有" +"効になります。さらに、B<live-config> は「live-config.components」パラメータに" +"よりどの構成要素を実行するか、あるいは「live-config.nocomponents」パラメータ" +"によりどの構成要素を実行しないのか指示する必要があります。「live-config." +"components」と「live-config.nocomponents」が両方とも使われた、あるいは一方が" +"複数回指定された場合は、後で指定されたものが先に指定されたものよりも常に優先" +"されます。" + +#. type: IP +#: en/live-config.7:25 +#, no-wrap +msgid "B<live-config.components> | B<components>" +msgstr "B<live-config.components> | B<components>" + +#. type: Plain text +#: en/live-config.7:27 +msgid "All components are run. This is what live images use by default." +msgstr "構成要素は全て実行されます。これは Live イメージのデフォルトです。" + +#. type: IP +#: en/live-config.7:27 +#, no-wrap +msgid "B<live-config.components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<live-config.components>=I<構成要素1>,I<構成要素2>, ... I<構成要素n> | B<components>=I<構成要素1>,I<構成要素2>, ... I<構成要素n>" + +#. type: Plain text +#: en/live-config.7:29 +msgid "" +"Only the specified components are run. Note that the order matters, e.g. " +"'live-config.components=sudo,user-setup' would not work since the user needs " +"to be added before it can be configured for sudo. Look at the filenames of " +"the components in /lib/live/config for their ordering number." +msgstr "" +"指定した構成要素だけが実行されます。順序が重要であることに注意してください。" +"例えば「live-config.components=sudo,user-setup」は、sudo の設定前にユーザを追" +"加しておく必要があるため機能しません。実行順については /lib/live/config にあ" +"る構成要素のファイル名を見てください。" + +#. type: IP +#: en/live-config.7:29 +#, no-wrap +msgid "B<live-config.nocomponents> | B<nocomponents>" +msgstr "B<live-config.nocomponents> | B<nocomponents>" + +#. type: Plain text +#: en/live-config.7:31 +msgid "" +"No component is run. This is the same as not using any of 'live-config." +"components' or 'live-config.nocomponents'." +msgstr "" +"構成要素は何も実行されません。これは「live-config.components」や「live-" +"config.nocomponents」を何も指定しないのと同じです。" + +#. type: IP +#: en/live-config.7:31 +#, no-wrap +msgid "B<live-config.nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<live-config.nocomponents>=I<構成要素1>,I<構成要素2>, ... I<構成要素n> | B<nocomponents>=I<構成要素1>,I<構成要素2>, ... I<構成要素n>" + +#. type: Plain text +#: en/live-config.7:33 +msgid "All components are run, except the specified ones." +msgstr "構成要素は指定されたものを除いて全て実行されます。" + +#. type: SS +#: en/live-config.7:34 +#, no-wrap +msgid "Boot Parameters (options)" +msgstr "ブートパラメータ (オプション)" + +#. type: Plain text +#: en/live-config.7:36 +msgid "" +"Some individual components can change their behaviour upon a boot parameter." +msgstr "個々の構成要素の一部はブートパラメータにより挙動を変更できます。" + +#. type: IP +#: en/live-config.7:37 +#, no-wrap +msgid "B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<debconf-preseed>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<debconf-preseed>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:39 +msgid "" +"Allows to fetch and apply one or more debconf preseed files to be applied to " +"the debconf database. Note that the URLs must be fetchable by wget (http, " +"ftp or file://)." +msgstr "" +"debconf データベースに適用する debconf の preseed ファイルを取得、適用しま" +"す。URL は wget により取得できるもの (http、 ftp、 file:// のどれか) でないと" +"いけないことに注意してください" + +#. type: Plain text +#: en/live-config.7:41 en/live-config.7:83 +msgid "" +"If the file is placed on the live medium, it can be fetched with file:///lib/" +"live/mount/medium/I<FILE>, or with file:///I<FILE> if it is in the root " +"filesystem of the live system itself." +msgstr "" +"ファイルが Live メディア上にある場合は file:///lib/live/mount/medium/I<ファイ" +"ル>、Live システム自体のルートファイルシステムにある場合は file:///I<ファイル" +"> で取得できます。" + +#. type: Plain text +#: en/live-config.7:43 +msgid "" +"All preseed files in /lib/live/config-preseed/ in the root filesystem of the " +"live system can be automatically enabled with the keyword 'filesystem'." +msgstr "" +"「filesystem」というキーワードを使って、Live システムのルートファイルシステム" +"中の /lib/live/config-preseed/ にある preseed ファイルを全て自動的に有効化で" +"きます。" + +#. type: Plain text +#: en/live-config.7:45 +msgid "" +"All preseed files in /live/config-preseed/ of the live medium can be " +"automatically enabled with the keyword 'medium'." +msgstr "" +"「medium」というキーワードを使って、Live メディアの /live/config-preseed/ に" +"ある preseed ファイルを全て自動的に有効化できます。" + +#. type: Plain text +#: en/live-config.7:47 +msgid "" +"If several mechanisms are combined, then filesystem preseed files are " +"applied first, then medium preseed files, and last the network preseed files." +msgstr "" +"複数の仕組みを組み合わせた場合はファイルシステムの preseed ファイルがまず適用" +"され、それからメディアの preseed ファイル、最後にネットワークの preseed ファ" +"イルが適用されます。" + +#. type: IP +#: en/live-config.7:47 +#, no-wrap +msgid "B<live-config.hostname>=I<HOSTNAME> | B<hostname>=I<HOSTNAME>" +msgstr "B<live-config.hostname>=I<ホスト名> | B<hostname>=I<ホスト名>" + +#. type: Plain text +#: en/live-config.7:49 +msgid "Allows to set the hostname of the system. The default is 'debian'." +msgstr "システムのホスト名をセットします。デフォルトは「debian」です。" + +#. type: IP +#: en/live-config.7:49 +#, no-wrap +msgid "B<live-config.username>=I<USERNAME> | B<username>=I<USERNAME>" +msgstr "B<live-config.username>=I<ユーザ名> | B<username>=I<ユーザ名>" + +#. type: Plain text +#: en/live-config.7:51 +msgid "" +"Allows to set the username that gets created for autologin. The default is " +"'user'." +msgstr "" +"自動ログイン用に作成するユーザの名前をセットします。デフォルトは「user」で" +"す。" + +#. type: IP +#: en/live-config.7:51 +#, no-wrap +msgid "B<live-config.user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn> | B<user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "B<live-config.user-default-groups>=I<グループ1>,I<グループ2> ... I<グループn> | B<user-default-groups>=I<グループ1>,I<グループ2> ... I<グループn>" + +#. type: Plain text +#: en/live-config.7:53 +msgid "" +"Allows to set the default groups of the users that gets created for " +"autologin is member of. The default is 'audio cdrom dip floppy video plugdev " +"netdev powerdev scanner bluetooth'." +msgstr "" +"自動ログイン用に作成するユーザがメンバーとなるデフォルトのグループをセットし" +"ます。デフォルトは「audio cdrom dip floppy video plugdev netdev powerdev " +"scanner bluetooth」です。" + +#. type: IP +#: en/live-config.7:53 +#, no-wrap +msgid "B<live-config.user-fullname>=\"I<USER FULLNAME>\" | B<user-fullname>=\"I<USER FULLNAME>\"" +msgstr "B<live-config.user-fullname>=\"I<ユーザのフルネーム>\" | B<user-fullname>=\"I<ユーザのフルネーム>\"" + +#. type: Plain text +#: en/live-config.7:55 +msgid "" +"Allows to set the fullname of the users that gets created for autologin. On " +"Debian the default is 'Debian Live user'." +msgstr "" +"自動ログイン用に作成するユーザのフルネームをセットします。Debian でのデフォル" +"トは「Debian Live user」です。" + +#. type: IP +#: en/live-config.7:55 +#, no-wrap +msgid "B<live-config.locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn> | B<locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "B<live-config.locales>=I<ロケール1>,I<ロケール2> ... I<ロケールn> | B<locales>=I<ロケール1>,I<ロケール2> ... I<ロケールn>" + +#. type: Plain text +#: en/live-config.7:57 +msgid "" +"Allows to set the locale of the system, e.g. 'de_CH.UTF-8'. The default is " +"'en_US.UTF-8'. In case the selected locale is not already available on the " +"system, it is automatically generated on the fly." +msgstr "" +"システムのロケール、例えば「de_CH.UTF-8」をセットします。デフォルトは「en_US." +"UTF-8」です。選択したロケールが既に利用できるようになっていない場合はその場で" +"自動的に生成されます。" + +#. type: IP +#: en/live-config.7:57 +#, no-wrap +msgid "B<live-config.timezone>=I<TIMEZONE> | B<timezone>=I<TIMEZONE>" +msgstr "B<live-config.timezone>=I<タイムゾーン> | B<timezone>=I<タイムゾーン>" + +#. type: Plain text +#: en/live-config.7:59 +msgid "" +"Allows to set the timezone of the system, e.g. 'Europe/Zurich'. The default " +"is 'UTC'." +msgstr "" +"システムのタイムゾーン、例えば「Europe/Zurich」をセットします。デフォルトは" +"「UTC」です。" + +# Translator's NOTE: KEYBOARD_MODEL is such as pc106 +#. type: IP +#: en/live-config.7:59 +#, no-wrap +msgid "B<live-config.keyboard-model>=I<KEYBOARD_MODEL> | B<keyboard-model>=I<KEYBOARD_MODEL>" +msgstr "B<live-config.keyboard-model>=I<キーボードの種類> | B<keyboard-model>=I<キーボードの種類>" + +#. type: Plain text +#: en/live-config.7:61 +msgid "Allows to change the keyboard model. There is no default value set." +msgstr "キーボードの種類を変更します。デフォルト値はセットされていません。" + +# Translator's NOTE: KEYBOARD_LAYOUT is such as jp or us +# Translator's NOTE: g:キーボード配置 ->101@d.o; 0@w.d.o +# Translator's NOTE: g:キーボードレイアウト->421@d.o; 199@w.d.o +#. type: IP +#: en/live-config.7:61 +#, no-wrap +msgid "B<live-config.keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn> | B<keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "B<live-config.keyboard-layouts>=I<キーボードレイアウト1>,I<キーボードレイアウト2> ... I<キーボードレイアウトn> | B<keyboard-layouts>=I<キーボードレイアウト1>,I<キーボードレイアウト2> ... I<キーボードレイアウトn>" + +#. type: Plain text +#: en/live-config.7:63 +msgid "" +"Allows to change the keyboard layouts. If more than one is specified, the " +"tools of the desktop environment will allow to switch it under X11. There is " +"no default value set." +msgstr "" +"キーボードレイアウトを変更します。複数指定した場合は X11 からデスクトップ環境" +"のツールを使うと切り替えることができます。デフォルト値はセットされていませ" +"ん。" + +# Translator's NOTE: KEYBOARD_VARIANT is such as dvorak +#. type: IP +#: en/live-config.7:63 +#, no-wrap +msgid "B<live-config.keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn> | B<keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "B<live-config.keyboard-variants>=I<キーボード配列1>,I<キーボード配列2> ... I<キーボード配列n> | B<keyboard-variants>=I<キーボード配列1>,I<キーボード配列2> ... I<キーボード配列n>" + +#. type: Plain text +#: en/live-config.7:65 +msgid "" +"Allows to change the keyboard variants. If more than one is specified, the " +"same number of values as keyboard-layouts values should be specified as they " +"will be matched one-to-one in the order specified. Blank values are allowed. " +"The tools of the desktop environment will allow to switch between each " +"layout and variant pair under X11. There is no default value set." +msgstr "" +"キーボード配列を変更します。複数指定する場合は指定した順にキーボードレイアウ" +"トの設定と一対一で対応するため、値をそれぞれ同数指定するようにしてください。" +"空白を指定できます。X11 からデスクトップ環境のツールを使うとレイアウトと配列" +"のそれぞれの組を切り替えることができます。デフォルト値はセットされていませ" +"ん。" + +#. type: IP +#: en/live-config.7:65 +#, no-wrap +msgid "B<live-config.keyboard-options>=I<KEYBOARD_OPTIONS> | B<keyboard-options>=I<KEYBOARD_OPTIONS>" +msgstr "B<live-config.keyboard-options>=I<キーボードオプション> | B<keyboard-options>=I<キーボードオプション>" + +#. type: Plain text +#: en/live-config.7:67 +msgid "Allows to change the keyboard options. There is no default value set." +msgstr "キーボードオプションを変更します。デフォルト値はセットされていません。" + +#. type: IP +#: en/live-config.7:67 +#, no-wrap +msgid "B<live-config.sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn> | B<sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "B<live-config.sysv-rc>=I<サービス1>,I<サービス2> ... I<サービスn> | B<sysv-rc>=I<サービス1>,I<サービス2> ... I<サービスn>" + +#. type: Plain text +#: en/live-config.7:69 +msgid "Allows to disable sysv services through update-rc.d." +msgstr "update-rc.d から sysv サービスを無効化します。" + +#. type: IP +#: en/live-config.7:69 +#, no-wrap +msgid "B<live-config.utc>=B<yes>|no | B<utc>=B<yes>|no" +msgstr "B<live-config.utc>=B<yes>|no | B<utc>=B<yes>|no" + +#. type: Plain text +#: en/live-config.7:71 +msgid "" +"Allows to change if the system is assuming that the hardware clock is set to " +"UTC or not. The default is 'yes'." +msgstr "" +"ハードウェア時刻が UTC でセットされているとシステムが仮定するか否かを変更しま" +"す。デフォルトは「yes」です。" + +#. type: IP +#: en/live-config.7:71 +#, no-wrap +msgid "B<live-config.x-session-manager=>I<X_SESSION_MANAGER> | B<x-session-manager>=I<X_SESSION_MANAGER>" +msgstr "B<live-config.x-session-manager=>I<Xセッションマネージャ> | B<x-session-manager>=I<Xセッションマネージャ>" + +#. type: Plain text +#: en/live-config.7:73 +msgid "Allows to set the x-session-manager through update-alternatives." +msgstr "update-alternatives から x-session-manager をセットします。" + +#. type: IP +#: en/live-config.7:73 +#, no-wrap +msgid "B<live-config.xorg-driver>=I<XORG_DRIVER> | B<xorg-driver>=I<XORG_DRIVER>" +msgstr "B<live-config.xorg-driver>=I<XORGドライバ> | B<xorg-driver>=I<XORGドライバ>" + +#. type: Plain text +#: en/live-config.7:75 +msgid "" +"Allows to set xorg driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/xserver-xorg/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" +"xorg ドライバを自動検出に代えてセットします。Live システム内の /usr/share/" +"live/config/xserver-xorg/I<ドライバ>.ids で PCI ID が指定された場合は対象デバ" +"イスについてそのI<ドライバ>を強制的に使います。ブートパラメータと別の設定が両" +"方ともある場合はブートパラメータが優先されます。" + +#. type: IP +#: en/live-config.7:75 +#, no-wrap +msgid "B<live-config.xorg-resolution>=I<XORG_RESOLUTION> | B<xorg-resolution>=I<XORG_RESOLUTION>" +msgstr "B<live-config.xorg-resolution>=I<XORG解像度> | B<xorg-resolution>=I<XORG解像度>" + +#. type: Plain text +#: en/live-config.7:77 +msgid "" +"Allows to set xorg resolution instead of autodetecting it, e.g. 1024x768." +msgstr "xorg 解像度を自動検出に代えてセットします。例えば 1024x768。" + +#. type: IP +#: en/live-config.7:77 +#, no-wrap +msgid "B<live-config.wlan-driver>=I<WLAN_DRIVER> | B<wlan-driver>=I<WLAN_DRIVER>" +msgstr "B<live-config.wlan-driver>=I<WLANドライバ> | B<wlan-driver>=I<WLANドライバ>" + +#. type: Plain text +#: en/live-config.7:79 +msgid "" +"Allows to set WLAN driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/broadcom-sta/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" +"WLAN ドライバを自動検出に代えてセットします。Live システム内の /usr/share/" +"live/config/broadcom-sta/I<ドライバ>.ids で PCI ID が指定された場合は対象デバ" +"イスについてそのI<ドライバ>を強制的に使います。ブートパラメータと別の設定が両" +"方ともある場合はブートパラメータが優先されます。" + +#. type: IP +#: en/live-config.7:79 +#, no-wrap +msgid "B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<hooks>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<hooks>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:81 +msgid "" +"Allows to fetch and execute one or more arbitrary files. Note that the URLs " +"must be fetchable by wget (http, ftp or file://), the files are executed in /" +"tmp of the running live system, and that the files needs their dependencies, " +"if any, already installed, e.g. if a python script should be executed the " +"system needs python installed. Some hooks for some common use-cases are " +"available at /usr/share/doc/live-config/examples/hooks/ and E<lt>I<http://" +"live-systems.org/other/hooks>E<gt>." +msgstr "" +"任意のファイルを取得、実行します。URL は wget により取得できるもの (http、 " +"ftp、 file:// のどれか) でないといけないことと、そのファイルは実行中の Live " +"システムの /tmp で実行されること、そのファイルが何かに依存している場合はそれ" +"が既にインストールされている必要があることに注意してください。例えば python " +"スクリプトを実行するのであればそのシステムには python がインストールされてい" +"る必要があります。一般的な活用事例の一部について、そのためのフックが /usr/" +"share/doc/live-config/examples/hooks/ や E<lt>I<http://live-systems.org/" +"other/hooks>E<gt> からいくらか利用できるようになっています。" + +#. type: Plain text +#: en/live-config.7:85 +msgid "" +"All hooks in /lib/live/config-hooks/ in the root filesystem of the live " +"system can be automatically enabled with the keyword 'filesystem'." +msgstr "" +"「filesystem」というキーワードにより、Live システムのルートファイルシステム" +"の /lib/live/config-hooks/ にあるフックを全て自動的に有効化することができま" +"す。" + +#. type: Plain text +#: en/live-config.7:87 +msgid "" +"All hooks in /live/config-hooks/ of the live medium can be automatically " +"enabled with the keyword 'medium'." +msgstr "" +"「medium」というキーワードにより、Live メディアの /live/config-hooks/ にある" +"フックを全て自動的に有効化することができます。" + +#. type: Plain text +#: en/live-config.7:89 +msgid "" +"If several mechanisms are combined, then filesystem hooks are executed " +"first, then medium hooks, and last the network hooks." +msgstr "" +"複数の仕組みを組み合わせた場合はファイルシステムのフックがまず実行され、それ" +"からメディアのフック、最後にネットワークのフックが実行されます。" + +#. type: SS +#: en/live-config.7:90 +#, no-wrap +msgid "Boot Parameters (shortcuts)" +msgstr "ブートパラメータ (ショートカット)" + +#. type: Plain text +#: en/live-config.7:92 +msgid "" +"For some common use cases where it would require to combine several " +"individual parameters, B<live-config> provides shortcuts. This allows both " +"to have full granularity over all the options, as well keep things simple." +msgstr "" +"個々のパラメータを複数組み合わせる必要がある一般的な活用事例の一部については " +"B<live-config> がショートカットを提供しています。これにより、全オプションにつ" +"いて細かな指示を出しつつ、同時にパラメータを単純なものにしておくことができま" +"す。" + +#. type: IP +#: en/live-config.7:93 +#, no-wrap +msgid "B<live-config.noroot> | B<noroot>" +msgstr "B<live-config.noroot> | B<noroot>" + +#. type: Plain text +#: en/live-config.7:95 +msgid "" +"Disables sudo and policykit, the user cannot gain root privileges on the " +"system." +msgstr "" +"sudo と policykit を無効にします。ユーザがそのシステムの root 権限を得ること" +"はできなくなります。" + +#. type: IP +#: en/live-config.7:95 +#, no-wrap +msgid "B<live-config.noautologin> | B<noautologin>" +msgstr "B<live-config.noautologin> | B<noautologin>" + +#. type: Plain text +#: en/live-config.7:97 +msgid "Disables both the automatic console login and the graphical autologin." +msgstr "" +"自動化でのコンソールログインとグラフィカルな自動ログインを両方とも無効にしま" +"す。" + +#. type: IP +#: en/live-config.7:97 +#, no-wrap +msgid "B<live-config.nottyautologin> | B<nottyautologin>" +msgstr "B<live-config.nottyautologin> | B<nottyautologin>" + +#. type: Plain text +#: en/live-config.7:99 +msgid "" +"Disables the automatic login on the console, not affecting the graphical " +"autologin." +msgstr "" +"自動化でのコンソールログインを無効にします。グラフィカルな自動ログインには影" +"響しません。" + +#. type: IP +#: en/live-config.7:99 +#, no-wrap +msgid "B<live-config.nox11autologin> | B<nox11autologin>" +msgstr "B<live-config.nox11autologin> | B<nox11autologin>" + +#. type: Plain text +#: en/live-config.7:101 +msgid "" +"Disables the automatic login with any display manager, not affecting tty " +"autologin." +msgstr "" +"あらゆるディスプレイマネージャによる自動化でのログインを無効にします。tty の" +"自動ログインには影響しません。" + +#. type: SS +#: en/live-config.7:102 +#, no-wrap +msgid "Boot Parameters (special options)" +msgstr "ブートパラメータ (特別なオプション)" + +#. type: Plain text +#: en/live-config.7:104 +msgid "For special use cases there are some special boot paramters." +msgstr "特定用途向けに特別なブートパラメータがいくつかあります。" + +#. type: IP +#: en/live-config.7:105 +#, no-wrap +msgid "B<live-config.debug> | B<debug>" +msgstr "B<live-config.debug> | B<debug>" + +#. type: Plain text +#: en/live-config.7:107 +msgid "Enables debug output in live-config." +msgstr "live-config のデバッグ用出力を有効化します。" + +#. type: SS +#: en/live-config.7:108 +#, no-wrap +msgid "Configuration Files" +msgstr "設定ファイル" + +#. type: Plain text +#: en/live-config.7:110 +msgid "" +"B<live-config> can be configured (but not activated) through configuration " +"files. Everything but the shortcuts that can be configured with a boot " +"parameter can also alternatively be configured through one or more files. If " +"configuration files are used, the 'boot=live' parameter is still required to " +"activate B<live-config>." +msgstr "" +"B<live-config> は設定ファイルにより設定 (ただし有効化しない) することができま" +"す。ブートパラメータにより設定できるものはショートカットを除いて全てファイル" +"による設定もできます。設定ファイルを使う場合でも B<live-config> を有効化する" +"ためには「boot=live」パラメータが必要となります。" + +#. type: Plain text +#: en/live-config.7:112 +msgid "" +"B<Note:> If configuration files are used, either (preferably) all boot " +"parameters should be put into the B<LIVE_CONFIG_CMDLINE> variable, or " +"individual variables can be set. If individual variables are used, the user " +"is required to ensure that all the necessary variables are set to create a " +"valid configuration." +msgstr "" +"B<注意:> 設定ファイルを使う場合はブートパラメータを全て " +"B<LIVE_CONFIG_CMDLINE> 変数に配置する (好ましい) か、変数を個々にセットするこ" +"とができます。個々にセットする場合、有効な設定を作成するためにユーザは必ず必" +"要な変数を全てセットすることが要求されます。" + +#. type: Plain text +#: en/live-config.7:114 +msgid "" +"Configuration files can be placed either in the root filesystem itself (/etc/" +"live/config.conf, /etc/live/config.conf.d/*.conf), or on the live media " +"(live/config.conf, live/config.conf.d/*.conf). If both places are used for a " +"certain option, the ones from the live media take precedence over the ones " +"from the root filesystem." +msgstr "" +"設定ファイルはルートファイルシステム自体 (/etc/live/config.conf、 /etc/live/" +"config.conf.d/*.conf)、 または Live メディア (live/config.conf、 live/config." +"conf.d/*.conf) に配置できます。特定のオプションについて両方に配置されている場" +"合はルートファイルシステムにあるものよりも Live メディアにあるものを優先しま" +"す。" + +#. type: Plain text +#: en/live-config.7:116 +msgid "" +"Although the configuration files placed in the configuration directories do " +"not require a particular name or suffix, it is suggested for consistency " +"reasons to either use 'vendor.conf' or 'project.conf' as a naming scheme " +"(whereas 'vendor' or 'project' is replaced with the actual name, resulting " +"in a filename like 'progress-linux.conf')." +msgstr "" +"設定ディレクトリに置かれる設定ファイルには特定の名前や拡張子が要求されるわけ" +"ではありませんが、命名規則を整合性のため「vendor.conf」や「project.conf」のよ" +"うにすることを提案します (「vendor」や「project」は実際の名前に置き換え、ファ" +"イル名は「progress-linux.conf」のようになります)。" + +#. type: Plain text +#: en/live-config.7:118 +msgid "" +"The actual content of the configuration files consists of one or more of the " +"following variables." +msgstr "設定ファイルの実際の内容は以下の変数 (群) で構成されます。" + +#. type: IP +#: en/live-config.7:119 +#, no-wrap +msgid "B<LIVE_CONFIG_CMDLINE>=I<PARAMETER1> I<PARAMETER2> ... I<PARAMETERn>" +msgstr "B<LIVE_CONFIG_CMDLINE>=I<パラメータ1> I<パラメータ2> ... I<パラメータn>" + +#. type: Plain text +#: en/live-config.7:121 +msgid "This variable corresponds to the bootloader command line." +msgstr "この変数はブートローダのコマンドラインに相当します。" + +#. type: IP +#: en/live-config.7:121 +#, no-wrap +msgid "B<LIVE_CONFIG_COMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<LIVE_CONFIG_COMPONENTS>=I<構成要素1>,I<構成要素2>, ... I<構成要素n>" + +#. type: Plain text +#: en/live-config.7:123 +msgid "" +"This variable corresponds to the 'B<live-config.components>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" +"この変数は「B<live-config.components>=I<構成要素1>,I<構成要素2>, ... I<構成要" +"素n>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:123 +#, no-wrap +msgid "B<LIVE_CONFIG_NOCOMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "B<LIVE_CONFIG_NOCOMPONENTS>=I<構成要素1>,I<構成要素2>, ... I<構成要素n>" + +#. type: Plain text +#: en/live-config.7:125 +msgid "" +"This variable corresponds to the 'B<live-config.nocomponents>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" +"この変数は「B<live-config.nocomponents>=I<構成要素1>,I<構成要素2>, ... I<構成" +"要素n>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:125 +#, no-wrap +msgid "B<LIVE_DEBCONF_PRESEED>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<LIVE_DEBCONF_PRESEED>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:127 +msgid "" +"This variable corresponds to the 'B<live-config.debconf-preseed>=filesystem|" +"medium|I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" +"この変数は「B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|" +"I<URL2>| ... |I<URLn>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:127 +#, no-wrap +msgid "B<LIVE_HOSTNAME>=I<HOSTNAME>" +msgstr "B<LIVE_HOSTNAME>=I<ホスト名>" + +#. type: Plain text +#: en/live-config.7:129 +msgid "" +"This variable corresponds to the 'B<live-config.hostname>=I<HOSTNAME>' " +"parameter." +msgstr "" +"この変数は「B<live-config.hostname>=I<ホスト名>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:129 +#, no-wrap +msgid "B<LIVE_USERNAME>=I<USERNAME>" +msgstr "B<LIVE_USERNAME>=I<ユーザ名>" + +#. type: Plain text +#: en/live-config.7:131 +msgid "" +"This variable corresponds to the 'B<live-config.username>=I<USERNAME>' " +"parameter." +msgstr "" +"この変数は「B<live-config.username>=I<ユーザ名>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:131 +#, no-wrap +msgid "B<LIVE_USER_DEFAULT_GROUPS>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "B<LIVE_USER_DEFAULT_GROUPS>=I<グループ1>,I<グループ2> ... I<グループn>" + +#. type: Plain text +#: en/live-config.7:133 +msgid "" +"This variable corresponds to the 'B<live-config.user-default-groups>=" +"\"I<GROUP1>,I<GROUP2> ... I<GROUPn>\"' parameter." +msgstr "" +"この変数は「B<live-config.user-default-groups>=\"I<グループ1>,I<グループ" +"2> ... I<グループn>\"」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:133 +#, no-wrap +msgid "B<LIVE_USER_FULLNAME>=\"I<USER FULLNAME>\"" +msgstr "B<LIVE_USER_FULLNAME>=\"I<ユーザのフルネーム>\"" + +#. type: Plain text +#: en/live-config.7:135 +msgid "" +"This variable corresponds to the 'B<live-config.user-fullname>=\"I<USER " +"FULLNAME>\"' parameter." +msgstr "" +"この変数は「B<live-config.user-fullname>=\"I<ユーザのフルネーム>\"」パラメー" +"タに相当します。" + +#. type: IP +#: en/live-config.7:135 +#, no-wrap +msgid "B<LIVE_LOCALES>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "B<LIVE_LOCALES>=I<ロケール1>,I<ロケール2> ... I<ロケールn>" + +#. type: Plain text +#: en/live-config.7:137 +msgid "" +"This variable corresponds to the 'B<live-config.locales>=I<LOCALE1>," +"I<LOCALE2> ... I<LOCALEn>' parameter." +msgstr "" +"この変数は「B<live-config.locales>=I<ロケール1>,I<ロケール2> ... I<ロケール" +"n>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:137 +#, no-wrap +msgid "B<LIVE_TIMEZONE>=I<TIMEZONE>" +msgstr "B<LIVE_TIMEZONE>=I<タイムゾーン>" + +#. type: Plain text +#: en/live-config.7:139 +msgid "" +"This variable corresponds to the 'B<live-config.timezone>=I<TIMEZONE>' " +"parameter." +msgstr "" +"この変数は「B<live-config.timezone>=I<タイムゾーン>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:139 +#, no-wrap +msgid "B<LIVE_KEYBOARD_MODEL>=I<KEYBOARD_MODEL>" +msgstr "B<LIVE_KEYBOARD_MODEL>=I<キーボードの種類>" + +#. type: Plain text +#: en/live-config.7:141 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"model>=I<KEYBOARD_MODEL>' parameter." +msgstr "" +"この変数は「B<live-config.keyboard-model>=I<キーボードの種類>」パラメータに相" +"当します。" + +#. type: IP +#: en/live-config.7:141 +#, no-wrap +msgid "B<LIVE_KEYBOARD_LAYOUTS>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "B<LIVE_KEYBOARD_LAYOUTS>=I<キーボードレイアウト1>,I<キーボードレイアウト2> ... I<キーボードレイアウトn>" + +#. type: Plain text +#: en/live-config.7:143 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>' " +"parameter." +msgstr "" +"この変数は「B<live-config.keyboard-layouts>=I<キーボードレイアウト1>,I<キー" +"ボードレイアウト2> ... I<キーボードレイアウトn>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:143 +#, no-wrap +msgid "B<LIVE_KEYBOARD_VARIANTS>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "B<LIVE_KEYBOARD_VARIANTS>=I<キーボード配列1>,I<キーボード配列2> ... I<キーボード配列n>" + +#. type: Plain text +#: en/live-config.7:145 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... " +"I<KEYBOARD_VARIANTn>' parameter." +msgstr "" +"この変数は「B<live-config.keyboard-variants>=I<キーボード配列1>,I<キーボード" +"配列2> ... I<キーボード配列n>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:145 +#, no-wrap +msgid "B<LIVE_KEYBOARD_OPTIONS>=I<KEYBOARD_OPTIONS>" +msgstr "B<LIVE_KEYBOARD_OPTIONS>=I<キーボードオプション>" + +#. type: Plain text +#: en/live-config.7:147 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"options>=I<KEYBOARD_OPTIONS>' parameter." +msgstr "" +"この変数は「B<live-config.keyboard-options>=I<キーボードオプション>」パラメー" +"タに相当します。" + +#. type: IP +#: en/live-config.7:147 +#, no-wrap +msgid "B<LIVE_SYSV_RC>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "B<LIVE_SYSV_RC>=I<サービス1>,I<サービス2> ... I<サービスn>" + +#. type: Plain text +#: en/live-config.7:149 +msgid "" +"This variable corresponds to the 'B<live-config.sysv-rc>=I<SERVICE1>," +"I<SERVICE2> ... I<SERVICEn>' parameter." +msgstr "" +"この変数は「B<live-config.sysv-rc>=I<サービス1>,I<サービス2> ... I<サービス" +"n>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:149 +#, no-wrap +msgid "B<LIVE_UTC>=B<yes>|no" +msgstr "B<LIVE_UTC>=B<yes>|no" + +#. type: Plain text +#: en/live-config.7:151 +msgid "" +"This variable corresponds to the 'B<live-config.utc>=B<yes>|no' parameter." +msgstr "この変数は「B<live-config.utc>=B<yes>|no」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:151 +#, no-wrap +msgid "B<LIVE_X_SESSION_MANAGER>=I<X_SESSION_MANAGER>" +msgstr "B<LIVE_X_SESSION_MANAGER>=I<Xセッションマネージャ>" + +#. type: Plain text +#: en/live-config.7:153 +msgid "" +"This variable corresponds to the 'B<live-config.x-session-" +"manager>=I<X_SESSION_MANAGER>' parameter." +msgstr "" +"この変数は「B<live-config.x-session-manager>=I<Xセッションマネージャ>」パラ" +"メータに相当します。" + +#. type: IP +#: en/live-config.7:153 +#, no-wrap +msgid "B<LIVE_XORG_DRIVER>=I<XORG_DRIVER>" +msgstr "B<LIVE_XORG_DRIVER>=I<XORGドライバ>" + +#. type: Plain text +#: en/live-config.7:155 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-driver>=I<XORG_DRIVER>' " +"parameter." +msgstr "" +"この変数は「B<live-config.xorg-driver>=I<XORGドライバ>」パラメータに相当しま" +"す。" + +#. type: IP +#: en/live-config.7:155 +#, no-wrap +msgid "B<LIVE_XORG_RESOLUTION>=I<XORG_RESOLUTION>" +msgstr "B<LIVE_XORG_RESOLUTION>=I<XORG解像度>" + +#. type: Plain text +#: en/live-config.7:157 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-" +"resolution>=I<XORG_RESOLUTION>' parameter." +msgstr "" +"この変数は「B<live-config.xorg-resolution>=I<XORG解像度>」パラメータに相当し" +"ます。" + +#. type: IP +#: en/live-config.7:157 +#, no-wrap +msgid "B<LIVE_WLAN_DRIVER>=I<WLAN_DRIVER>" +msgstr "B<LIVE_WLAN_DRIVER>=I<WLANドライバ>" + +#. type: Plain text +#: en/live-config.7:159 +msgid "" +"This variable corresponds to the 'B<live-config.wlan-driver>=I<WLAN_DRIVER>' " +"parameter." +msgstr "" +"この変数は「B<live-config.wlan-driver>=I<WLANドライバ>」パラメータに相当しま" +"す。" + +#. type: IP +#: en/live-config.7:159 +#, no-wrap +msgid "B<LIVE_HOOKS>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "B<LIVE_HOOKS>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" + +#. type: Plain text +#: en/live-config.7:161 +msgid "" +"This variable corresponds to the 'B<live-config.hooks>=filesystem|medium|" +"I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" +"この変数は「B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |" +"I<URLn>」パラメータに相当します。" + +#. type: IP +#: en/live-config.7:161 +#, no-wrap +msgid "B<LIVE_CONFIG_DEBUG>=true|false" +msgstr "B<LIVE_CONFIG_DEBUG>=true|false" + +#. type: Plain text +#: en/live-config.7:163 +msgid "This variable corresponds to the 'B<live-config.debug>' parameter." +msgstr "この変数は「B<live-config.debug>」パラメータに相当します。" + +#. type: SH +#: en/live-config.7:164 +#, no-wrap +msgid "CUSTOMIZATION" +msgstr "独自化" + +#. type: Plain text +#: en/live-config.7:166 +msgid "" +"B<live-config> can be easily customized for downstream projects or local " +"usage." +msgstr "" +"B<live-config> は下流プロジェクトやローカル用途向けに簡単に独自化できます。" + +#. type: SS +#: en/live-config.7:167 +#, no-wrap +msgid "Adding new config components" +msgstr "新しい設定構成要素の追加" + +#. type: Plain text +#: en/live-config.7:169 +msgid "" +"Downstream projects can put their components into /lib/live/config and do " +"not need to do anything else, the components will be called automatically " +"during boot." +msgstr "" +"下流プロジェクトは /lib/live/config に自分の構成要素を配置するだけで用は済み" +"ます。他に何かする必要はなく、その構成要素はブート中に自動的に呼ばれます。" + +#. type: Plain text +#: en/live-config.7:171 +msgid "" +"The components are best put into an own debian package. A sample package " +"containing an example component can be found in /usr/share/doc/live-config/" +"examples." +msgstr "" +"構成要素は自分専用の Debian パッケージに配置するのが最善です。構成要素の例を" +"収録した見本のパッケージが /usr/share/doc/live-config/examples にあります。" + +#. type: SS +#: en/live-config.7:172 +#, no-wrap +msgid "Removing existing config components" +msgstr "既存の設定構成要素の削除" + +#. type: Plain text +#: en/live-config.7:174 +msgid "" +"It is not really possible to remove components itself in a sane way yet " +"without requiring either to ship a locally modified B<live-config> package " +"or using dpkg-divert. However, the same can be achieved by disabling the " +"respective components through the live-config.nocomponents mechanism, see " +"above. To avoid to always need specifing disabled components through the " +"boot parameter, a configuration file should be used, see above." +msgstr "" +"独自に改変した B<live-config> パッケージの作成や dpkg-divert の利用を要求せず" +"に健全な方法で構成要素自体を実際に削除することは今のところできません。しか" +"し、上記で説明した live-config.nocomponents の仕組みにより該当する構成要素を" +"無効にすれば同じことが実現できます。無効にする構成要素を常にブートパラメータ" +"から指定しないといけないということを避けるためには、上記で説明した設定ファイ" +"ルを使うようにしてください。" + +#. type: Plain text +#: en/live-config.7:176 +msgid "" +"The configuration files for the live system itself are best put into an own " +"debian package. A sample package containing an example configuration can be " +"found in /usr/share/doc/live-config/examples." +msgstr "" +"Live システム自体の設定ファイルは自分の Debian パッケージに配置するのが最善で" +"す。設定例を収録した見本のパッケージが /usr/share/doc/live-config/examples に" +"あります。" + +#. type: SH +#: en/live-config.7:177 +#, no-wrap +msgid "COMPONENTS" +msgstr "構成要素" + +#. type: Plain text +#: en/live-config.7:179 +msgid "" +"B<live-config> currently features the following components in /lib/live/" +"config." +msgstr "" +"B<live-config> では /lib/live/config 中の以下の構成要素が現在有効です。" + +#. type: IP +#: en/live-config.7:180 +#, no-wrap +msgid "B<debconf>" +msgstr "B<debconf>" + +#. type: Plain text +#: en/live-config.7:182 +msgid "" +"allows to apply arbitrary preseed files placed on the live media or an http/" +"ftp server." +msgstr "" +"Live メディアや http/ftp サーバに置かれた任意の preseed ファイルを適用しま" +"す。" + +#. type: IP +#: en/live-config.7:182 +#, no-wrap +msgid "B<hostname>" +msgstr "B<hostname>" + +#. type: Plain text +#: en/live-config.7:184 +msgid "configures /etc/hostname and /etc/hosts." +msgstr "/etc/hostname 及び /etc/hosts を設定します。" + +#. type: IP +#: en/live-config.7:184 +#, no-wrap +msgid "B<user-setup>" +msgstr "B<user-setup>" + +#. type: Plain text +#: en/live-config.7:186 +msgid "adds a live user account." +msgstr "Live ユーザアカウントを追加します。" + +#. type: IP +#: en/live-config.7:186 +#, no-wrap +msgid "B<sudo>" +msgstr "B<sudo>" + +#. type: Plain text +#: en/live-config.7:188 +msgid "grants sudo privileges to the live user." +msgstr "Live ユーザに sudo 権限を与えます。" + +#. type: IP +#: en/live-config.7:188 +#, no-wrap +msgid "B<locales>" +msgstr "B<locales>" + +#. type: Plain text +#: en/live-config.7:190 +msgid "configures locales." +msgstr "ロケールを設定します。" + +#. type: IP +#: en/live-config.7:190 +#, no-wrap +msgid "B<locales-all>" +msgstr "B<locales-all>" + +#. type: Plain text +#: en/live-config.7:192 +msgid "configures locales-all." +msgstr "locales-all を設定します。" + +#. type: IP +#: en/live-config.7:192 +#, no-wrap +msgid "B<tzdata>" +msgstr "B<tzdata>" + +#. type: Plain text +#: en/live-config.7:194 +msgid "configures /etc/timezone." +msgstr "/etc/timezone を設定します。" + +#. type: IP +#: en/live-config.7:194 +#, no-wrap +msgid "B<gdm3>" +msgstr "B<gdm3>" + +#. type: Plain text +#: en/live-config.7:196 +msgid "configures autologin in gdm3." +msgstr "gdm3 の自動ログインを設定します。" + +#. type: IP +#: en/live-config.7:196 +#, no-wrap +msgid "B<kdm>" +msgstr "B<kdm>" + +#. type: Plain text +#: en/live-config.7:198 +msgid "configures autologin in kdm." +msgstr "kdm の自動ログインを設定します。" + +#. type: IP +#: en/live-config.7:198 +#, no-wrap +msgid "B<lightdm>" +msgstr "B<lightdm>" + +#. type: Plain text +#: en/live-config.7:200 +msgid "configures autologin in lightdm." +msgstr "lightdm の自動ログインを設定します。" + +#. type: IP +#: en/live-config.7:200 +#, no-wrap +msgid "B<lxdm>" +msgstr "B<lxdm>" + +#. type: Plain text +#: en/live-config.7:202 +msgid "configures autologin in lxdm." +msgstr "lxdm の自動ログインを設定します。" + +#. type: IP +#: en/live-config.7:202 +#, no-wrap +msgid "B<nodm>" +msgstr "B<nodm>" + +#. type: Plain text +#: en/live-config.7:204 +msgid "configures autologin in nodm." +msgstr "nodm の自動ログインを設定します。" + +#. type: IP +#: en/live-config.7:204 +#, no-wrap +msgid "B<slim>" +msgstr "B<slim>" + +#. type: Plain text +#: en/live-config.7:206 +msgid "configures autologin in slim." +msgstr "slim の自動ログインを設定します。" + +#. type: IP +#: en/live-config.7:206 +#, no-wrap +msgid "B<xinit>" +msgstr "B<xinit>" + +#. type: Plain text +#: en/live-config.7:208 +msgid "configures autologin with xinit." +msgstr "xinit を使って自動ログインを設定します。" + +#. type: IP +#: en/live-config.7:208 +#, no-wrap +msgid "B<keyboard-configuration>" +msgstr "B<keyboard-configuration>" + +#. type: Plain text +#: en/live-config.7:210 +msgid "configures the keyboard." +msgstr "キーボードを設定します。" + +#. type: IP +#: en/live-config.7:210 +#, no-wrap +msgid "B<systemd>" +msgstr "B<systemd>" + +#. type: Plain text +#: en/live-config.7:212 +msgid "configures systemd autologin." +msgstr "systemd の自動ログインを設定します。" + +#. type: IP +#: en/live-config.7:212 +#, no-wrap +msgid "B<sysvinit>" +msgstr "B<sysvinit>" + +#. type: Plain text +#: en/live-config.7:214 +msgid "configures sysvinit." +msgstr "sysvinit を設定します。" + +#. type: IP +#: en/live-config.7:214 +#, no-wrap +msgid "B<sysv-rc>" +msgstr "B<sysv-rc>" + +#. type: Plain text +#: en/live-config.7:216 +msgid "configures sysv-rc by disabling listed services." +msgstr "一覧にあるサービスを無効にして sysv-rc を設定します。" + +#. type: IP +#: en/live-config.7:216 en/live-config.7:238 +#, no-wrap +msgid "B<login>" +msgstr "B<login>" + +#. type: Plain text +#: en/live-config.7:218 en/live-config.7:240 +msgid "disables lastlog." +msgstr "lastlog を無効にします。" + +#. type: IP +#: en/live-config.7:218 +#, no-wrap +msgid "B<apport>" +msgstr "B<apport>" + +#. type: Plain text +#: en/live-config.7:220 +msgid "disables apport." +msgstr "apport を無効にします。" + +#. type: IP +#: en/live-config.7:220 +#, no-wrap +msgid "B<gnome-panel-data>" +msgstr "B<gnome-panel-data>" + +#. type: Plain text +#: en/live-config.7:222 +msgid "disables lock button for the screen." +msgstr "を無効にします。" + +#. type: IP +#: en/live-config.7:222 +#, no-wrap +msgid "B<gnome-power-manager>" +msgstr "B<gnome-power-manager>" + +#. type: Plain text +#: en/live-config.7:224 +msgid "disables hibernation." +msgstr "ハイバネーションを無効にします。" + +#. type: IP +#: en/live-config.7:224 +#, no-wrap +msgid "B<gnome-screensaver>" +msgstr "B<gnome-screensaver>" + +#. type: Plain text +#: en/live-config.7:226 en/live-config.7:250 +msgid "disables the screensaver locking the screen." +msgstr "画面をロックするスクリーンセーバーを無効にします。" + +#. type: IP +#: en/live-config.7:226 +#, no-wrap +msgid "B<kaboom>" +msgstr "B<kaboom>" + +#. type: Plain text +#: en/live-config.7:228 +msgid "disables KDE migration wizard (squeeze and newer)." +msgstr "KDE 移行ウイザードを無効にします (squeeze 以降)。" + +#. type: IP +#: en/live-config.7:228 +#, no-wrap +msgid "B<kde-services>" +msgstr "B<kde-services>" + +#. type: Plain text +#: en/live-config.7:230 +msgid "disables some unwanted KDE services (squeeze and newer)." +msgstr "望まれていない KDE サービスの一部を無効にします (squeeze 以降)。" + +#. type: IP +#: en/live-config.7:230 +#, no-wrap +msgid "B<policykit>" +msgstr "B<policykit>" + +#. type: Plain text +#: en/live-config.7:232 +msgid "grant user privilegies through policykit." +msgstr "policykit を使ってユーザ権限を与えます。" + +#. type: IP +#: en/live-config.7:232 +#, no-wrap +msgid "B<ssl-cert>" +msgstr "B<ssl-cert>" + +#. type: Plain text +#: en/live-config.7:234 +msgid "regenerating ssl snake-oil certificates." +msgstr "SSL の snake-oil 証明書を再生成します。" + +#. type: IP +#: en/live-config.7:234 +#, no-wrap +msgid "B<anacron>" +msgstr "B<anacron>" + +#. type: Plain text +#: en/live-config.7:236 +msgid "disables anacron." +msgstr "anacron を無効にします。" + +#. type: IP +#: en/live-config.7:236 +#, no-wrap +msgid "B<util-linux>" +msgstr "B<util-linux>" + +#. type: Plain text +#: en/live-config.7:238 +msgid "disables util-linux' hwclock." +msgstr "util-linux の hwclock を無効にします。" + +#. type: IP +#: en/live-config.7:240 +#, no-wrap +msgid "B<xserver-xorg>" +msgstr "B<xserver-xorg>" + +#. type: Plain text +#: en/live-config.7:242 +msgid "configures xserver-xorg." +msgstr "xserver-xorg を設定します。" + +#. type: IP +#: en/live-config.7:242 +#, no-wrap +msgid "B<broadcom-sta>" +msgstr "B<broadcom-sta>" + +#. type: Plain text +#: en/live-config.7:244 +msgid "configures broadcom-sta WLAN drivers." +msgstr "broadcom-sta WLAN ドライバを設定します。" + +#. type: IP +#: en/live-config.7:244 +#, no-wrap +msgid "B<openssh-server>" +msgstr "B<openssh-server>" + +#. type: Plain text +#: en/live-config.7:246 +msgid "recreates openssh-server host keys." +msgstr "openssh-server のホストキーを再生成します。" + +#. type: IP +#: en/live-config.7:246 +#, no-wrap +msgid "B<xfce4-panel>" +msgstr "B<xfce4-panel>" + +#. type: Plain text +#: en/live-config.7:248 +msgid "configures xfce4-panel to default settings." +msgstr "xfce4-panel をデフォルト設定にします。" + +#. type: IP +#: en/live-config.7:248 +#, no-wrap +msgid "B<xscreensaver>" +msgstr "B<xscreensaver>" + +#. type: IP +#: en/live-config.7:250 +#, no-wrap +msgid "B<hooks>" +msgstr "B<hooks>" + +#. type: Plain text +#: en/live-config.7:252 +msgid "" +"allows to run arbitrary commands from a file placed on the live media or an " +"http/ftp server." +msgstr "" +"Live メディアや http/ftp サーバに置かれたファイルから任意の任意のコマンドを実" +"行します。" + +#. type: SH +#: en/live-config.7:253 +#, no-wrap +msgid "FILES" +msgstr "ファイル" + +#. type: IP +#: en/live-config.7:254 +#, no-wrap +msgid "B</etc/live/config.conf>" +msgstr "B</etc/live/config.conf>" + +#. type: IP +#: en/live-config.7:255 +#, no-wrap +msgid "B</etc/live/config.conf.d/*.conf>" +msgstr "B</etc/live/config.conf.d/*.conf>" + +#. type: IP +#: en/live-config.7:256 +#, no-wrap +msgid "B<live/config.conf>" +msgstr "B<live/config.conf>" + +#. type: IP +#: en/live-config.7:257 +#, no-wrap +msgid "B<live/config.conf.d/*.conf>" +msgstr "B<live/config.conf.d/*.conf>" + +#. type: IP +#: en/live-config.7:258 +#, no-wrap +msgid "B</lib/live/config.sh>" +msgstr "B</lib/live/config.sh>" + +#. type: IP +#: en/live-config.7:259 +#, no-wrap +msgid "B</lib/live/config/>" +msgstr "B</lib/live/config/>" + +#. type: IP +#: en/live-config.7:260 +#, no-wrap +msgid "B</var/lib/live/config/>" +msgstr "B</var/lib/live/config/>" + +#. type: IP +#: en/live-config.7:261 +#, no-wrap +msgid "B</var/log/live/config.log>" +msgstr "B</var/log/live/config.log>" + +#. type: IP +#: en/live-config.7:263 +#, no-wrap +msgid "B</live/config-hooks/*>" +msgstr "B</live/config-hooks/*>" + +#. type: IP +#: en/live-config.7:264 +#, no-wrap +msgid "B<live/config-hooks/*>" +msgstr "B<live/config-hooks/*>" + +#. type: IP +#: en/live-config.7:265 +#, no-wrap +msgid "B</live/config-preseed/*>" +msgstr "B</live/config-preseed/*>" + +#. type: IP +#: en/live-config.7:266 +#, no-wrap +msgid "B<live/config-preseed/* >" +msgstr "B<live/config-preseed/* >" + +#. type: SH +#: en/live-config.7:268 +#, no-wrap +msgid "SEE ALSO" +msgstr "関連項目" + +#. type: Plain text +#: en/live-config.7:270 +msgid "I<live-boot>(7)" +msgstr "I<live-boot>(7)" + +#. type: Plain text +#: en/live-config.7:272 +msgid "I<live-build>(7)" +msgstr "I<live-build>(7)" + +#. type: Plain text +#: en/live-config.7:274 +msgid "I<live-tools>(7)" +msgstr "I<live-tools>(7)" + +#. type: SH +#: en/live-config.7:275 +#, no-wrap +msgid "HOMEPAGE" +msgstr "ホームページ" + +#. type: Plain text +#: en/live-config.7:277 +msgid "" +"More information about live-config and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" +"live-config 及び Live システムプロジェクトについてのさらなる情報は、" +"E<lt>I<http://live-systems.org/>E<gt> のホームページや E<lt>I<http://live-" +"systems.org/manual/>E<gt> のマニュアルにあります。" + +#. type: SH +#: en/live-config.7:278 +#, no-wrap +msgid "BUGS" +msgstr "バグ" + +#. type: Plain text +#: en/live-config.7:280 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-config package " +"in the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" +"バグは E<lt>I<http://bugs.debian.org/>E<gt> にあるバグ追跡システムに live-" +"config パッケージのバグ報告として提出するか、E<lt>I<debian-live@lists.debian." +"org>E<gt> にある Live システムのメーリングリスト宛てにメールを書くことにより" +"報告できます。" + +#. type: SH +#: en/live-config.7:281 +#, no-wrap +msgid "AUTHOR" +msgstr "作者" + +#. type: Plain text +#: en/live-config.7:282 +msgid "" +"live-config was written by Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." +msgstr "" +"live-config は Daniel Baumann さん E<lt>I<mail@daniel-baumann.ch>E<gt> により" +"書かれました。" diff --git a/system-config/manpages/po4a.cfg b/system-config/manpages/po4a.cfg new file mode 100644 index 0000000..821ff9b --- /dev/null +++ b/system-config/manpages/po4a.cfg @@ -0,0 +1,3 @@ +[po4a_langs] es fr it ja +[po4a_paths] pot/$master.pot $lang:po/$lang/$master.po +[type: man] en/live-config.7 $lang:$lang/live-config.$lang.7 diff --git a/system-config/manpages/pot/live-config.7.pot b/system-config/manpages/pot/live-config.7.pot new file mode 100644 index 0000000..3fc9ac6 --- /dev/null +++ b/system-config/manpages/pot/live-config.7.pot @@ -0,0 +1,1477 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the live-config package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: live-config 5.0~a5-1\n" +"POT-Creation-Date: 2015-09-23 16:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "LIVE-CONFIG" +msgstr "" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "2015-09-23" +msgstr "" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "5.0~a5-1" +msgstr "" + +#. type: TH +#: en/live-config.7:9 +#, no-wrap +msgid "Live Systems Project" +msgstr "" + +#. type: SH +#: en/live-config.7:11 +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: en/live-config.7:13 +msgid "B<live-config> - System Configuration Components" +msgstr "" + +#. type: SH +#: en/live-config.7:14 +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: en/live-config.7:16 +msgid "" +"B<live-config> contains the components that configure a live system during " +"the boot process (late userspace)." +msgstr "" + +#. type: SH +#: en/live-config.7:17 +#, no-wrap +msgid "CONFIGURATION" +msgstr "" + +#. type: Plain text +#: en/live-config.7:19 +msgid "" +"B<live-config> can be configured through boot parameters or configuration " +"files. If both mechanisms are used for a certain option, the boot parameters " +"take precedence over the configuration files. When using persistency, B<live-" +"config> components are only run once." +msgstr "" + +#. type: Plain text +#: en/live-config.7:21 +msgid "" +"If I<live-build>(7) is used to build the live system, the live-config " +"parameters used by default can be set through the --bootappend-live option, " +"see I<lb_config>(1) manual page." +msgstr "" + +#. type: SS +#: en/live-config.7:22 +#, no-wrap +msgid "Boot Parameters (components)" +msgstr "" + +#. type: Plain text +#: en/live-config.7:24 +msgid "" +"B<live-config> is only activated if 'boot=live' is used as a boot parameter. " +"Additionally, B<live-config> needs to be told which components to run " +"through the 'live-config.components' parameter or which components to not " +"run through the 'live-config.nocomponents' parameter. If both 'live-config." +"components' and 'live-config.nocomponents' are used, or, if either one is " +"specified multiple times, always the later one takes precedence over the " +"previous one(s)." +msgstr "" + +#. type: IP +#: en/live-config.7:25 +#, no-wrap +msgid "B<live-config.components> | B<components>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:27 +msgid "All components are run. This is what live images use by default." +msgstr "" + +#. type: IP +#: en/live-config.7:27 +#, no-wrap +msgid "B<live-config.components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<components>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:29 +msgid "" +"Only the specified components are run. Note that the order matters, e.g. " +"'live-config.components=sudo,user-setup' would not work since the user needs " +"to be added before it can be configured for sudo. Look at the filenames of " +"the components in /lib/live/config for their ordering number." +msgstr "" + +#. type: IP +#: en/live-config.7:29 +#, no-wrap +msgid "B<live-config.nocomponents> | B<nocomponents>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:31 +msgid "" +"No component is run. This is the same as not using any of 'live-config." +"components' or 'live-config.nocomponents'." +msgstr "" + +#. type: IP +#: en/live-config.7:31 +#, no-wrap +msgid "B<live-config.nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn> | B<nocomponents>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:33 +msgid "All components are run, except the specified ones." +msgstr "" + +#. type: SS +#: en/live-config.7:34 +#, no-wrap +msgid "Boot Parameters (options)" +msgstr "" + +#. type: Plain text +#: en/live-config.7:36 +msgid "" +"Some individual components can change their behaviour upon a boot parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:37 +#, no-wrap +msgid "B<live-config.debconf-preseed>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<debconf-preseed>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:39 +msgid "" +"Allows to fetch and apply one or more debconf preseed files to be applied to " +"the debconf database. Note that the URLs must be fetchable by wget (http, " +"ftp or file://)." +msgstr "" + +#. type: Plain text +#: en/live-config.7:41 en/live-config.7:83 +msgid "" +"If the file is placed on the live medium, it can be fetched with file:///lib/" +"live/mount/medium/I<FILE>, or with file:///I<FILE> if it is in the root " +"filesystem of the live system itself." +msgstr "" + +#. type: Plain text +#: en/live-config.7:43 +msgid "" +"All preseed files in /lib/live/config-preseed/ in the root filesystem of the " +"live system can be automatically enabled with the keyword 'filesystem'." +msgstr "" + +#. type: Plain text +#: en/live-config.7:45 +msgid "" +"All preseed files in /live/config-preseed/ of the live medium can be " +"automatically enabled with the keyword 'medium'." +msgstr "" + +#. type: Plain text +#: en/live-config.7:47 +msgid "" +"If several mechanisms are combined, then filesystem preseed files are " +"applied first, then medium preseed files, and last the network preseed files." +msgstr "" + +#. type: IP +#: en/live-config.7:47 +#, no-wrap +msgid "B<live-config.hostname>=I<HOSTNAME> | B<hostname>=I<HOSTNAME>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:49 +msgid "Allows to set the hostname of the system. The default is 'debian'." +msgstr "" + +#. type: IP +#: en/live-config.7:49 +#, no-wrap +msgid "B<live-config.username>=I<USERNAME> | B<username>=I<USERNAME>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:51 +msgid "" +"Allows to set the username that gets created for autologin. The default is " +"'user'." +msgstr "" + +#. type: IP +#: en/live-config.7:51 +#, no-wrap +msgid "B<live-config.user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn> | B<user-default-groups>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:53 +msgid "" +"Allows to set the default groups of the users that gets created for " +"autologin is member of. The default is 'audio cdrom dip floppy video plugdev " +"netdev powerdev scanner bluetooth'." +msgstr "" + +#. type: IP +#: en/live-config.7:53 +#, no-wrap +msgid "B<live-config.user-fullname>=\"I<USER FULLNAME>\" | B<user-fullname>=\"I<USER FULLNAME>\"" +msgstr "" + +#. type: Plain text +#: en/live-config.7:55 +msgid "" +"Allows to set the fullname of the users that gets created for autologin. On " +"Debian the default is 'Debian Live user'." +msgstr "" + +#. type: IP +#: en/live-config.7:55 +#, no-wrap +msgid "B<live-config.locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn> | B<locales>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:57 +msgid "" +"Allows to set the locale of the system, e.g. 'de_CH.UTF-8'. The default is " +"'en_US.UTF-8'. In case the selected locale is not already available on the " +"system, it is automatically generated on the fly." +msgstr "" + +#. type: IP +#: en/live-config.7:57 +#, no-wrap +msgid "B<live-config.timezone>=I<TIMEZONE> | B<timezone>=I<TIMEZONE>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:59 +msgid "" +"Allows to set the timezone of the system, e.g. 'Europe/Zurich'. The default " +"is 'UTC'." +msgstr "" + +#. type: IP +#: en/live-config.7:59 +#, no-wrap +msgid "B<live-config.keyboard-model>=I<KEYBOARD_MODEL> | B<keyboard-model>=I<KEYBOARD_MODEL>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:61 +msgid "Allows to change the keyboard model. There is no default value set." +msgstr "" + +#. type: IP +#: en/live-config.7:61 +#, no-wrap +msgid "B<live-config.keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn> | B<keyboard-layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:63 +msgid "" +"Allows to change the keyboard layouts. If more than one is specified, the " +"tools of the desktop environment will allow to switch it under X11. There is " +"no default value set." +msgstr "" + +#. type: IP +#: en/live-config.7:63 +#, no-wrap +msgid "B<live-config.keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn> | B<keyboard-variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:65 +msgid "" +"Allows to change the keyboard variants. If more than one is specified, the " +"same number of values as keyboard-layouts values should be specified as they " +"will be matched one-to-one in the order specified. Blank values are allowed. " +"The tools of the desktop environment will allow to switch between each " +"layout and variant pair under X11. There is no default value set." +msgstr "" + +#. type: IP +#: en/live-config.7:65 +#, no-wrap +msgid "B<live-config.keyboard-options>=I<KEYBOARD_OPTIONS> | B<keyboard-options>=I<KEYBOARD_OPTIONS>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:67 +msgid "Allows to change the keyboard options. There is no default value set." +msgstr "" + +#. type: IP +#: en/live-config.7:67 +#, no-wrap +msgid "B<live-config.sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn> | B<sysv-rc>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:69 +msgid "Allows to disable sysv services through update-rc.d." +msgstr "" + +#. type: IP +#: en/live-config.7:69 +#, no-wrap +msgid "B<live-config.utc>=B<yes>|no | B<utc>=B<yes>|no" +msgstr "" + +#. type: Plain text +#: en/live-config.7:71 +msgid "" +"Allows to change if the system is assuming that the hardware clock is set to " +"UTC or not. The default is 'yes'." +msgstr "" + +#. type: IP +#: en/live-config.7:71 +#, no-wrap +msgid "B<live-config.x-session-manager=>I<X_SESSION_MANAGER> | B<x-session-manager>=I<X_SESSION_MANAGER>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:73 +msgid "Allows to set the x-session-manager through update-alternatives." +msgstr "" + +#. type: IP +#: en/live-config.7:73 +#, no-wrap +msgid "B<live-config.xorg-driver>=I<XORG_DRIVER> | B<xorg-driver>=I<XORG_DRIVER>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:75 +msgid "" +"Allows to set xorg driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/xserver-xorg/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" + +#. type: IP +#: en/live-config.7:75 +#, no-wrap +msgid "B<live-config.xorg-resolution>=I<XORG_RESOLUTION> | B<xorg-resolution>=I<XORG_RESOLUTION>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:77 +msgid "" +"Allows to set xorg resolution instead of autodetecting it, e.g. 1024x768." +msgstr "" + +#. type: IP +#: en/live-config.7:77 +#, no-wrap +msgid "B<live-config.wlan-driver>=I<WLAN_DRIVER> | B<wlan-driver>=I<WLAN_DRIVER>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:79 +msgid "" +"Allows to set WLAN driver instead of autodetecting it. If a PCI ID is " +"specified in /usr/share/live/config/broadcom-sta/I<DRIVER>.ids within the " +"live system, the I<DRIVER> is enforced for these devices. If both a boot " +"parameter and an override are found, the boot parameter takes precedence." +msgstr "" + +#. type: IP +#: en/live-config.7:79 +#, no-wrap +msgid "B<live-config.hooks>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn> | B<hooks>=medium|filesystem|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:81 +msgid "" +"Allows to fetch and execute one or more arbitrary files. Note that the URLs " +"must be fetchable by wget (http, ftp or file://), the files are executed in /" +"tmp of the running live system, and that the files needs their dependencies, " +"if any, already installed, e.g. if a python script should be executed the " +"system needs python installed. Some hooks for some common use-cases are " +"available at /usr/share/doc/live-config/examples/hooks/ and E<lt>I<http://" +"live-systems.org/other/hooks>E<gt>." +msgstr "" + +#. type: Plain text +#: en/live-config.7:85 +msgid "" +"All hooks in /lib/live/config-hooks/ in the root filesystem of the live " +"system can be automatically enabled with the keyword 'filesystem'." +msgstr "" + +#. type: Plain text +#: en/live-config.7:87 +msgid "" +"All hooks in /live/config-hooks/ of the live medium can be automatically " +"enabled with the keyword 'medium'." +msgstr "" + +#. type: Plain text +#: en/live-config.7:89 +msgid "" +"If several mechanisms are combined, then filesystem hooks are executed " +"first, then medium hooks, and last the network hooks." +msgstr "" + +#. type: SS +#: en/live-config.7:90 +#, no-wrap +msgid "Boot Parameters (shortcuts)" +msgstr "" + +#. type: Plain text +#: en/live-config.7:92 +msgid "" +"For some common use cases where it would require to combine several " +"individual parameters, B<live-config> provides shortcuts. This allows both " +"to have full granularity over all the options, as well keep things simple." +msgstr "" + +#. type: IP +#: en/live-config.7:93 +#, no-wrap +msgid "B<live-config.noroot> | B<noroot>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:95 +msgid "" +"Disables sudo and policykit, the user cannot gain root privileges on the " +"system." +msgstr "" + +#. type: IP +#: en/live-config.7:95 +#, no-wrap +msgid "B<live-config.noautologin> | B<noautologin>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:97 +msgid "Disables both the automatic console login and the graphical autologin." +msgstr "" + +#. type: IP +#: en/live-config.7:97 +#, no-wrap +msgid "B<live-config.nottyautologin> | B<nottyautologin>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:99 +msgid "" +"Disables the automatic login on the console, not affecting the graphical " +"autologin." +msgstr "" + +#. type: IP +#: en/live-config.7:99 +#, no-wrap +msgid "B<live-config.nox11autologin> | B<nox11autologin>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:101 +msgid "" +"Disables the automatic login with any display manager, not affecting tty " +"autologin." +msgstr "" + +#. type: SS +#: en/live-config.7:102 +#, no-wrap +msgid "Boot Parameters (special options)" +msgstr "" + +#. type: Plain text +#: en/live-config.7:104 +msgid "For special use cases there are some special boot paramters." +msgstr "" + +#. type: IP +#: en/live-config.7:105 +#, no-wrap +msgid "B<live-config.debug> | B<debug>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:107 +msgid "Enables debug output in live-config." +msgstr "" + +#. type: SS +#: en/live-config.7:108 +#, no-wrap +msgid "Configuration Files" +msgstr "" + +#. type: Plain text +#: en/live-config.7:110 +msgid "" +"B<live-config> can be configured (but not activated) through configuration " +"files. Everything but the shortcuts that can be configured with a boot " +"parameter can also alternatively be configured through one or more files. If " +"configuration files are used, the 'boot=live' parameter is still required to " +"activate B<live-config>." +msgstr "" + +#. type: Plain text +#: en/live-config.7:112 +msgid "" +"B<Note:> If configuration files are used, either (preferably) all boot " +"parameters should be put into the B<LIVE_CONFIG_CMDLINE> variable, or " +"individual variables can be set. If individual variables are used, the user " +"is required to ensure that all the necessary variables are set to create a " +"valid configuration." +msgstr "" + +#. type: Plain text +#: en/live-config.7:114 +msgid "" +"Configuration files can be placed either in the root filesystem itself (/etc/" +"live/config.conf, /etc/live/config.conf.d/*.conf), or on the live media " +"(live/config.conf, live/config.conf.d/*.conf). If both places are used for a " +"certain option, the ones from the live media take precedence over the ones " +"from the root filesystem." +msgstr "" + +#. type: Plain text +#: en/live-config.7:116 +msgid "" +"Although the configuration files placed in the configuration directories do " +"not require a particular name or suffix, it is suggested for consistency " +"reasons to either use 'vendor.conf' or 'project.conf' as a naming scheme " +"(whereas 'vendor' or 'project' is replaced with the actual name, resulting " +"in a filename like 'progress-linux.conf')." +msgstr "" + +#. type: Plain text +#: en/live-config.7:118 +msgid "" +"The actual content of the configuration files consists of one or more of the " +"following variables." +msgstr "" + +#. type: IP +#: en/live-config.7:119 +#, no-wrap +msgid "B<LIVE_CONFIG_CMDLINE>=I<PARAMETER1> I<PARAMETER2> ... I<PARAMETERn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:121 +msgid "This variable corresponds to the bootloader command line." +msgstr "" + +#. type: IP +#: en/live-config.7:121 +#, no-wrap +msgid "B<LIVE_CONFIG_COMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:123 +msgid "" +"This variable corresponds to the 'B<live-config.components>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:123 +#, no-wrap +msgid "B<LIVE_CONFIG_NOCOMPONENTS>=I<COMPONENT1>,I<COMPONENT2>, ... I<COMPONENTn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:125 +msgid "" +"This variable corresponds to the 'B<live-config.nocomponents>=I<COMPONENT1>," +"I<COMPONENT2>, ... I<COMPONENTn>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:125 +#, no-wrap +msgid "B<LIVE_DEBCONF_PRESEED>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:127 +msgid "" +"This variable corresponds to the 'B<live-config.debconf-preseed>=filesystem|" +"medium|I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:127 +#, no-wrap +msgid "B<LIVE_HOSTNAME>=I<HOSTNAME>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:129 +msgid "" +"This variable corresponds to the 'B<live-config.hostname>=I<HOSTNAME>' " +"parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:129 +#, no-wrap +msgid "B<LIVE_USERNAME>=I<USERNAME>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:131 +msgid "" +"This variable corresponds to the 'B<live-config.username>=I<USERNAME>' " +"parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:131 +#, no-wrap +msgid "B<LIVE_USER_DEFAULT_GROUPS>=I<GROUP1>,I<GROUP2> ... I<GROUPn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:133 +msgid "" +"This variable corresponds to the 'B<live-config.user-default-groups>=" +"\"I<GROUP1>,I<GROUP2> ... I<GROUPn>\"' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:133 +#, no-wrap +msgid "B<LIVE_USER_FULLNAME>=\"I<USER FULLNAME>\"" +msgstr "" + +#. type: Plain text +#: en/live-config.7:135 +msgid "" +"This variable corresponds to the 'B<live-config.user-fullname>=\"I<USER " +"FULLNAME>\"' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:135 +#, no-wrap +msgid "B<LIVE_LOCALES>=I<LOCALE1>,I<LOCALE2> ... I<LOCALEn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:137 +msgid "" +"This variable corresponds to the 'B<live-config.locales>=I<LOCALE1>," +"I<LOCALE2> ... I<LOCALEn>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:137 +#, no-wrap +msgid "B<LIVE_TIMEZONE>=I<TIMEZONE>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:139 +msgid "" +"This variable corresponds to the 'B<live-config.timezone>=I<TIMEZONE>' " +"parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:139 +#, no-wrap +msgid "B<LIVE_KEYBOARD_MODEL>=I<KEYBOARD_MODEL>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:141 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"model>=I<KEYBOARD_MODEL>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:141 +#, no-wrap +msgid "B<LIVE_KEYBOARD_LAYOUTS>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:143 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"layouts>=I<KEYBOARD_LAYOUT1>,I<KEYBOARD_LAYOUT2> ... I<KEYBOARD_LAYOUTn>' " +"parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:143 +#, no-wrap +msgid "B<LIVE_KEYBOARD_VARIANTS>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... I<KEYBOARD_VARIANTn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:145 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"variants>=I<KEYBOARD_VARIANT1>,I<KEYBOARD_VARIANT2> ... " +"I<KEYBOARD_VARIANTn>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:145 +#, no-wrap +msgid "B<LIVE_KEYBOARD_OPTIONS>=I<KEYBOARD_OPTIONS>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:147 +msgid "" +"This variable corresponds to the 'B<live-config.keyboard-" +"options>=I<KEYBOARD_OPTIONS>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:147 +#, no-wrap +msgid "B<LIVE_SYSV_RC>=I<SERVICE1>,I<SERVICE2> ... I<SERVICEn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:149 +msgid "" +"This variable corresponds to the 'B<live-config.sysv-rc>=I<SERVICE1>," +"I<SERVICE2> ... I<SERVICEn>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:149 +#, no-wrap +msgid "B<LIVE_UTC>=B<yes>|no" +msgstr "" + +#. type: Plain text +#: en/live-config.7:151 +msgid "" +"This variable corresponds to the 'B<live-config.utc>=B<yes>|no' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:151 +#, no-wrap +msgid "B<LIVE_X_SESSION_MANAGER>=I<X_SESSION_MANAGER>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:153 +msgid "" +"This variable corresponds to the 'B<live-config.x-session-" +"manager>=I<X_SESSION_MANAGER>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:153 +#, no-wrap +msgid "B<LIVE_XORG_DRIVER>=I<XORG_DRIVER>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:155 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-driver>=I<XORG_DRIVER>' " +"parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:155 +#, no-wrap +msgid "B<LIVE_XORG_RESOLUTION>=I<XORG_RESOLUTION>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:157 +msgid "" +"This variable corresponds to the 'B<live-config.xorg-" +"resolution>=I<XORG_RESOLUTION>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:157 +#, no-wrap +msgid "B<LIVE_WLAN_DRIVER>=I<WLAN_DRIVER>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:159 +msgid "" +"This variable corresponds to the 'B<live-config.wlan-driver>=I<WLAN_DRIVER>' " +"parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:159 +#, no-wrap +msgid "B<LIVE_HOOKS>=filesystem|medium|I<URL1>|I<URL2>| ... |I<URLn>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:161 +msgid "" +"This variable corresponds to the 'B<live-config.hooks>=filesystem|medium|" +"I<URL1>|I<URL2>| ... |I<URLn>' parameter." +msgstr "" + +#. type: IP +#: en/live-config.7:161 +#, no-wrap +msgid "B<LIVE_CONFIG_DEBUG>=true|false" +msgstr "" + +#. type: Plain text +#: en/live-config.7:163 +msgid "This variable corresponds to the 'B<live-config.debug>' parameter." +msgstr "" + +#. type: SH +#: en/live-config.7:164 +#, no-wrap +msgid "CUSTOMIZATION" +msgstr "" + +#. type: Plain text +#: en/live-config.7:166 +msgid "" +"B<live-config> can be easily customized for downstream projects or local " +"usage." +msgstr "" + +#. type: SS +#: en/live-config.7:167 +#, no-wrap +msgid "Adding new config components" +msgstr "" + +#. type: Plain text +#: en/live-config.7:169 +msgid "" +"Downstream projects can put their components into /lib/live/config and do " +"not need to do anything else, the components will be called automatically " +"during boot." +msgstr "" + +#. type: Plain text +#: en/live-config.7:171 +msgid "" +"The components are best put into an own debian package. A sample package " +"containing an example component can be found in /usr/share/doc/live-config/" +"examples." +msgstr "" + +#. type: SS +#: en/live-config.7:172 +#, no-wrap +msgid "Removing existing config components" +msgstr "" + +#. type: Plain text +#: en/live-config.7:174 +msgid "" +"It is not really possible to remove components itself in a sane way yet " +"without requiring either to ship a locally modified B<live-config> package " +"or using dpkg-divert. However, the same can be achieved by disabling the " +"respective components through the live-config.nocomponents mechanism, see " +"above. To avoid to always need specifing disabled components through the " +"boot parameter, a configuration file should be used, see above." +msgstr "" + +#. type: Plain text +#: en/live-config.7:176 +msgid "" +"The configuration files for the live system itself are best put into an own " +"debian package. A sample package containing an example configuration can be " +"found in /usr/share/doc/live-config/examples." +msgstr "" + +#. type: SH +#: en/live-config.7:177 +#, no-wrap +msgid "COMPONENTS" +msgstr "" + +#. type: Plain text +#: en/live-config.7:179 +msgid "" +"B<live-config> currently features the following components in /lib/live/" +"config." +msgstr "" + +#. type: IP +#: en/live-config.7:180 +#, no-wrap +msgid "B<debconf>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:182 +msgid "" +"allows to apply arbitrary preseed files placed on the live media or an http/" +"ftp server." +msgstr "" + +#. type: IP +#: en/live-config.7:182 +#, no-wrap +msgid "B<hostname>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:184 +msgid "configures /etc/hostname and /etc/hosts." +msgstr "" + +#. type: IP +#: en/live-config.7:184 +#, no-wrap +msgid "B<user-setup>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:186 +msgid "adds a live user account." +msgstr "" + +#. type: IP +#: en/live-config.7:186 +#, no-wrap +msgid "B<sudo>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:188 +msgid "grants sudo privileges to the live user." +msgstr "" + +#. type: IP +#: en/live-config.7:188 +#, no-wrap +msgid "B<locales>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:190 +msgid "configures locales." +msgstr "" + +#. type: IP +#: en/live-config.7:190 +#, no-wrap +msgid "B<locales-all>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:192 +msgid "configures locales-all." +msgstr "" + +#. type: IP +#: en/live-config.7:192 +#, no-wrap +msgid "B<tzdata>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:194 +msgid "configures /etc/timezone." +msgstr "" + +#. type: IP +#: en/live-config.7:194 +#, no-wrap +msgid "B<gdm3>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:196 +msgid "configures autologin in gdm3." +msgstr "" + +#. type: IP +#: en/live-config.7:196 +#, no-wrap +msgid "B<kdm>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:198 +msgid "configures autologin in kdm." +msgstr "" + +#. type: IP +#: en/live-config.7:198 +#, no-wrap +msgid "B<lightdm>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:200 +msgid "configures autologin in lightdm." +msgstr "" + +#. type: IP +#: en/live-config.7:200 +#, no-wrap +msgid "B<lxdm>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:202 +msgid "configures autologin in lxdm." +msgstr "" + +#. type: IP +#: en/live-config.7:202 +#, no-wrap +msgid "B<nodm>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:204 +msgid "configures autologin in nodm." +msgstr "" + +#. type: IP +#: en/live-config.7:204 +#, no-wrap +msgid "B<slim>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:206 +msgid "configures autologin in slim." +msgstr "" + +#. type: IP +#: en/live-config.7:206 +#, no-wrap +msgid "B<xinit>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:208 +msgid "configures autologin with xinit." +msgstr "" + +#. type: IP +#: en/live-config.7:208 +#, no-wrap +msgid "B<keyboard-configuration>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:210 +msgid "configures the keyboard." +msgstr "" + +#. type: IP +#: en/live-config.7:210 +#, no-wrap +msgid "B<systemd>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:212 +msgid "configures systemd autologin." +msgstr "" + +#. type: IP +#: en/live-config.7:212 +#, no-wrap +msgid "B<sysvinit>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:214 +msgid "configures sysvinit." +msgstr "" + +#. type: IP +#: en/live-config.7:214 +#, no-wrap +msgid "B<sysv-rc>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:216 +msgid "configures sysv-rc by disabling listed services." +msgstr "" + +#. type: IP +#: en/live-config.7:216 en/live-config.7:238 +#, no-wrap +msgid "B<login>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:218 en/live-config.7:240 +msgid "disables lastlog." +msgstr "" + +#. type: IP +#: en/live-config.7:218 +#, no-wrap +msgid "B<apport>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:220 +msgid "disables apport." +msgstr "" + +#. type: IP +#: en/live-config.7:220 +#, no-wrap +msgid "B<gnome-panel-data>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:222 +msgid "disables lock button for the screen." +msgstr "" + +#. type: IP +#: en/live-config.7:222 +#, no-wrap +msgid "B<gnome-power-manager>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:224 +msgid "disables hibernation." +msgstr "" + +#. type: IP +#: en/live-config.7:224 +#, no-wrap +msgid "B<gnome-screensaver>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:226 en/live-config.7:250 +msgid "disables the screensaver locking the screen." +msgstr "" + +#. type: IP +#: en/live-config.7:226 +#, no-wrap +msgid "B<kaboom>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:228 +msgid "disables KDE migration wizard (squeeze and newer)." +msgstr "" + +#. type: IP +#: en/live-config.7:228 +#, no-wrap +msgid "B<kde-services>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:230 +msgid "disables some unwanted KDE services (squeeze and newer)." +msgstr "" + +#. type: IP +#: en/live-config.7:230 +#, no-wrap +msgid "B<policykit>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:232 +msgid "grant user privilegies through policykit." +msgstr "" + +#. type: IP +#: en/live-config.7:232 +#, no-wrap +msgid "B<ssl-cert>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:234 +msgid "regenerating ssl snake-oil certificates." +msgstr "" + +#. type: IP +#: en/live-config.7:234 +#, no-wrap +msgid "B<anacron>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:236 +msgid "disables anacron." +msgstr "" + +#. type: IP +#: en/live-config.7:236 +#, no-wrap +msgid "B<util-linux>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:238 +msgid "disables util-linux' hwclock." +msgstr "" + +#. type: IP +#: en/live-config.7:240 +#, no-wrap +msgid "B<xserver-xorg>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:242 +msgid "configures xserver-xorg." +msgstr "" + +#. type: IP +#: en/live-config.7:242 +#, no-wrap +msgid "B<broadcom-sta>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:244 +msgid "configures broadcom-sta WLAN drivers." +msgstr "" + +#. type: IP +#: en/live-config.7:244 +#, no-wrap +msgid "B<openssh-server>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:246 +msgid "recreates openssh-server host keys." +msgstr "" + +#. type: IP +#: en/live-config.7:246 +#, no-wrap +msgid "B<xfce4-panel>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:248 +msgid "configures xfce4-panel to default settings." +msgstr "" + +#. type: IP +#: en/live-config.7:248 +#, no-wrap +msgid "B<xscreensaver>" +msgstr "" + +#. type: IP +#: en/live-config.7:250 +#, no-wrap +msgid "B<hooks>" +msgstr "" + +#. type: Plain text +#: en/live-config.7:252 +msgid "" +"allows to run arbitrary commands from a file placed on the live media or an " +"http/ftp server." +msgstr "" + +#. type: SH +#: en/live-config.7:253 +#, no-wrap +msgid "FILES" +msgstr "" + +#. type: IP +#: en/live-config.7:254 +#, no-wrap +msgid "B</etc/live/config.conf>" +msgstr "" + +#. type: IP +#: en/live-config.7:255 +#, no-wrap +msgid "B</etc/live/config.conf.d/*.conf>" +msgstr "" + +#. type: IP +#: en/live-config.7:256 +#, no-wrap +msgid "B<live/config.conf>" +msgstr "" + +#. type: IP +#: en/live-config.7:257 +#, no-wrap +msgid "B<live/config.conf.d/*.conf>" +msgstr "" + +#. type: IP +#: en/live-config.7:258 +#, no-wrap +msgid "B</lib/live/config.sh>" +msgstr "" + +#. type: IP +#: en/live-config.7:259 +#, no-wrap +msgid "B</lib/live/config/>" +msgstr "" + +#. type: IP +#: en/live-config.7:260 +#, no-wrap +msgid "B</var/lib/live/config/>" +msgstr "" + +#. type: IP +#: en/live-config.7:261 +#, no-wrap +msgid "B</var/log/live/config.log>" +msgstr "" + +#. type: IP +#: en/live-config.7:263 +#, no-wrap +msgid "B</live/config-hooks/*>" +msgstr "" + +#. type: IP +#: en/live-config.7:264 +#, no-wrap +msgid "B<live/config-hooks/*>" +msgstr "" + +#. type: IP +#: en/live-config.7:265 +#, no-wrap +msgid "B</live/config-preseed/*>" +msgstr "" + +#. type: IP +#: en/live-config.7:266 +#, no-wrap +msgid "B<live/config-preseed/* >" +msgstr "" + +#. type: SH +#: en/live-config.7:268 +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: en/live-config.7:270 +msgid "I<live-boot>(7)" +msgstr "" + +#. type: Plain text +#: en/live-config.7:272 +msgid "I<live-build>(7)" +msgstr "" + +#. type: Plain text +#: en/live-config.7:274 +msgid "I<live-tools>(7)" +msgstr "" + +#. type: SH +#: en/live-config.7:275 +#, no-wrap +msgid "HOMEPAGE" +msgstr "" + +#. type: Plain text +#: en/live-config.7:277 +msgid "" +"More information about live-config and the Live Systems project can be found " +"on the homepage at E<lt>I<http://live-systems.org/>E<gt> and in the manual " +"at E<lt>I<http://live-systems.org/manual/>E<gt>." +msgstr "" + +#. type: SH +#: en/live-config.7:278 +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: en/live-config.7:280 +msgid "" +"Bugs can be reported by submitting a bugreport for the live-config package " +"in the Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by " +"writing a mail to the Live Systems mailing list at E<lt>I<debian-live@lists." +"debian.org>E<gt>." +msgstr "" + +#. type: SH +#: en/live-config.7:281 +#, no-wrap +msgid "AUTHOR" +msgstr "" + +#. type: Plain text +#: en/live-config.7:282 +msgid "" +"live-config was written by Daniel Baumann E<lt>I<mail@daniel-baumann." +"ch>E<gt>." +msgstr "" diff --git a/system-config/share/xserver-xorg/nvidia.conf b/system-config/share/xserver-xorg/nvidia.conf new file mode 100644 index 0000000..746de42 --- /dev/null +++ b/system-config/share/xserver-xorg/nvidia.conf @@ -0,0 +1,5 @@ +Section "Device" + Identifier "Default screen" + Driver "nvidia" + Option "NoLogo" "true" +EndSection diff --git a/system-config/share/xserver-xorg/vboxvideo.conf b/system-config/share/xserver-xorg/vboxvideo.conf new file mode 100644 index 0000000..4d7a966 --- /dev/null +++ b/system-config/share/xserver-xorg/vboxvideo.conf @@ -0,0 +1,9 @@ +Section "Device" + Identifier "Default screen" + Driver "vboxvideo" +EndSection + +Section "InputDevice" + Identifier "Default mouse" + Driver "vboxmouse" +EndSection diff --git a/system-images/.gitignore b/system-images/.gitignore new file mode 100644 index 0000000..262c04a --- /dev/null +++ b/system-images/.gitignore @@ -0,0 +1,3 @@ +README.txt +share/man/*.[0-9] +share/man/*.xml diff --git a/system-images/CHANGELOG.txt b/system-images/CHANGELOG.txt new file mode 100644 index 0000000..cc8d560 --- /dev/null +++ b/system-images/CHANGELOG.txt @@ -0,0 +1,88 @@ +2016-11-15 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20161115. + + [ Daniel Baumann ] + * Renaming config/chroot to config/system for system-build 20161115. + * Renaming license file for consistency. + * Renaming version file for consistency. + * Adding netdata to container-server package selection. + * Adding cgroup_enable=memory elevator=deadline swapaccount=1 as boot parameters for container-server images. + * Removing manpage translations in order to rewrite manpage from scratch. + * Adding gitignore file. + * Rewriting manpage from scratch. + * Rearranging images within source tree. + * Removing README in config trees. + * Rewriting Makefile. + * Removing open-vm-tools from gnome-desktop package selection. + * Installing all generic text files as documentation. + * Dropping inclusion of task-english. + * Dropping explicit inclusion of all packages with priority standard. + * Renaming standard package list to base-system. + * Adding knot-resolver to base-system configuration. + * Enabling ip_forwading in container-server image. + * Updating container-server package selection for newer container-tools. + * Adding manpages per image configuration. + +2016-11-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20161101. + + [ Daniel Baumann ] + * Removing debian-installer-launcher from standard package selection. + * Removing live-manual and live-tools from standard package selection. + * Removing task-laptop from standard package selection. + * Removing linux-headers from standard package selection. + * Renaming standard image config to base-system. + * Removing obsolete plymouth hook in gnome-desktop image. + * Removing debian-installer-launcher from gnome-desktop package selection. + * Removing live-manual and live-tools from gnome-desktop package selection. + * Renaming desktop package list in gnome-desktop to gnome-desktop.list for consistency reasons. + * Adding container-server image config. + * Updating readme files. + * Updating bootloader splash. + * Updating boot menu texts. + * Updating install and live boot menu entries. + * Adding splash png exports (to workaround librsvg with fonts-font-awesome during build). + * Adding hook to configure image specific build, variant, and variant-id in /etc/os-release. + * Adding progress-linux repositories. + * Adding debian-installer theme and logos. + +2016-07-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160701. + + [ Daniel Baumann ] + * Removing cinnamon-desktop image. + * Removing kde-desktop image. + * Removing lxde-desktop image. + * Removing mate-desktop image. + * Removing xfce-desktop image. + * Adding commit messages to previous changelog. + +2016-06-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160601. + + [ trebmuh ] + * Adding French manpage translations. + + [ Carlos Zuferri ] + * Updating Spanish translation of manpage, date, and version. + * Using 'Live Systems Project' as default project in .pot files. + + [ Rohan Garg ] + * Making sure memtest is only installed on arch's where it's present. + + [ Maximilian Mehnert ] + * Fixing syntax in architecture checks. + + [ Richard Nelson ] + * Updating dkms and memtest package lists to not have the first line of the file as a logic statement. + + [ Daniel Baumann ] + * Correcting version string in changelog. + +2016-05-01 Daniel Baumann <daniel.baumann@open-infrastructure.net> + + * Releasing version 20160501. diff --git a/system-images/LICENSE.txt b/system-images/LICENSE.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/system-images/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/system-images/Makefile b/system-images/Makefile new file mode 100644 index 0000000..2051b9c --- /dev/null +++ b/system-images/Makefile @@ -0,0 +1,75 @@ +# Makefile + +# system-images - Debian based live and installer images +# Copyright (C) 2006-2016 Daniel Baumann <daniel.baumann@open-infrastructure.net> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +SHELL := sh -e + +SOFTWARE = system-images + +all: build + +build: share/man/*.txt + $(MAKE) -C share/man + + sed -n '/^NAME/,$$p' share/man/$(SOFTWARE).7.txt > README.txt + +install: build + mkdir -p $(DESTDIR)/usr/share/doc/$(SOFTWARE) + cp -a CHANGELOG.txt LICENSE.txt README.txt $(DESTDIR)/usr/share/doc/$(SOFTWARE) + + mkdir -p $(DESTDIR)/usr/share/$(SOFTWARE) + cp -a share/images/* $(DESTDIR)/usr/share/$(SOFTWARE) + + for SECTION in $$(seq 1 8); \ + do \ + if ls share/man/*.$${SECTION} > /dev/null 2>&1; \ + then \ + mkdir -p $(DESTDIR)/usr/share/man/man$${SECTION}; \ + cp share/man/*.$${SECTION} $(DESTDIR)/usr/share/man/man$${SECTION}; \ + fi; \ + done + +uninstall: + for SECTION in $$(seq 1 8); \ + do \ + for FILE in share/man/*.$${SECTION}; \ + do \ + if [ -e "$${FILE}" ]; \ + then \ + rm -f $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${FILE}); \ + fi; \ + done; \ + rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/share/man/man$${SECTION} || true; \ + done + + rm -rf $(DESTDIR)/usr/share/$(SOFTWARE)/* + rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/share/$(SOFTWARE) || true + + rm -rf $(DESTDIR)/usr/share/doc/$(SOFTWARE)/* + rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/share/doc/$(SOFTWARE) || true + +clean: + $(MAKE) -C share/man clean + + rm -rf build + rm -f README.txt + +distclean: clean + +reinstall: uninstall install + +.PHONY: build diff --git a/system-images/VERSION.txt b/system-images/VERSION.txt new file mode 100644 index 0000000..8a548db --- /dev/null +++ b/system-images/VERSION.txt @@ -0,0 +1 @@ +20161115 diff --git a/system-images/share/images/base-system/.gitignore b/system-images/share/images/base-system/.gitignore new file mode 100644 index 0000000..c718546 --- /dev/null +++ b/system-images/share/images/base-system/.gitignore @@ -0,0 +1,31 @@ +binary/ +binary*.iso +binary*.img +binary*.tar* +binary*.contents +binary*.packages +binary*.zsync + +.build/ +build.log + +cache/ + +chroot/ +chroot.packages.* + +config/binary +config/bootstrap +config/system +config/common +config/source + +config/control + +source/ +source*.iso +source*.img +source*.tar* +source*.contents +source*.packages +source*.zsync diff --git a/system-images/share/images/base-system/auto/build b/system-images/share/images/base-system/auto/build new file mode 100755 index 0000000..f8d8346 --- /dev/null +++ b/system-images/share/images/base-system/auto/build @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +lb build noauto "${@}" 2>&1 | tee build.log diff --git a/system-images/share/images/base-system/auto/clean b/system-images/share/images/base-system/auto/clean new file mode 100755 index 0000000..2275682 --- /dev/null +++ b/system-images/share/images/base-system/auto/clean @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +lb clean noauto "${@}" + +rm -f config/binary config/bootstrap config/system config/common config/source +rm -f config/control + +rm -f build.log diff --git a/system-images/share/images/base-system/auto/config b/system-images/share/images/base-system/auto/config new file mode 100755 index 0000000..fbe2c70 --- /dev/null +++ b/system-images/share/images/base-system/auto/config @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +case "$(dpkg --print-architecture)" in + amd64) + _SOURCE="true" + ;; + + i386) + _SOURCE="false" + ;; +esac + +lb config noauto \ + --clean \ + --ignore-system-defaults \ + --mode debian \ + --debian-installer live \ + --linux-packages "linux-image" \ + --source "${_SOURCE}" \ +"${@}" diff --git a/system-images/share/images/base-system/config/archives/progress-linux.key b/system-images/share/images/base-system/config/archives/progress-linux.key new file mode 100644 index 0000000..9cdde5e --- /dev/null +++ b/system-images/share/images/base-system/config/archives/progress-linux.key @@ -0,0 +1,51 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFfXFG8BEAC612gy3d976/FO4f6a6gi23KqLs8eTws0M0+RgvpWkMJo7DiMq +22Ge/W2FrZz/ik5+Upb2+KHNp5x88tAejwIuQqBW7ZiAgN+nfbEGzUqLOXZS/nhU ++dfil46Yyat3cpqOCw23ogIGZLgc1qrNJKaTnly534iGZXZcfpTVG7rolO3pqWr/ +aCHbPT5+xLKBa1olF20tJrs7arfXylhD9FJbCoK6h/xMCWzzzuVzXh3FQnyFJGBB +SaoVgPQjH4NzE4Kvgv3UIRqSiqt8GtaGQtdki7SxAnYZRgZs337BKUBCk6USmhpw +QEpOwKhmEyNz7mmrvXX57dShgkKII1l3VbL/8YbdVJwbVucts2lLsIFbJnlDjd6z +cF7AoaeZvENY9fxVsLzGIKRd50w8qzCUq22oQzgxDtblKyVDzwlEckj9qdZmMqDN +k1fflOyvBZubWT8mFTLKSRkd3sbcLiZdrH5QJEIdvnC5rW+bTPM018DhOxKo3H8z +X/TCiyIsmdx+ldoOw7srCobwhAt/J1rjTcEcBs3Tmmo7F7/LsH4uW5do3Cda05jl +2HdHVAwFI0RWC1xeH1aufvJcXLF3JbKKDLuTcX/X6Z7PWU73/6xnD4Sa9Wrvgrxj +EvnFyu6Lt81fTcFZqhiZR4lApVgXzc73fxa4a++MMVbkzz605pgxIvTevQARAQAB +tFFQcm9ncmVzcyBMaW51eCA0IChkc2NoaW5uKSBBcmNoaXZlIEtleSA8c3lzdGVt +LWFkbWluaXN0cmF0aW9uQHByb2dyZXNzLWxpbnV4Lm9yZz6JAjcEEwEKACEFAlfX +FG8CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQX+0zE8d/g+olYA/+OPnp +bidxqmRvf11M0b3whRaHBo95edUX7oZR2EoLs8TO2I0IS3o3Sw+L0LAE9v6lOPRB +c2O85CmfquW4giLe+8fbaGlB/OAzuxodomvwzuV9BZFzL3KoPeYu9+vFNfDf/D8H +FQBRO3HDivjrRC8kOrBhv/rgl3Hu1DutOSjAMRDUIhHmIz2Ow4MxgoZJ/HUr+LIn +pXjG+gl4W/6YCFtccDfEp1M7WQCUY4XLfhvFKCKxhHNhCvCbpnNQLqrfDRFEcJb7 +XQfrf1tVw0ZIM/ScB8CqQQnskqyy/28UHSoIU+kEBACcrViqTbPRExw6bRjTiZm+ ++/m3QG43bkgtMXUcdiUBS/xEe4L17gw3G+mNHKx/Mny7urnFkXjP7ZzqUdgMAqIP +hOgHfIG05v+BRT4daRZYif3iz5KWxFPgLs8FpGuVhDroH/KkSQYi/P+AWnKQv4GK +UFC5+KjjRqV+WIWFxkUFQxiQvpuG+VIc2oLWXaEa6yfmm9MAWC7D7IaqtGR0biE3 +wlQGlwcXBQA4+blMsDRf8q2ae/OUdA/ibYMlalXkDqFGmNCZ7TpY9sbP5k2cUCkm +tFUX7K3yCJ6y4uy27k+y+BZYOwA/5YtRvaT1UqIr8S+92g+8jROsXuMjN+/Trb+X +2ay0CyDiwIfQyxHJ6p0axdgl4yAsYEXI90iMFKa5Ag0EV9cUbwEQAKOimyafI8E/ +nkwNxQXUVGZqASMxVnRWvzl1Rgs75e4+yUXxD8kgKxqSVtROK8y5VbFlU87cQ5c1 +jqnPsiIhdvKt6VtRNyATtQCB5tfNKS9ZaiZBX7XzkYG0Q0pyhQc8w4S7Wza9LU9f +0ydzHdfoA2SHoV8R5lo4wqrXuC+c/TUyv3yHDk1ZJ+oUuDhg2mU6Z0Vr3cPH/6Xo +6Y+KnaN5gISN0pVFOX0wCnYFp+tw7B0JUFqVCLAlAo6KkfwOnz4MBulqoMm8IS68 +h1WzaJmctmpOS0xHozpqGhZypnT/F31DT4thB7O+fXpnq2+7pddinK1sA7Z8oopq +x5w5vPqwV7uDnrwx7vgpRfajk2Thqp7MMhuAexK5CNVu2gOpdl10wPrpiwpEzDy1 +7EeZPo97PFxZC5HxqpMGFjqUUnibOQ6YoypkwOlh6szzG1mpBsfQPgK4NTouuPmt +yIm5qkN4ciVvm5yWqPnXF6VMP11Nu5Sv9DC5WsqF9b0beTT+7MUe1Z5aPZ5ZIRDp +FjKEoSDyO2fxkHK7jcOp41Pz1fxQNiJdPW1pMzZlh8+OfT4F236+2Ocy2WOOGcBD +QCu08Yus8eH22Lx3j/+/RKKRSbSvb3uUrDZIEWh072zjFIyFyoM9NzBk+Yd6Dnsw +I3I6dCRdfJklJQ5rYDHrEPbpRyuANfn1ABEBAAGJAh8EGAEKAAkFAlfXFG8CGwwA +CgkQX+0zE8d/g+qMFw//fU/lor7+7HB3o1wHgS0ARb6Ma9un7l3ZyXKQFRIqbjgn +kyUEMB59DCY68RkCIdIjaKC4tR9r9/6Rh/SWWr6589tqRTbSv/lYPTr11LMDeC4O +XMqNQUw/Malh3ZZJqDS8urSlWi/IZYwFFuIfNvtBDTtXKrSZRH5+4MQlaLdAcWnj +BYCV8YHllL9Eg/+xJ4a3hsiMxQkEoWpVk1haACKLxsiyPHUkIlnR27vbmR0k5+e6 +aO13L7+IIzEf+2k+A9EikvJn5GK9JwGvQVkO8LAHPP8OdfTsneLoLpUq4+3wIcYS +pJuDk/qF9/ZkrdcQaXBAhkQbhfbxc8p7Hnqxf9cw69jOE/DyCwQj6XcUFcSOvpxB +eVBi74PrqsIeYCBmNolvDwCBfJsFv+wS7tJbNk/u/cJv089BA94xYsS3D/jTC022 +mKwcjAcPgVvZOzImHYaOAP21c8ooIAsPGSwgHNTAsbM25e6FJx1nmJgTOrWDrZvr +Zz4L0EvqHnJ4hciBtcRPDgdjzOcuEhZG7rdRqCsUjlil1TaU2vpy5W/GcKYOwEI6 +nKHOIZyFZFatBIZOwrwW1S+eczdzk0x9xpZLBJT2EsRYPrDyUyQHDmYNqcuTsEjs +qzj20j2wHndJOFSffJBZhyr2ZulLV50lxI4HE2PYn+8hW2yia7CiwsCvT3Nbdao= +=vDTz +-----END PGP PUBLIC KEY BLOCK----- diff --git a/system-images/share/images/base-system/config/archives/progress-linux.list b/system-images/share/images/base-system/config/archives/progress-linux.list new file mode 100644 index 0000000..f2f18a6 --- /dev/null +++ b/system-images/share/images/base-system/config/archives/progress-linux.list @@ -0,0 +1,7 @@ +deb https://cdn.archive.progress-linux.org/packages dschinn main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-security main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-updates main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-extras main contrib non-free restricted + +deb https://cdn.archive.progress-linux.org/packages dschinn-backports main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-backports-extras main contrib non-free restricted diff --git a/system-images/share/images/base-system/config/archives/progress-linux.pref b/system-images/share/images/base-system/config/archives/progress-linux.pref new file mode 100644 index 0000000..5f6fda6 --- /dev/null +++ b/system-images/share/images/base-system/config/archives/progress-linux.pref @@ -0,0 +1,23 @@ +Package: * +Pin: release n=dschinn +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-security +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-updates +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-extras +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-backports +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-backports-extras +Pin-Priority: 999 diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/advanced.cfg b/system-images/share/images/base-system/config/bootloaders/extlinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/extlinux.conf b/system-images/share/images/base-system/config/bootloaders/extlinux/extlinux.conf new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/hdt.c32 b/system-images/share/images/base-system/config/bootloaders/extlinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/install.cfg b/system-images/share/images/base-system/config/bootloaders/extlinux/install.cfg new file mode 100644 index 0000000..30685cf --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/ldlinux.c32 b/system-images/share/images/base-system/config/bootloaders/extlinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/libcom32.c32 b/system-images/share/images/base-system/config/bootloaders/extlinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/libutil.c32 b/system-images/share/images/base-system/config/bootloaders/extlinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/live.cfg.in b/system-images/share/images/base-system/config/bootloaders/extlinux/live.cfg.in new file mode 100644 index 0000000..a405349 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/menu.cfg b/system-images/share/images/base-system/config/bootloaders/extlinux/menu.cfg new file mode 100644 index 0000000..bd8ea7c --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title Base System +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/splash.png b/system-images/share/images/base-system/config/bootloaders/extlinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/splash.png diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/splash.svg.gz b/system-images/share/images/base-system/config/bootloaders/extlinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/splash.svg.gz diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/stdmenu.cfg b/system-images/share/images/base-system/config/bootloaders/extlinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/base-system/config/bootloaders/extlinux/vesamenu.c32 b/system-images/share/images/base-system/config/bootloaders/extlinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/extlinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/advanced.cfg b/system-images/share/images/base-system/config/bootloaders/isolinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/hdt.c32 b/system-images/share/images/base-system/config/bootloaders/isolinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/install.cfg b/system-images/share/images/base-system/config/bootloaders/isolinux/install.cfg new file mode 100644 index 0000000..30685cf --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/isolinux.bin b/system-images/share/images/base-system/config/bootloaders/isolinux/isolinux.bin new file mode 120000 index 0000000..33a2ad6 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/isolinux.bin @@ -0,0 +1 @@ +/usr/lib/ISOLINUX/isolinux.bin
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/isolinux.cfg b/system-images/share/images/base-system/config/bootloaders/isolinux/isolinux.cfg new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/isolinux.cfg @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/ldlinux.c32 b/system-images/share/images/base-system/config/bootloaders/isolinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/libcom32.c32 b/system-images/share/images/base-system/config/bootloaders/isolinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/libutil.c32 b/system-images/share/images/base-system/config/bootloaders/isolinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/live.cfg.in b/system-images/share/images/base-system/config/bootloaders/isolinux/live.cfg.in new file mode 100644 index 0000000..a405349 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/menu.cfg b/system-images/share/images/base-system/config/bootloaders/isolinux/menu.cfg new file mode 100644 index 0000000..bd8ea7c --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title Base System +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/splash.png b/system-images/share/images/base-system/config/bootloaders/isolinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/splash.png diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/splash.svg.gz b/system-images/share/images/base-system/config/bootloaders/isolinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/splash.svg.gz diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/stdmenu.cfg b/system-images/share/images/base-system/config/bootloaders/isolinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/base-system/config/bootloaders/isolinux/vesamenu.c32 b/system-images/share/images/base-system/config/bootloaders/isolinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/isolinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/advanced.cfg b/system-images/share/images/base-system/config/bootloaders/pxelinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/hdt.c32 b/system-images/share/images/base-system/config/bootloaders/pxelinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/install.cfg b/system-images/share/images/base-system/config/bootloaders/pxelinux/install.cfg new file mode 100644 index 0000000..30685cf --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/ldlinux.c32 b/system-images/share/images/base-system/config/bootloaders/pxelinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/libcom32.c32 b/system-images/share/images/base-system/config/bootloaders/pxelinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/libutil.c32 b/system-images/share/images/base-system/config/bootloaders/pxelinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/live.cfg.in b/system-images/share/images/base-system/config/bootloaders/pxelinux/live.cfg.in new file mode 100644 index 0000000..a405349 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/menu.cfg b/system-images/share/images/base-system/config/bootloaders/pxelinux/menu.cfg new file mode 100644 index 0000000..bd8ea7c --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title Base System +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/pxelinux.0 b/system-images/share/images/base-system/config/bootloaders/pxelinux/pxelinux.0 new file mode 120000 index 0000000..f723d02 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/pxelinux.0 @@ -0,0 +1 @@ +/usr/lib/PXELINUX/pxelinux.0
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/pxelinux.cfg/default b/system-images/share/images/base-system/config/bootloaders/pxelinux/pxelinux.cfg/default new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/pxelinux.cfg/default @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/splash.png b/system-images/share/images/base-system/config/bootloaders/pxelinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/splash.png diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/splash.svg.gz b/system-images/share/images/base-system/config/bootloaders/pxelinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/splash.svg.gz diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/stdmenu.cfg b/system-images/share/images/base-system/config/bootloaders/pxelinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/base-system/config/bootloaders/pxelinux/vesamenu.c32 b/system-images/share/images/base-system/config/bootloaders/pxelinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/pxelinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/advanced.cfg b/system-images/share/images/base-system/config/bootloaders/syslinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/hdt.c32 b/system-images/share/images/base-system/config/bootloaders/syslinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/install.cfg b/system-images/share/images/base-system/config/bootloaders/syslinux/install.cfg new file mode 100644 index 0000000..30685cf --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/ldlinux.c32 b/system-images/share/images/base-system/config/bootloaders/syslinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/libcom32.c32 b/system-images/share/images/base-system/config/bootloaders/syslinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/libutil.c32 b/system-images/share/images/base-system/config/bootloaders/syslinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/live.cfg.in b/system-images/share/images/base-system/config/bootloaders/syslinux/live.cfg.in new file mode 100644 index 0000000..a405349 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/menu.cfg b/system-images/share/images/base-system/config/bootloaders/syslinux/menu.cfg new file mode 100644 index 0000000..bd8ea7c --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title Base System +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/splash.png b/system-images/share/images/base-system/config/bootloaders/syslinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/splash.png diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/splash.svg.gz b/system-images/share/images/base-system/config/bootloaders/syslinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/splash.svg.gz diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/stdmenu.cfg b/system-images/share/images/base-system/config/bootloaders/syslinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/syslinux.cfg b/system-images/share/images/base-system/config/bootloaders/syslinux/syslinux.cfg new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/syslinux.cfg @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/base-system/config/bootloaders/syslinux/vesamenu.c32 b/system-images/share/images/base-system/config/bootloaders/syslinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/base-system/config/bootloaders/syslinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/base-system/config/hooks/normal/0001-os-release.chroot b/system-images/share/images/base-system/config/hooks/normal/0001-os-release.chroot new file mode 100755 index 0000000..b7f69a1 --- /dev/null +++ b/system-images/share/images/base-system/config/hooks/normal/0001-os-release.chroot @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +BUILD_ID="$(date +%Y%m%d)" +VARIANT="Base System" +VARIANT_ID="base-system" + +if [ -e /etc/os-release ] +then + sed -i -e "s|\(BUILD_ID\)=.*$|\1=\"${BUILD_ID}\"|" \ + -e "s|\(VARIANT\)=.*$|\1=\"${VARIANT}\"|" \ + -e "s|\(VARIANT_ID\)=.*$|\1=\"${VARIANT_ID}\"|" \ + /etc/os-release +fi diff --git a/system-images/share/images/base-system/config/hooks/normal/0002-knot-resolver.chroot b/system-images/share/images/base-system/config/hooks/normal/0002-knot-resolver.chroot new file mode 100755 index 0000000..7038e74 --- /dev/null +++ b/system-images/share/images/base-system/config/hooks/normal/0002-knot-resolver.chroot @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +cat > /etc/resolv.conf << EOF +nameserver 127.0.0.1 +nameserver 8.8.8.8 +nameserver 8.8.4.4 + +options timeout:1 attempts:1 +EOF diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer.png b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer.png Binary files differnew file mode 100644 index 0000000..8039941 --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer.png diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer.svg b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer.svg new file mode 100644 index 0000000..05fb00e --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer.svg @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="800" + height="75" + viewBox="0 0 800 75.000002" + id="svg4345" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="debian-installer-white.svg" + inkscape:export-filename="debian-installer-white.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4347" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata4350"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(136.45763,-966.21857)"> + <g + id="g4138"> + <rect + height="75" + y="966.21857" + x="-136.45763" + width="800" + id="rect4136" + style="fill:#ffffff;fill-opacity:1" /> + <text + transform="scale(0.99999469,1.0000053)" + sodipodi:linespacing="125%" + id="text3336" + y="1014.874" + x="-112.35123" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.5px;line-height:125%;font-family:'Droid Sans';-inkscape-font-specification:'Droid Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#cc0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'" + y="1014.874" + x="-112.35123" + id="tspan3338" + sodipodi:role="line"><tspan + id="tspan4135" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold';fill:#000000;fill-opacity:1"> Open Infrastructure</tspan></tspan></text> + </g> + </g> +</svg> diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer_dark.png b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer_dark.png Binary files differnew file mode 100644 index 0000000..62f2269 --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer_dark.png diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer_dark.svg b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer_dark.svg new file mode 100644 index 0000000..e966da0 --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/logo_installer_dark.svg @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="800" + height="75" + viewBox="0 0 800 75.000002" + id="svg4345" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="debian-installer-black.svg" + inkscape:export-filename="debian-installer-black.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4347" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata4350"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(136.45763,-966.21857)"> + <g + id="g4142"> + <rect + height="75" + y="966.21857" + x="-136.45763" + width="800" + id="rect4136" + style="fill:#000000;fill-opacity:1" /> + <text + transform="scale(0.9999947,1.0000053)" + sodipodi:linespacing="125%" + id="text3336" + y="1014.874" + x="-112.35123" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.5px;line-height:125%;font-family:'Droid Sans';-inkscape-font-specification:'Droid Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#cc0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'" + y="1014.874" + x="-112.35123" + id="tspan3338" + sodipodi:role="line"><tspan + id="tspan4135" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold';fill:#ffffff;fill-opacity:1"> Open Infrastructure</tspan></tspan></text> + </g> + </g> +</svg> diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/note_icon.png b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/note_icon.png Binary files differnew file mode 100644 index 0000000..7a256d7 --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/note_icon.png diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/note_icon.svg b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/note_icon.svg new file mode 100644 index 0000000..2e3e9da --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/note_icon.svg @@ -0,0 +1,709 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48" + height="48" + viewBox="0 0 48 48.000001" + id="svg3533" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="note_icon.svg" + inkscape:export-filename="note_icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs3535"> + <radialGradient + gradientUnits="userSpaceOnUse" + r="7.8289828" + fy="74.20993" + fx="14.772334" + cy="74.20993" + cx="14.772334" + gradientTransform="scale(1.764278,0.566804)" + id="radialGradient20216" + xlink:href="#linearGradient20210" + inkscape:collect="always" /> + <linearGradient + id="linearGradient20210"> + <stop + id="stop20212" + offset="0.0000000" + style="stop-color:#000000;stop-opacity:0.51546389;" /> + <stop + style="stop-color:#000000;stop-opacity:0.14432989;" + offset="0.55172414" + id="stop20218" /> + <stop + id="stop20214" + offset="1" + style="stop-color:#000000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#aigrd1" + id="linearGradient4100" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)" + x1="23.124001" + y1="43.165001" + x2="26.4785" + y2="43.165001" /> + <linearGradient + y2="43.165001" + x2="26.4785" + y1="43.165001" + x1="23.124001" + gradientUnits="userSpaceOnUse" + id="aigrd1"> + <stop + id="stop19415" + style="stop-color:#686868" + offset="5.618000e-003" /> + <stop + id="stop19417" + style="stop-color:#777777" + offset="3.012137e-002" /> + <stop + id="stop19419" + style="stop-color:#929292" + offset="8.366583e-002" /> + <stop + id="stop19421" + style="stop-color:#A7A7A7" + offset="0.1422" /> + <stop + id="stop19423" + style="stop-color:#B6B6B6" + offset="0.2074" /> + <stop + id="stop19425" + style="stop-color:#BEBEBE" + offset="0.2846" /> + <stop + id="stop19427" + style="stop-color:#C1C1C1" + offset="0.4045" /> + <stop + id="stop19429" + style="stop-color:#BCBCBC" + offset="0.4962" /> + <stop + id="stop19431" + style="stop-color:#ADADAD" + offset="0.6057" /> + <stop + id="stop19433" + style="stop-color:#959595" + offset="0.7245" /> + <stop + id="stop19435" + style="stop-color:#747474" + offset="0.8497" /> + <stop + id="stop19437" + style="stop-color:#494949" + offset="0.9789" /> + <stop + id="stop19439" + style="stop-color:#414141" + offset="1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3300" + id="linearGradient4102" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.002656,0.997352)" + x1="24.613028" + y1="31.146202" + x2="24.613028" + y2="26.739624" /> + <linearGradient + inkscape:collect="always" + id="linearGradient3300"> + <stop + style="stop-color:#4c4c28;stop-opacity:1;" + offset="0" + id="stop3302" /> + <stop + style="stop-color:#4c4c28;stop-opacity:0;" + offset="1" + id="stop3304" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4104" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + id="linearGradient19894" + gradientUnits="userSpaceOnUse" + x1="18.9951" + y1="37.226601" + x2="30.169901" + y2="37.226601"> + <stop + offset="5.618000e-003" + style="stop-color:#A3A349" + id="stop19896" /> + <stop + offset="2.078677e-002" + style="stop-color:#ACAC54" + id="stop19898" /> + <stop + offset="6.600059e-002" + style="stop-color:#C1C172" + id="stop19900" /> + <stop + offset="0.1148" + style="stop-color:#D4D68E" + id="stop19902" /> + <stop + offset="0.1677" + style="stop-color:#E2E4A6" + id="stop19904" /> + <stop + offset="0.2265" + style="stop-color:#EDF0B8" + id="stop19906" /> + <stop + offset="0.2963" + style="stop-color:#F3F6C3" + id="stop19908" /> + <stop + offset="0.4045" + style="stop-color:#F5F8C7" + id="stop19910" /> + <stop + offset="0.5239" + style="stop-color:#EEF0BE" + id="stop19912" /> + <stop + offset="0.6666" + style="stop-color:#DBDDA9" + id="stop19914" /> + <stop + offset="0.8211" + style="stop-color:#BEBD88" + id="stop19916" /> + <stop + offset="0.9832" + style="stop-color:#989564" + id="stop19918" /> + <stop + offset="1" + style="stop-color:#949160" + id="stop19920" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4106" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + <linearGradient + id="linearGradient2399"> + <stop + style="stop-color:#929470;stop-opacity:1;" + offset="0" + id="stop2401" /> + <stop + id="stop2407" + offset="0.26470590" + style="stop-color:#fcffc1;stop-opacity:1.0000000;" /> + <stop + style="stop-color:#f3f5ba;stop-opacity:1.0000000;" + offset="0.63235295" + id="stop2409" /> + <stop + style="stop-color:#929470;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop2403" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4108" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4110" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4116" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4118" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3311" + id="linearGradient4120" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,0.024498)" + x1="17.879995" + y1="55.362793" + x2="11.906206" + y2="54.863026" /> + <linearGradient + id="linearGradient3311"> + <stop + id="stop3313" + offset="0" + style="stop-color:#d6d7a5;stop-opacity:1;" /> + <stop + id="stop3315" + offset="1.0000000" + style="stop-color:#8e8f6d;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3265" + id="linearGradient4122" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.905728,-0.04386156,0.18951,-0.963437,0.614167,0.024498)" + x1="-29.007195" + y1="-29.799353" + x2="-37.641232" + y2="-29.598314" /> + <linearGradient + id="linearGradient3265"> + <stop + id="stop3267" + offset="0" + style="stop-color:#929470;stop-opacity:1;" /> + <stop + style="stop-color:#60614a;stop-opacity:1.0000000;" + offset="0.26470590" + id="stop3269" /> + <stop + id="stop3271" + offset="0.63235295" + style="stop-color:#f3f5ba;stop-opacity:1.0000000;" /> + <stop + id="stop3273" + offset="1.0000000" + style="stop-color:#929470;stop-opacity:1.0000000;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#aigrd7" + id="radialGradient4124" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.55129,0,0,0.766034,-10.48701,3.514312)" + cx="68.137589" + cy="29.869318" + fx="68.137589" + fy="29.869318" + r="33.93409" /> + <radialGradient + gradientUnits="userSpaceOnUse" + fy="11.4873" + fx="17.8335" + r="22.709299" + cy="11.4873" + cx="17.8335" + id="aigrd7"> + <stop + id="stop19512" + style="stop-color:#ffffff;stop-opacity:0.17525773;" + offset="0.0000000" /> + <stop + id="stop19514" + style="stop-color:#709ac8;stop-opacity:1.0000000;" + offset="0.88200003" /> + <stop + id="stop19516" + style="stop-color:#6f96dd;stop-opacity:1.0000000;" + offset="1.0000000" /> + </radialGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3175" + id="linearGradient4126" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,0.024498)" + x1="37.940434" + y1="16.651863" + x2="-5.2517161" + y2="3.8557322" /> + <linearGradient + id="linearGradient3175" + inkscape:collect="always"> + <stop + id="stop3177" + offset="0" + style="stop-color:#f1f3ff;stop-opacity:1;" /> + <stop + id="stop3179" + offset="1" + style="stop-color:#f1f3ff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient20393" + id="linearGradient4128" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)" + x1="30.620375" + y1="10.313651" + x2="32.16608" + y2="18.162935" /> + <linearGradient + id="linearGradient20393"> + <stop + id="stop20395" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + style="stop-color:#ffffff;stop-opacity:0.44117647;" + offset="0.41176471" + id="stop2427" /> + <stop + id="stop20397" + offset="1.0000000" + style="stop-color:#000000;stop-opacity:0.48039216;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient20393" + id="linearGradient4130" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)" + x1="30.620375" + y1="10.313651" + x2="32.16608" + y2="18.162935" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient20428" + id="linearGradient4132" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)" + x1="14.637301" + y1="31.504122" + x2="9.3648205" + y2="32.25098" /> + <linearGradient + id="linearGradient20428"> + <stop + id="stop20430" + offset="0.0000000" + style="stop-color:#a3a3a3;stop-opacity:1.0000000;" /> + <stop + id="stop20432" + offset="1" + style="stop-color:#b5b5b5;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6339" + id="linearGradient4134" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)" + x1="16.998856" + y1="10.061084" + x2="32.096882" + y2="36.726292" /> + <linearGradient + inkscape:collect="always" + id="linearGradient6339"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop6341" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop6343" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4061" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4063" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata3538"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1004.3622)"> + <g + transform="translate(9.025e-5,1004.3622)" + id="g3531"> + <ellipse + ry="4.4375" + rx="13.8125" + cy="42.0625" + cx="26.0625" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.8;fill:url(#radialGradient20216);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + id="path20208" + transform="matrix(1.197183,0,0,1.098591,-6.201582,-3.209507)" /> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + transform="translate(0,1)" + id="g4076"> + <path + inkscape:connector-curvature="0" + style="fill:url(#linearGradient4100);fill-rule:nonzero;stroke:#565656;stroke-miterlimit:4;stroke-opacity:1" + d="m 21.893504,38.885945 0,1.475215 c 0,1.475215 1.311303,2.786519 2.786518,2.786519 1.475215,0 2.786517,-1.311304 2.786517,-2.786519 l 0,-1.475215 -5.573035,0 z" + id="path19509" + transform="matrix(1.075823,0,0,0.937493,-2.551335,3.047213)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <g + id="g3173" + transform="matrix(0.989073,0,0,0.993556,-0.408739,0.00792048)" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#aeae57;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4102);stroke-width:2.01752925;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 24.511725,27.668867 c -3.302881,-0.008 -7.04845,0.963187 -5.018812,2.799064 -0.503223,0.203003 -1.222542,0.656382 -1.137746,1.717291 0.04682,0.554064 0.634076,0.894172 1.437193,1.143888 -0.910452,0.638612 -1.489779,1.313447 -1.437193,1.935811 0.04627,0.547604 0.621167,0.92261 1.407863,1.173219 -0.887511,0.631263 -1.459729,1.321981 -1.407863,1.935811 0.07927,0.938137 2.102576,1.988977 6.483761,1.867949 3.154401,-0.08599 5.937985,-0.651386 6.157671,-1.867949 0.08626,-0.477703 -0.304692,-0.92342 -0.909244,-1.319871 0.452571,-0.456162 0.769625,-0.918838 0.733261,-1.349202 -0.04649,-0.550184 -0.614623,-0.922955 -1.407862,-1.173218 0.887511,-0.631263 1.459728,-1.321981 1.407862,-1.935811 -0.04649,-0.550185 -0.614623,-0.893624 -1.407862,-1.143889 0.898094,-0.634672 1.460062,-1.318032 1.407862,-1.935811 -0.05802,-0.686703 -3.204626,-1.839791 -6.308891,-1.847282 z" + id="path3209" + sodipodi:nodetypes="cccccccscccccccs" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4104);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4106);stroke-width:0.08906282;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 30.920208,38.329767 c -0.219686,1.216564 -3.328786,1.903094 -8.305076,1.653906 -3.151625,-0.157817 -3.331969,-1.039618 -3.112284,-2.256182 0.219686,-1.216565 2.95547,-2.069011 6.106661,-1.902783 3.151191,0.166228 5.530384,1.288495 5.310699,2.505059 z" + id="path3183" + sodipodi:nodetypes="csccc" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <ellipse + ry="3.2703688" + rx="10.341436" + cy="27.228739" + cx="-13.87697" + transform="matrix(0.60274,-0.128625,0.06428372,0.760788,31.12021,14.49141)" + id="path1603" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4061);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4063);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <ellipse + ry="3.2703688" + rx="10.341436" + cy="27.228739" + cx="-13.87697" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4108);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4110);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + id="path2364" + transform="matrix(0.60274,-0.128625,0.06428372,0.760788,31.12021,11.39591)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4116);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4118);stroke-width:0.08906286;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 30.698087,29.636386 c 0,1.378302 -2.540761,2.918054 -5.981486,3.652307 -3.440725,0.734252 -6.327381,0.215517 -6.443429,-1.157891 -0.116048,-1.373407 2.236507,-2.975336 5.679216,-3.161975 3.469991,-0.188116 6.745699,-0.04393 6.745699,0.667559 z" + id="path2366" + sodipodi:nodetypes="cccss" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <circle + r="3.25" + cy="22.375" + cx="27.75" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + id="path20372" + transform="matrix(0.335464,0,0,0.335464,11.74678,27.2261)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 19.342183,33.378865 c 3.394409,0.504668 6.978809,-0.03267 9.872132,-1.908058 0.811267,-0.525845 0.933289,-1.126862 1.306606,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z" + id="path3241" + sodipodi:nodetypes="cscc" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <circle + r="3.25" + cy="22.375" + cx="27.75" + transform="matrix(0.335464,0,0,0.335464,11.74678,30.23376)" + id="path2435" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 19.466621,39.517838 c 3.394409,0.504668 6.978809,-0.03267 9.872132,-1.908058 0.811267,-0.525845 0.93329,-1.126861 1.306606,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z" + id="path3237" + sodipodi:nodetypes="cscc" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + sodipodi:nodetypes="cscc" + id="path3239" + d="m 19.487361,36.406872 c 3.394409,0.504668 6.978809,-0.03267 9.872131,-1.908058 0.811268,-0.525845 0.93329,-1.126861 1.306607,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z" + style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + <g + id="g3146" + transform="translate(-0.988797,0)" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <g + id="g3141" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4120);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4122);stroke-width:0.09083303;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 18.87103,29.628128 c 0,-0.791433 1.574105,-1.73814 5.548204,-1.685156 3.68192,0.04909 6.107374,0.895688 6.107374,2.162432 0,1.239877 -3.219366,2.069012 -6.651931,1.902784 -3.432564,-0.166228 -5.003647,-1.140183 -5.003647,-2.38006 z" + id="path3243" + sodipodi:nodetypes="csscs" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient4124);fill-opacity:1;fill-rule:nonzero;stroke:#616471;stroke-width:1.01595449;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 24.680021,0.8622936 c -7.822016,0 -14.17376,5.9749692 -14.17376,13.3329944 0,7.542563 5.741565,8.377929 5.741565,11.157707 0,3.266066 3.366277,6.969692 8.901483,6.836 5.88585,-0.14216 8.314873,-3.36334 8.314873,-6.836 0,-2.968931 5.389599,-3.048106 5.389599,-11.157707 0,-7.3580252 -6.351743,-13.3329944 -14.17376,-13.3329944 z" + id="path6305" + sodipodi:nodetypes="csssssc" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + sodipodi:nodetypes="csssssc" + id="path2429" + d="m 24.680021,1.9277146 c -7.290022,0 -13.209769,5.5685977 -13.209769,12.4261864 0,7.029575 5.351068,7.808126 5.351068,10.398845 0,3.043934 3.137328,6.495667 8.296072,6.371067 5.485539,-0.132492 7.749359,-3.134591 7.749359,-6.371067 0,-2.767006 5.02304,-2.840798 5.02304,-10.398845 0,-6.8575887 -5.919747,-12.4261864 -13.20977,-12.4261864 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4126);stroke-width:0.94685698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" /> + </g> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + transform="matrix(0.9375,0,0,0.926938,0.569221,0.25176)" + id="g1695"> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path1691" + d="m 31.947292,19.22274 c 0.312742,0.104248 0.521237,0.41699 0.416989,0.729731 l -3.857147,11.571442 c -0.104247,0.312742 -0.416989,0.521236 -0.729731,0.416989 -0.312741,-0.104247 -0.521235,-0.416989 -0.416988,-0.72973 L 31.217562,19.63973 c 0.104247,-0.312742 0.416989,-0.521237 0.72973,-0.41699 z" + style="fill:url(#linearGradient4128);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="fill:url(#linearGradient4130);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4" + d="m 20.152404,19.34774 c -0.312742,0.104248 -0.521237,0.41699 -0.416989,0.729731 l 3.857147,11.571442 c 0.104247,0.312742 0.416989,0.521236 0.729731,0.416989 0.312741,-0.104247 0.521235,-0.416989 0.416988,-0.72973 L 20.882134,19.76473 c -0.104247,-0.312742 -0.416989,-0.521237 -0.72973,-0.41699 z" + id="path19612" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path19614" + d="m 20.255362,19.273128 c -0.24591,0.04207 -0.438556,0.234644 -0.480709,0.480539 -0.04215,0.245895 0.07535,0.491642 0.293209,0.613211 0,0 1.842222,1.080869 4.25,1.625 2.407778,0.544131 5.488901,0.579427 7.8125,-1.6875 0.175246,-0.139033 0.256492,-0.365415 0.209645,-0.584154 -0.04685,-0.218739 -0.213682,-0.391991 -0.430498,-0.447056 -0.216816,-0.05506 -0.446103,0.01758 -0.591647,0.18746 -1.950536,1.902962 -4.544838,1.904592 -6.75,1.40625 -2.205162,-0.498342 -3.90625,-1.5 -3.90625,-1.5 -0.119434,-0.07979 -0.26393,-0.113134 -0.40625,-0.09375 z" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4132);stroke-width:0.21454535;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" /> + </g> + <path + inkscape:connector-curvature="0" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" + id="path6334" + d="m 25.001158,3.5644322 c -6.26355,0 -11.345799,4.0256007 -11.345799,8.9834108 0,1.980113 0.977559,3.713915 2.350649,5.199192 1.552664,0.63186 3.243819,1.085906 5.108744,1.085906 6.26355,0 11.345797,-4.0256 11.345799,-8.983413 0,-1.992052 -0.993807,-3.7420651 -2.381991,-5.2320949 -1.545421,-0.624373 -3.224319,-1.053001 -5.077402,-1.0530009 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.5977654;fill:url(#linearGradient4134);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.98750001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/warning_icon.png b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/warning_icon.png Binary files differnew file mode 100644 index 0000000..78e42a5 --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/warning_icon.png diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/warning_icon.svg b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/warning_icon.svg new file mode 100644 index 0000000..213ee9b --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/graphics/warning_icon.svg @@ -0,0 +1,266 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48" + height="48" + viewBox="0 0 48 48.000001" + id="svg4309" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="warning_icon.svg" + inkscape:export-filename="warning_icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4311"> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5048" + id="linearGradient6715" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)" + x1="302.85715" + y1="366.64789" + x2="302.85715" + y2="609.50507" /> + <linearGradient + id="linearGradient5048"> + <stop + style="stop-color:black;stop-opacity:0;" + offset="0" + id="stop5050" /> + <stop + id="stop5056" + offset="0.5" + style="stop-color:black;stop-opacity:1;" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop5052" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5060" + id="radialGradient6717" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" + cx="605.71429" + cy="486.64789" + fx="605.71429" + fy="486.64789" + r="117.14286" /> + <linearGradient + inkscape:collect="always" + id="linearGradient5060"> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0" + id="stop5062" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop5064" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5060" + id="radialGradient6719" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" + cx="605.71429" + cy="486.64789" + fx="605.71429" + fy="486.64789" + r="117.14286" /> + <linearGradient + inkscape:collect="always" + xlink:href="#aigrd1" + id="linearGradient3946" + gradientUnits="userSpaceOnUse" + x1="4.1914001" + y1="11.1133" + x2="47.319698" + y2="56.052299" /> + <linearGradient + y2="56.052299" + x2="47.319698" + y1="11.1133" + x1="4.1914001" + gradientUnits="userSpaceOnUse" + id="aigrd1"> + <stop + id="stop6490" + style="stop-color:#D4D4D4" + offset="0" /> + <stop + id="stop6492" + style="stop-color:#E2E2E2" + offset="0.3982" /> + <stop + id="stop6494" + style="stop-color:#FFFFFF" + offset="1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6525" + id="linearGradient3948" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" + x1="8.5469341" + y1="30.281681" + x2="30.85088" + y2="48.301884" /> + <linearGradient + id="linearGradient6525" + gradientUnits="userSpaceOnUse" + x1="4.1914001" + y1="11.1133" + x2="47.319698" + y2="56.052299"> + <stop + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" + id="stop6529" /> + <stop + offset="1" + style="stop-color:#ffffff;stop-opacity:0.34020618;" + id="stop6531" /> + </linearGradient> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata4314"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1004.3622)"> + <g + transform="matrix(1.566667,0,0,1.566667,-8.9254542,980.4141)" + id="g3557"> + <g + id="g6707" + transform="matrix(0.01444074,0,0,0.01331973,33.38871,40.40337)" + style="display:inline"> + <rect + y="-150.69685" + x="-1559.2523" + height="478.35718" + width="1339.6335" + id="rect6709" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.40206185;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /> + <path + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" + id="path6711" + d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.40206185;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.40206185;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z" + id="path6713" + sodipodi:nodetypes="cccc" /> + </g> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + transform="matrix(1,0,0.00453785,1,-0.138907,0)" + id="g3937"> + <path + inkscape:connector-curvature="0" + style="fill:#cc0000;fill-rule:nonzero;stroke:#9f0000;stroke-width:0.6382978;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 33.282781,38.644744 22.407791,18.394765 c -0.312499,-0.562499 -0.874999,-0.874998 -1.499998,-0.874998 -0.625,0 -1.187499,0.374998 -1.499998,0.937498 L 8.7828048,38.707245 c -0.25,0.499999 -0.25,1.187499 0.0625,1.687498 0.312499,0.5 0.812499,0.749999 1.4374992,0.749999 l 21.499978,0 c 0.624999,0 1.187498,-0.312499 1.437499,-0.812499 0.312499,-0.5 0.312499,-1.124999 0.0625,-1.687499 z" + id="path6485" + transform="matrix(1,0,-0.00872668,1,0.328074,1.276596)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <g + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4" + transform="matrix(0.625,0,-0.00553493,0.634254,6.164053,15.76055)" + id="g6487" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <linearGradient + id="linearGradient4358" + gradientUnits="userSpaceOnUse" + x1="4.1914001" + y1="11.1133" + x2="47.319698" + y2="56.052299"> + <stop + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" + id="stop4360" /> + <stop + offset="1" + style="stop-color:#ffffff;stop-opacity:0.34020618;" + id="stop4362" /> + </linearGradient> + <path + inkscape:connector-curvature="0" + style="fill:url(#linearGradient3946);stroke:none" + d="m 9.5,37.6 c -0.3,0.5 0,0.9 0.5,0.9 l 28.2,0 c 0.5,0 0.8,-0.4 0.5,-0.9 L 24.4,11 c -0.3,-0.5 -0.7,-0.5 -0.9,0 l -14,26.6 z" + id="path6496" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + <path + inkscape:connector-curvature="0" + style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3948);stroke-width:0.63829792;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 32.323106,38.183905 22.150271,19.265666 c -0.433291,-0.814976 -0.588573,-1.076453 -1.241865,-1.076453 -0.561881,0 -0.854279,0.380807 -1.257101,1.150078 L 9.7489285,38.242296 c -0.5751636,1.061292 -0.6361047,1.337932 -0.3551641,1.805049 0.280939,0.467117 0.6390326,0.441675 1.9626766,0.472146 l 19.618152,0 c 1.232232,0.01523 1.509395,-0.07865 1.734147,-0.545771 0.280941,-0.467118 0.159059,-0.83772 -0.385634,-1.789815 z" + id="path1325" + sodipodi:nodetypes="ccsccscccc" + transform="matrix(1,0,-0.00872668,1,0.318277,1.276596)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + id="g6498" + transform="matrix(0.555088,0,0,0.555052,7.749711,17.80196)" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4"> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path6500" + d="m 23.9,36.5 c -1.3,0 -2.3,-1 -2.3,-2.3 0,-1.4 0.9,-2.3 2.3,-2.3 1.4,0 2.2,0.9 2.3,2.3 0,1.3 -0.9,2.3 -2.3,2.3 l 0,0 z m -1.4,-5.9 -0.6,-11.5 4,0 -0.6,11.5 -2.9,0 0.1,0 z" + style="stroke:none" /> + </g> + </g> + </g> +</svg> diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc b/system-images/share/images/base-system/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc new file mode 100644 index 0000000..0cb6b4b --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc @@ -0,0 +1,183 @@ +style "clearlooks-default" +{ + GtkButton ::default_border = { 0, 0, 0, 0 } + GtkRange ::trough_border = 0 + GtkPaned ::handle_size = 6 + GtkRange ::slider_width = 15 + GtkRange ::stepper_size = 15 + + GtkScrollbar ::min_slider_length = 30 + GtkCheckButton ::indicator_size = 14 + GtkMenuBar ::internal-padding = 0 + GtkTreeView ::expander_size = 14 + GtkExpander ::expander_size = 16 + GtkScale ::slider-length = 27 +# GtkToolbar ::button-relief = GTK_RELIEF_NORMAL +# GtkMenuBar ::shadow-type = GTK_SHADOW_OUT +# GtkScrollbar ::has-secondary-forward-stepper = 1 +# GtkScrollbar ::has-secondary-backward-stepper = 1 + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + + WnckTasklist ::fade-overlay-rect = 0 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = "#000000" # black + fg[PRELIGHT] = "#000000" # black + fg[SELECTED] = "#ffffff" # white + fg[ACTIVE] = "#000000" # black + fg[INSENSITIVE] = "#b5b3ac" # dark beige + + bg[NORMAL] = "#ede9e3" + bg[PRELIGHT] = "#f9f7f3" # very light beige + bg[SELECTED] = "#cc0000" # red + bg[INSENSITIVE] = "#efebe5" # beige + bg[ACTIVE] = "#dcd4c9" #"#d7d3ca" # dark beige + + base[NORMAL] = "#ffffff" # white + base[PRELIGHT] = "#5f8ec4" # dark beige + base[ACTIVE] = "#a40000" # darker red + base[SELECTED] = "#cc0000" # red + base[INSENSITIVE] = "#e8e5de" # beige + + text[NORMAL] = "#000000" # black + text[PRELIGHT] = "#000000" # black + text[ACTIVE] = "#ffffff" # white + text[SELECTED] = "#ffffff" # white + text[INSENSITIVE] = "#b5b3ac" # dark beige + + engine "clearlooks" + { + #scrollbar_color = "#76acde" + menubarstyle = 2 # 0 = flat, 1 = sunken, 2 = flat gradient + #menuitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button) + #listviewitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient) + #progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat + animation = FALSE + } +} + +style "clearlooks-wide" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-wider" = "clearlooks-default" +{ + xthickness = 3 + ythickness = 3 +} + +style "clearlooks-button" = "clearlooks-wider" +{ + bg[NORMAL] = "#f6f4f1" + bg[INSENSITIVE] = "#f2efeb" + bg[PRELIGHT] = "#faf9f8" +} + +style "clearlooks-notebook" = "clearlooks-wide" +{ + bg[NORMAL] = "#efebe5" + bg[INSENSITIVE] = "#efebe5" +} + +style "clearlooks-tasklist" = "clearlooks-default" +{ + xthickness = 5 + ythickness = 3 +} + +style "clearlooks-menu" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 1 + bg[NORMAL] = "#f9f7f3" +} + +style "clearlooks-menubar-item" = "clearlooks-button" +{ + fg[PRELIGHT] = "#000000" +} + +style "clearlooks-menu-item" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 3 + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "clearlooks-tree" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-frame-title" = "clearlooks-default" +{ + fg[NORMAL] = "#404040" +} + +style "clearlooks-tooltips" = "clearlooks-default" +{ + xthickness = 4 + ythickness = 4 + bg[NORMAL] = { 1.0,1.0,0.75 } +} + +style "clearlooks-progressbar" = "clearlooks-wide" +{ + xthickness = 1 + ythickness = 1 + fg[PRELIGHT] = "#ffffff" +} + +style "clearlooks-combo" = "clearlooks-button" +{ +} + +style "clearlooks-menubar" = "blackrock-default" +{ + bg[NORMAL] = "#bacedb" +} + +# widget styles +class "GtkWidget" style "clearlooks-default" +class "GtkButton" style "clearlooks-button" +class "GtkScale" style "clearlooks-button" +class "GtkCombo" style "clearlooks-button" +class "GtkRange" style "clearlooks-wide" +class "GtkFrame" style "clearlooks-wide" +class "GtkMenu" style "clearlooks-menu" +class "GtkEntry" style "clearlooks-wider" +class "GtkMenuItem" style "clearlooks-menu-item" +class "GtkNotebook" style "clearlooks-notebook" +class "GtkProgressBar" style "clearlooks-progressbar" + +#class "GtkMenuBar" style "clearlooks-menubar" + +widget_class "*MenuItem.*" style "clearlooks-menu-item" +#widget_class "*.GtkMenuBar.*MenuItem.*" style "clearlooks-menubar-item" + +# combobox stuff +widget_class "*.GtkComboBox.GtkButton" style "clearlooks-combo" +widget_class "*.GtkCombo.GtkButton" style "clearlooks-combo" +# tooltips stuff +widget_class "*.tooltips.*.GtkToggleButton" style "clearlooks-tasklist" +widget "gtk-tooltips" style "clearlooks-tooltips" + +# treeview stuff +widget_class "*.GtkTreeView.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCTree.GtkButton" style "clearlooks-tree" +widget_class "*.GtkList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkFrame.GtkLabel" style "clearlooks-frame-title" + +# notebook stuff +widget_class "*.GtkNotebook.*.GtkEventBox" style "clearlooks-notebook" +widget_class "*.GtkNotebook.*.GtkViewport" style "clearlooks-notebook" + diff --git a/system-images/share/images/base-system/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc.orig b/system-images/share/images/base-system/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc.orig new file mode 100644 index 0000000..7e133bb --- /dev/null +++ b/system-images/share/images/base-system/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc.orig @@ -0,0 +1,183 @@ +style "clearlooks-default" +{ + GtkButton ::default_border = { 0, 0, 0, 0 } + GtkRange ::trough_border = 0 + GtkPaned ::handle_size = 6 + GtkRange ::slider_width = 15 + GtkRange ::stepper_size = 15 + + GtkScrollbar ::min_slider_length = 30 + GtkCheckButton ::indicator_size = 14 + GtkMenuBar ::internal-padding = 0 + GtkTreeView ::expander_size = 14 + GtkExpander ::expander_size = 16 + GtkScale ::slider-length = 27 +# GtkToolbar ::button-relief = GTK_RELIEF_NORMAL +# GtkMenuBar ::shadow-type = GTK_SHADOW_OUT +# GtkScrollbar ::has-secondary-forward-stepper = 1 +# GtkScrollbar ::has-secondary-backward-stepper = 1 + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + + WnckTasklist ::fade-overlay-rect = 0 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = "#000000" # black + fg[PRELIGHT] = "#000000" # black + fg[SELECTED] = "#ffffff" # white + fg[ACTIVE] = "#000000" # black + fg[INSENSITIVE] = "#b5b3ac" # dark beige + + bg[NORMAL] = "#ede9e3" + bg[PRELIGHT] = "#f9f7f3" # very light beige + bg[SELECTED] = "#d60052" # red + bg[INSENSITIVE] = "#efebe5" # beige + bg[ACTIVE] = "#dcd4c9" #"#d7d3ca" # dark beige + + base[NORMAL] = "#ffffff" # white + base[PRELIGHT] = "#5f8ec4" # dark beige + base[ACTIVE] = "#b20044" # darker red + base[SELECTED] = "#d60052" # red + base[INSENSITIVE] = "#e8e5de" # beige + + text[NORMAL] = "#000000" # black + text[PRELIGHT] = "#000000" # black + text[ACTIVE] = "#ffffff" # white + text[SELECTED] = "#ffffff" # white + text[INSENSITIVE] = "#b5b3ac" # dark beige + + engine "clearlooks" + { + #scrollbar_color = "#76acde" + menubarstyle = 2 # 0 = flat, 1 = sunken, 2 = flat gradient + #menuitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button) + #listviewitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient) + #progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat + animation = FALSE + } +} + +style "clearlooks-wide" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-wider" = "clearlooks-default" +{ + xthickness = 3 + ythickness = 3 +} + +style "clearlooks-button" = "clearlooks-wider" +{ + bg[NORMAL] = "#f6f4f1" + bg[INSENSITIVE] = "#f2efeb" + bg[PRELIGHT] = "#faf9f8" +} + +style "clearlooks-notebook" = "clearlooks-wide" +{ + bg[NORMAL] = "#efebe5" + bg[INSENSITIVE] = "#efebe5" +} + +style "clearlooks-tasklist" = "clearlooks-default" +{ + xthickness = 5 + ythickness = 3 +} + +style "clearlooks-menu" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 1 + bg[NORMAL] = "#f9f7f3" +} + +style "clearlooks-menubar-item" = "clearlooks-button" +{ + fg[PRELIGHT] = "#000000" +} + +style "clearlooks-menu-item" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 3 + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "clearlooks-tree" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-frame-title" = "clearlooks-default" +{ + fg[NORMAL] = "#404040" +} + +style "clearlooks-tooltips" = "clearlooks-default" +{ + xthickness = 4 + ythickness = 4 + bg[NORMAL] = { 1.0,1.0,0.75 } +} + +style "clearlooks-progressbar" = "clearlooks-wide" +{ + xthickness = 1 + ythickness = 1 + fg[PRELIGHT] = "#ffffff" +} + +style "clearlooks-combo" = "clearlooks-button" +{ +} + +style "clearlooks-menubar" = "blackrock-default" +{ + bg[NORMAL] = "#bacedb" +} + +# widget styles +class "GtkWidget" style "clearlooks-default" +class "GtkButton" style "clearlooks-button" +class "GtkScale" style "clearlooks-button" +class "GtkCombo" style "clearlooks-button" +class "GtkRange" style "clearlooks-wide" +class "GtkFrame" style "clearlooks-wide" +class "GtkMenu" style "clearlooks-menu" +class "GtkEntry" style "clearlooks-wider" +class "GtkMenuItem" style "clearlooks-menu-item" +class "GtkNotebook" style "clearlooks-notebook" +class "GtkProgressBar" style "clearlooks-progressbar" + +#class "GtkMenuBar" style "clearlooks-menubar" + +widget_class "*MenuItem.*" style "clearlooks-menu-item" +#widget_class "*.GtkMenuBar.*MenuItem.*" style "clearlooks-menubar-item" + +# combobox stuff +widget_class "*.GtkComboBox.GtkButton" style "clearlooks-combo" +widget_class "*.GtkCombo.GtkButton" style "clearlooks-combo" +# tooltips stuff +widget_class "*.tooltips.*.GtkToggleButton" style "clearlooks-tasklist" +widget "gtk-tooltips" style "clearlooks-tooltips" + +# treeview stuff +widget_class "*.GtkTreeView.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCTree.GtkButton" style "clearlooks-tree" +widget_class "*.GtkList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkFrame.GtkLabel" style "clearlooks-frame-title" + +# notebook stuff +widget_class "*.GtkNotebook.*.GtkEventBox" style "clearlooks-notebook" +widget_class "*.GtkNotebook.*.GtkViewport" style "clearlooks-notebook" + diff --git a/system-images/share/images/base-system/config/package-lists/base-system.list.chroot b/system-images/share/images/base-system/config/package-lists/base-system.list.chroot new file mode 100644 index 0000000..179aee8 --- /dev/null +++ b/system-images/share/images/base-system/config/package-lists/base-system.list.chroot @@ -0,0 +1,2 @@ +task-ssh-server +knot-resolver diff --git a/system-images/share/images/base-system/config/package-lists/memtest.list.chroot b/system-images/share/images/base-system/config/package-lists/memtest.list.chroot new file mode 100644 index 0000000..386444d --- /dev/null +++ b/system-images/share/images/base-system/config/package-lists/memtest.list.chroot @@ -0,0 +1,4 @@ + +#if ARCHITECTURES amd64 hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 +memtest86+ +#endif diff --git a/system-images/share/images/container-server/.gitignore b/system-images/share/images/container-server/.gitignore new file mode 100644 index 0000000..3f88dfa --- /dev/null +++ b/system-images/share/images/container-server/.gitignore @@ -0,0 +1,31 @@ +binary/ +binary*.iso +binary*.img +binary*.tar* +binary*.contents +binary*.packages +binary*.zsync + +.build/ +build.log + +cache/ + +chroot/ +chroot.packages.* + +config/binary +config/bootstrap +config/chroot +config/common +config/source + +config/control + +source/ +source*.iso +source*.img +source*.tar* +source*.contents +source*.packages +source*.zsync diff --git a/system-images/share/images/container-server/auto/build b/system-images/share/images/container-server/auto/build new file mode 100755 index 0000000..f8d8346 --- /dev/null +++ b/system-images/share/images/container-server/auto/build @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +lb build noauto "${@}" 2>&1 | tee build.log diff --git a/system-images/share/images/container-server/auto/clean b/system-images/share/images/container-server/auto/clean new file mode 100755 index 0000000..4b8ccaa --- /dev/null +++ b/system-images/share/images/container-server/auto/clean @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +lb clean noauto "${@}" + +rm -f config/binary config/bootstrap config/chroot config/common config/source +rm -f config/control + +rm -f build.log diff --git a/system-images/share/images/container-server/auto/config b/system-images/share/images/container-server/auto/config new file mode 100755 index 0000000..fbe2c70 --- /dev/null +++ b/system-images/share/images/container-server/auto/config @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +case "$(dpkg --print-architecture)" in + amd64) + _SOURCE="true" + ;; + + i386) + _SOURCE="false" + ;; +esac + +lb config noauto \ + --clean \ + --ignore-system-defaults \ + --mode debian \ + --debian-installer live \ + --linux-packages "linux-image" \ + --source "${_SOURCE}" \ +"${@}" diff --git a/system-images/share/images/container-server/config/archives/progress-linux.key b/system-images/share/images/container-server/config/archives/progress-linux.key new file mode 100644 index 0000000..9cdde5e --- /dev/null +++ b/system-images/share/images/container-server/config/archives/progress-linux.key @@ -0,0 +1,51 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFfXFG8BEAC612gy3d976/FO4f6a6gi23KqLs8eTws0M0+RgvpWkMJo7DiMq +22Ge/W2FrZz/ik5+Upb2+KHNp5x88tAejwIuQqBW7ZiAgN+nfbEGzUqLOXZS/nhU ++dfil46Yyat3cpqOCw23ogIGZLgc1qrNJKaTnly534iGZXZcfpTVG7rolO3pqWr/ +aCHbPT5+xLKBa1olF20tJrs7arfXylhD9FJbCoK6h/xMCWzzzuVzXh3FQnyFJGBB +SaoVgPQjH4NzE4Kvgv3UIRqSiqt8GtaGQtdki7SxAnYZRgZs337BKUBCk6USmhpw +QEpOwKhmEyNz7mmrvXX57dShgkKII1l3VbL/8YbdVJwbVucts2lLsIFbJnlDjd6z +cF7AoaeZvENY9fxVsLzGIKRd50w8qzCUq22oQzgxDtblKyVDzwlEckj9qdZmMqDN +k1fflOyvBZubWT8mFTLKSRkd3sbcLiZdrH5QJEIdvnC5rW+bTPM018DhOxKo3H8z +X/TCiyIsmdx+ldoOw7srCobwhAt/J1rjTcEcBs3Tmmo7F7/LsH4uW5do3Cda05jl +2HdHVAwFI0RWC1xeH1aufvJcXLF3JbKKDLuTcX/X6Z7PWU73/6xnD4Sa9Wrvgrxj +EvnFyu6Lt81fTcFZqhiZR4lApVgXzc73fxa4a++MMVbkzz605pgxIvTevQARAQAB +tFFQcm9ncmVzcyBMaW51eCA0IChkc2NoaW5uKSBBcmNoaXZlIEtleSA8c3lzdGVt +LWFkbWluaXN0cmF0aW9uQHByb2dyZXNzLWxpbnV4Lm9yZz6JAjcEEwEKACEFAlfX +FG8CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQX+0zE8d/g+olYA/+OPnp +bidxqmRvf11M0b3whRaHBo95edUX7oZR2EoLs8TO2I0IS3o3Sw+L0LAE9v6lOPRB +c2O85CmfquW4giLe+8fbaGlB/OAzuxodomvwzuV9BZFzL3KoPeYu9+vFNfDf/D8H +FQBRO3HDivjrRC8kOrBhv/rgl3Hu1DutOSjAMRDUIhHmIz2Ow4MxgoZJ/HUr+LIn +pXjG+gl4W/6YCFtccDfEp1M7WQCUY4XLfhvFKCKxhHNhCvCbpnNQLqrfDRFEcJb7 +XQfrf1tVw0ZIM/ScB8CqQQnskqyy/28UHSoIU+kEBACcrViqTbPRExw6bRjTiZm+ ++/m3QG43bkgtMXUcdiUBS/xEe4L17gw3G+mNHKx/Mny7urnFkXjP7ZzqUdgMAqIP +hOgHfIG05v+BRT4daRZYif3iz5KWxFPgLs8FpGuVhDroH/KkSQYi/P+AWnKQv4GK +UFC5+KjjRqV+WIWFxkUFQxiQvpuG+VIc2oLWXaEa6yfmm9MAWC7D7IaqtGR0biE3 +wlQGlwcXBQA4+blMsDRf8q2ae/OUdA/ibYMlalXkDqFGmNCZ7TpY9sbP5k2cUCkm +tFUX7K3yCJ6y4uy27k+y+BZYOwA/5YtRvaT1UqIr8S+92g+8jROsXuMjN+/Trb+X +2ay0CyDiwIfQyxHJ6p0axdgl4yAsYEXI90iMFKa5Ag0EV9cUbwEQAKOimyafI8E/ +nkwNxQXUVGZqASMxVnRWvzl1Rgs75e4+yUXxD8kgKxqSVtROK8y5VbFlU87cQ5c1 +jqnPsiIhdvKt6VtRNyATtQCB5tfNKS9ZaiZBX7XzkYG0Q0pyhQc8w4S7Wza9LU9f +0ydzHdfoA2SHoV8R5lo4wqrXuC+c/TUyv3yHDk1ZJ+oUuDhg2mU6Z0Vr3cPH/6Xo +6Y+KnaN5gISN0pVFOX0wCnYFp+tw7B0JUFqVCLAlAo6KkfwOnz4MBulqoMm8IS68 +h1WzaJmctmpOS0xHozpqGhZypnT/F31DT4thB7O+fXpnq2+7pddinK1sA7Z8oopq +x5w5vPqwV7uDnrwx7vgpRfajk2Thqp7MMhuAexK5CNVu2gOpdl10wPrpiwpEzDy1 +7EeZPo97PFxZC5HxqpMGFjqUUnibOQ6YoypkwOlh6szzG1mpBsfQPgK4NTouuPmt +yIm5qkN4ciVvm5yWqPnXF6VMP11Nu5Sv9DC5WsqF9b0beTT+7MUe1Z5aPZ5ZIRDp +FjKEoSDyO2fxkHK7jcOp41Pz1fxQNiJdPW1pMzZlh8+OfT4F236+2Ocy2WOOGcBD +QCu08Yus8eH22Lx3j/+/RKKRSbSvb3uUrDZIEWh072zjFIyFyoM9NzBk+Yd6Dnsw +I3I6dCRdfJklJQ5rYDHrEPbpRyuANfn1ABEBAAGJAh8EGAEKAAkFAlfXFG8CGwwA +CgkQX+0zE8d/g+qMFw//fU/lor7+7HB3o1wHgS0ARb6Ma9un7l3ZyXKQFRIqbjgn +kyUEMB59DCY68RkCIdIjaKC4tR9r9/6Rh/SWWr6589tqRTbSv/lYPTr11LMDeC4O +XMqNQUw/Malh3ZZJqDS8urSlWi/IZYwFFuIfNvtBDTtXKrSZRH5+4MQlaLdAcWnj +BYCV8YHllL9Eg/+xJ4a3hsiMxQkEoWpVk1haACKLxsiyPHUkIlnR27vbmR0k5+e6 +aO13L7+IIzEf+2k+A9EikvJn5GK9JwGvQVkO8LAHPP8OdfTsneLoLpUq4+3wIcYS +pJuDk/qF9/ZkrdcQaXBAhkQbhfbxc8p7Hnqxf9cw69jOE/DyCwQj6XcUFcSOvpxB +eVBi74PrqsIeYCBmNolvDwCBfJsFv+wS7tJbNk/u/cJv089BA94xYsS3D/jTC022 +mKwcjAcPgVvZOzImHYaOAP21c8ooIAsPGSwgHNTAsbM25e6FJx1nmJgTOrWDrZvr +Zz4L0EvqHnJ4hciBtcRPDgdjzOcuEhZG7rdRqCsUjlil1TaU2vpy5W/GcKYOwEI6 +nKHOIZyFZFatBIZOwrwW1S+eczdzk0x9xpZLBJT2EsRYPrDyUyQHDmYNqcuTsEjs +qzj20j2wHndJOFSffJBZhyr2ZulLV50lxI4HE2PYn+8hW2yia7CiwsCvT3Nbdao= +=vDTz +-----END PGP PUBLIC KEY BLOCK----- diff --git a/system-images/share/images/container-server/config/archives/progress-linux.list b/system-images/share/images/container-server/config/archives/progress-linux.list new file mode 100644 index 0000000..f2f18a6 --- /dev/null +++ b/system-images/share/images/container-server/config/archives/progress-linux.list @@ -0,0 +1,7 @@ +deb https://cdn.archive.progress-linux.org/packages dschinn main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-security main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-updates main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-extras main contrib non-free restricted + +deb https://cdn.archive.progress-linux.org/packages dschinn-backports main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-backports-extras main contrib non-free restricted diff --git a/system-images/share/images/container-server/config/archives/progress-linux.pref b/system-images/share/images/container-server/config/archives/progress-linux.pref new file mode 100644 index 0000000..5f6fda6 --- /dev/null +++ b/system-images/share/images/container-server/config/archives/progress-linux.pref @@ -0,0 +1,23 @@ +Package: * +Pin: release n=dschinn +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-security +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-updates +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-extras +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-backports +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-backports-extras +Pin-Priority: 999 diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/advanced.cfg b/system-images/share/images/container-server/config/bootloaders/extlinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/extlinux.conf b/system-images/share/images/container-server/config/bootloaders/extlinux/extlinux.conf new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/hdt.c32 b/system-images/share/images/container-server/config/bootloaders/extlinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/install.cfg b/system-images/share/images/container-server/config/bootloaders/extlinux/install.cfg new file mode 100644 index 0000000..629922a --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- cgroup_enable=memory elevator=deadline swapaccount=1 quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- cgroup_enable=memory elevator=deadline swapaccount=1 quiet diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/ldlinux.c32 b/system-images/share/images/container-server/config/bootloaders/extlinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/libcom32.c32 b/system-images/share/images/container-server/config/bootloaders/extlinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/libutil.c32 b/system-images/share/images/container-server/config/bootloaders/extlinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/live.cfg.in b/system-images/share/images/container-server/config/bootloaders/extlinux/live.cfg.in new file mode 100644 index 0000000..a523851 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ cgroup_enable=memory elevator=deadline swapaccount=1 + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ cgroup_enable=memory elevator=deadline swapaccount=1 diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/menu.cfg b/system-images/share/images/container-server/config/bootloaders/extlinux/menu.cfg new file mode 100644 index 0000000..44be436 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title Container Server +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/splash.png b/system-images/share/images/container-server/config/bootloaders/extlinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/splash.png diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/splash.svg.gz b/system-images/share/images/container-server/config/bootloaders/extlinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/splash.svg.gz diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/stdmenu.cfg b/system-images/share/images/container-server/config/bootloaders/extlinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/container-server/config/bootloaders/extlinux/vesamenu.c32 b/system-images/share/images/container-server/config/bootloaders/extlinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/extlinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/advanced.cfg b/system-images/share/images/container-server/config/bootloaders/isolinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/hdt.c32 b/system-images/share/images/container-server/config/bootloaders/isolinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/install.cfg b/system-images/share/images/container-server/config/bootloaders/isolinux/install.cfg new file mode 100644 index 0000000..629922a --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- cgroup_enable=memory elevator=deadline swapaccount=1 quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- cgroup_enable=memory elevator=deadline swapaccount=1 quiet diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/isolinux.bin b/system-images/share/images/container-server/config/bootloaders/isolinux/isolinux.bin new file mode 120000 index 0000000..33a2ad6 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/isolinux.bin @@ -0,0 +1 @@ +/usr/lib/ISOLINUX/isolinux.bin
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/isolinux.cfg b/system-images/share/images/container-server/config/bootloaders/isolinux/isolinux.cfg new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/isolinux.cfg @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/ldlinux.c32 b/system-images/share/images/container-server/config/bootloaders/isolinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/libcom32.c32 b/system-images/share/images/container-server/config/bootloaders/isolinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/libutil.c32 b/system-images/share/images/container-server/config/bootloaders/isolinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/live.cfg.in b/system-images/share/images/container-server/config/bootloaders/isolinux/live.cfg.in new file mode 100644 index 0000000..a523851 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ cgroup_enable=memory elevator=deadline swapaccount=1 + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ cgroup_enable=memory elevator=deadline swapaccount=1 diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/menu.cfg b/system-images/share/images/container-server/config/bootloaders/isolinux/menu.cfg new file mode 100644 index 0000000..44be436 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title Container Server +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/splash.png b/system-images/share/images/container-server/config/bootloaders/isolinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/splash.png diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/splash.svg.gz b/system-images/share/images/container-server/config/bootloaders/isolinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/splash.svg.gz diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/stdmenu.cfg b/system-images/share/images/container-server/config/bootloaders/isolinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/container-server/config/bootloaders/isolinux/vesamenu.c32 b/system-images/share/images/container-server/config/bootloaders/isolinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/isolinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/advanced.cfg b/system-images/share/images/container-server/config/bootloaders/pxelinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/hdt.c32 b/system-images/share/images/container-server/config/bootloaders/pxelinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/install.cfg b/system-images/share/images/container-server/config/bootloaders/pxelinux/install.cfg new file mode 100644 index 0000000..629922a --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- cgroup_enable=memory elevator=deadline swapaccount=1 quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- cgroup_enable=memory elevator=deadline swapaccount=1 quiet diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/ldlinux.c32 b/system-images/share/images/container-server/config/bootloaders/pxelinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/libcom32.c32 b/system-images/share/images/container-server/config/bootloaders/pxelinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/libutil.c32 b/system-images/share/images/container-server/config/bootloaders/pxelinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/live.cfg.in b/system-images/share/images/container-server/config/bootloaders/pxelinux/live.cfg.in new file mode 100644 index 0000000..a523851 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ cgroup_enable=memory elevator=deadline swapaccount=1 + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ cgroup_enable=memory elevator=deadline swapaccount=1 diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/menu.cfg b/system-images/share/images/container-server/config/bootloaders/pxelinux/menu.cfg new file mode 100644 index 0000000..44be436 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title Container Server +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/pxelinux.0 b/system-images/share/images/container-server/config/bootloaders/pxelinux/pxelinux.0 new file mode 120000 index 0000000..f723d02 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/pxelinux.0 @@ -0,0 +1 @@ +/usr/lib/PXELINUX/pxelinux.0
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/pxelinux.cfg/default b/system-images/share/images/container-server/config/bootloaders/pxelinux/pxelinux.cfg/default new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/pxelinux.cfg/default @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/splash.png b/system-images/share/images/container-server/config/bootloaders/pxelinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/splash.png diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/splash.svg.gz b/system-images/share/images/container-server/config/bootloaders/pxelinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/splash.svg.gz diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/stdmenu.cfg b/system-images/share/images/container-server/config/bootloaders/pxelinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/container-server/config/bootloaders/pxelinux/vesamenu.c32 b/system-images/share/images/container-server/config/bootloaders/pxelinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/pxelinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/advanced.cfg b/system-images/share/images/container-server/config/bootloaders/syslinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/hdt.c32 b/system-images/share/images/container-server/config/bootloaders/syslinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/install.cfg b/system-images/share/images/container-server/config/bootloaders/syslinux/install.cfg new file mode 100644 index 0000000..629922a --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- cgroup_enable=memory elevator=deadline swapaccount=1 quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- cgroup_enable=memory elevator=deadline swapaccount=1 quiet diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/ldlinux.c32 b/system-images/share/images/container-server/config/bootloaders/syslinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/libcom32.c32 b/system-images/share/images/container-server/config/bootloaders/syslinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/libutil.c32 b/system-images/share/images/container-server/config/bootloaders/syslinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/live.cfg.in b/system-images/share/images/container-server/config/bootloaders/syslinux/live.cfg.in new file mode 100644 index 0000000..a523851 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ cgroup_enable=memory elevator=deadline swapaccount=1 + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ cgroup_enable=memory elevator=deadline swapaccount=1 diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/menu.cfg b/system-images/share/images/container-server/config/bootloaders/syslinux/menu.cfg new file mode 100644 index 0000000..44be436 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title Container Server +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/splash.png b/system-images/share/images/container-server/config/bootloaders/syslinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/splash.png diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/splash.svg.gz b/system-images/share/images/container-server/config/bootloaders/syslinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/splash.svg.gz diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/stdmenu.cfg b/system-images/share/images/container-server/config/bootloaders/syslinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/syslinux.cfg b/system-images/share/images/container-server/config/bootloaders/syslinux/syslinux.cfg new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/syslinux.cfg @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/container-server/config/bootloaders/syslinux/vesamenu.c32 b/system-images/share/images/container-server/config/bootloaders/syslinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/container-server/config/bootloaders/syslinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/container-server/config/hooks/normal/0001-os-release.chroot b/system-images/share/images/container-server/config/hooks/normal/0001-os-release.chroot new file mode 100755 index 0000000..2ec2ab6 --- /dev/null +++ b/system-images/share/images/container-server/config/hooks/normal/0001-os-release.chroot @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +BUILD_ID="$(date +%Y%m%d)" +VARIANT="Container Server" +VARIANT_ID="container-server" + +if [ -e /etc/os-release ] +then + sed -i -e "s|\(BUILD_ID\)=.*$|\1=\"${BUILD_ID}\"|" \ + -e "s|\(VARIANT\)=.*$|\1=\"${VARIANT}\"|" \ + -e "s|\(VARIANT_ID\)=.*$|\1=\"${VARIANT_ID}\"|" \ + /etc/os-release +fi diff --git a/system-images/share/images/container-server/config/hooks/normal/0002-knot-resolver.chroot b/system-images/share/images/container-server/config/hooks/normal/0002-knot-resolver.chroot new file mode 100755 index 0000000..7038e74 --- /dev/null +++ b/system-images/share/images/container-server/config/hooks/normal/0002-knot-resolver.chroot @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +cat > /etc/resolv.conf << EOF +nameserver 127.0.0.1 +nameserver 8.8.8.8 +nameserver 8.8.4.4 + +options timeout:1 attempts:1 +EOF diff --git a/system-images/share/images/container-server/config/includes.chroot/etc/sysctl.d/net.ipv4.ip_forward.conf b/system-images/share/images/container-server/config/includes.chroot/etc/sysctl.d/net.ipv4.ip_forward.conf new file mode 100644 index 0000000..119d730 --- /dev/null +++ b/system-images/share/images/container-server/config/includes.chroot/etc/sysctl.d/net.ipv4.ip_forward.conf @@ -0,0 +1 @@ +net.ipv4.ip_forward=1 diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer.png b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer.png Binary files differnew file mode 100644 index 0000000..8039941 --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer.png diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer.svg b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer.svg new file mode 100644 index 0000000..05fb00e --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer.svg @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="800" + height="75" + viewBox="0 0 800 75.000002" + id="svg4345" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="debian-installer-white.svg" + inkscape:export-filename="debian-installer-white.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4347" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata4350"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(136.45763,-966.21857)"> + <g + id="g4138"> + <rect + height="75" + y="966.21857" + x="-136.45763" + width="800" + id="rect4136" + style="fill:#ffffff;fill-opacity:1" /> + <text + transform="scale(0.99999469,1.0000053)" + sodipodi:linespacing="125%" + id="text3336" + y="1014.874" + x="-112.35123" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.5px;line-height:125%;font-family:'Droid Sans';-inkscape-font-specification:'Droid Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#cc0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'" + y="1014.874" + x="-112.35123" + id="tspan3338" + sodipodi:role="line"><tspan + id="tspan4135" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold';fill:#000000;fill-opacity:1"> Open Infrastructure</tspan></tspan></text> + </g> + </g> +</svg> diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer_dark.png b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer_dark.png Binary files differnew file mode 100644 index 0000000..62f2269 --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer_dark.png diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer_dark.svg b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer_dark.svg new file mode 100644 index 0000000..e966da0 --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/logo_installer_dark.svg @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="800" + height="75" + viewBox="0 0 800 75.000002" + id="svg4345" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="debian-installer-black.svg" + inkscape:export-filename="debian-installer-black.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4347" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata4350"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(136.45763,-966.21857)"> + <g + id="g4142"> + <rect + height="75" + y="966.21857" + x="-136.45763" + width="800" + id="rect4136" + style="fill:#000000;fill-opacity:1" /> + <text + transform="scale(0.9999947,1.0000053)" + sodipodi:linespacing="125%" + id="text3336" + y="1014.874" + x="-112.35123" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.5px;line-height:125%;font-family:'Droid Sans';-inkscape-font-specification:'Droid Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#cc0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'" + y="1014.874" + x="-112.35123" + id="tspan3338" + sodipodi:role="line"><tspan + id="tspan4135" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold';fill:#ffffff;fill-opacity:1"> Open Infrastructure</tspan></tspan></text> + </g> + </g> +</svg> diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/note_icon.png b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/note_icon.png Binary files differnew file mode 100644 index 0000000..7a256d7 --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/note_icon.png diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/note_icon.svg b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/note_icon.svg new file mode 100644 index 0000000..2e3e9da --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/note_icon.svg @@ -0,0 +1,709 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48" + height="48" + viewBox="0 0 48 48.000001" + id="svg3533" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="note_icon.svg" + inkscape:export-filename="note_icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs3535"> + <radialGradient + gradientUnits="userSpaceOnUse" + r="7.8289828" + fy="74.20993" + fx="14.772334" + cy="74.20993" + cx="14.772334" + gradientTransform="scale(1.764278,0.566804)" + id="radialGradient20216" + xlink:href="#linearGradient20210" + inkscape:collect="always" /> + <linearGradient + id="linearGradient20210"> + <stop + id="stop20212" + offset="0.0000000" + style="stop-color:#000000;stop-opacity:0.51546389;" /> + <stop + style="stop-color:#000000;stop-opacity:0.14432989;" + offset="0.55172414" + id="stop20218" /> + <stop + id="stop20214" + offset="1" + style="stop-color:#000000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#aigrd1" + id="linearGradient4100" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)" + x1="23.124001" + y1="43.165001" + x2="26.4785" + y2="43.165001" /> + <linearGradient + y2="43.165001" + x2="26.4785" + y1="43.165001" + x1="23.124001" + gradientUnits="userSpaceOnUse" + id="aigrd1"> + <stop + id="stop19415" + style="stop-color:#686868" + offset="5.618000e-003" /> + <stop + id="stop19417" + style="stop-color:#777777" + offset="3.012137e-002" /> + <stop + id="stop19419" + style="stop-color:#929292" + offset="8.366583e-002" /> + <stop + id="stop19421" + style="stop-color:#A7A7A7" + offset="0.1422" /> + <stop + id="stop19423" + style="stop-color:#B6B6B6" + offset="0.2074" /> + <stop + id="stop19425" + style="stop-color:#BEBEBE" + offset="0.2846" /> + <stop + id="stop19427" + style="stop-color:#C1C1C1" + offset="0.4045" /> + <stop + id="stop19429" + style="stop-color:#BCBCBC" + offset="0.4962" /> + <stop + id="stop19431" + style="stop-color:#ADADAD" + offset="0.6057" /> + <stop + id="stop19433" + style="stop-color:#959595" + offset="0.7245" /> + <stop + id="stop19435" + style="stop-color:#747474" + offset="0.8497" /> + <stop + id="stop19437" + style="stop-color:#494949" + offset="0.9789" /> + <stop + id="stop19439" + style="stop-color:#414141" + offset="1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3300" + id="linearGradient4102" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.002656,0.997352)" + x1="24.613028" + y1="31.146202" + x2="24.613028" + y2="26.739624" /> + <linearGradient + inkscape:collect="always" + id="linearGradient3300"> + <stop + style="stop-color:#4c4c28;stop-opacity:1;" + offset="0" + id="stop3302" /> + <stop + style="stop-color:#4c4c28;stop-opacity:0;" + offset="1" + id="stop3304" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4104" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + id="linearGradient19894" + gradientUnits="userSpaceOnUse" + x1="18.9951" + y1="37.226601" + x2="30.169901" + y2="37.226601"> + <stop + offset="5.618000e-003" + style="stop-color:#A3A349" + id="stop19896" /> + <stop + offset="2.078677e-002" + style="stop-color:#ACAC54" + id="stop19898" /> + <stop + offset="6.600059e-002" + style="stop-color:#C1C172" + id="stop19900" /> + <stop + offset="0.1148" + style="stop-color:#D4D68E" + id="stop19902" /> + <stop + offset="0.1677" + style="stop-color:#E2E4A6" + id="stop19904" /> + <stop + offset="0.2265" + style="stop-color:#EDF0B8" + id="stop19906" /> + <stop + offset="0.2963" + style="stop-color:#F3F6C3" + id="stop19908" /> + <stop + offset="0.4045" + style="stop-color:#F5F8C7" + id="stop19910" /> + <stop + offset="0.5239" + style="stop-color:#EEF0BE" + id="stop19912" /> + <stop + offset="0.6666" + style="stop-color:#DBDDA9" + id="stop19914" /> + <stop + offset="0.8211" + style="stop-color:#BEBD88" + id="stop19916" /> + <stop + offset="0.9832" + style="stop-color:#989564" + id="stop19918" /> + <stop + offset="1" + style="stop-color:#949160" + id="stop19920" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4106" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + <linearGradient + id="linearGradient2399"> + <stop + style="stop-color:#929470;stop-opacity:1;" + offset="0" + id="stop2401" /> + <stop + id="stop2407" + offset="0.26470590" + style="stop-color:#fcffc1;stop-opacity:1.0000000;" /> + <stop + style="stop-color:#f3f5ba;stop-opacity:1.0000000;" + offset="0.63235295" + id="stop2409" /> + <stop + style="stop-color:#929470;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop2403" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4108" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4110" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4116" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4118" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3311" + id="linearGradient4120" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,0.024498)" + x1="17.879995" + y1="55.362793" + x2="11.906206" + y2="54.863026" /> + <linearGradient + id="linearGradient3311"> + <stop + id="stop3313" + offset="0" + style="stop-color:#d6d7a5;stop-opacity:1;" /> + <stop + id="stop3315" + offset="1.0000000" + style="stop-color:#8e8f6d;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3265" + id="linearGradient4122" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.905728,-0.04386156,0.18951,-0.963437,0.614167,0.024498)" + x1="-29.007195" + y1="-29.799353" + x2="-37.641232" + y2="-29.598314" /> + <linearGradient + id="linearGradient3265"> + <stop + id="stop3267" + offset="0" + style="stop-color:#929470;stop-opacity:1;" /> + <stop + style="stop-color:#60614a;stop-opacity:1.0000000;" + offset="0.26470590" + id="stop3269" /> + <stop + id="stop3271" + offset="0.63235295" + style="stop-color:#f3f5ba;stop-opacity:1.0000000;" /> + <stop + id="stop3273" + offset="1.0000000" + style="stop-color:#929470;stop-opacity:1.0000000;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#aigrd7" + id="radialGradient4124" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.55129,0,0,0.766034,-10.48701,3.514312)" + cx="68.137589" + cy="29.869318" + fx="68.137589" + fy="29.869318" + r="33.93409" /> + <radialGradient + gradientUnits="userSpaceOnUse" + fy="11.4873" + fx="17.8335" + r="22.709299" + cy="11.4873" + cx="17.8335" + id="aigrd7"> + <stop + id="stop19512" + style="stop-color:#ffffff;stop-opacity:0.17525773;" + offset="0.0000000" /> + <stop + id="stop19514" + style="stop-color:#709ac8;stop-opacity:1.0000000;" + offset="0.88200003" /> + <stop + id="stop19516" + style="stop-color:#6f96dd;stop-opacity:1.0000000;" + offset="1.0000000" /> + </radialGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3175" + id="linearGradient4126" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,0.024498)" + x1="37.940434" + y1="16.651863" + x2="-5.2517161" + y2="3.8557322" /> + <linearGradient + id="linearGradient3175" + inkscape:collect="always"> + <stop + id="stop3177" + offset="0" + style="stop-color:#f1f3ff;stop-opacity:1;" /> + <stop + id="stop3179" + offset="1" + style="stop-color:#f1f3ff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient20393" + id="linearGradient4128" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)" + x1="30.620375" + y1="10.313651" + x2="32.16608" + y2="18.162935" /> + <linearGradient + id="linearGradient20393"> + <stop + id="stop20395" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + style="stop-color:#ffffff;stop-opacity:0.44117647;" + offset="0.41176471" + id="stop2427" /> + <stop + id="stop20397" + offset="1.0000000" + style="stop-color:#000000;stop-opacity:0.48039216;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient20393" + id="linearGradient4130" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)" + x1="30.620375" + y1="10.313651" + x2="32.16608" + y2="18.162935" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient20428" + id="linearGradient4132" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)" + x1="14.637301" + y1="31.504122" + x2="9.3648205" + y2="32.25098" /> + <linearGradient + id="linearGradient20428"> + <stop + id="stop20430" + offset="0.0000000" + style="stop-color:#a3a3a3;stop-opacity:1.0000000;" /> + <stop + id="stop20432" + offset="1" + style="stop-color:#b5b5b5;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6339" + id="linearGradient4134" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)" + x1="16.998856" + y1="10.061084" + x2="32.096882" + y2="36.726292" /> + <linearGradient + inkscape:collect="always" + id="linearGradient6339"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop6341" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop6343" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4061" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4063" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata3538"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1004.3622)"> + <g + transform="translate(9.025e-5,1004.3622)" + id="g3531"> + <ellipse + ry="4.4375" + rx="13.8125" + cy="42.0625" + cx="26.0625" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.8;fill:url(#radialGradient20216);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + id="path20208" + transform="matrix(1.197183,0,0,1.098591,-6.201582,-3.209507)" /> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + transform="translate(0,1)" + id="g4076"> + <path + inkscape:connector-curvature="0" + style="fill:url(#linearGradient4100);fill-rule:nonzero;stroke:#565656;stroke-miterlimit:4;stroke-opacity:1" + d="m 21.893504,38.885945 0,1.475215 c 0,1.475215 1.311303,2.786519 2.786518,2.786519 1.475215,0 2.786517,-1.311304 2.786517,-2.786519 l 0,-1.475215 -5.573035,0 z" + id="path19509" + transform="matrix(1.075823,0,0,0.937493,-2.551335,3.047213)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <g + id="g3173" + transform="matrix(0.989073,0,0,0.993556,-0.408739,0.00792048)" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#aeae57;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4102);stroke-width:2.01752925;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 24.511725,27.668867 c -3.302881,-0.008 -7.04845,0.963187 -5.018812,2.799064 -0.503223,0.203003 -1.222542,0.656382 -1.137746,1.717291 0.04682,0.554064 0.634076,0.894172 1.437193,1.143888 -0.910452,0.638612 -1.489779,1.313447 -1.437193,1.935811 0.04627,0.547604 0.621167,0.92261 1.407863,1.173219 -0.887511,0.631263 -1.459729,1.321981 -1.407863,1.935811 0.07927,0.938137 2.102576,1.988977 6.483761,1.867949 3.154401,-0.08599 5.937985,-0.651386 6.157671,-1.867949 0.08626,-0.477703 -0.304692,-0.92342 -0.909244,-1.319871 0.452571,-0.456162 0.769625,-0.918838 0.733261,-1.349202 -0.04649,-0.550184 -0.614623,-0.922955 -1.407862,-1.173218 0.887511,-0.631263 1.459728,-1.321981 1.407862,-1.935811 -0.04649,-0.550185 -0.614623,-0.893624 -1.407862,-1.143889 0.898094,-0.634672 1.460062,-1.318032 1.407862,-1.935811 -0.05802,-0.686703 -3.204626,-1.839791 -6.308891,-1.847282 z" + id="path3209" + sodipodi:nodetypes="cccccccscccccccs" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4104);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4106);stroke-width:0.08906282;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 30.920208,38.329767 c -0.219686,1.216564 -3.328786,1.903094 -8.305076,1.653906 -3.151625,-0.157817 -3.331969,-1.039618 -3.112284,-2.256182 0.219686,-1.216565 2.95547,-2.069011 6.106661,-1.902783 3.151191,0.166228 5.530384,1.288495 5.310699,2.505059 z" + id="path3183" + sodipodi:nodetypes="csccc" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <ellipse + ry="3.2703688" + rx="10.341436" + cy="27.228739" + cx="-13.87697" + transform="matrix(0.60274,-0.128625,0.06428372,0.760788,31.12021,14.49141)" + id="path1603" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4061);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4063);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <ellipse + ry="3.2703688" + rx="10.341436" + cy="27.228739" + cx="-13.87697" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4108);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4110);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + id="path2364" + transform="matrix(0.60274,-0.128625,0.06428372,0.760788,31.12021,11.39591)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4116);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4118);stroke-width:0.08906286;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 30.698087,29.636386 c 0,1.378302 -2.540761,2.918054 -5.981486,3.652307 -3.440725,0.734252 -6.327381,0.215517 -6.443429,-1.157891 -0.116048,-1.373407 2.236507,-2.975336 5.679216,-3.161975 3.469991,-0.188116 6.745699,-0.04393 6.745699,0.667559 z" + id="path2366" + sodipodi:nodetypes="cccss" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <circle + r="3.25" + cy="22.375" + cx="27.75" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + id="path20372" + transform="matrix(0.335464,0,0,0.335464,11.74678,27.2261)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 19.342183,33.378865 c 3.394409,0.504668 6.978809,-0.03267 9.872132,-1.908058 0.811267,-0.525845 0.933289,-1.126862 1.306606,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z" + id="path3241" + sodipodi:nodetypes="cscc" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <circle + r="3.25" + cy="22.375" + cx="27.75" + transform="matrix(0.335464,0,0,0.335464,11.74678,30.23376)" + id="path2435" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 19.466621,39.517838 c 3.394409,0.504668 6.978809,-0.03267 9.872132,-1.908058 0.811267,-0.525845 0.93329,-1.126861 1.306606,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z" + id="path3237" + sodipodi:nodetypes="cscc" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + sodipodi:nodetypes="cscc" + id="path3239" + d="m 19.487361,36.406872 c 3.394409,0.504668 6.978809,-0.03267 9.872131,-1.908058 0.811268,-0.525845 0.93329,-1.126861 1.306607,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z" + style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + <g + id="g3146" + transform="translate(-0.988797,0)" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <g + id="g3141" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4120);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4122);stroke-width:0.09083303;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 18.87103,29.628128 c 0,-0.791433 1.574105,-1.73814 5.548204,-1.685156 3.68192,0.04909 6.107374,0.895688 6.107374,2.162432 0,1.239877 -3.219366,2.069012 -6.651931,1.902784 -3.432564,-0.166228 -5.003647,-1.140183 -5.003647,-2.38006 z" + id="path3243" + sodipodi:nodetypes="csscs" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient4124);fill-opacity:1;fill-rule:nonzero;stroke:#616471;stroke-width:1.01595449;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 24.680021,0.8622936 c -7.822016,0 -14.17376,5.9749692 -14.17376,13.3329944 0,7.542563 5.741565,8.377929 5.741565,11.157707 0,3.266066 3.366277,6.969692 8.901483,6.836 5.88585,-0.14216 8.314873,-3.36334 8.314873,-6.836 0,-2.968931 5.389599,-3.048106 5.389599,-11.157707 0,-7.3580252 -6.351743,-13.3329944 -14.17376,-13.3329944 z" + id="path6305" + sodipodi:nodetypes="csssssc" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + sodipodi:nodetypes="csssssc" + id="path2429" + d="m 24.680021,1.9277146 c -7.290022,0 -13.209769,5.5685977 -13.209769,12.4261864 0,7.029575 5.351068,7.808126 5.351068,10.398845 0,3.043934 3.137328,6.495667 8.296072,6.371067 5.485539,-0.132492 7.749359,-3.134591 7.749359,-6.371067 0,-2.767006 5.02304,-2.840798 5.02304,-10.398845 0,-6.8575887 -5.919747,-12.4261864 -13.20977,-12.4261864 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4126);stroke-width:0.94685698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" /> + </g> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + transform="matrix(0.9375,0,0,0.926938,0.569221,0.25176)" + id="g1695"> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path1691" + d="m 31.947292,19.22274 c 0.312742,0.104248 0.521237,0.41699 0.416989,0.729731 l -3.857147,11.571442 c -0.104247,0.312742 -0.416989,0.521236 -0.729731,0.416989 -0.312741,-0.104247 -0.521235,-0.416989 -0.416988,-0.72973 L 31.217562,19.63973 c 0.104247,-0.312742 0.416989,-0.521237 0.72973,-0.41699 z" + style="fill:url(#linearGradient4128);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="fill:url(#linearGradient4130);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4" + d="m 20.152404,19.34774 c -0.312742,0.104248 -0.521237,0.41699 -0.416989,0.729731 l 3.857147,11.571442 c 0.104247,0.312742 0.416989,0.521236 0.729731,0.416989 0.312741,-0.104247 0.521235,-0.416989 0.416988,-0.72973 L 20.882134,19.76473 c -0.104247,-0.312742 -0.416989,-0.521237 -0.72973,-0.41699 z" + id="path19612" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path19614" + d="m 20.255362,19.273128 c -0.24591,0.04207 -0.438556,0.234644 -0.480709,0.480539 -0.04215,0.245895 0.07535,0.491642 0.293209,0.613211 0,0 1.842222,1.080869 4.25,1.625 2.407778,0.544131 5.488901,0.579427 7.8125,-1.6875 0.175246,-0.139033 0.256492,-0.365415 0.209645,-0.584154 -0.04685,-0.218739 -0.213682,-0.391991 -0.430498,-0.447056 -0.216816,-0.05506 -0.446103,0.01758 -0.591647,0.18746 -1.950536,1.902962 -4.544838,1.904592 -6.75,1.40625 -2.205162,-0.498342 -3.90625,-1.5 -3.90625,-1.5 -0.119434,-0.07979 -0.26393,-0.113134 -0.40625,-0.09375 z" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4132);stroke-width:0.21454535;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" /> + </g> + <path + inkscape:connector-curvature="0" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" + id="path6334" + d="m 25.001158,3.5644322 c -6.26355,0 -11.345799,4.0256007 -11.345799,8.9834108 0,1.980113 0.977559,3.713915 2.350649,5.199192 1.552664,0.63186 3.243819,1.085906 5.108744,1.085906 6.26355,0 11.345797,-4.0256 11.345799,-8.983413 0,-1.992052 -0.993807,-3.7420651 -2.381991,-5.2320949 -1.545421,-0.624373 -3.224319,-1.053001 -5.077402,-1.0530009 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.5977654;fill:url(#linearGradient4134);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.98750001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/warning_icon.png b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/warning_icon.png Binary files differnew file mode 100644 index 0000000..78e42a5 --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/warning_icon.png diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/warning_icon.svg b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/warning_icon.svg new file mode 100644 index 0000000..213ee9b --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/graphics/warning_icon.svg @@ -0,0 +1,266 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48" + height="48" + viewBox="0 0 48 48.000001" + id="svg4309" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="warning_icon.svg" + inkscape:export-filename="warning_icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4311"> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5048" + id="linearGradient6715" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)" + x1="302.85715" + y1="366.64789" + x2="302.85715" + y2="609.50507" /> + <linearGradient + id="linearGradient5048"> + <stop + style="stop-color:black;stop-opacity:0;" + offset="0" + id="stop5050" /> + <stop + id="stop5056" + offset="0.5" + style="stop-color:black;stop-opacity:1;" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop5052" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5060" + id="radialGradient6717" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" + cx="605.71429" + cy="486.64789" + fx="605.71429" + fy="486.64789" + r="117.14286" /> + <linearGradient + inkscape:collect="always" + id="linearGradient5060"> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0" + id="stop5062" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop5064" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5060" + id="radialGradient6719" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" + cx="605.71429" + cy="486.64789" + fx="605.71429" + fy="486.64789" + r="117.14286" /> + <linearGradient + inkscape:collect="always" + xlink:href="#aigrd1" + id="linearGradient3946" + gradientUnits="userSpaceOnUse" + x1="4.1914001" + y1="11.1133" + x2="47.319698" + y2="56.052299" /> + <linearGradient + y2="56.052299" + x2="47.319698" + y1="11.1133" + x1="4.1914001" + gradientUnits="userSpaceOnUse" + id="aigrd1"> + <stop + id="stop6490" + style="stop-color:#D4D4D4" + offset="0" /> + <stop + id="stop6492" + style="stop-color:#E2E2E2" + offset="0.3982" /> + <stop + id="stop6494" + style="stop-color:#FFFFFF" + offset="1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6525" + id="linearGradient3948" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" + x1="8.5469341" + y1="30.281681" + x2="30.85088" + y2="48.301884" /> + <linearGradient + id="linearGradient6525" + gradientUnits="userSpaceOnUse" + x1="4.1914001" + y1="11.1133" + x2="47.319698" + y2="56.052299"> + <stop + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" + id="stop6529" /> + <stop + offset="1" + style="stop-color:#ffffff;stop-opacity:0.34020618;" + id="stop6531" /> + </linearGradient> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata4314"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1004.3622)"> + <g + transform="matrix(1.566667,0,0,1.566667,-8.9254542,980.4141)" + id="g3557"> + <g + id="g6707" + transform="matrix(0.01444074,0,0,0.01331973,33.38871,40.40337)" + style="display:inline"> + <rect + y="-150.69685" + x="-1559.2523" + height="478.35718" + width="1339.6335" + id="rect6709" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.40206185;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /> + <path + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" + id="path6711" + d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.40206185;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.40206185;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z" + id="path6713" + sodipodi:nodetypes="cccc" /> + </g> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + transform="matrix(1,0,0.00453785,1,-0.138907,0)" + id="g3937"> + <path + inkscape:connector-curvature="0" + style="fill:#cc0000;fill-rule:nonzero;stroke:#9f0000;stroke-width:0.6382978;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 33.282781,38.644744 22.407791,18.394765 c -0.312499,-0.562499 -0.874999,-0.874998 -1.499998,-0.874998 -0.625,0 -1.187499,0.374998 -1.499998,0.937498 L 8.7828048,38.707245 c -0.25,0.499999 -0.25,1.187499 0.0625,1.687498 0.312499,0.5 0.812499,0.749999 1.4374992,0.749999 l 21.499978,0 c 0.624999,0 1.187498,-0.312499 1.437499,-0.812499 0.312499,-0.5 0.312499,-1.124999 0.0625,-1.687499 z" + id="path6485" + transform="matrix(1,0,-0.00872668,1,0.328074,1.276596)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <g + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4" + transform="matrix(0.625,0,-0.00553493,0.634254,6.164053,15.76055)" + id="g6487" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <linearGradient + id="linearGradient4358" + gradientUnits="userSpaceOnUse" + x1="4.1914001" + y1="11.1133" + x2="47.319698" + y2="56.052299"> + <stop + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" + id="stop4360" /> + <stop + offset="1" + style="stop-color:#ffffff;stop-opacity:0.34020618;" + id="stop4362" /> + </linearGradient> + <path + inkscape:connector-curvature="0" + style="fill:url(#linearGradient3946);stroke:none" + d="m 9.5,37.6 c -0.3,0.5 0,0.9 0.5,0.9 l 28.2,0 c 0.5,0 0.8,-0.4 0.5,-0.9 L 24.4,11 c -0.3,-0.5 -0.7,-0.5 -0.9,0 l -14,26.6 z" + id="path6496" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + <path + inkscape:connector-curvature="0" + style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3948);stroke-width:0.63829792;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 32.323106,38.183905 22.150271,19.265666 c -0.433291,-0.814976 -0.588573,-1.076453 -1.241865,-1.076453 -0.561881,0 -0.854279,0.380807 -1.257101,1.150078 L 9.7489285,38.242296 c -0.5751636,1.061292 -0.6361047,1.337932 -0.3551641,1.805049 0.280939,0.467117 0.6390326,0.441675 1.9626766,0.472146 l 19.618152,0 c 1.232232,0.01523 1.509395,-0.07865 1.734147,-0.545771 0.280941,-0.467118 0.159059,-0.83772 -0.385634,-1.789815 z" + id="path1325" + sodipodi:nodetypes="ccsccscccc" + transform="matrix(1,0,-0.00872668,1,0.318277,1.276596)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + id="g6498" + transform="matrix(0.555088,0,0,0.555052,7.749711,17.80196)" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4"> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path6500" + d="m 23.9,36.5 c -1.3,0 -2.3,-1 -2.3,-2.3 0,-1.4 0.9,-2.3 2.3,-2.3 1.4,0 2.2,0.9 2.3,2.3 0,1.3 -0.9,2.3 -2.3,2.3 l 0,0 z m -1.4,-5.9 -0.6,-11.5 4,0 -0.6,11.5 -2.9,0 0.1,0 z" + style="stroke:none" /> + </g> + </g> + </g> +</svg> diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc b/system-images/share/images/container-server/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc new file mode 100644 index 0000000..0cb6b4b --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc @@ -0,0 +1,183 @@ +style "clearlooks-default" +{ + GtkButton ::default_border = { 0, 0, 0, 0 } + GtkRange ::trough_border = 0 + GtkPaned ::handle_size = 6 + GtkRange ::slider_width = 15 + GtkRange ::stepper_size = 15 + + GtkScrollbar ::min_slider_length = 30 + GtkCheckButton ::indicator_size = 14 + GtkMenuBar ::internal-padding = 0 + GtkTreeView ::expander_size = 14 + GtkExpander ::expander_size = 16 + GtkScale ::slider-length = 27 +# GtkToolbar ::button-relief = GTK_RELIEF_NORMAL +# GtkMenuBar ::shadow-type = GTK_SHADOW_OUT +# GtkScrollbar ::has-secondary-forward-stepper = 1 +# GtkScrollbar ::has-secondary-backward-stepper = 1 + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + + WnckTasklist ::fade-overlay-rect = 0 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = "#000000" # black + fg[PRELIGHT] = "#000000" # black + fg[SELECTED] = "#ffffff" # white + fg[ACTIVE] = "#000000" # black + fg[INSENSITIVE] = "#b5b3ac" # dark beige + + bg[NORMAL] = "#ede9e3" + bg[PRELIGHT] = "#f9f7f3" # very light beige + bg[SELECTED] = "#cc0000" # red + bg[INSENSITIVE] = "#efebe5" # beige + bg[ACTIVE] = "#dcd4c9" #"#d7d3ca" # dark beige + + base[NORMAL] = "#ffffff" # white + base[PRELIGHT] = "#5f8ec4" # dark beige + base[ACTIVE] = "#a40000" # darker red + base[SELECTED] = "#cc0000" # red + base[INSENSITIVE] = "#e8e5de" # beige + + text[NORMAL] = "#000000" # black + text[PRELIGHT] = "#000000" # black + text[ACTIVE] = "#ffffff" # white + text[SELECTED] = "#ffffff" # white + text[INSENSITIVE] = "#b5b3ac" # dark beige + + engine "clearlooks" + { + #scrollbar_color = "#76acde" + menubarstyle = 2 # 0 = flat, 1 = sunken, 2 = flat gradient + #menuitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button) + #listviewitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient) + #progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat + animation = FALSE + } +} + +style "clearlooks-wide" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-wider" = "clearlooks-default" +{ + xthickness = 3 + ythickness = 3 +} + +style "clearlooks-button" = "clearlooks-wider" +{ + bg[NORMAL] = "#f6f4f1" + bg[INSENSITIVE] = "#f2efeb" + bg[PRELIGHT] = "#faf9f8" +} + +style "clearlooks-notebook" = "clearlooks-wide" +{ + bg[NORMAL] = "#efebe5" + bg[INSENSITIVE] = "#efebe5" +} + +style "clearlooks-tasklist" = "clearlooks-default" +{ + xthickness = 5 + ythickness = 3 +} + +style "clearlooks-menu" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 1 + bg[NORMAL] = "#f9f7f3" +} + +style "clearlooks-menubar-item" = "clearlooks-button" +{ + fg[PRELIGHT] = "#000000" +} + +style "clearlooks-menu-item" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 3 + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "clearlooks-tree" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-frame-title" = "clearlooks-default" +{ + fg[NORMAL] = "#404040" +} + +style "clearlooks-tooltips" = "clearlooks-default" +{ + xthickness = 4 + ythickness = 4 + bg[NORMAL] = { 1.0,1.0,0.75 } +} + +style "clearlooks-progressbar" = "clearlooks-wide" +{ + xthickness = 1 + ythickness = 1 + fg[PRELIGHT] = "#ffffff" +} + +style "clearlooks-combo" = "clearlooks-button" +{ +} + +style "clearlooks-menubar" = "blackrock-default" +{ + bg[NORMAL] = "#bacedb" +} + +# widget styles +class "GtkWidget" style "clearlooks-default" +class "GtkButton" style "clearlooks-button" +class "GtkScale" style "clearlooks-button" +class "GtkCombo" style "clearlooks-button" +class "GtkRange" style "clearlooks-wide" +class "GtkFrame" style "clearlooks-wide" +class "GtkMenu" style "clearlooks-menu" +class "GtkEntry" style "clearlooks-wider" +class "GtkMenuItem" style "clearlooks-menu-item" +class "GtkNotebook" style "clearlooks-notebook" +class "GtkProgressBar" style "clearlooks-progressbar" + +#class "GtkMenuBar" style "clearlooks-menubar" + +widget_class "*MenuItem.*" style "clearlooks-menu-item" +#widget_class "*.GtkMenuBar.*MenuItem.*" style "clearlooks-menubar-item" + +# combobox stuff +widget_class "*.GtkComboBox.GtkButton" style "clearlooks-combo" +widget_class "*.GtkCombo.GtkButton" style "clearlooks-combo" +# tooltips stuff +widget_class "*.tooltips.*.GtkToggleButton" style "clearlooks-tasklist" +widget "gtk-tooltips" style "clearlooks-tooltips" + +# treeview stuff +widget_class "*.GtkTreeView.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCTree.GtkButton" style "clearlooks-tree" +widget_class "*.GtkList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkFrame.GtkLabel" style "clearlooks-frame-title" + +# notebook stuff +widget_class "*.GtkNotebook.*.GtkEventBox" style "clearlooks-notebook" +widget_class "*.GtkNotebook.*.GtkViewport" style "clearlooks-notebook" + diff --git a/system-images/share/images/container-server/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc.orig b/system-images/share/images/container-server/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc.orig new file mode 100644 index 0000000..7e133bb --- /dev/null +++ b/system-images/share/images/container-server/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc.orig @@ -0,0 +1,183 @@ +style "clearlooks-default" +{ + GtkButton ::default_border = { 0, 0, 0, 0 } + GtkRange ::trough_border = 0 + GtkPaned ::handle_size = 6 + GtkRange ::slider_width = 15 + GtkRange ::stepper_size = 15 + + GtkScrollbar ::min_slider_length = 30 + GtkCheckButton ::indicator_size = 14 + GtkMenuBar ::internal-padding = 0 + GtkTreeView ::expander_size = 14 + GtkExpander ::expander_size = 16 + GtkScale ::slider-length = 27 +# GtkToolbar ::button-relief = GTK_RELIEF_NORMAL +# GtkMenuBar ::shadow-type = GTK_SHADOW_OUT +# GtkScrollbar ::has-secondary-forward-stepper = 1 +# GtkScrollbar ::has-secondary-backward-stepper = 1 + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + + WnckTasklist ::fade-overlay-rect = 0 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = "#000000" # black + fg[PRELIGHT] = "#000000" # black + fg[SELECTED] = "#ffffff" # white + fg[ACTIVE] = "#000000" # black + fg[INSENSITIVE] = "#b5b3ac" # dark beige + + bg[NORMAL] = "#ede9e3" + bg[PRELIGHT] = "#f9f7f3" # very light beige + bg[SELECTED] = "#d60052" # red + bg[INSENSITIVE] = "#efebe5" # beige + bg[ACTIVE] = "#dcd4c9" #"#d7d3ca" # dark beige + + base[NORMAL] = "#ffffff" # white + base[PRELIGHT] = "#5f8ec4" # dark beige + base[ACTIVE] = "#b20044" # darker red + base[SELECTED] = "#d60052" # red + base[INSENSITIVE] = "#e8e5de" # beige + + text[NORMAL] = "#000000" # black + text[PRELIGHT] = "#000000" # black + text[ACTIVE] = "#ffffff" # white + text[SELECTED] = "#ffffff" # white + text[INSENSITIVE] = "#b5b3ac" # dark beige + + engine "clearlooks" + { + #scrollbar_color = "#76acde" + menubarstyle = 2 # 0 = flat, 1 = sunken, 2 = flat gradient + #menuitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button) + #listviewitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient) + #progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat + animation = FALSE + } +} + +style "clearlooks-wide" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-wider" = "clearlooks-default" +{ + xthickness = 3 + ythickness = 3 +} + +style "clearlooks-button" = "clearlooks-wider" +{ + bg[NORMAL] = "#f6f4f1" + bg[INSENSITIVE] = "#f2efeb" + bg[PRELIGHT] = "#faf9f8" +} + +style "clearlooks-notebook" = "clearlooks-wide" +{ + bg[NORMAL] = "#efebe5" + bg[INSENSITIVE] = "#efebe5" +} + +style "clearlooks-tasklist" = "clearlooks-default" +{ + xthickness = 5 + ythickness = 3 +} + +style "clearlooks-menu" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 1 + bg[NORMAL] = "#f9f7f3" +} + +style "clearlooks-menubar-item" = "clearlooks-button" +{ + fg[PRELIGHT] = "#000000" +} + +style "clearlooks-menu-item" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 3 + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "clearlooks-tree" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-frame-title" = "clearlooks-default" +{ + fg[NORMAL] = "#404040" +} + +style "clearlooks-tooltips" = "clearlooks-default" +{ + xthickness = 4 + ythickness = 4 + bg[NORMAL] = { 1.0,1.0,0.75 } +} + +style "clearlooks-progressbar" = "clearlooks-wide" +{ + xthickness = 1 + ythickness = 1 + fg[PRELIGHT] = "#ffffff" +} + +style "clearlooks-combo" = "clearlooks-button" +{ +} + +style "clearlooks-menubar" = "blackrock-default" +{ + bg[NORMAL] = "#bacedb" +} + +# widget styles +class "GtkWidget" style "clearlooks-default" +class "GtkButton" style "clearlooks-button" +class "GtkScale" style "clearlooks-button" +class "GtkCombo" style "clearlooks-button" +class "GtkRange" style "clearlooks-wide" +class "GtkFrame" style "clearlooks-wide" +class "GtkMenu" style "clearlooks-menu" +class "GtkEntry" style "clearlooks-wider" +class "GtkMenuItem" style "clearlooks-menu-item" +class "GtkNotebook" style "clearlooks-notebook" +class "GtkProgressBar" style "clearlooks-progressbar" + +#class "GtkMenuBar" style "clearlooks-menubar" + +widget_class "*MenuItem.*" style "clearlooks-menu-item" +#widget_class "*.GtkMenuBar.*MenuItem.*" style "clearlooks-menubar-item" + +# combobox stuff +widget_class "*.GtkComboBox.GtkButton" style "clearlooks-combo" +widget_class "*.GtkCombo.GtkButton" style "clearlooks-combo" +# tooltips stuff +widget_class "*.tooltips.*.GtkToggleButton" style "clearlooks-tasklist" +widget "gtk-tooltips" style "clearlooks-tooltips" + +# treeview stuff +widget_class "*.GtkTreeView.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCTree.GtkButton" style "clearlooks-tree" +widget_class "*.GtkList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkFrame.GtkLabel" style "clearlooks-frame-title" + +# notebook stuff +widget_class "*.GtkNotebook.*.GtkEventBox" style "clearlooks-notebook" +widget_class "*.GtkNotebook.*.GtkViewport" style "clearlooks-notebook" + diff --git a/system-images/share/images/container-server/config/package-lists/base-system.list.chroot b/system-images/share/images/container-server/config/package-lists/base-system.list.chroot new file mode 100644 index 0000000..179aee8 --- /dev/null +++ b/system-images/share/images/container-server/config/package-lists/base-system.list.chroot @@ -0,0 +1,2 @@ +task-ssh-server +knot-resolver diff --git a/system-images/share/images/container-server/config/package-lists/container-server.list.chroot b/system-images/share/images/container-server/config/package-lists/container-server.list.chroot new file mode 100644 index 0000000..c5212bb --- /dev/null +++ b/system-images/share/images/container-server/config/package-lists/container-server.list.chroot @@ -0,0 +1,9 @@ +container-tools +curl +debootstrap +pv +sudo +bridge-utils +plzip + +netdata diff --git a/system-images/share/images/container-server/config/package-lists/memtest.list.chroot b/system-images/share/images/container-server/config/package-lists/memtest.list.chroot new file mode 100644 index 0000000..386444d --- /dev/null +++ b/system-images/share/images/container-server/config/package-lists/memtest.list.chroot @@ -0,0 +1,4 @@ + +#if ARCHITECTURES amd64 hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 +memtest86+ +#endif diff --git a/system-images/share/images/gnome-desktop/.gitignore b/system-images/share/images/gnome-desktop/.gitignore new file mode 100644 index 0000000..c718546 --- /dev/null +++ b/system-images/share/images/gnome-desktop/.gitignore @@ -0,0 +1,31 @@ +binary/ +binary*.iso +binary*.img +binary*.tar* +binary*.contents +binary*.packages +binary*.zsync + +.build/ +build.log + +cache/ + +chroot/ +chroot.packages.* + +config/binary +config/bootstrap +config/system +config/common +config/source + +config/control + +source/ +source*.iso +source*.img +source*.tar* +source*.contents +source*.packages +source*.zsync diff --git a/system-images/share/images/gnome-desktop/auto/build b/system-images/share/images/gnome-desktop/auto/build new file mode 100755 index 0000000..f8d8346 --- /dev/null +++ b/system-images/share/images/gnome-desktop/auto/build @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +lb build noauto "${@}" 2>&1 | tee build.log diff --git a/system-images/share/images/gnome-desktop/auto/clean b/system-images/share/images/gnome-desktop/auto/clean new file mode 100755 index 0000000..2275682 --- /dev/null +++ b/system-images/share/images/gnome-desktop/auto/clean @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +lb clean noauto "${@}" + +rm -f config/binary config/bootstrap config/system config/common config/source +rm -f config/control + +rm -f build.log diff --git a/system-images/share/images/gnome-desktop/auto/config b/system-images/share/images/gnome-desktop/auto/config new file mode 100755 index 0000000..6a21256 --- /dev/null +++ b/system-images/share/images/gnome-desktop/auto/config @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +case "$(dpkg --print-architecture)" in + amd64) + _SOURCE="true" + ;; + + i386) + _SOURCE="false" + ;; +esac + +lb config noauto \ + --clean \ + --ignore-system-defaults \ + --mode debian \ + --debian-installer live \ + --linux-packages "linux-image linux-headers" \ + --source "${_SOURCE}" \ +"${@}" diff --git a/system-images/share/images/gnome-desktop/config/archives/progress-linux.key b/system-images/share/images/gnome-desktop/config/archives/progress-linux.key new file mode 100644 index 0000000..9cdde5e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/archives/progress-linux.key @@ -0,0 +1,51 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFfXFG8BEAC612gy3d976/FO4f6a6gi23KqLs8eTws0M0+RgvpWkMJo7DiMq +22Ge/W2FrZz/ik5+Upb2+KHNp5x88tAejwIuQqBW7ZiAgN+nfbEGzUqLOXZS/nhU ++dfil46Yyat3cpqOCw23ogIGZLgc1qrNJKaTnly534iGZXZcfpTVG7rolO3pqWr/ +aCHbPT5+xLKBa1olF20tJrs7arfXylhD9FJbCoK6h/xMCWzzzuVzXh3FQnyFJGBB +SaoVgPQjH4NzE4Kvgv3UIRqSiqt8GtaGQtdki7SxAnYZRgZs337BKUBCk6USmhpw +QEpOwKhmEyNz7mmrvXX57dShgkKII1l3VbL/8YbdVJwbVucts2lLsIFbJnlDjd6z +cF7AoaeZvENY9fxVsLzGIKRd50w8qzCUq22oQzgxDtblKyVDzwlEckj9qdZmMqDN +k1fflOyvBZubWT8mFTLKSRkd3sbcLiZdrH5QJEIdvnC5rW+bTPM018DhOxKo3H8z +X/TCiyIsmdx+ldoOw7srCobwhAt/J1rjTcEcBs3Tmmo7F7/LsH4uW5do3Cda05jl +2HdHVAwFI0RWC1xeH1aufvJcXLF3JbKKDLuTcX/X6Z7PWU73/6xnD4Sa9Wrvgrxj +EvnFyu6Lt81fTcFZqhiZR4lApVgXzc73fxa4a++MMVbkzz605pgxIvTevQARAQAB +tFFQcm9ncmVzcyBMaW51eCA0IChkc2NoaW5uKSBBcmNoaXZlIEtleSA8c3lzdGVt +LWFkbWluaXN0cmF0aW9uQHByb2dyZXNzLWxpbnV4Lm9yZz6JAjcEEwEKACEFAlfX +FG8CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQX+0zE8d/g+olYA/+OPnp +bidxqmRvf11M0b3whRaHBo95edUX7oZR2EoLs8TO2I0IS3o3Sw+L0LAE9v6lOPRB +c2O85CmfquW4giLe+8fbaGlB/OAzuxodomvwzuV9BZFzL3KoPeYu9+vFNfDf/D8H +FQBRO3HDivjrRC8kOrBhv/rgl3Hu1DutOSjAMRDUIhHmIz2Ow4MxgoZJ/HUr+LIn +pXjG+gl4W/6YCFtccDfEp1M7WQCUY4XLfhvFKCKxhHNhCvCbpnNQLqrfDRFEcJb7 +XQfrf1tVw0ZIM/ScB8CqQQnskqyy/28UHSoIU+kEBACcrViqTbPRExw6bRjTiZm+ ++/m3QG43bkgtMXUcdiUBS/xEe4L17gw3G+mNHKx/Mny7urnFkXjP7ZzqUdgMAqIP +hOgHfIG05v+BRT4daRZYif3iz5KWxFPgLs8FpGuVhDroH/KkSQYi/P+AWnKQv4GK +UFC5+KjjRqV+WIWFxkUFQxiQvpuG+VIc2oLWXaEa6yfmm9MAWC7D7IaqtGR0biE3 +wlQGlwcXBQA4+blMsDRf8q2ae/OUdA/ibYMlalXkDqFGmNCZ7TpY9sbP5k2cUCkm +tFUX7K3yCJ6y4uy27k+y+BZYOwA/5YtRvaT1UqIr8S+92g+8jROsXuMjN+/Trb+X +2ay0CyDiwIfQyxHJ6p0axdgl4yAsYEXI90iMFKa5Ag0EV9cUbwEQAKOimyafI8E/ +nkwNxQXUVGZqASMxVnRWvzl1Rgs75e4+yUXxD8kgKxqSVtROK8y5VbFlU87cQ5c1 +jqnPsiIhdvKt6VtRNyATtQCB5tfNKS9ZaiZBX7XzkYG0Q0pyhQc8w4S7Wza9LU9f +0ydzHdfoA2SHoV8R5lo4wqrXuC+c/TUyv3yHDk1ZJ+oUuDhg2mU6Z0Vr3cPH/6Xo +6Y+KnaN5gISN0pVFOX0wCnYFp+tw7B0JUFqVCLAlAo6KkfwOnz4MBulqoMm8IS68 +h1WzaJmctmpOS0xHozpqGhZypnT/F31DT4thB7O+fXpnq2+7pddinK1sA7Z8oopq +x5w5vPqwV7uDnrwx7vgpRfajk2Thqp7MMhuAexK5CNVu2gOpdl10wPrpiwpEzDy1 +7EeZPo97PFxZC5HxqpMGFjqUUnibOQ6YoypkwOlh6szzG1mpBsfQPgK4NTouuPmt +yIm5qkN4ciVvm5yWqPnXF6VMP11Nu5Sv9DC5WsqF9b0beTT+7MUe1Z5aPZ5ZIRDp +FjKEoSDyO2fxkHK7jcOp41Pz1fxQNiJdPW1pMzZlh8+OfT4F236+2Ocy2WOOGcBD +QCu08Yus8eH22Lx3j/+/RKKRSbSvb3uUrDZIEWh072zjFIyFyoM9NzBk+Yd6Dnsw +I3I6dCRdfJklJQ5rYDHrEPbpRyuANfn1ABEBAAGJAh8EGAEKAAkFAlfXFG8CGwwA +CgkQX+0zE8d/g+qMFw//fU/lor7+7HB3o1wHgS0ARb6Ma9un7l3ZyXKQFRIqbjgn +kyUEMB59DCY68RkCIdIjaKC4tR9r9/6Rh/SWWr6589tqRTbSv/lYPTr11LMDeC4O +XMqNQUw/Malh3ZZJqDS8urSlWi/IZYwFFuIfNvtBDTtXKrSZRH5+4MQlaLdAcWnj +BYCV8YHllL9Eg/+xJ4a3hsiMxQkEoWpVk1haACKLxsiyPHUkIlnR27vbmR0k5+e6 +aO13L7+IIzEf+2k+A9EikvJn5GK9JwGvQVkO8LAHPP8OdfTsneLoLpUq4+3wIcYS +pJuDk/qF9/ZkrdcQaXBAhkQbhfbxc8p7Hnqxf9cw69jOE/DyCwQj6XcUFcSOvpxB +eVBi74PrqsIeYCBmNolvDwCBfJsFv+wS7tJbNk/u/cJv089BA94xYsS3D/jTC022 +mKwcjAcPgVvZOzImHYaOAP21c8ooIAsPGSwgHNTAsbM25e6FJx1nmJgTOrWDrZvr +Zz4L0EvqHnJ4hciBtcRPDgdjzOcuEhZG7rdRqCsUjlil1TaU2vpy5W/GcKYOwEI6 +nKHOIZyFZFatBIZOwrwW1S+eczdzk0x9xpZLBJT2EsRYPrDyUyQHDmYNqcuTsEjs +qzj20j2wHndJOFSffJBZhyr2ZulLV50lxI4HE2PYn+8hW2yia7CiwsCvT3Nbdao= +=vDTz +-----END PGP PUBLIC KEY BLOCK----- diff --git a/system-images/share/images/gnome-desktop/config/archives/progress-linux.list b/system-images/share/images/gnome-desktop/config/archives/progress-linux.list new file mode 100644 index 0000000..f2f18a6 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/archives/progress-linux.list @@ -0,0 +1,7 @@ +deb https://cdn.archive.progress-linux.org/packages dschinn main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-security main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-updates main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-extras main contrib non-free restricted + +deb https://cdn.archive.progress-linux.org/packages dschinn-backports main contrib non-free +deb https://cdn.archive.progress-linux.org/packages dschinn-backports-extras main contrib non-free restricted diff --git a/system-images/share/images/gnome-desktop/config/archives/progress-linux.pref b/system-images/share/images/gnome-desktop/config/archives/progress-linux.pref new file mode 100644 index 0000000..5f6fda6 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/archives/progress-linux.pref @@ -0,0 +1,23 @@ +Package: * +Pin: release n=dschinn +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-security +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-updates +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-extras +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-backports +Pin-Priority: 999 + +Package: * +Pin: release n=dschinn-backports-extras +Pin-Priority: 999 diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/advanced.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/extlinux.conf b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/extlinux.conf new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/hdt.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/install.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/install.cfg new file mode 100644 index 0000000..30685cf --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/ldlinux.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/libcom32.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/libutil.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/live.cfg.in b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/live.cfg.in new file mode 100644 index 0000000..a405349 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/menu.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/menu.cfg new file mode 100644 index 0000000..9268513 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title GNOME Desktop +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/splash.png b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/splash.png diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/splash.svg.gz b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/splash.svg.gz diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/stdmenu.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/vesamenu.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/extlinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/advanced.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/hdt.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/install.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/install.cfg new file mode 100644 index 0000000..30685cf --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/isolinux.bin b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/isolinux.bin new file mode 120000 index 0000000..33a2ad6 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/isolinux.bin @@ -0,0 +1 @@ +/usr/lib/ISOLINUX/isolinux.bin
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/isolinux.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/isolinux.cfg new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/isolinux.cfg @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/ldlinux.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/libcom32.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/libutil.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/live.cfg.in b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/live.cfg.in new file mode 100644 index 0000000..a405349 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/menu.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/menu.cfg new file mode 100644 index 0000000..9268513 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title GNOME Desktop +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/splash.png b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/splash.png diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/splash.svg.gz b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/splash.svg.gz diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/stdmenu.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/vesamenu.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/isolinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/advanced.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/hdt.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/install.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/install.cfg new file mode 100644 index 0000000..30685cf --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/ldlinux.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/libcom32.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/libutil.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/live.cfg.in b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/live.cfg.in new file mode 100644 index 0000000..a405349 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/menu.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/menu.cfg new file mode 100644 index 0000000..9268513 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title GNOME Desktop +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/pxelinux.0 b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/pxelinux.0 new file mode 120000 index 0000000..f723d02 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/pxelinux.0 @@ -0,0 +1 @@ +/usr/lib/PXELINUX/pxelinux.0
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/pxelinux.cfg/default b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/pxelinux.cfg/default new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/pxelinux.cfg/default @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/splash.png b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/splash.png diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/splash.svg.gz b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/splash.svg.gz diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/stdmenu.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/vesamenu.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/pxelinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/advanced.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/advanced.cfg new file mode 100644 index 0000000..373451a --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/advanced.cfg @@ -0,0 +1,7 @@ +label hdt + menu label ^Hardware Detection Tool (HDT) + com32 hdt.c32 + +label memtest + menu label ^Memory Diagnostic Tool (memtest86+) + linux /live/memtest diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/hdt.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/install.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/install.cfg new file mode 100644 index 0000000..30685cf --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/install.cfg @@ -0,0 +1,11 @@ +label install + menu label ^Install + linux /install/gtk/vmlinuz + initrd /install/gtk/initrd.gz + append video=vesa:ywrap,mtrr vga=788 @APPEND_INSTALL@ --- quiet + +label install-failsafe + menu label Install (failsafe) + linux /install/vmlinuz + initrd /install/initrd.gz + append vga=788 @APPEND_INSTALL@ --- quiet diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/ldlinux.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/libcom32.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/libutil.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/live.cfg.in b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/live.cfg.in new file mode 100644 index 0000000..a405349 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/live.cfg.in @@ -0,0 +1,12 @@ +label live-@FLAVOUR@ + menu label ^Live (@FLAVOUR@) + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +label live-@FLAVOUR@-failsafe + menu label Live (@FLAVOUR@ failsafe) + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/menu.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/menu.cfg new file mode 100644 index 0000000..9268513 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/menu.cfg @@ -0,0 +1,17 @@ +menu hshift 7 +menu width 60 + +menu title GNOME Desktop +include stdmenu.cfg +include live.cfg +include install.cfg +menu begin advanced + menu title ^Advanced options + include stdmenu.cfg + label mainmenu + menu label ^Back.. + menu exit + include advanced.cfg +menu end + +menu clear diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/splash.png b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/splash.png Binary files differnew file mode 100644 index 0000000..d95a806 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/splash.png diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/splash.svg.gz b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/splash.svg.gz Binary files differnew file mode 100644 index 0000000..68bef8e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/splash.svg.gz diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/stdmenu.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/stdmenu.cfg new file mode 100644 index 0000000..671b16f --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/stdmenu.cfg @@ -0,0 +1,15 @@ +menu background splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 12 +menu rows 10 +menu helpmsgrow 15 +# The command line must be at least one line from the bottom. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/syslinux.cfg b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/syslinux.cfg new file mode 100644 index 0000000..a3e3eab --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/syslinux.cfg @@ -0,0 +1,4 @@ +include menu.cfg +default vesamenu.c32 +prompt 0 +timeout 0 diff --git a/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/vesamenu.c32 b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/bootloaders/syslinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32
\ No newline at end of file diff --git a/system-images/share/images/gnome-desktop/config/hooks/0002-knot-resolver.chroot b/system-images/share/images/gnome-desktop/config/hooks/0002-knot-resolver.chroot new file mode 100755 index 0000000..7038e74 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/hooks/0002-knot-resolver.chroot @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +cat > /etc/resolv.conf << EOF +nameserver 127.0.0.1 +nameserver 8.8.8.8 +nameserver 8.8.4.4 + +options timeout:1 attempts:1 +EOF diff --git a/system-images/share/images/gnome-desktop/config/hooks/normal/0001-os-release.chroot b/system-images/share/images/gnome-desktop/config/hooks/normal/0001-os-release.chroot new file mode 100755 index 0000000..1484bf4 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/hooks/normal/0001-os-release.chroot @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +BUILD_ID="$(date +%Y%m%d)" +VARIANT="GNOME Desktop" +VARIANT_ID="gnome-desktop" + +if [ -e /etc/os-release ] +then + sed -i -e "s|\(BUILD_ID\)=.*$|\1=\"${BUILD_ID}\"|" \ + -e "s|\(VARIANT\)=.*$|\1=\"${VARIANT}\"|" \ + -e "s|\(VARIANT_ID\)=.*$|\1=\"${VARIANT_ID}\"|" \ + /etc/os-release +fi diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer.png b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer.png Binary files differnew file mode 100644 index 0000000..8039941 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer.png diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer.svg b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer.svg new file mode 100644 index 0000000..05fb00e --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer.svg @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="800" + height="75" + viewBox="0 0 800 75.000002" + id="svg4345" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="debian-installer-white.svg" + inkscape:export-filename="debian-installer-white.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4347" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata4350"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(136.45763,-966.21857)"> + <g + id="g4138"> + <rect + height="75" + y="966.21857" + x="-136.45763" + width="800" + id="rect4136" + style="fill:#ffffff;fill-opacity:1" /> + <text + transform="scale(0.99999469,1.0000053)" + sodipodi:linespacing="125%" + id="text3336" + y="1014.874" + x="-112.35123" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.5px;line-height:125%;font-family:'Droid Sans';-inkscape-font-specification:'Droid Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#cc0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'" + y="1014.874" + x="-112.35123" + id="tspan3338" + sodipodi:role="line"><tspan + id="tspan4135" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold';fill:#000000;fill-opacity:1"> Open Infrastructure</tspan></tspan></text> + </g> + </g> +</svg> diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer_dark.png b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer_dark.png Binary files differnew file mode 100644 index 0000000..62f2269 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer_dark.png diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer_dark.svg b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer_dark.svg new file mode 100644 index 0000000..e966da0 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/logo_installer_dark.svg @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="800" + height="75" + viewBox="0 0 800 75.000002" + id="svg4345" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="debian-installer-black.svg" + inkscape:export-filename="debian-installer-black.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4347" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata4350"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(136.45763,-966.21857)"> + <g + id="g4142"> + <rect + height="75" + y="966.21857" + x="-136.45763" + width="800" + id="rect4136" + style="fill:#000000;fill-opacity:1" /> + <text + transform="scale(0.9999947,1.0000053)" + sodipodi:linespacing="125%" + id="text3336" + y="1014.874" + x="-112.35123" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.5px;line-height:125%;font-family:'Droid Sans';-inkscape-font-specification:'Droid Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#cc0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'" + y="1014.874" + x="-112.35123" + id="tspan3338" + sodipodi:role="line"><tspan + id="tspan4135" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:31.25px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold';fill:#ffffff;fill-opacity:1"> Open Infrastructure</tspan></tspan></text> + </g> + </g> +</svg> diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/note_icon.png b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/note_icon.png Binary files differnew file mode 100644 index 0000000..7a256d7 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/note_icon.png diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/note_icon.svg b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/note_icon.svg new file mode 100644 index 0000000..2e3e9da --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/note_icon.svg @@ -0,0 +1,709 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48" + height="48" + viewBox="0 0 48 48.000001" + id="svg3533" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="note_icon.svg" + inkscape:export-filename="note_icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs3535"> + <radialGradient + gradientUnits="userSpaceOnUse" + r="7.8289828" + fy="74.20993" + fx="14.772334" + cy="74.20993" + cx="14.772334" + gradientTransform="scale(1.764278,0.566804)" + id="radialGradient20216" + xlink:href="#linearGradient20210" + inkscape:collect="always" /> + <linearGradient + id="linearGradient20210"> + <stop + id="stop20212" + offset="0.0000000" + style="stop-color:#000000;stop-opacity:0.51546389;" /> + <stop + style="stop-color:#000000;stop-opacity:0.14432989;" + offset="0.55172414" + id="stop20218" /> + <stop + id="stop20214" + offset="1" + style="stop-color:#000000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#aigrd1" + id="linearGradient4100" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)" + x1="23.124001" + y1="43.165001" + x2="26.4785" + y2="43.165001" /> + <linearGradient + y2="43.165001" + x2="26.4785" + y1="43.165001" + x1="23.124001" + gradientUnits="userSpaceOnUse" + id="aigrd1"> + <stop + id="stop19415" + style="stop-color:#686868" + offset="5.618000e-003" /> + <stop + id="stop19417" + style="stop-color:#777777" + offset="3.012137e-002" /> + <stop + id="stop19419" + style="stop-color:#929292" + offset="8.366583e-002" /> + <stop + id="stop19421" + style="stop-color:#A7A7A7" + offset="0.1422" /> + <stop + id="stop19423" + style="stop-color:#B6B6B6" + offset="0.2074" /> + <stop + id="stop19425" + style="stop-color:#BEBEBE" + offset="0.2846" /> + <stop + id="stop19427" + style="stop-color:#C1C1C1" + offset="0.4045" /> + <stop + id="stop19429" + style="stop-color:#BCBCBC" + offset="0.4962" /> + <stop + id="stop19431" + style="stop-color:#ADADAD" + offset="0.6057" /> + <stop + id="stop19433" + style="stop-color:#959595" + offset="0.7245" /> + <stop + id="stop19435" + style="stop-color:#747474" + offset="0.8497" /> + <stop + id="stop19437" + style="stop-color:#494949" + offset="0.9789" /> + <stop + id="stop19439" + style="stop-color:#414141" + offset="1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3300" + id="linearGradient4102" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.002656,0.997352)" + x1="24.613028" + y1="31.146202" + x2="24.613028" + y2="26.739624" /> + <linearGradient + inkscape:collect="always" + id="linearGradient3300"> + <stop + style="stop-color:#4c4c28;stop-opacity:1;" + offset="0" + id="stop3302" /> + <stop + style="stop-color:#4c4c28;stop-opacity:0;" + offset="1" + id="stop3304" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4104" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + id="linearGradient19894" + gradientUnits="userSpaceOnUse" + x1="18.9951" + y1="37.226601" + x2="30.169901" + y2="37.226601"> + <stop + offset="5.618000e-003" + style="stop-color:#A3A349" + id="stop19896" /> + <stop + offset="2.078677e-002" + style="stop-color:#ACAC54" + id="stop19898" /> + <stop + offset="6.600059e-002" + style="stop-color:#C1C172" + id="stop19900" /> + <stop + offset="0.1148" + style="stop-color:#D4D68E" + id="stop19902" /> + <stop + offset="0.1677" + style="stop-color:#E2E4A6" + id="stop19904" /> + <stop + offset="0.2265" + style="stop-color:#EDF0B8" + id="stop19906" /> + <stop + offset="0.2963" + style="stop-color:#F3F6C3" + id="stop19908" /> + <stop + offset="0.4045" + style="stop-color:#F5F8C7" + id="stop19910" /> + <stop + offset="0.5239" + style="stop-color:#EEF0BE" + id="stop19912" /> + <stop + offset="0.6666" + style="stop-color:#DBDDA9" + id="stop19914" /> + <stop + offset="0.8211" + style="stop-color:#BEBD88" + id="stop19916" /> + <stop + offset="0.9832" + style="stop-color:#989564" + id="stop19918" /> + <stop + offset="1" + style="stop-color:#949160" + id="stop19920" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4106" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + <linearGradient + id="linearGradient2399"> + <stop + style="stop-color:#929470;stop-opacity:1;" + offset="0" + id="stop2401" /> + <stop + id="stop2407" + offset="0.26470590" + style="stop-color:#fcffc1;stop-opacity:1.0000000;" /> + <stop + style="stop-color:#f3f5ba;stop-opacity:1.0000000;" + offset="0.63235295" + id="stop2409" /> + <stop + style="stop-color:#929470;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop2403" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4108" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4110" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4116" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4118" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3311" + id="linearGradient4120" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,0.024498)" + x1="17.879995" + y1="55.362793" + x2="11.906206" + y2="54.863026" /> + <linearGradient + id="linearGradient3311"> + <stop + id="stop3313" + offset="0" + style="stop-color:#d6d7a5;stop-opacity:1;" /> + <stop + id="stop3315" + offset="1.0000000" + style="stop-color:#8e8f6d;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3265" + id="linearGradient4122" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.905728,-0.04386156,0.18951,-0.963437,0.614167,0.024498)" + x1="-29.007195" + y1="-29.799353" + x2="-37.641232" + y2="-29.598314" /> + <linearGradient + id="linearGradient3265"> + <stop + id="stop3267" + offset="0" + style="stop-color:#929470;stop-opacity:1;" /> + <stop + style="stop-color:#60614a;stop-opacity:1.0000000;" + offset="0.26470590" + id="stop3269" /> + <stop + id="stop3271" + offset="0.63235295" + style="stop-color:#f3f5ba;stop-opacity:1.0000000;" /> + <stop + id="stop3273" + offset="1.0000000" + style="stop-color:#929470;stop-opacity:1.0000000;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#aigrd7" + id="radialGradient4124" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.55129,0,0,0.766034,-10.48701,3.514312)" + cx="68.137589" + cy="29.869318" + fx="68.137589" + fy="29.869318" + r="33.93409" /> + <radialGradient + gradientUnits="userSpaceOnUse" + fy="11.4873" + fx="17.8335" + r="22.709299" + cy="11.4873" + cx="17.8335" + id="aigrd7"> + <stop + id="stop19512" + style="stop-color:#ffffff;stop-opacity:0.17525773;" + offset="0.0000000" /> + <stop + id="stop19514" + style="stop-color:#709ac8;stop-opacity:1.0000000;" + offset="0.88200003" /> + <stop + id="stop19516" + style="stop-color:#6f96dd;stop-opacity:1.0000000;" + offset="1.0000000" /> + </radialGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3175" + id="linearGradient4126" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,0.024498)" + x1="37.940434" + y1="16.651863" + x2="-5.2517161" + y2="3.8557322" /> + <linearGradient + id="linearGradient3175" + inkscape:collect="always"> + <stop + id="stop3177" + offset="0" + style="stop-color:#f1f3ff;stop-opacity:1;" /> + <stop + id="stop3179" + offset="1" + style="stop-color:#f1f3ff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient20393" + id="linearGradient4128" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)" + x1="30.620375" + y1="10.313651" + x2="32.16608" + y2="18.162935" /> + <linearGradient + id="linearGradient20393"> + <stop + id="stop20395" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + style="stop-color:#ffffff;stop-opacity:0.44117647;" + offset="0.41176471" + id="stop2427" /> + <stop + id="stop20397" + offset="1.0000000" + style="stop-color:#000000;stop-opacity:0.48039216;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient20393" + id="linearGradient4130" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)" + x1="30.620375" + y1="10.313651" + x2="32.16608" + y2="18.162935" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient20428" + id="linearGradient4132" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)" + x1="14.637301" + y1="31.504122" + x2="9.3648205" + y2="32.25098" /> + <linearGradient + id="linearGradient20428"> + <stop + id="stop20430" + offset="0.0000000" + style="stop-color:#a3a3a3;stop-opacity:1.0000000;" /> + <stop + id="stop20432" + offset="1" + style="stop-color:#b5b5b5;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6339" + id="linearGradient4134" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)" + x1="16.998856" + y1="10.061084" + x2="32.096882" + y2="36.726292" /> + <linearGradient + inkscape:collect="always" + id="linearGradient6339"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop6341" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop6343" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19894" + id="linearGradient4061" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-22.87417" + y1="38.675991" + x2="-4.3908315" + y2="38.675991" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2399" + id="linearGradient4063" + gradientUnits="userSpaceOnUse" + gradientTransform="scale(1.02645,0.974232)" + x1="-10.480865" + y1="39.033951" + x2="-23.851389" + y2="39.142845" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata3538"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1004.3622)"> + <g + transform="translate(9.025e-5,1004.3622)" + id="g3531"> + <ellipse + ry="4.4375" + rx="13.8125" + cy="42.0625" + cx="26.0625" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.8;fill:url(#radialGradient20216);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + id="path20208" + transform="matrix(1.197183,0,0,1.098591,-6.201582,-3.209507)" /> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + transform="translate(0,1)" + id="g4076"> + <path + inkscape:connector-curvature="0" + style="fill:url(#linearGradient4100);fill-rule:nonzero;stroke:#565656;stroke-miterlimit:4;stroke-opacity:1" + d="m 21.893504,38.885945 0,1.475215 c 0,1.475215 1.311303,2.786519 2.786518,2.786519 1.475215,0 2.786517,-1.311304 2.786517,-2.786519 l 0,-1.475215 -5.573035,0 z" + id="path19509" + transform="matrix(1.075823,0,0,0.937493,-2.551335,3.047213)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <g + id="g3173" + transform="matrix(0.989073,0,0,0.993556,-0.408739,0.00792048)" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#aeae57;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4102);stroke-width:2.01752925;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 24.511725,27.668867 c -3.302881,-0.008 -7.04845,0.963187 -5.018812,2.799064 -0.503223,0.203003 -1.222542,0.656382 -1.137746,1.717291 0.04682,0.554064 0.634076,0.894172 1.437193,1.143888 -0.910452,0.638612 -1.489779,1.313447 -1.437193,1.935811 0.04627,0.547604 0.621167,0.92261 1.407863,1.173219 -0.887511,0.631263 -1.459729,1.321981 -1.407863,1.935811 0.07927,0.938137 2.102576,1.988977 6.483761,1.867949 3.154401,-0.08599 5.937985,-0.651386 6.157671,-1.867949 0.08626,-0.477703 -0.304692,-0.92342 -0.909244,-1.319871 0.452571,-0.456162 0.769625,-0.918838 0.733261,-1.349202 -0.04649,-0.550184 -0.614623,-0.922955 -1.407862,-1.173218 0.887511,-0.631263 1.459728,-1.321981 1.407862,-1.935811 -0.04649,-0.550185 -0.614623,-0.893624 -1.407862,-1.143889 0.898094,-0.634672 1.460062,-1.318032 1.407862,-1.935811 -0.05802,-0.686703 -3.204626,-1.839791 -6.308891,-1.847282 z" + id="path3209" + sodipodi:nodetypes="cccccccscccccccs" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4104);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4106);stroke-width:0.08906282;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 30.920208,38.329767 c -0.219686,1.216564 -3.328786,1.903094 -8.305076,1.653906 -3.151625,-0.157817 -3.331969,-1.039618 -3.112284,-2.256182 0.219686,-1.216565 2.95547,-2.069011 6.106661,-1.902783 3.151191,0.166228 5.530384,1.288495 5.310699,2.505059 z" + id="path3183" + sodipodi:nodetypes="csccc" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <ellipse + ry="3.2703688" + rx="10.341436" + cy="27.228739" + cx="-13.87697" + transform="matrix(0.60274,-0.128625,0.06428372,0.760788,31.12021,14.49141)" + id="path1603" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4061);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4063);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <ellipse + ry="3.2703688" + rx="10.341436" + cy="27.228739" + cx="-13.87697" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4108);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4110);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + id="path2364" + transform="matrix(0.60274,-0.128625,0.06428372,0.760788,31.12021,11.39591)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4116);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4118);stroke-width:0.08906286;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 30.698087,29.636386 c 0,1.378302 -2.540761,2.918054 -5.981486,3.652307 -3.440725,0.734252 -6.327381,0.215517 -6.443429,-1.157891 -0.116048,-1.373407 2.236507,-2.975336 5.679216,-3.161975 3.469991,-0.188116 6.745699,-0.04393 6.745699,0.667559 z" + id="path2366" + sodipodi:nodetypes="cccss" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <circle + r="3.25" + cy="22.375" + cx="27.75" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + id="path20372" + transform="matrix(0.335464,0,0,0.335464,11.74678,27.2261)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 19.342183,33.378865 c 3.394409,0.504668 6.978809,-0.03267 9.872132,-1.908058 0.811267,-0.525845 0.933289,-1.126862 1.306606,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z" + id="path3241" + sodipodi:nodetypes="cscc" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <circle + r="3.25" + cy="22.375" + cx="27.75" + transform="matrix(0.335464,0,0,0.335464,11.74678,30.23376)" + id="path2435" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 19.466621,39.517838 c 3.394409,0.504668 6.978809,-0.03267 9.872132,-1.908058 0.811267,-0.525845 0.93329,-1.126861 1.306606,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z" + id="path3237" + sodipodi:nodetypes="cscc" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <path + inkscape:connector-curvature="0" + sodipodi:nodetypes="cscc" + id="path3239" + d="m 19.487361,36.406872 c 3.394409,0.504668 6.978809,-0.03267 9.872131,-1.908058 0.811268,-0.525845 0.93329,-1.126861 1.306607,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z" + style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + <g + id="g3146" + transform="translate(-0.988797,0)" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <g + id="g3141" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4120);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4122);stroke-width:0.09083303;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 18.87103,29.628128 c 0,-0.791433 1.574105,-1.73814 5.548204,-1.685156 3.68192,0.04909 6.107374,0.895688 6.107374,2.162432 0,1.239877 -3.219366,2.069012 -6.651931,1.902784 -3.432564,-0.166228 -5.003647,-1.140183 -5.003647,-2.38006 z" + id="path3243" + sodipodi:nodetypes="csscs" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient4124);fill-opacity:1;fill-rule:nonzero;stroke:#616471;stroke-width:1.01595449;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m 24.680021,0.8622936 c -7.822016,0 -14.17376,5.9749692 -14.17376,13.3329944 0,7.542563 5.741565,8.377929 5.741565,11.157707 0,3.266066 3.366277,6.969692 8.901483,6.836 5.88585,-0.14216 8.314873,-3.36334 8.314873,-6.836 0,-2.968931 5.389599,-3.048106 5.389599,-11.157707 0,-7.3580252 -6.351743,-13.3329944 -14.17376,-13.3329944 z" + id="path6305" + sodipodi:nodetypes="csssssc" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + sodipodi:nodetypes="csssssc" + id="path2429" + d="m 24.680021,1.9277146 c -7.290022,0 -13.209769,5.5685977 -13.209769,12.4261864 0,7.029575 5.351068,7.808126 5.351068,10.398845 0,3.043934 3.137328,6.495667 8.296072,6.371067 5.485539,-0.132492 7.749359,-3.134591 7.749359,-6.371067 0,-2.767006 5.02304,-2.840798 5.02304,-10.398845 0,-6.8575887 -5.919747,-12.4261864 -13.20977,-12.4261864 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4126);stroke-width:0.94685698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" /> + </g> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + transform="matrix(0.9375,0,0,0.926938,0.569221,0.25176)" + id="g1695"> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path1691" + d="m 31.947292,19.22274 c 0.312742,0.104248 0.521237,0.41699 0.416989,0.729731 l -3.857147,11.571442 c -0.104247,0.312742 -0.416989,0.521236 -0.729731,0.416989 -0.312741,-0.104247 -0.521235,-0.416989 -0.416988,-0.72973 L 31.217562,19.63973 c 0.104247,-0.312742 0.416989,-0.521237 0.72973,-0.41699 z" + style="fill:url(#linearGradient4128);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + style="fill:url(#linearGradient4130);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4" + d="m 20.152404,19.34774 c -0.312742,0.104248 -0.521237,0.41699 -0.416989,0.729731 l 3.857147,11.571442 c 0.104247,0.312742 0.416989,0.521236 0.729731,0.416989 0.312741,-0.104247 0.521235,-0.416989 0.416988,-0.72973 L 20.882134,19.76473 c -0.104247,-0.312742 -0.416989,-0.521237 -0.72973,-0.41699 z" + id="path19612" /> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path19614" + d="m 20.255362,19.273128 c -0.24591,0.04207 -0.438556,0.234644 -0.480709,0.480539 -0.04215,0.245895 0.07535,0.491642 0.293209,0.613211 0,0 1.842222,1.080869 4.25,1.625 2.407778,0.544131 5.488901,0.579427 7.8125,-1.6875 0.175246,-0.139033 0.256492,-0.365415 0.209645,-0.584154 -0.04685,-0.218739 -0.213682,-0.391991 -0.430498,-0.447056 -0.216816,-0.05506 -0.446103,0.01758 -0.591647,0.18746 -1.950536,1.902962 -4.544838,1.904592 -6.75,1.40625 -2.205162,-0.498342 -3.90625,-1.5 -3.90625,-1.5 -0.119434,-0.07979 -0.26393,-0.113134 -0.40625,-0.09375 z" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4132);stroke-width:0.21454535;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" /> + </g> + <path + inkscape:connector-curvature="0" + transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" + id="path6334" + d="m 25.001158,3.5644322 c -6.26355,0 -11.345799,4.0256007 -11.345799,8.9834108 0,1.980113 0.977559,3.713915 2.350649,5.199192 1.552664,0.63186 3.243819,1.085906 5.108744,1.085906 6.26355,0 11.345797,-4.0256 11.345799,-8.983413 0,-1.992052 -0.993807,-3.7420651 -2.381991,-5.2320949 -1.545421,-0.624373 -3.224319,-1.053001 -5.077402,-1.0530009 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.5977654;fill:url(#linearGradient4134);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.98750001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/warning_icon.png b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/warning_icon.png Binary files differnew file mode 100644 index 0000000..78e42a5 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/warning_icon.png diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/warning_icon.svg b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/warning_icon.svg new file mode 100644 index 0000000..213ee9b --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/graphics/warning_icon.svg @@ -0,0 +1,266 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48" + height="48" + viewBox="0 0 48 48.000001" + id="svg4309" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="warning_icon.svg" + inkscape:export-filename="warning_icon.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4311"> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5048" + id="linearGradient6715" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)" + x1="302.85715" + y1="366.64789" + x2="302.85715" + y2="609.50507" /> + <linearGradient + id="linearGradient5048"> + <stop + style="stop-color:black;stop-opacity:0;" + offset="0" + id="stop5050" /> + <stop + id="stop5056" + offset="0.5" + style="stop-color:black;stop-opacity:1;" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop5052" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5060" + id="radialGradient6717" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" + cx="605.71429" + cy="486.64789" + fx="605.71429" + fy="486.64789" + r="117.14286" /> + <linearGradient + inkscape:collect="always" + id="linearGradient5060"> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0" + id="stop5062" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop5064" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5060" + id="radialGradient6719" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" + cx="605.71429" + cy="486.64789" + fx="605.71429" + fy="486.64789" + r="117.14286" /> + <linearGradient + inkscape:collect="always" + xlink:href="#aigrd1" + id="linearGradient3946" + gradientUnits="userSpaceOnUse" + x1="4.1914001" + y1="11.1133" + x2="47.319698" + y2="56.052299" /> + <linearGradient + y2="56.052299" + x2="47.319698" + y1="11.1133" + x1="4.1914001" + gradientUnits="userSpaceOnUse" + id="aigrd1"> + <stop + id="stop6490" + style="stop-color:#D4D4D4" + offset="0" /> + <stop + id="stop6492" + style="stop-color:#E2E2E2" + offset="0.3982" /> + <stop + id="stop6494" + style="stop-color:#FFFFFF" + offset="1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6525" + id="linearGradient3948" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" + x1="8.5469341" + y1="30.281681" + x2="30.85088" + y2="48.301884" /> + <linearGradient + id="linearGradient6525" + gradientUnits="userSpaceOnUse" + x1="4.1914001" + y1="11.1133" + x2="47.319698" + y2="56.052299"> + <stop + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" + id="stop6529" /> + <stop + offset="1" + style="stop-color:#ffffff;stop-opacity:0.34020618;" + id="stop6531" /> + </linearGradient> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:showpageshadow="false" + inkscape:window-maximized="1" /> + <metadata + id="metadata4314"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1004.3622)"> + <g + transform="matrix(1.566667,0,0,1.566667,-8.9254542,980.4141)" + id="g3557"> + <g + id="g6707" + transform="matrix(0.01444074,0,0,0.01331973,33.38871,40.40337)" + style="display:inline"> + <rect + y="-150.69685" + x="-1559.2523" + height="478.35718" + width="1339.6335" + id="rect6709" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.40206185;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /> + <path + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" + id="path6711" + d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.40206185;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.40206185;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" + d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z" + id="path6713" + sodipodi:nodetypes="cccc" /> + </g> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + transform="matrix(1,0,0.00453785,1,-0.138907,0)" + id="g3937"> + <path + inkscape:connector-curvature="0" + style="fill:#cc0000;fill-rule:nonzero;stroke:#9f0000;stroke-width:0.6382978;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 33.282781,38.644744 22.407791,18.394765 c -0.312499,-0.562499 -0.874999,-0.874998 -1.499998,-0.874998 -0.625,0 -1.187499,0.374998 -1.499998,0.937498 L 8.7828048,38.707245 c -0.25,0.499999 -0.25,1.187499 0.0625,1.687498 0.312499,0.5 0.812499,0.749999 1.4374992,0.749999 l 21.499978,0 c 0.624999,0 1.187498,-0.312499 1.437499,-0.812499 0.312499,-0.5 0.312499,-1.124999 0.0625,-1.687499 z" + id="path6485" + transform="matrix(1,0,-0.00872668,1,0.328074,1.276596)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + <g + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4" + transform="matrix(0.625,0,-0.00553493,0.634254,6.164053,15.76055)" + id="g6487" + inkscape:r_cx="true" + inkscape:r_cy="true"> + <linearGradient + id="linearGradient4358" + gradientUnits="userSpaceOnUse" + x1="4.1914001" + y1="11.1133" + x2="47.319698" + y2="56.052299"> + <stop + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" + id="stop4360" /> + <stop + offset="1" + style="stop-color:#ffffff;stop-opacity:0.34020618;" + id="stop4362" /> + </linearGradient> + <path + inkscape:connector-curvature="0" + style="fill:url(#linearGradient3946);stroke:none" + d="m 9.5,37.6 c -0.3,0.5 0,0.9 0.5,0.9 l 28.2,0 c 0.5,0 0.8,-0.4 0.5,-0.9 L 24.4,11 c -0.3,-0.5 -0.7,-0.5 -0.9,0 l -14,26.6 z" + id="path6496" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + <path + inkscape:connector-curvature="0" + style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3948);stroke-width:0.63829792;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 32.323106,38.183905 22.150271,19.265666 c -0.433291,-0.814976 -0.588573,-1.076453 -1.241865,-1.076453 -0.561881,0 -0.854279,0.380807 -1.257101,1.150078 L 9.7489285,38.242296 c -0.5751636,1.061292 -0.6361047,1.337932 -0.3551641,1.805049 0.280939,0.467117 0.6390326,0.441675 1.9626766,0.472146 l 19.618152,0 c 1.232232,0.01523 1.509395,-0.07865 1.734147,-0.545771 0.280941,-0.467118 0.159059,-0.83772 -0.385634,-1.789815 z" + id="path1325" + sodipodi:nodetypes="ccsccscccc" + transform="matrix(1,0,-0.00872668,1,0.318277,1.276596)" + inkscape:r_cx="true" + inkscape:r_cy="true" /> + </g> + <g + inkscape:r_cy="true" + inkscape:r_cx="true" + id="g6498" + transform="matrix(0.555088,0,0,0.555052,7.749711,17.80196)" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4"> + <path + inkscape:connector-curvature="0" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path6500" + d="m 23.9,36.5 c -1.3,0 -2.3,-1 -2.3,-2.3 0,-1.4 0.9,-2.3 2.3,-2.3 1.4,0 2.2,0.9 2.3,2.3 0,1.3 -0.9,2.3 -2.3,2.3 l 0,0 z m -1.4,-5.9 -0.6,-11.5 4,0 -0.6,11.5 -2.9,0 0.1,0 z" + style="stroke:none" /> + </g> + </g> + </g> +</svg> diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc new file mode 100644 index 0000000..0cb6b4b --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc @@ -0,0 +1,183 @@ +style "clearlooks-default" +{ + GtkButton ::default_border = { 0, 0, 0, 0 } + GtkRange ::trough_border = 0 + GtkPaned ::handle_size = 6 + GtkRange ::slider_width = 15 + GtkRange ::stepper_size = 15 + + GtkScrollbar ::min_slider_length = 30 + GtkCheckButton ::indicator_size = 14 + GtkMenuBar ::internal-padding = 0 + GtkTreeView ::expander_size = 14 + GtkExpander ::expander_size = 16 + GtkScale ::slider-length = 27 +# GtkToolbar ::button-relief = GTK_RELIEF_NORMAL +# GtkMenuBar ::shadow-type = GTK_SHADOW_OUT +# GtkScrollbar ::has-secondary-forward-stepper = 1 +# GtkScrollbar ::has-secondary-backward-stepper = 1 + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + + WnckTasklist ::fade-overlay-rect = 0 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = "#000000" # black + fg[PRELIGHT] = "#000000" # black + fg[SELECTED] = "#ffffff" # white + fg[ACTIVE] = "#000000" # black + fg[INSENSITIVE] = "#b5b3ac" # dark beige + + bg[NORMAL] = "#ede9e3" + bg[PRELIGHT] = "#f9f7f3" # very light beige + bg[SELECTED] = "#cc0000" # red + bg[INSENSITIVE] = "#efebe5" # beige + bg[ACTIVE] = "#dcd4c9" #"#d7d3ca" # dark beige + + base[NORMAL] = "#ffffff" # white + base[PRELIGHT] = "#5f8ec4" # dark beige + base[ACTIVE] = "#a40000" # darker red + base[SELECTED] = "#cc0000" # red + base[INSENSITIVE] = "#e8e5de" # beige + + text[NORMAL] = "#000000" # black + text[PRELIGHT] = "#000000" # black + text[ACTIVE] = "#ffffff" # white + text[SELECTED] = "#ffffff" # white + text[INSENSITIVE] = "#b5b3ac" # dark beige + + engine "clearlooks" + { + #scrollbar_color = "#76acde" + menubarstyle = 2 # 0 = flat, 1 = sunken, 2 = flat gradient + #menuitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button) + #listviewitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient) + #progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat + animation = FALSE + } +} + +style "clearlooks-wide" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-wider" = "clearlooks-default" +{ + xthickness = 3 + ythickness = 3 +} + +style "clearlooks-button" = "clearlooks-wider" +{ + bg[NORMAL] = "#f6f4f1" + bg[INSENSITIVE] = "#f2efeb" + bg[PRELIGHT] = "#faf9f8" +} + +style "clearlooks-notebook" = "clearlooks-wide" +{ + bg[NORMAL] = "#efebe5" + bg[INSENSITIVE] = "#efebe5" +} + +style "clearlooks-tasklist" = "clearlooks-default" +{ + xthickness = 5 + ythickness = 3 +} + +style "clearlooks-menu" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 1 + bg[NORMAL] = "#f9f7f3" +} + +style "clearlooks-menubar-item" = "clearlooks-button" +{ + fg[PRELIGHT] = "#000000" +} + +style "clearlooks-menu-item" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 3 + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "clearlooks-tree" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-frame-title" = "clearlooks-default" +{ + fg[NORMAL] = "#404040" +} + +style "clearlooks-tooltips" = "clearlooks-default" +{ + xthickness = 4 + ythickness = 4 + bg[NORMAL] = { 1.0,1.0,0.75 } +} + +style "clearlooks-progressbar" = "clearlooks-wide" +{ + xthickness = 1 + ythickness = 1 + fg[PRELIGHT] = "#ffffff" +} + +style "clearlooks-combo" = "clearlooks-button" +{ +} + +style "clearlooks-menubar" = "blackrock-default" +{ + bg[NORMAL] = "#bacedb" +} + +# widget styles +class "GtkWidget" style "clearlooks-default" +class "GtkButton" style "clearlooks-button" +class "GtkScale" style "clearlooks-button" +class "GtkCombo" style "clearlooks-button" +class "GtkRange" style "clearlooks-wide" +class "GtkFrame" style "clearlooks-wide" +class "GtkMenu" style "clearlooks-menu" +class "GtkEntry" style "clearlooks-wider" +class "GtkMenuItem" style "clearlooks-menu-item" +class "GtkNotebook" style "clearlooks-notebook" +class "GtkProgressBar" style "clearlooks-progressbar" + +#class "GtkMenuBar" style "clearlooks-menubar" + +widget_class "*MenuItem.*" style "clearlooks-menu-item" +#widget_class "*.GtkMenuBar.*MenuItem.*" style "clearlooks-menubar-item" + +# combobox stuff +widget_class "*.GtkComboBox.GtkButton" style "clearlooks-combo" +widget_class "*.GtkCombo.GtkButton" style "clearlooks-combo" +# tooltips stuff +widget_class "*.tooltips.*.GtkToggleButton" style "clearlooks-tasklist" +widget "gtk-tooltips" style "clearlooks-tooltips" + +# treeview stuff +widget_class "*.GtkTreeView.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCTree.GtkButton" style "clearlooks-tree" +widget_class "*.GtkList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkFrame.GtkLabel" style "clearlooks-frame-title" + +# notebook stuff +widget_class "*.GtkNotebook.*.GtkEventBox" style "clearlooks-notebook" +widget_class "*.GtkNotebook.*.GtkViewport" style "clearlooks-notebook" + diff --git a/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc.orig b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc.orig new file mode 100644 index 0000000..7e133bb --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/includes.installer/usr/share/themes/Clearlooks/gtk-2.0/gtkrc.orig @@ -0,0 +1,183 @@ +style "clearlooks-default" +{ + GtkButton ::default_border = { 0, 0, 0, 0 } + GtkRange ::trough_border = 0 + GtkPaned ::handle_size = 6 + GtkRange ::slider_width = 15 + GtkRange ::stepper_size = 15 + + GtkScrollbar ::min_slider_length = 30 + GtkCheckButton ::indicator_size = 14 + GtkMenuBar ::internal-padding = 0 + GtkTreeView ::expander_size = 14 + GtkExpander ::expander_size = 16 + GtkScale ::slider-length = 27 +# GtkToolbar ::button-relief = GTK_RELIEF_NORMAL +# GtkMenuBar ::shadow-type = GTK_SHADOW_OUT +# GtkScrollbar ::has-secondary-forward-stepper = 1 +# GtkScrollbar ::has-secondary-backward-stepper = 1 + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + + WnckTasklist ::fade-overlay-rect = 0 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = "#000000" # black + fg[PRELIGHT] = "#000000" # black + fg[SELECTED] = "#ffffff" # white + fg[ACTIVE] = "#000000" # black + fg[INSENSITIVE] = "#b5b3ac" # dark beige + + bg[NORMAL] = "#ede9e3" + bg[PRELIGHT] = "#f9f7f3" # very light beige + bg[SELECTED] = "#d60052" # red + bg[INSENSITIVE] = "#efebe5" # beige + bg[ACTIVE] = "#dcd4c9" #"#d7d3ca" # dark beige + + base[NORMAL] = "#ffffff" # white + base[PRELIGHT] = "#5f8ec4" # dark beige + base[ACTIVE] = "#b20044" # darker red + base[SELECTED] = "#d60052" # red + base[INSENSITIVE] = "#e8e5de" # beige + + text[NORMAL] = "#000000" # black + text[PRELIGHT] = "#000000" # black + text[ACTIVE] = "#ffffff" # white + text[SELECTED] = "#ffffff" # white + text[INSENSITIVE] = "#b5b3ac" # dark beige + + engine "clearlooks" + { + #scrollbar_color = "#76acde" + menubarstyle = 2 # 0 = flat, 1 = sunken, 2 = flat gradient + #menuitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button) + #listviewitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient) + #progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat + animation = FALSE + } +} + +style "clearlooks-wide" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-wider" = "clearlooks-default" +{ + xthickness = 3 + ythickness = 3 +} + +style "clearlooks-button" = "clearlooks-wider" +{ + bg[NORMAL] = "#f6f4f1" + bg[INSENSITIVE] = "#f2efeb" + bg[PRELIGHT] = "#faf9f8" +} + +style "clearlooks-notebook" = "clearlooks-wide" +{ + bg[NORMAL] = "#efebe5" + bg[INSENSITIVE] = "#efebe5" +} + +style "clearlooks-tasklist" = "clearlooks-default" +{ + xthickness = 5 + ythickness = 3 +} + +style "clearlooks-menu" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 1 + bg[NORMAL] = "#f9f7f3" +} + +style "clearlooks-menubar-item" = "clearlooks-button" +{ + fg[PRELIGHT] = "#000000" +} + +style "clearlooks-menu-item" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 3 + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "clearlooks-tree" = "clearlooks-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "clearlooks-frame-title" = "clearlooks-default" +{ + fg[NORMAL] = "#404040" +} + +style "clearlooks-tooltips" = "clearlooks-default" +{ + xthickness = 4 + ythickness = 4 + bg[NORMAL] = { 1.0,1.0,0.75 } +} + +style "clearlooks-progressbar" = "clearlooks-wide" +{ + xthickness = 1 + ythickness = 1 + fg[PRELIGHT] = "#ffffff" +} + +style "clearlooks-combo" = "clearlooks-button" +{ +} + +style "clearlooks-menubar" = "blackrock-default" +{ + bg[NORMAL] = "#bacedb" +} + +# widget styles +class "GtkWidget" style "clearlooks-default" +class "GtkButton" style "clearlooks-button" +class "GtkScale" style "clearlooks-button" +class "GtkCombo" style "clearlooks-button" +class "GtkRange" style "clearlooks-wide" +class "GtkFrame" style "clearlooks-wide" +class "GtkMenu" style "clearlooks-menu" +class "GtkEntry" style "clearlooks-wider" +class "GtkMenuItem" style "clearlooks-menu-item" +class "GtkNotebook" style "clearlooks-notebook" +class "GtkProgressBar" style "clearlooks-progressbar" + +#class "GtkMenuBar" style "clearlooks-menubar" + +widget_class "*MenuItem.*" style "clearlooks-menu-item" +#widget_class "*.GtkMenuBar.*MenuItem.*" style "clearlooks-menubar-item" + +# combobox stuff +widget_class "*.GtkComboBox.GtkButton" style "clearlooks-combo" +widget_class "*.GtkCombo.GtkButton" style "clearlooks-combo" +# tooltips stuff +widget_class "*.tooltips.*.GtkToggleButton" style "clearlooks-tasklist" +widget "gtk-tooltips" style "clearlooks-tooltips" + +# treeview stuff +widget_class "*.GtkTreeView.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCTree.GtkButton" style "clearlooks-tree" +widget_class "*.GtkList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkCList.GtkButton" style "clearlooks-tree" +widget_class "*.GtkFrame.GtkLabel" style "clearlooks-frame-title" + +# notebook stuff +widget_class "*.GtkNotebook.*.GtkEventBox" style "clearlooks-notebook" +widget_class "*.GtkNotebook.*.GtkViewport" style "clearlooks-notebook" + diff --git a/system-images/share/images/gnome-desktop/config/package-lists/base-system.list.chroot b/system-images/share/images/gnome-desktop/config/package-lists/base-system.list.chroot new file mode 100644 index 0000000..179aee8 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/package-lists/base-system.list.chroot @@ -0,0 +1,2 @@ +task-ssh-server +knot-resolver diff --git a/system-images/share/images/gnome-desktop/config/package-lists/dkms.list.chroot_install b/system-images/share/images/gnome-desktop/config/package-lists/dkms.list.chroot_install new file mode 100644 index 0000000..a2caaf3 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/package-lists/dkms.list.chroot_install @@ -0,0 +1,22 @@ + +#if PARENT_ARCHIVE_AREAS non-free + # live-config xserver-xorg script + pciutils + + # broadcom-sta + broadcom-sta-dkms + + # fglrx-driver + fglrx-modules-dkms + fglrx-driver + fglrx-control + + # nvidia-graphics-drivers + nvidia-kernel-dkms + nvidia-glx + xserver-xorg-video-nvidia + nvidia-settings + nvidia-xconfig + nvidia-vdpau-driver + vdpau-va-driver +#endif diff --git a/system-images/share/images/gnome-desktop/config/package-lists/dkms.list.chroot_live b/system-images/share/images/gnome-desktop/config/package-lists/dkms.list.chroot_live new file mode 100644 index 0000000..93d0692 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/package-lists/dkms.list.chroot_live @@ -0,0 +1,7 @@ + +#if PARENT_ARCHIVE_AREAS contrib + # virtualbox + virtualbox-guest-dkms + virtualbox-guest-utils + virtualbox-guest-x11 +#endif diff --git a/system-images/share/images/gnome-desktop/config/package-lists/gnome-desktop.list.chroot b/system-images/share/images/gnome-desktop/config/package-lists/gnome-desktop.list.chroot new file mode 100644 index 0000000..ed63cf9 --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/package-lists/gnome-desktop.list.chroot @@ -0,0 +1,9 @@ +task-gnome-desktop +task-laptop +task-print-server + +plymouth +plymouth-x11 + +gstreamer1.0-vaapi +i965-va-driver diff --git a/system-images/share/images/gnome-desktop/config/package-lists/memtest.list.chroot b/system-images/share/images/gnome-desktop/config/package-lists/memtest.list.chroot new file mode 100644 index 0000000..386444d --- /dev/null +++ b/system-images/share/images/gnome-desktop/config/package-lists/memtest.list.chroot @@ -0,0 +1,4 @@ + +#if ARCHITECTURES amd64 hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 +memtest86+ +#endif diff --git a/system-images/share/man/Makefile b/system-images/share/man/Makefile new file mode 100644 index 0000000..40982a8 --- /dev/null +++ b/system-images/share/man/Makefile @@ -0,0 +1,43 @@ +# Makefile + +# system-images - Debian based live and installer images +# Copyright (C) 2006-2016 Daniel Baumann <daniel.baumann@open-infrastructure.net> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Depends: asciidoc dblatex docbook-xsl libxml2-utils source-highlight + +A2X = a2x \ + --asciidoc-opts "-a revdate=$(shell cat ../../VERSION.txt)" \ + --doctype=manpage + +SHELL := sh -e + +all: build + +clean: + rm -f *.[0-9] + rm -f *.xml + +build: man + +rebuild: clean build + +man: *.txt + for FILE in *.txt; \ + do \ + $(A2X) --format=manpage $${FILE}; \ + done + +.PHONY: all clean build rebuild man diff --git a/system-images/share/man/system-images-base-system.7.txt b/system-images/share/man/system-images-base-system.7.txt new file mode 100644 index 0000000..8bd86fa --- /dev/null +++ b/system-images/share/man/system-images-base-system.7.txt @@ -0,0 +1,110 @@ +// system-images - Debian based live and installer images +// Copyright (C) 2006-2016 Daniel Baumann <daniel.baumann@open-infrastructure.net> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +SYSTEM-IMAGES-BASE-SYSTEM(7) +============================ +:doctype: manpage +:man manual: Open Infrastructure +:man source: system-images +:man version: {revnumber} + + +NAME +---- +system-images base-system - minimal live and installer image + + +DESCRIPTION +----------- +"In computing, configuration files, or config files configure the initial +settings for some computer programs." + + -- Wikipedia (https://en.wikipedia.org/wiki/Configuration_file) + +system-images contains configuration trees of some Debian based live and +installer images. + + +DOWNLOAD +-------- + * Upstream Releases: https://files.open-infrastructure.net/software/system-images/upstream + * Upstream Sources: https://sources.open-infrastructure.net/software/system-images + * Debian Releases: https://files.open-infrastructure.net/software/system-images/debian + * Debian Sources: https://sources.progress-linux.org/users/daniel/debian/packages/open-infrastructure-system-images + + +INSTALLATION +------------ + +SOURCE +~~~~~~ + 1. sudo apt install asciidoc git docbook-xml docbook-xsl libxml2-utils make xsltproc imagemagick librsvg2-bin + 2. git clone https://sources.open-infrastructure.net/software/system-images + 3. cd system-images && sudo make install + +DEBIAN 9 (STRETCH) AND NEWER +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * sudo apt install system-images + + +DEVELOPMENT +----------- +Bug reports, feature requests, help, patches, support and everything else +are welcome on the Open Infrastructure Software Mailing List: + + * https://lists.open-infrastructure.net/listinfo/software + +Please base patches against the 'next' Git branch using common sense: + + * https://www.kernel.org/doc/Documentation/SubmittingPatches + +Debian specific bugs can also be reported in the Debian Bug Tracking System: + + * https://bugs.debian.org + + +USAGE +----- +The following configuration trees are available: + + * base-system: a Debian based, minmal system, + see https://debian.org + + * container-server: a Container Server system using container-tools, + see https://open-infrastructure.net/software/container-tools + + * gnome-desktop: a GNOME Desktop system using GNOME, + see https://gnome.org + +A software called system-build can be used to automatically build images from +this configuration tree. + +system-build can be obtained from https://open-infrastructure.net/software/system-build. + +On Debian based systems, system-build can be installed with: + + # apt-get install system-build + +system-build can be used to build this image with the following command executed +in this directory:: + + # lb build + + +AUTHORS +------- + + * Daniel Baumann <daniel.baumann@open-infrastructure.net> diff --git a/system-images/share/man/system-images-container-server.7.txt b/system-images/share/man/system-images-container-server.7.txt new file mode 100644 index 0000000..fd7db80 --- /dev/null +++ b/system-images/share/man/system-images-container-server.7.txt @@ -0,0 +1,110 @@ +// system-images - Debian based live and installer images +// Copyright (C) 2006-2016 Daniel Baumann <daniel.baumann@open-infrastructure.net> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +SYSTEM-IMAGES-CONTAINER-SEVER(7) +================================ +:doctype: manpage +:man manual: Open Infrastructure +:man source: system-images +:man version: {revnumber} + + +NAME +---- +system-images container-sever - live and installer image for a container-tools(7) host system + + +DESCRIPTION +----------- +"In computing, configuration files, or config files configure the initial +settings for some computer programs." + + -- Wikipedia (https://en.wikipedia.org/wiki/Configuration_file) + +system-images contains configuration trees of some Debian based live and +installer images. + + +DOWNLOAD +-------- + * Upstream Releases: https://files.open-infrastructure.net/software/system-images/upstream + * Upstream Sources: https://sources.open-infrastructure.net/software/system-images + * Debian Releases: https://files.open-infrastructure.net/software/system-images/debian + * Debian Sources: https://sources.progress-linux.org/users/daniel/debian/packages/open-infrastructure-system-images + + +INSTALLATION +------------ + +SOURCE +~~~~~~ + 1. sudo apt install asciidoc git docbook-xml docbook-xsl libxml2-utils make xsltproc imagemagick librsvg2-bin + 2. git clone https://sources.open-infrastructure.net/software/system-images + 3. cd system-images && sudo make install + +DEBIAN 9 (STRETCH) AND NEWER +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * sudo apt install system-images + + +DEVELOPMENT +----------- +Bug reports, feature requests, help, patches, support and everything else +are welcome on the Open Infrastructure Software Mailing List: + + * https://lists.open-infrastructure.net/listinfo/software + +Please base patches against the 'next' Git branch using common sense: + + * https://www.kernel.org/doc/Documentation/SubmittingPatches + +Debian specific bugs can also be reported in the Debian Bug Tracking System: + + * https://bugs.debian.org + + +USAGE +----- +The following configuration trees are available: + + * base-system: a Debian based, minmal system, + see https://debian.org + + * container-server: a Container Server system using container-tools, + see https://open-infrastructure.net/software/container-tools + + * gnome-desktop: a GNOME Desktop system using GNOME, + see https://gnome.org + +A software called system-build can be used to automatically build images from +this configuration tree. + +system-build can be obtained from https://open-infrastructure.net/software/system-build. + +On Debian based systems, system-build can be installed with: + + # apt-get install system-build + +system-build can be used to build this image with the following command executed +in this directory:: + + # lb build + + +AUTHORS +------- + + * Daniel Baumann <daniel.baumann@open-infrastructure.net> diff --git a/system-images/share/man/system-images-gnome-desktop.7.txt b/system-images/share/man/system-images-gnome-desktop.7.txt new file mode 100644 index 0000000..46d67af --- /dev/null +++ b/system-images/share/man/system-images-gnome-desktop.7.txt @@ -0,0 +1,110 @@ +// system-images - Debian based live and installer images +// Copyright (C) 2006-2016 Daniel Baumann <daniel.baumann@open-infrastructure.net> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +SYSTEM-IMAGES-GNOME-DESKTOP(7) +============================== +:doctype: manpage +:man manual: Open Infrastructure +:man source: system-images +:man version: {revnumber} + + +NAME +---- +system-images container-sever - live and installer image for a GNOME desktop system + + +DESCRIPTION +----------- +"In computing, configuration files, or config files configure the initial +settings for some computer programs." + + -- Wikipedia (https://en.wikipedia.org/wiki/Configuration_file) + +system-images contains configuration trees of some Debian based live and +installer images. + + +DOWNLOAD +-------- + * Upstream Releases: https://files.open-infrastructure.net/software/system-images/upstream + * Upstream Sources: https://sources.open-infrastructure.net/software/system-images + * Debian Releases: https://files.open-infrastructure.net/software/system-images/debian + * Debian Sources: https://sources.progress-linux.org/users/daniel/debian/packages/open-infrastructure-system-images + + +INSTALLATION +------------ + +SOURCE +~~~~~~ + 1. sudo apt install asciidoc git docbook-xml docbook-xsl libxml2-utils make xsltproc imagemagick librsvg2-bin + 2. git clone https://sources.open-infrastructure.net/software/system-images + 3. cd system-images && sudo make install + +DEBIAN 9 (STRETCH) AND NEWER +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * sudo apt install system-images + + +DEVELOPMENT +----------- +Bug reports, feature requests, help, patches, support and everything else +are welcome on the Open Infrastructure Software Mailing List: + + * https://lists.open-infrastructure.net/listinfo/software + +Please base patches against the 'next' Git branch using common sense: + + * https://www.kernel.org/doc/Documentation/SubmittingPatches + +Debian specific bugs can also be reported in the Debian Bug Tracking System: + + * https://bugs.debian.org + + +USAGE +----- +The following configuration trees are available: + + * base-system: a Debian based, minmal system, + see https://debian.org + + * container-server: a Container Server system using container-tools, + see https://open-infrastructure.net/software/container-tools + + * gnome-desktop: a GNOME Desktop system using GNOME, + see https://gnome.org + +A software called system-build can be used to automatically build images from +this configuration tree. + +system-build can be obtained from https://open-infrastructure.net/software/system-build. + +On Debian based systems, system-build can be installed with: + + # apt-get install system-build + +system-build can be used to build this image with the following command executed +in this directory:: + + # lb build + + +AUTHORS +------- + + * Daniel Baumann <daniel.baumann@open-infrastructure.net> diff --git a/system-images/share/man/system-images.7.txt b/system-images/share/man/system-images.7.txt new file mode 100644 index 0000000..7322eb6 --- /dev/null +++ b/system-images/share/man/system-images.7.txt @@ -0,0 +1,110 @@ +// system-images - Debian based live and installer images +// Copyright (C) 2006-2016 Daniel Baumann <daniel.baumann@open-infrastructure.net> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +SYSTEM-IMAGES(7) +================ +:doctype: manpage +:man manual: Open Infrastructure +:man source: system-images +:man version: {revnumber} + + +NAME +---- +system-images - Debian based live and installer images + + +DESCRIPTION +----------- +"In computing, configuration files, or config files configure the initial +settings for some computer programs." + + -- Wikipedia (https://en.wikipedia.org/wiki/Configuration_file) + +system-images contains configuration trees of some Debian based live and +installer images. + + +DOWNLOAD +-------- + * Upstream Releases: https://files.open-infrastructure.net/software/system-images/upstream + * Upstream Sources: https://sources.open-infrastructure.net/software/system-images + * Debian Releases: https://files.open-infrastructure.net/software/system-images/debian + * Debian Sources: https://sources.progress-linux.org/users/daniel/debian/packages/open-infrastructure-system-images + + +INSTALLATION +------------ + +SOURCE +~~~~~~ + 1. sudo apt install asciidoc git docbook-xml docbook-xsl libxml2-utils make xsltproc imagemagick librsvg2-bin + 2. git clone https://sources.open-infrastructure.net/software/system-images + 3. cd system-images && sudo make install + +DEBIAN 9 (STRETCH) AND NEWER +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * sudo apt install system-images + + +DEVELOPMENT +----------- +Bug reports, feature requests, help, patches, support and everything else +are welcome on the Open Infrastructure Software Mailing List: + + * https://lists.open-infrastructure.net/listinfo/software + +Please base patches against the 'next' Git branch using common sense: + + * https://www.kernel.org/doc/Documentation/SubmittingPatches + +Debian specific bugs can also be reported in the Debian Bug Tracking System: + + * https://bugs.debian.org + + +USAGE +----- +The following configuration trees are available: + + * base-system: a Debian based, minmal system, + see https://debian.org + + * container-server: a Container Server system using container-tools, + see https://open-infrastructure.net/software/container-tools + + * gnome-desktop: a GNOME Desktop system using GNOME, + see https://gnome.org + +A software called system-build can be used to automatically build images from +this configuration tree. + +system-build can be obtained from https://open-infrastructure.net/software/system-build. + +On Debian based systems, system-build can be installed with: + + # apt-get install system-build + +system-build can be used to build this image with the following command executed +in this directory:: + + # lb build + + +AUTHORS +------- + + * Daniel Baumann <daniel.baumann@open-infrastructure.net> |