pax_global_header00006660000000000000000000000064114155033510014510gustar00rootroot0000000000000052 comment=e7532e2d520fc84bf9c68fd6b94cf0d3b20cf2b1 yaboot-1.3.16/000077500000000000000000000000001141550335100130755ustar00rootroot00000000000000yaboot-1.3.16/0arch-timestamps0000066400000000000000000000113571141550335100162700ustar00rootroot00000000000000./0arch-timestamps0 1127716589 1127716862 ./BUGS 1109049412 1000991730 ./COPYING 1109049412 1000991730 ./ChangeLog 1127716742 1127716860 ./Config 1109049412 1002101497 ./INSTALL 1109049412 1000991730 ./README 1109049412 1044766458 ./README.man.patch 1109049412 1000991730 ./THANKS 1109049412 1006350263 ./TODO 1109049412 1044766566 ./changelog 1109049412 1089576078 ./doc/Makefile 1109049412 1019310768 ./doc/README.ofboot 1109049412 1000991730 ./doc/README.ofpath 1109049412 1000991730 ./doc/README.rs6000 1109049412 1007200689 ./doc/examples/README.dualboot.chrp 1109049412 1000991730 ./doc/examples/README.mbicons 1109049412 1000991730 ./doc/examples/README.simpleboot.chrp 1109049412 1000991730 ./doc/examples/dualboot.chrp 1109049412 1068017741 ./doc/examples/large-penguin.mbicon 1109049412 1000991730 ./doc/examples/simpleboot.chrp 1109049412 1068017750 ./doc/examples/yaboot.conf.multi-boot 1109049412 1006348765 ./doc/examples/yaboot.conf.rs6000 1109049412 1006348765 ./doc/examples 1127716657 1068017750 ./doc/yaboot-howto.de.sgml 1109049413 1096186109 ./doc/yaboot-howto.sgml 1109049413 1096186082 ./doc 1127716657 1096186109 ./etc/yaboot.conf 1109049413 1006348765 ./etc 1127716657 1007269243 ./first/ofboot 1118285749 1065311880 ./first 1127716657 1071492158 ./include/asm/elf.h 1109049413 1000991730 ./include/asm/ppc_asm.tmpl 1109049413 1000991730 ./include/asm/processor.h 1109049413 1000991730 ./include/asm 1127716657 1007269243 ./include/bootinfo.h 1109049413 1007200690 ./include/byteorder.h 1109049413 1000991730 ./include/cfg.h 1109049413 1007200690 ./include/cmdline.h 1109049413 1007200690 ./include/ctype.h 1109049413 1003656411 ./include/debug.h 1109049413 1007200690 ./include/errors.h 1109049413 1007200690 ./include/et/com_err.h 1109049413 1000991731 ./include/et 1127716657 1007269243 ./include/ext2fs/bitops.h 1109049413 1003927524 ./include/ext2fs/ext2_err.h 1109049413 1003927524 ./include/ext2fs/ext2_io.h 1109049413 1003927524 ./include/ext2fs/ext2fs.h 1109049413 1003927524 ./include/ext2fs 1127716657 1007269243 ./include/file.h 1109049413 1007200690 ./include/fs.h 1109049413 1007200690 ./include/linux/elf.h 1109049413 1000991731 ./include/linux/ext2_fs.h 1109049413 1000991731 ./include/linux/iso_fs.h 1109049413 1000991731 ./include/linux/stat.h 1109049413 1000991731 ./include/linux/types.h 1109049413 1000991731 ./include/linux 1127716657 1007269243 ./include/mac-part.h 1109049413 1007200690 ./include/md5.h 1109049413 1000991730 ./include/prom.h 1109049413 1007200690 ./include/reiserfs/reiserfs.h 1109049413 1025684115 ./include/reiserfs 1127716657 1025684115 ./include/setjm2.h 1109049413 1000991730 ./include/setjmp.h 1109049413 1000991730 ./include/stdlib.h 1109049413 1000991730 ./include/string.h 1109049413 1002620217 ./include/swab.h 1109049413 1000991730 ./include/types.h 1109049413 1000991730 ./include/xfs/xfs.h 1109049413 1002101334 ./include/xfs 1127716658 1007269244 ./include/yaboot.h 1109049413 1007200690 ./include/amiga-part.h 1116558586 1116558522 ./include/fdisk-part.h 1120953080 1120952841 ./include/partition.h 1120953080 1120952841 ./include 1127716657 1120952841 ./lib/ctype.c 1109049413 1000991731 ./lib/libext2fs.a 1109049413 1003927524 ./lib/malloc.c 1122610545 1007200690 ./lib/nosys.c 1109049413 1000991731 ./lib/string.S 1109049413 1007200690 ./lib/strtol.c 1109049413 1000991731 ./lib/vsprintf.c 1109049413 1000991731 ./lib/strstr.c 1119929028 1116476589 ./lib 1127716658 1116476589 ./man/bootstrap.8 1116558691 1000991731 ./man/mkofboot.8 1116558691 1006348765 ./man/ofpath.8 1116558691 1000991731 ./man/yaboot.conf.5 1125033367 1004256691 ./man/yabootconfig.8 1116558691 1027929577 ./man/ybin.8 1116558691 1006348765 ./man/yaboot.8 1125032949 1090699543 ./man 1127716658 1116476667 ./man.patch 1116558699 1006348761 ./second/cache.S 1127716272 1007200690 ./second/cfg.c 1127716272 1007200690 ./second/cmdline.c 1127716272 1032059589 ./second/crt0.S 1127716272 1000991731 ./second/fs.c 1127716272 1032059574 ./second/fs_ext2.c 1127716272 1032059564 ./second/fs_iso.c 1127716272 1007200690 ./second/fs_reiserfs.c 1127716272 1007200690 ./second/fs_xfs.c 1127716272 1032059541 ./second/iso_util.c 1127716272 1003656415 ./second/md5.c 1127716272 1032059532 ./second/prom.c 1127716272 1067937197 ./second/setjmp.S 1127716272 1000991732 ./second/partition.c 1127716272 1122611207 ./second/fs_of.c 1127716272 1123038648 ./second/yaboot.c 1127716589 1127716492 ./second/file.c 1127716734 1127716734 ./second 1127716862 1127716734 ./util/elfextract.c 1109049413 1007303237 ./util/addnote.c 1109049413 1107321884 ./util 1127716658 1107321884 ./ybin/mkofboot 1127716369 1073219938 ./ybin/ofpath 1120448537 1120448442 ./ybin/yabootconfig 1117166139 1089576743 ./ybin/ybin 1120448039 1120447943 ./ybin 1127716658 1120448442 ./Makefile 1127716376 1127716319 . 1127716862 1127716860 yaboot-1.3.16/BUGS000066400000000000000000000001131141550335100135530ustar00rootroot00000000000000Bugs? what bugs? if you find one let me know. send to: erbenson@alaska.net yaboot-1.3.16/COPYING000066400000000000000000000431101141550335100141270ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the 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 a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 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. 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 convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision 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, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This 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 Library General Public License instead of this License. yaboot-1.3.16/ChangeLog000066400000000000000000001340721141550335100146560ustar00rootroot00000000000000commit 58838f4a6973c60dc1b764fba20682ce07bb6c96 Author: Paul Nasrat Date: Fri Aug 17 15:22:00 2007 +0100 On some of the larger kernels we are starting to see a space squeeze. The kernel is currently being put at 20MBs and on some of the newer pSeries systems we are getting real-bases at 32MBs (plus AIX 5.3 has real-base at 32MB, so if AIX is ever booted, everything gets shifted). If the uncompressed kernel+initrd is larger than 12MBs then we see truncation (typical on install kernels). This patch moves the KERNELADDR to 0x00C00000 (12MB). If real-base is 12MB and is loaed there, yaboot will keep going up by a megabyte until prom_claim finds space. And the uncompressed kernel should be indifferent where it's loaded because there's nothing at 32MB (ie it will operate as it does today). If OF is loaded at 32MB then the 12MB region is free and the uncompressed kernel will have more space to grow. I have tested this on numerous pSeries boxes. I have not tested on anything else. Signed-off-by: Jake Moilanen commit 1bea6140c2894b1259fd07f323b25fd846bd5acf Author: Paul Nasrat Date: Thu Jul 26 09:27:58 2007 +0100 Fix typo courtesy of Kenichi Nagai commit 58096e43b6efd2fb51e81866fff9660b70d5df64 Author: Paul Nasrat Date: Thu Jul 19 14:16:30 2007 +0100 Prepare 1.3.14 commit 6166753b1295119cfd8f7a5973b0b523098ef263 Author: Paul Nasrat Date: Thu May 17 13:54:20 2007 +0100 Netboot fixes: - the ARRAY_SIZE macro is no more needed here, - use of cfgpath to have the actual config path to apply for mac *and* ip lookup, - no need to free a buffer big enough, and besides malloc(9) was not enough ("/etc/" missed), - use of intermediate length variables to avoid unneeded calls to strlen() and strrchr(). benoit.guillon commit cfe3648f1f16d7399a2f0818ffb4e64da0c07cf5 Author: Paul Nasrat Date: Thu May 17 11:30:59 2007 +0100 Correct return type Leonardo Rangel commit 6084bb9a372a5fb9fa3e63a26c1770036c31883d Author: Paul Nasrat Date: Thu May 17 11:29:29 2007 +0100 Add missing includes Leonardo Rangel commit 8aeef6f3fcbe661003268ee598de5601a192b965 Author: Paul Nasrat Date: Thu May 17 11:28:19 2007 +0100 Fix compilation warnings by using return not exit. Leonardo Rangel commit 1d2796d399a2076511df671e2f35eb0869085a6a Author: Paul Nasrat Date: Thu May 17 11:27:23 2007 +0100 Now we stop truncating characters for pxelinux style boot at the directory seperator. Leonardo Rangel commit 06c6d687b3e76b2e728b1d59aaf408c20df029cb Author: Paul Nasrat Date: Wed May 16 10:22:59 2007 +0100 Update ChangeLog from git commit fa024941f8f1237e01e2ecf338442be9062953cc Author: Paul Nasrat Date: Tue May 15 14:28:02 2007 +0100 use of cfg_set_default_by_mac() function in yaboot.c This last part calls the cfg_set_default_by_mac() function in yaboot.c by load_config_file() function. Signed-off-by: Paulo Ricardo Paz Vital commit 313f71b25817a54832ac2ab46efcee2f5ab30331 Author: Paul Nasrat Date: Tue May 15 14:25:55 2007 +0100 This part creates the cfg_set_default_by_mac() function. This function sets the default cf_option if there is an image label if the same MAC address of the machine is netbooting. Signed-off-by: Paulo Ricardo Paz Vital commit cf0768af118d79ba4888a7fb0fcd800fdf76dc98 Author: Paul Nasrat Date: Tue May 15 14:24:06 2007 +0100 load_my_config_file() modifications in yaboot.c This second part, deletes the netbooting like PXE algorithm from yaboot.c (reallocated in prom.c) and sets the use of prom_get_netinfo(), prom_get_mac (), prom_get_ip () functions in load_my_config_file() function to netbooting work like before the changes. Signed-off-by: Paulo Ricardo Paz Vital commit 78cfabe0fac2682681c604bfe9b7266f173b9ea2 Author: Paul Nasrat Date: Tue May 15 14:23:26 2007 +0100 prom functions This first part creates the prom_get_netinfo (), prom_get_mac (), prom_get_ip () functions, and some structures to get the necessary information about the MAC and IP addresses. Actually, this is a reallocation of netbooting like PXE algorithm wrote by Benoit Guillon [1], to be used by any other part of Yaboot to get the netbooting information. [1] http://ozlabs.org/pipermail/yaboot-devel/2006-December/000062.html Signed-off-by: Paulo Ricardo Paz Vital commit c5340d42bba9a51b5b0e22f2161985213d54f805 Author: Paul Nasrat Date: Tue May 15 14:18:33 2007 +0100 This patch fixes OF netbooting on pSeries Signed-off-by: Paulo Ricardo Paz Vital commit 750ce1ac64bea60a4c072373ed9661c8b180b627 Author: Paul Nasrat Date: Tue May 15 14:14:43 2007 +0100 User-specified config file on Yaboot's prompt This patch clears out the kernel image list before loading a new config file. Leonardo Rangel lrangel at linux.vnet.ibm.com commit 7305a1de1f811a7e5afe9ec24244848c298ef352 Author: Paul Nasrat Date: Thu Apr 19 10:27:05 2007 +0100 Enable user to supply config from yaboot command line. Leonardo Rangel commit aa67de3649c86c158622391aeec0016645b4f0d1 Author: Paul Nasrat Date: Thu Apr 19 10:25:28 2007 +0100 The following patch fix reverts removal of some lines for the netboot patch. Signed-off-by: Paulo Ricardo Paz Vital commit a5b19d45fb5569f68e56445536296188b2ec0809 Author: Paul Nasrat Date: Thu Apr 19 10:14:24 2007 +0100 ybin userland interface for specifying bootonce Add an option to ybin called "--bootonce" that takes exactly one argument, the label of the kernel to boot exactly once, on next reboot. Do some sanity checking. Grep through the yaboot config file to make sure that label=WHATEVER exists somewhere, bail if not. Try to prune out comment lines. Perhaps this might be implemented better. It worked will in my testing, though. Set the boot-once OF environment variable to the --bootonce value. Due to the previously mentioned nvsetenv bug, this will fail silently if you're trying to set boot-once on a system where boot-once doesn't already exist in nvram. Thus, immediately after doing the set, try and read it back out of nvsetenv and make sure it landed there. Bail if not. Signed-off-by: Dustin Kirkland commit 89f352cbee373069ed035476cb4c18027ff0a5b3 Author: Paul Nasrat Date: Thu Apr 19 10:13:43 2007 +0100 yaboot menu user interface This patch allows for denoting a kernel label as a "boot-once" label when printing the menu of labels. The label flagged as default is marked with an asterisk (*). If a label matches the global bootoncelabel, I'm marking it with an ampersand (&). I'm ambivalent about the symbol used here, or even if it is. But I found this bit useful when debugging and testing the functionality, and it's trivial to add cleanly. I chose ampersand because it's immediately left of the asterisk on my keyboard. commit 320a30ef3761980800710b9d8352229c53c36a43 Author: Paul Nasrat Date: Thu Apr 19 10:12:22 2007 +0100 read boot-once, zero out, set bootoncelabel as default This patch reads the boot-once environment variable from Open Firmware and stores in a global variable, "bootoncelabel". It then unconditionally zeros out the boot-once environment variable. *** Note that according to 1275, setprop will create a specified environment variable if it doesn't already exist. A bug in nvsetenv causes it to fail silently if you try to set an OF environment variable that does not already exist. However, simply booting a system running a yaboot with this patch set compiled in will in fact create the boot-once environment variable, which nvsetenv can later set and reset. Signed-off-by: Dustin Kirkland commit 5d4289bddaef010cc14bcbeecfd13d5068b50a8e Author: Paul Nasrat Date: Thu Apr 19 10:11:19 2007 +0100 prom setprop primatives This patch creates the prom_set_options() and prom_setprop() functions. These are precise mirrors of their read-only brothers, prom_get_options() and prom_getprop(), implemented as defined in the Open Firmware 1275 spec. The prom_set_options() function will be used to zero out the boot-once label unconditionally after reading it. Signed-off-by: Dustin Kirkland commit 117cc2a76cc76227a5dd99d3435afb6737a41879 Author: Paul Nasrat Date: Wed Apr 18 14:27:59 2007 +0100 Loading a different config file (confarg feature) Origin: Paulo Ricardo Paz Vital commit 874609eb643e1f93f78b36c706dcdfb6bb4ddde3 Author: Paul Nasrat Date: Wed Mar 7 11:31:12 2007 +0000 Remove devel debugging code Patch from Benoit Guillon commit be7cdc5970eef6bf45394304a0aaeb1ae203d456 Author: Paul Nasrat Date: Wed Mar 7 08:52:19 2007 +0000 Compile fix Paulo Vital commit a5141a38c8aacc04e7c7673d2cb522a085245d68 Author: Paul Nasrat Date: Fri Mar 2 16:36:30 2007 +0000 This is a combination of three patches (the first two for adding prom_getproplen and ARRAY_SIZE) for getting the pxelinux config file search working. Nathan Lynch (original patch) Benoit Guillon (update to 1.3.14rc tree) commit 778a7e33cfa273b52c5b6256e61da1e00303d304 Author: Paul Nasrat Date: Fri Mar 2 16:26:18 2007 +0000 Certain levels of IBM firmware will allow the system to boot from an iscsi target. System OFW accomplishes this by setting up a virtual disk device with parameters. These parameters, when passed back to OFW by yaboot, directs the FW to use virtual device over the ethernet port that will then access iscsi target as a block device. This patch extracts those parameters from the property of the virtual device and passes them back to OFW to indicate the kernel is to be retrieved via the iscsi protocol. Signed-off-by: Doug Maxey Cc: Ben Herrenscmidt Cc: Mike Christie commit 6f00a510abbfaa45b580cf5f371f0168ba662d3d Author: Paul Nasrat Date: Thu Feb 15 12:32:26 2007 +0000 Merge ability to have per machine type config entries from ubuntu/silo. commit 3a57377b5279a98ad98ef4b535eb0516099bc737 Author: Paul Nasrat Date: Thu Feb 15 12:24:28 2007 +0000 Determine last ext3 LBA to fix wild LBA reads Signed-off-by: Doug Maxey Cc: Ben Herrenschmidt commit 216a58f46680540da482f6fc5499b283f2e5830d Author: Paul Nasrat Date: Thu Feb 15 12:21:14 2007 +0000 Remove binary libext2fs.a and build against system library. commit ba131271e6a8f3401cf6faa7d751530b6151ae3a Author: Paul Nasrat Date: Thu Feb 15 12:09:45 2007 +0000 Remove binary libext2fs.a and build against system library. commit b714c2f1ef68d3666d14dd3a96351649468329aa Author: Paul Nasrat Date: Tue Nov 28 14:36:02 2006 +0000 Device-trees don't have symlinks made any more commit 1d8bdec959fa2675b7c1b752cac22fa47edb9394 Author: Paul Nasrat Date: Thu Nov 16 12:34:02 2006 +0000 Add support to ofpath for usb-storage and fix sbp-2 storage Patch from Alex Kanavin commit 19b1c37ef5cc57f24311a1de997a304714fbfd0e Author: Paul Nasrat Date: Tue Jul 11 16:25:26 2006 -0400 Clean up yabootconfig kernel/initrd code - Joseph Jezak commit 75c4ba10686ac9d3a392cdcd537489eaf656951e Author: Paul Nasrat Date: Tue Jul 11 16:18:09 2006 -0400 Fix for not all device trees having k2-sata@N/compatible (from gentoo) commit cd202d3404a953404f59453e8998a9fa13fa8ccf Author: Paul Nasrat Date: Wed May 10 14:48:35 2006 -0400 Merge ubuntu ofpath fixes commit a2b7bb030d78c61ef150f8c9f6926c9558a6f1b5 Author: Doug Maxey Date: Mon Apr 24 22:37:33 2006 -0500 Sweep all the files for trailing whitespace. Signed-off-by: Doug Maxey commit 91c4dc8ecc65bbd490c1da2e89d4f576db7e8344 Author: Paul Nasrat Date: Fri Apr 21 10:49:59 2006 -0400 Update to point to ozlabs commit a108f9cf358c77b168a582f3e9e8f1e8233c85a6 Author: Paul Nasrat Date: Fri Apr 21 10:47:04 2006 -0400 update TODO commit fb19c524bfae0a8105d9321eec4c60daa2f60a03 Author: Paul Nasrat Date: Fri Feb 10 01:29:18 2006 +0000 Fix ofpath for G5 with multiple drives Fix ofpath for G5 with multiple drives git-archimport-id: pnasrat@redhat.com/yaboot--devel--1.3--patch-3 commit 57870d23dbeac8a33e8f2689fe5ed52528530c18 Author: Paul Nasrat Date: Fri Feb 10 01:28:01 2006 +0000 pause after claim failed (Nathan Lynch) pause after claim failed (Nathan Lynch) git-archimport-id: pnasrat@redhat.com/yaboot--devel--1.3--patch-2 commit c864c0961c4405bda1179fa4dc438fad3005e119 Author: Paul Nasrat Date: Mon Jan 30 19:34:23 2006 +0000 git-archimport-id: pnasrat@redhat.com/yaboot--devel--1.3--patch-1 commit 7558941ebce6bd1e085cde875133745e4824cedd Author: Ethan Benson Date: Mon Sep 26 06:41:14 2005 +0000 Replace netboot bootpath parser. * second/file.c: Replace bootpath parser for netboot cases, the new one should (hopefully) correctly handle most/all netboot situations. (Nathan Lynch) git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-88 commit b95e2fe6b9c48a252ff6a3a9efe9f06e582ce4f4 Author: Ethan Benson Date: Mon Sep 26 06:36:30 2005 +0000 Don't use ELF entry point. * second/yaboot.c: Don't use ELF entry point anymore. (Olaf Hering) git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-87 commit 34b04c432bcc86d1654c414f4dcd4cf1fdfec68a Author: Ethan Benson Date: Mon Sep 26 06:32:56 2005 +0000 Fix Cross-compile * Makefile: Fix ability to cross compile. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-86 commit c00489685b458a42bcf2517c2852b425b8a744a2 Author: Ethan Benson Date: Wed Aug 3 03:12:29 2005 +0000 Bugfix to patch-83 * Correct dereference of NULL in RAID partition patch (patch-83). (Patch from Dustin). git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-85 commit 15b93b378020b59031b991abe31b130ca105be03 Author: Ethan Benson Date: Fri Jul 29 04:29:18 2005 +0000 Pretend to allocate/deallocate memory correctly * Pretend like we actually manage memory properly by calling free() on things which were malloc()'ed or strdup()'ed. (Patch from Dustin Kirkland). git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-84 commit 4d075ad792d6f99502a863a71d820658915dfcc1 Author: Ethan Benson Date: Sat Jul 9 23:51:20 2005 +0000 handle RAID partitions on x86 partition tables * Support reading of type RAID partitions, except from fs_of. This only works on x86 partition tables, Pmac partition tables will need alternate methods. (Patch from Dustin Kirkland). git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-83 commit 1476a0ba1159e01aaffaf9c8a8d0fe2a6418d493 Author: Ethan Benson Date: Mon Jul 4 03:42:18 2005 +0000 Remove check for BootX broken device-trees * ybin/ofpath: Remove check for broken-by-BootX device-tree, it no longer works under current 2.6 kernels and nobody attempts to use BootX anymore. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-82 commit ad8f878934b10bf3baba4eb82073244932c2c4a2 Author: Ethan Benson Date: Mon Jul 4 03:34:00 2005 +0000 Merge Dustin's RAID patch * ybin/ybin: Allow for multiple bootstrap partitions. Patch by Dustin Kirkland. May not fully work on PMAC hardware. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-81 commit 70ca99a5e21616ae261f6c49c8955b516b4219d6 Author: Ethan Benson Date: Fri May 20 03:10:03 2005 +0000 amiga partition table support. * Support for amiga partition tables. (Sven Luther) git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-80 commit de490d90c482bd49a218cff13c3c69f81aabc99d Author: Ethan Benson Date: Thu May 19 04:26:37 2005 +0000 gcc-3.4 fix * GCC 3.4 compilation fix. (Paul Nasrat) git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-79 commit 1cd0d9449cea60545406aa593c493ec90687ff6d Author: Ethan Benson Date: Wed Feb 2 05:26:31 2005 +0000 Update addnote for newer pSeries hardware * util/addnote.c: Patch from Paul Mackerras to add second .note required by more recent pSeries hardware. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-78 commit 5aa4e2a849cbef09035dfc9b324df5f5167c64e9 Author: Ethan Benson Date: Sun Sep 26 08:10:31 2004 +0000 Update penguinppc.org links s/projects/bootloaders/g * doc/yaboot-howto*.sgml: Update penguinppc.org links; s/projects/bootloaders/g git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-77 commit 7ea099eca9d11187c6671ddaab2e200bdd7e62d9 Author: Ethan Benson Date: Sat Jul 24 20:07:25 2004 +0000 Fix typos in yaboot man page man/yaboot.8: Fix various typos (thanks Helge Kreutzman). git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-76 commit 7c27bb06784a2663d15bda607e4a8314a2995212 Author: Ethan Benson Date: Sun Jul 11 20:14:40 2004 +0000 Prep 1.3.13 release * Bump version numbers for 1.3.13 release. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-75 commit 544fce211922d545a797426226b3ebf44719d7b4 Author: Ethan Benson Date: Sun Jul 11 20:02:24 2004 +0000 Update changelog for 1.3.13 * changelog: Update for 1.3.13 git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-74 commit 082669fa9dbe50221b75f444f819533333705c10 Author: Ethan Benson Date: Sun Jul 11 19:55:54 2004 +0000 Increase tftp buffer to ~6MB * second/fs_of.c: increase tftp buffer to 6MB. This is as far as it can go. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-73 commit 6a6a039f03909f5cdf62ef94522eb1a70b7e792d Author: Ethan Benson Date: Sun Jul 11 19:52:17 2004 +0000 Add LABEL/UUID support to yabootconfig * ybin/yabootconfig: Add support for LABEL= and UUID= in /etc/fstab. (Colin Watson) git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-72 commit 8fe6242322e48ad34ae82d63b8a5a554aea987b3 Author: Ethan Benson Date: Sat May 8 22:04:51 2004 +0000 Add additional check on /dev/nvram to avoid misleading error message * ybin/ybin: Add additional check on /dev/nvram, if we cannot read a couple bytes report it as broken. This avoids misleading `Incompatible nvsetenv' message on kernels without /dev/nvram support. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-71 commit 58cb1681bd92b96efbf251e847214c2447533cce Author: Ethan Benson Date: Sat May 8 06:38:44 2004 +0000 Fix several ofpath error messages going to stdout rather then stderr * ybin/ofpath: Fix several error messages mistakenly written to stdout rather then stderr. (Thanks to Colin Watson for noticing) git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-70 commit e19f440a0df591a3e5174218d3bcc6d01ffb07ee Author: Ethan Benson Date: Mon Apr 26 00:27:48 2004 +0000 Add support for initrd detection to yabootconfig * ybin/yabootconfig: If detected kernel appears to have a corresponding initrd image then include an initrd= line in generated yaboot.conf. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-69 commit 2303a06e095e2c174b68281156b68542e75e3210 Author: Ethan Benson Date: Sun Apr 18 00:27:59 2004 +0000 Prep 1.3.12 release * Update changelog. * Bump version numbers to 1.3.12. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-68 commit eb8b0d5d9f4823a7033ef2baa1cababd4b5574e1 Author: Ethan Benson Date: Sun Mar 28 05:02:03 2004 +0000 Fix ofpath SATA support and sysfs detection * ybin/ofpath: Support newwer kernels which call the driver sata_svw, instead of ata-k2. * ybin/ofpath: Detect sysfs mount correctly. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-67 commit 53695b2ef3f2fbf757b26c66ad3fa45ccb6b93e6 Author: Ethan Benson Date: Mon Mar 22 02:05:07 2004 +0000 Add 2.6 kernel support to ofpath * ybin/ofpath: Add support for 2.6.4+ kernels with sysfs mounted. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-66 commit 0b1ed1e2cab69376a0d0cfdbe648893ff6d04ced Author: Ethan Benson Date: Sun Feb 22 13:15:30 2004 +0000 Add caveat regarding UFS to yaboot howto * Add caveat regarding UFS to temporary bootloader setup chapter of the yaboot-howto (Thanks to Brian Sammon, and to Stefan Pfetzing for the German translation). git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-65 commit d72c450a4760c7b48f1c4791e3fd11a2d5157582 Author: Ethan Benson Date: Sun Jan 4 12:37:38 2004 +0000 Update =tagging-method for tla 1.1 * Update =tagging-method for tla 1.1 git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-64 commit f3981c708d9ba5da5bed3ad89347362b1cb11541 Author: Ethan Benson Date: Thu Nov 20 10:03:32 2003 +0000 Bump versions to final 1.3.11 release * Bump versions to final 1.3.11 release. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-63 commit 941806a910f667c64b8ed55897ff2f5d458bc027 Author: Ethan Benson Date: Wed Nov 19 10:40:13 2003 +0000 Prepare changelog for imminent 1.3.11 release * Prepare changelog for imminent 1.3.11 release. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-62 commit 2bdcccbdfe7dbcfee05fe5c4e03675d36999cc76 Author: Ethan Benson Date: Tue Nov 18 10:12:32 2003 +0000 Fix ofpath arch detect fix ybin/ofpath: Fix botched powerpc-64 support fix. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-61 commit a36e22176e6917e0218cd69f6cab014b1c5d7a49 Author: Ethan Benson Date: Tue Nov 18 10:09:41 2003 +0000 Make ofpath work on powerpc-64 ybin/ofpath: No longer refuse to function on ppc64 systems. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-60 commit d72597c11f3f2984aaaa007f26b4784ca808167b Author: Ethan Benson Date: Mon Nov 17 04:35:21 2003 +0000 Fix ofpath for `scsi' ide controllers * ybin/ofpath: - Generate correct paths for IDE controllers which pretend to be scsi. - Correct error message regarding CONFIG_SCSI_PROC_FS (=y not =n). git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-59 commit fc172c3d66234d82994c6adf3498718515253205 Author: Ethan Benson Date: Mon Nov 10 10:23:36 2003 +0000 Fix ofpath 2.6 /proc/scsi check * ybin/ofpath: Move return to proper place so ofpath doesn't exit silently when scsi appears to not be installed and the system is running a 2.6 kernel. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-58 commit 1f0aaa620e99229cb0777c0e438e89f3d7b6e082 Author: Ethan Benson Date: Mon Nov 10 08:52:02 2003 +0000 Detect lack of CONFIG_SCSI_PROC_FS in ofpath on 2.6 systems * ybin/ofpath: Under 2.6 systems detect lack of CONFIG_SCSI_PROC_FS in kernel configuration and print error message indicating its required. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-57 commit c5c62181de2ab0c79509545cc3fad086a80a3e1b Author: Ethan Benson Date: Thu Nov 6 07:28:26 2003 +0000 Add PowerMac G5 SATA support to ofpath * ybin/ofpath: Add support for SATA drives found in the PowerMac G5. (Olof Johansson ) git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-56 commit 8a48f4329821baf8bb91028bdd854dcbadfeb182 Author: Ethan Benson Date: Wed Nov 5 07:49:57 2003 +0000 Bump version to unsupported non-release status * Bump version to unsupported non-release status. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-55 commit 3252b072cface78b4d6fb0bc3863af2f5d0cc773 Author: Ethan Benson Date: Wed Nov 5 07:38:12 2003 +0000 Update compatibility declaration for CHRPBOOT examples * doc/examples/simpleboot.chrp: MacRISC4 compatible. * doc/examples/dualboot.chrp: MacRISC4 compatible. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-54 commit 438c6a4c03afdb1c70e3e803c2790252c6044931 Author: Ethan Benson Date: Tue Nov 4 09:19:11 2003 +0000 Use OpenFirmware RELEASE method * second/prom.c: Use OpenFirmware's RELEASE method instead of the broken crap hack which broke on more recent Apple OpenFirmware. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-53 commit 5af5ce399e68962e29aab2bfead786a0148b8035 Author: Ethan Benson Date: Sat Oct 4 23:58:34 2003 +0000 Add boot compatibility with PowerMac G5 * ofboot: Declare compatiblity with PowerMac G5 in. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-52 commit d10893f1c4ae8f997378473d6cccda4d60843b46 Author: Ethan Benson Date: Sun Jun 22 08:06:01 2003 +0000 Update ChangeLog tag for compatiblity with arch 1.0pre25 * Update ChangeLog tag for compatiblity with arch 1.0pre25. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-51 commit 08532f2d438e244fb1d84dfa2c507ede37262162 Author: Ethan Benson Date: Wed Feb 26 11:27:33 2003 +0000 Fix ofpath on early iMacs * ofpath: Apple apparently can't decide whether its called `ata' or `ide'; fix support for early iMac models. * Prep 1.3.10. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-50 commit d56885f68390b6c6109dcf4feb4c9c56009453ca Author: Ethan Benson Date: Wed Feb 12 08:55:45 2003 +0000 Prep 1.3.9 release * Prep 1.3.9 release: - Set version numbers to 1.3.9. - Finalize changelog. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-49 commit e80797f9e8b7a05aeb239ca9087ba57e7641a231 Author: Ethan Benson Date: Mon Feb 10 09:55:05 2003 +0000 Fix botched IBM patch (multiple partition handling on rs6k) * IBM file.c patch is broken, fix file.c so yaboot finds its config on systems with more then one primary GNU/Linux filesystem partition. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-48 commit ca58ccca8abb692653406eec7a414ffc985d6378 Author: Ethan Benson Date: Sun Feb 9 05:28:41 2003 +0000 Update first stage to be compatible with new Macs * Mark first stage loader compatible with new MacOS9-free PowerMacs so it will be accepted by OpenFirmware. * Update copyrights to include 2003. * Version 1.3.9-UNRELEASED. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-47 commit a8a407dd48a8fc733eefd5a996cc8f11b44a76f6 Author: Ethan Benson Date: Tue Dec 10 08:14:21 2002 +0000 Release yaboot 1.3.8 * yaboot 1.3.8 release. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-46 commit f8932c05318accd41300f2bef7da218fda9b0ab5 Author: Ethan Benson Date: Wed Nov 27 09:42:23 2002 +0000 Prepare 1.3.8-rc4 * Bump versions to 1.3.8-rc4. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-45 commit cb900d00d1295cc89f55c5968e1c9b4baf92c421 Author: Ethan Benson Date: Wed Nov 27 09:35:34 2002 +0000 Add 'kernel too old' warning to ofpath * ofpath: On Windtunnel warn when the kernel is too old for proper support. The warning message is sent to stderr so it will not interfere with scripts or other automated invocation of ofpath. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-44 commit 5a1d6ab9e290804deea3bfd4f888709a732b3f58 Author: Ethan Benson Date: Tue Nov 26 09:35:47 2002 +0000 Fix ofpath on pci-ide * ofpath: check for pci-ide, not pci-ata. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-43 commit 6afa18e70568dc24f695c1f2da1498d3732952ff Author: Ethan Benson Date: Tue Nov 19 11:32:49 2002 +0000 Fix readlink fallback * ofpath: fallback shell function for readlink was broken. Fixes IDEBUS==NULL on broken systems that lack /bin/readlink. * Prepare 1.3.8-rc3. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-42 commit 08e5a8def5eb4218e7b1efaa4134a39f552b144c Author: Ethan Benson Date: Mon Nov 18 10:38:53 2002 +0000 handle ide device nodes up to hdp * ofpath: handle ide device nodes up to /dev/hdp (16 disks, current max in the kernel). git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-41 commit c8468c1549669e3f06387ab6a162e5d6498c6de7 Author: Ethan Benson Date: Sun Nov 17 23:33:17 2002 +0000 Add support for IDE controllers with identity crisis * ofpath: Add support for IDE controllers that pretend they are scsi. * Prepare 1.3.8-rc2. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-40 commit 74a45b785c6537e7632f1633413790bd5e30bf21 Author: Ethan Benson Date: Sun Nov 17 03:13:10 2002 +0000 Prepare 1.3.8-rc1 * Prefer $PATH_PREFIX/usr/sbin/ofpath if it exists. * yabootconfig: Add append="video=ofonly" if the running kernel was booted with it. This solves user confusion when they boot an installer with an install-safe label, install, then reboot the new system to find the console display doesn't work. This only occurs if user does not specify --kernel-args so it will not interfere with distro installers which handle this themselves. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-39 commit 33ce5d317965c250cf097a0e287e62dbdabe76e9 Author: Ethan Benson Date: Sun Nov 17 02:02:17 2002 +0000 Add support for pci-ide to ofpath * ofpath: Support multi-channel pci-ide devices, found in the Xserve. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-38 commit 2b3bb9db6a8c0b25e074e15a60aa259881440f03 Author: Ethan Benson Date: Sun Nov 3 02:00:27 2002 +0000 Add extra sanity checks to new ofpath ide resolution code * ofpath: Add a few sanity checks to new ide resolution code. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-37 commit b5653498509f29d5f94b7e32e506cb56e4ea93a2 Author: Ethan Benson Date: Wed Oct 30 10:32:14 2002 +0000 Update ofpath for new devspec export in /proc * ofpath: /proc/ide/pmac is dead, the OpenFirmware devspec is now exported to /proc/ide/ideX/devspec, ofpath now uses that. - this change is not tested, some additional sanity checks are still needed. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-36 commit 1aa69fb0cd1252fd3f051e4bbfa717bb3daed8c3 Author: Ethan Benson Date: Sun Oct 27 00:57:19 2002 +0000 Change ofpath to use /proc/ide/of1275 instead of /proc/ide/pmac * ofpath: the current incarnation of /proc/ide/pmac is not supported by ofpath, and I believe this file should be renamed since it should not be inherently pmac specific. When the format of this file is updated it can be renamed at the same time. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-35 commit 4182c8620d01b73af5410b7a7bfa19b46e1d956c Author: Ethan Benson Date: Sun Oct 27 00:40:09 2002 +0000 Add preliminary support for Windtunnel PowerMacs to ofpath * CHANGES IN THIS COMMIT ARE PRELIMINARY **DO NOT DISTRIBUTE** * ofpath: Add preliminary support for Windtunnel PowerMacs - If /proc/ide/pmac (perhaps to be renamed) does not exist and machine is a Windtunnel return ultra2: instead of hd: (this assumes machines without /proc/ide/pmac are also without support for ATA-100, ultra2: is the ATA-66 bus). - Parse a modified version of /proc/ide/pmac to determine the appropriate OpenFirmware device specifier, no kernel yet has the correct version of this file. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-34 commit 9668c7903f8dc4e659d7b201ca0e8acb70f0d21c Author: Ethan Benson Date: Sun Sep 29 05:04:59 2002 +0000 Fix spelling errors in changelog * Oops, fix some spelling errors and reburn 1.3.7. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-33 commit 83e9d6ed91d623822919c0c8d8a1496b4c5b6f4c Author: Ethan Benson Date: Sat Sep 28 22:51:44 2002 +0000 Prepare 1.3.7 release * Bump versions to 1.3.7 * Update changelog. * Mention new yaboot mailing lists in README. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-32 commit c70a22843fb774506e991507b4bac05b0cfd02b2 Author: Ethan Benson Date: Sun Sep 15 03:56:45 2002 +0000 Remove 0arch-timestamps0 in archclean target * Remove 0arch-timestamps0 in archclean target. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-31 commit b58b7f84f40f96f61a1d5fc1f88a1abd9c1a4193 Author: Ethan Benson Date: Sun Sep 15 03:28:32 2002 +0000 Prepare 1.3.7-pre1 * Update copyright notices for 2002. * Change Boot: to Stage 1 Boot: in ofboot.b * Update changelog. * Bump version to 1.3.7-pre1. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-30 commit 5e0ecd954d89d9a01178d2673167065665ee899c Author: Ethan Benson Date: Sun Sep 8 00:17:53 2002 +0000 update timestamp save file. * update timestamp save file. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-29 commit d0e5fbe697b5cf916bf70c1bae736c82cbbc876b Author: Ethan Benson Date: Sun Sep 8 00:13:58 2002 +0000 Fix partition file search * Change file_block_open() to check for FILE_OK rather then NULL return from fs_open(). When no partition is specified in a file open call yaboot will loop through all known partitions until the file is found, or no more partitions are left. In older versions fs_open() would check for FILE_OK, so checking for NULL return from fs_open() worked, in current versions fs_open() checks for BADFS so proper errors can be reported. This only really affects IBM CHRP. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-28 commit e68362d01834e41a4a0e914c2bddbeabea56a1d6 Author: Ethan Benson Date: Sun Aug 18 22:33:31 2002 +0000 make version numbers loudly unsupported due to dumb dist maintainers * make version numbers loudly unsupported due to dumb dist maintainers, real versions not in place till release time. UNRELEASED SOFTWARE SHOULD NOT BE PACKAGED. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-27 commit c2555be2247b6e98ef2f5cbc6d314b0e97428bbb Author: Ethan Benson Date: Thu Aug 15 07:26:38 2002 +0000 Bump yabootconfig version * Bump yabootconfig version number. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-26 commit e348755b9f809dd5b83111c8cfd3dc14e641f01a Author: Ethan Benson Date: Thu Aug 15 07:24:35 2002 +0000 Fix rare fstab parsing bug in yabootconfig * Fix a rare parsing bug in yabootconfig's /etc/fstab parsing. If the user had commented entries for the / filesystem yabootconfig would end up detecting one of those. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-25 commit 1a5ba1223587f7153a5557a4d31626f9a407ba39 Author: Ethan Benson Date: Mon Jul 29 08:01:44 2002 +0000 Don't recommend reporting bugs to benh in yabootconfig(8) * Don't recommend reporting bugs to benh in yabootconfig(8). git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-24 commit 9f447e44f585a4f2081258aa3b598a7b9d127c11 Author: Ethan Benson Date: Wed Jul 3 08:17:12 2002 +0000 Fix reiserfs symlink resolution * Fix reiserfs symlink resolution which could fail in certain circumstances. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-23 commit 559ae8fa7f19a44a8f41f384aae303495614090d Author: Ethan Benson Date: Wed May 29 08:50:39 2002 +0000 Update timestamp file to exclude {arch}/* Update timestamp file to exclude {arch}/*. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-22 commit 17d238b6131f7bd3ca40b7bab317182e14bb3d61 Author: Ethan Benson Date: Sat May 4 13:00:23 2002 +0000 Add 0arch-timestamps0 setftime timestamp database Add 0arch-timestamps0 setftime timestamp database. This allows us to work around arch's lack of preserving timestamps. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-21 commit 766747b4a4b47f77721d3e02a73f926592240336 Author: Ethan Benson Date: Sat Apr 20 13:52:09 2002 +0000 Update upstream notice in yaboot-howto, translate it to de. * Update upstream notice in yaboot-howto, translate it to de. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-20 commit 1e9f6b68e9b33d32926f9ca49c89ebccc4d11f5b Author: Ethan Benson Date: Sun Mar 31 05:21:42 2002 +0000 Remove more arch crap in clean target * Remove ,,* in clean target, this is more crap arch leaves laying around. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-19 commit a63b0cf320e8ad5f0e2c9f4430309cdbbbd770d0 Author: Ethan Benson Date: Sun Mar 31 05:11:46 2002 +0000 Fix make clean from previous patch find man page is on crack. Fix find calls my way which appears to work correctly. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-18 commit 3ce60078293dd1b2cdf46841fe41afd80913c698 Author: Ethan Benson Date: Sun Mar 31 05:00:26 2002 +0000 Update clean targets * Remove chmod calls from make clean, arch is supposed to keep track of permissions correctly so they shouldn't be needed now. * Add '-path './{arch}' -prune -o ' to all the find calls so cleaning doesn't recurse into arch's revision control directories and possibly corrupt them. * Add archclean target which removes all of arch's cruft so release tarballs won't be ridiculously bloated (arch keeps a complete duplicate copy of the source making the tarball twice the size it should be, no good for release tarballs). If people want a `archable' tree they should just use arch to check one out. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-17 commit 1237a9cea4d8a7c25d422410ef338901582ad45e Author: Ethan Benson Date: Wed Mar 27 14:10:34 2002 +0000 sync with latest yaboot CVS Add german howto for yaboot-howto. Typo fixes/minor updates to yaboot-howto. small fixes to elfextract. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-16 commit 2ad0d7649e5042cad43a16b4a03bf53f39948316 Author: Ethan Benson Date: Wed Mar 27 13:55:42 2002 +0000 Commit yaboot 1.3.6 Commit yaboot 1.3.6. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-15 commit 96f82eabe29d6d4039098d5320b3304acbedf67b Author: Ethan Benson Date: Wed Mar 27 13:45:22 2002 +0000 Commit yaboot 1.3.6-pre2 Commit yaboot 1.3.6-pre2. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-14 commit 678d83ff8608534ece0f1e912eddedef4f0bb67a Author: Ethan Benson Date: Wed Mar 27 13:37:21 2002 +0000 Commit yaboot 1.3.6-pre1 Commit yaboot 1.3.6-pre1. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-13 commit 9323f7c29a886304325b1562450729a12e0ccbea Author: Ethan Benson Date: Wed Mar 27 13:30:47 2002 +0000 Commit yaboot 1.3.5 Commit yaboot 1.3.5. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-12 commit 6f4d7a802c09ee20526db5eeba7357d52444a42c Author: Ethan Benson Date: Wed Mar 27 13:25:55 2002 +0000 Commit yaboot 1.3.5-pre3 Commit yaboot 1.3.5-pre3. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-11 commit 63162c5eb23b6ba4a00b4b4e18ffbcdba52b1e2e Author: Ethan Benson Date: Wed Mar 27 13:22:23 2002 +0000 Commit yaboot 1.3.5-pre2 Commit yaboot 1.3.5-pre2. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-10 commit da7857367944c983abf98f956241dcc614b2f453 Author: Ethan Benson Date: Tue Mar 26 15:11:26 2002 +0000 Commit yaboot 1.3.5-pre1 Commit yaboot 1.3.5-pre1. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-9 commit 0ef1539b6f680ba09c88be5bb94a821fd2599931 Author: Ethan Benson Date: Tue Mar 26 15:05:27 2002 +0000 Commit yaboot 1.3.4 Commit yaboot 1.3.4. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-8 commit 5613f9fab88b71f14259856b390f1cc989b602bf Author: Ethan Benson Date: Tue Mar 26 15:00:49 2002 +0000 Commit yaboot 1.3.4-pre3 Commit yaboot 1.3.4-pre3. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-7 commit 4b9f2eb054f5f0975eef271e87ded51d6b697d9f Author: Ethan Benson Date: Tue Mar 26 14:42:58 2002 +0000 Commit yaboot 1.3.4-pre2 Commit yaboot 1.3.4-pre2. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-6 commit 8d5a42062f8b88eaea91434e53973ce9f55589d9 Author: Ethan Benson Date: Mon Mar 25 15:13:19 2002 +0000 Commit yaboot 1.3.4-pre1 Commit yaboot 1.3.4-pre1. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-5 commit 67d317029778e6f068badf7b8e3eec6482ecb00e Author: Ethan Benson Date: Mon Mar 25 14:50:10 2002 +0000 Commit yaboot 1.3.3 Commit yaboot 1.3.3. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-4 commit 103d77e0ce929f3f57b2b75bc38e92b9c2d973c3 Author: Ethan Benson Date: Mon Mar 25 14:28:05 2002 +0000 Commit yaboot 1.3.2 Commit yaboot 1.3.2. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-3 commit bad5757ade771cb803eea778f61da9a4ff74b87e Author: Ethan Benson Date: Mon Mar 25 14:05:52 2002 +0000 Commit yaboot 1.3.1 Commit yaboot 1.3.1. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-2 commit f4ebbd9f7ea23e3f0fcbe098754580c220894628 Author: Ethan Benson Date: Mon Mar 25 07:43:37 2002 +0000 Commit yaboot 1.3.0 Commit yaboot 1.3.0. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-1 commit f42aaadb5c8c5f7f15e5159cbc251e64e1a4ac8f Author: Ethan Benson Date: Mon Mar 25 03:28:42 2002 +0000 Create yaboot arch repo Create yaboot arch repo. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--base-0 yaboot-1.3.16/Config000066400000000000000000000011551141550335100142270ustar00rootroot00000000000000# Configuration variables, y == enabled n == disabled # Enable text color configurability: the fgcolor= and bgcolor= config # options (see yaboot.conf(5)) # CONFIG_COLOR_TEXT := y # Enable colormap setup. Required on PowerMacs for text coloring to # work right. # CONFIG_SET_COLORMAP := y # Enable md5 passwords, allows value of password= to be an MD5 hash as # well as cleartext. When set to n only cleartext passwords are accepted. # USE_MD5_PASSWORDS := y # Filesystem support # # Enable SGI XFS # CONFIG_FS_XFS := y # Enable ReiserFS # CONFIG_FS_REISERFS := y # Local Variables: # mode: makefile # End: yaboot-1.3.16/Developers_Certificate_of_Origin.txt000066400000000000000000000023561141550335100222510ustar00rootroot00000000000000Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) The contribution is made free of any other party's intellectual property claims or rights. (e) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. then you just add a line saying Signed-off-by: Random J Developer random@developer.org> yaboot-1.3.16/INSTALL000066400000000000000000000016251141550335100141320ustar00rootroot00000000000000 The fastest way to install ybin and yaboot is to run `make install'. This will install the man pages in /usr/local/man by default and ybin/mkofboot in /usr/local/sbin. yaboot and ofboot will be installed in /usr/local/lib/yaboot/. you may change the install paths by setting variables ROOT, PREFIX and MANDIR to make. ie make ROOT=/ PREFIX=/usr MANDIR=/share/man (this is only intended for package maintainers.) yaboot can be installed where you like but /usr/local/lib/yaboot/yaboot is the first default location ybin will look, followed by /usr/lib/yaboot/yaboot. ybin needs hfsutils version 3.2.6 or later. The man pages should be installed in /usr/local/man/man?/. The *.8.gz pages should be in /usr/local/man/man8/ and the *.5.gz page should be in /usr/local/man/man5/. If you need to remove ybin (say if your installing a debian package or .rpm) you can do so by issuing the command `make deinstall'. yaboot-1.3.16/Makefile000066400000000000000000000177261141550335100145520ustar00rootroot00000000000000## Setup include Config VERSION = 1.3.16 # Debug mode (spam/verbose) DEBUG = 0 # make install vars ROOT = PREFIX = usr/local MANDIR = man # command used to get root (needed for tarball creation) GETROOT = fakeroot # We use fixed addresses to avoid overlap when relocating # and other trouble with initrd # Load the bootstrap at 2Mb TEXTADDR = 0x200000 # Malloc block at 3Mb -> 4Mb MALLOCADDR = 0x300000 MALLOCSIZE = 0x100000 # Load kernel and ramdisk at real-base. If there is overlap, will retry until find open space KERNELADDR = 0x00C00000 # Set this to the prefix of your cross-compiler, if you have one. # Else leave it empty. # CROSS = CC := $(CROSS)gcc LD := $(CROSS)ld AS := $(CROSS)as OBJCOPY := $(CROSS)objcopy # The flags for the yaboot binary. # YBCFLAGS = -Os $(CFLAGS) -nostdinc -Wall -isystem `$(CC) -m32 -print-file-name=include` -fsigned-char YBCFLAGS += -DVERSION=\"${VERSION}${VERSIONEXTRA}\" #" YBCFLAGS += -DTEXTADDR=$(TEXTADDR) -DDEBUG=$(DEBUG) YBCFLAGS += -DMALLOCADDR=$(MALLOCADDR) -DMALLOCSIZE=$(MALLOCSIZE) YBCFLAGS += -DKERNELADDR=$(KERNELADDR) YBCFLAGS += -I ./include ifeq ($(CONFIG_COLOR_TEXT),y) YBCFLAGS += -DCONFIG_COLOR_TEXT endif ifeq ($(CONFIG_SET_COLORMAP),y) YBCFLAGS += -DCONFIG_SET_COLORMAP endif ifeq ($(USE_MD5_PASSWORDS),y) YBCFLAGS += -DUSE_MD5_PASSWORDS endif ifeq ($(CONFIG_FS_XFS),y) YBCFLAGS += -DCONFIG_FS_XFS endif ifeq ($(CONFIG_FS_REISERFS),y) YBCFLAGS += -DCONFIG_FS_REISERFS endif # Link flags # LFLAGS = -Ttext $(TEXTADDR) -Bstatic -melf32ppclinux # Libraries # LLIBS = -lext2fs # For compiling userland utils # UCFLAGS = -Os $(CFLAGS) -Wall -I/usr/include # For compiling build-tools that run on the host. # HOSTCC = gcc HOSTCFLAGS = -O2 $(CFLAGS) -Wall -I/usr/include ## End of configuration section OBJS = second/crt0.o second/yaboot.o second/cache.o second/prom.o second/file.o \ second/partition.o second/fs.o second/cfg.o second/setjmp.o second/cmdline.o \ second/fs_of.o second/fs_ext2.o second/fs_iso.o second/iso_util.o \ lib/nosys.o lib/string.o lib/strtol.o lib/vsprintf.o lib/ctype.o lib/malloc.o lib/strstr.o ifeq ($(USE_MD5_PASSWORDS),y) OBJS += second/md5.o endif ifeq ($(CONFIG_FS_XFS),y) OBJS += second/fs_xfs.o endif ifeq ($(CONFIG_FS_REISERFS),y) OBJS += second/fs_reiserfs.o endif # compilation lgcc = `$(CC) -m32 -print-libgcc-file-name` all: yaboot addnote mkofboot yaboot: $(OBJS) $(LD) $(LFLAGS) $(OBJS) $(LLIBS) $(lgcc) -o second/$@ chmod -x second/yaboot addnote: $(CC) $(UCFLAGS) -o util/addnote util/addnote.c elfextract: $(CC) $(UCFLAGS) -o util/elfextract util/elfextract.c mkofboot: ln -sf ybin ybin/mkofboot @if [ $$(grep '^VERSION=' ybin/ybin | cut -f2 -d=) != ${VERSION} ] ; then \ echo "ybin/ybin: warning: VERSION mismatch"; \ false; \ fi %.o: %.c $(CC) $(YBCFLAGS) -c -o $@ $< %.o: %.S $(CC) $(YBCFLAGS) -D__ASSEMBLY__ -c -o $@ $< dep: makedepend -Iinclude *.c lib/*.c util/*.c gui/*.c docs: make -C doc all bindist: all mkdir ../yaboot-binary-${VERSION} $(GETROOT) make ROOT=../yaboot-binary-${VERSION} install mkdir -p -m 755 ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot cp -a COPYING ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/COPYING cp -a README ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/README cp -a doc/README.rs6000 ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/README.rs6000 cp -a doc/yaboot-howto.html ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/yaboot-howto.html cp -a doc/yaboot-howto.sgml ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/yaboot-howto.sgml mv ../yaboot-binary-${VERSION}/etc/yaboot.conf ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/ rmdir ../yaboot-binary-${VERSION}/etc $(GETROOT) tar -C ../yaboot-binary-${VERSION} -zcvpf ../yaboot-binary-${VERSION}.tar.gz . rm -rf ../yaboot-binary-${VERSION} clean: rm -f second/yaboot util/addnote util/elfextract $(OBJS) find . -not -path './\{arch\}*' -name '#*' | xargs rm -f find . -not -path './\{arch\}*' -name '.#*' | xargs rm -f find . -not -path './\{arch\}*' -name '*~' | xargs rm -f find . -not -path './\{arch\}*' -name '*.swp' | xargs rm -f find . -not -path './\{arch\}*' -name ',,*' | xargs rm -rf -gunzip man/*.gz rm -rf man.deb cleandocs: make -C doc clean ## removes arch revision control crap, only to be called for making ## release tarballs. arch should have a export command like cvs... archclean: rm -rf '{arch}' find . -type d -name .arch-ids | xargs rm -rf rm -f 0arch-timestamps0 maintclean: clean cleandocs release: docs bindist clean strip: all strip second/yaboot strip --remove-section=.comment second/yaboot strip util/addnote strip --remove-section=.comment --remove-section=.note util/addnote install: all strip install -d -o root -g root -m 0755 ${ROOT}/etc/ install -d -o root -g root -m 0755 ${ROOT}/${PREFIX}/sbin/ install -d -o root -g root -m 0755 ${ROOT}/${PREFIX}/lib install -d -o root -g root -m 0755 ${ROOT}/${PREFIX}/lib/yaboot install -d -o root -g root -m 0755 ${ROOT}/${PREFIX}/${MANDIR}/man5/ install -d -o root -g root -m 0755 ${ROOT}/${PREFIX}/${MANDIR}/man8/ install -o root -g root -m 0644 second/yaboot ${ROOT}/$(PREFIX)/lib/yaboot install -o root -g root -m 0755 util/addnote ${ROOT}/${PREFIX}/lib/yaboot/addnote install -o root -g root -m 0644 first/ofboot ${ROOT}/${PREFIX}/lib/yaboot/ofboot install -o root -g root -m 0755 ybin/ofpath ${ROOT}/${PREFIX}/sbin/ofpath install -o root -g root -m 0755 ybin/ybin ${ROOT}/${PREFIX}/sbin/ybin install -o root -g root -m 0755 ybin/yabootconfig ${ROOT}/${PREFIX}/sbin/yabootconfig rm -f ${ROOT}/${PREFIX}/sbin/mkofboot ln -s ybin ${ROOT}/${PREFIX}/sbin/mkofboot @gzip -9 man/*.[58] install -o root -g root -m 0644 man/bootstrap.8.gz ${ROOT}/${PREFIX}/${MANDIR}/man8/bootstrap.8.gz install -o root -g root -m 0644 man/mkofboot.8.gz ${ROOT}/${PREFIX}/${MANDIR}/man8/mkofboot.8.gz install -o root -g root -m 0644 man/ofpath.8.gz ${ROOT}/${PREFIX}/${MANDIR}/man8/ofpath.8.gz install -o root -g root -m 0644 man/yaboot.8.gz ${ROOT}/${PREFIX}/${MANDIR}/man8/yaboot.8.gz install -o root -g root -m 0644 man/yabootconfig.8.gz ${ROOT}/${PREFIX}/${MANDIR}/man8/yabootconfig.8.gz install -o root -g root -m 0644 man/ybin.8.gz ${ROOT}/${PREFIX}/${MANDIR}/man8/ybin.8.gz install -o root -g root -m 0644 man/yaboot.conf.5.gz ${ROOT}/${PREFIX}/${MANDIR}/man5/yaboot.conf.5.gz @gunzip man/*.gz @if [ ! -e ${ROOT}/etc/yaboot.conf ] ; then \ echo "install -o root -g root -m 0644 etc/yaboot.conf ${ROOT}/etc/yaboot.conf"; \ install -o root -g root -m 0644 etc/yaboot.conf ${ROOT}/etc/yaboot.conf; \ else \ echo "/etc/yaboot.conf already exists, leaving it alone"; \ fi @echo @echo "Installation successful." @echo @echo "An example /etc/yaboot.conf has been installed (unless /etc/yaboot.conf already existed)" @echo "You may either alter that file to match your system, or alternatively run yabootconfig" @echo "yabootconfig will generate a simple and valid /etc/yaboot.conf for your system" @echo deinstall: rm -f ${ROOT}/${PREFIX}/sbin/ofpath rm -f ${ROOT}/${PREFIX}/sbin/ybin rm -f ${ROOT}/${PREFIX}/sbin/yabootconfig rm -f ${ROOT}/${PREFIX}/sbin/mkofboot rm -f ${ROOT}/${PREFIX}/lib/yaboot/yaboot rm -f ${ROOT}/${PREFIX}/lib/yaboot/ofboot rm -f ${ROOT}/${PREFIX}/lib/yaboot/addnote @rmdir ${ROOT}/${PREFIX}/lib/yaboot || true rm -f ${ROOT}/${PREFIX}/${MANDIR}/man8/bootstrap.8.gz rm -f ${ROOT}/${PREFIX}/${MANDIR}/man8/mkofboot.8.gz rm -f ${ROOT}/${PREFIX}/${MANDIR}/man8/ofpath.8.gz rm -f ${ROOT}/${PREFIX}/${MANDIR}/man8/yaboot.8.gz rm -f ${ROOT}/${PREFIX}/${MANDIR}/man8/yabootconfig.8.gz rm -f ${ROOT}/${PREFIX}/${MANDIR}/man8/ybin.8.gz rm -f ${ROOT}/${PREFIX}/${MANDIR}/man5/yaboot.conf.5.gz @if [ -L ${ROOT}/boot/yaboot -a ! -e ${ROOT}/boot/yaboot ] ; then rm -f ${ROOT}/boot/yaboot ; fi @if [ -L ${ROOT}/boot/ofboot.b -a ! -e ${ROOT}/boot/ofboot.b ] ; then rm -f ${ROOT}/boot/ofboot.b ; fi @echo @echo "Deinstall successful." @echo "${ROOT}/etc/yaboot.conf has not been removed, you may remove it yourself if you wish." uninstall: deinstall yaboot-1.3.16/README000066400000000000000000000255231141550335100137640ustar00rootroot00000000000000Yaboot -- PowerPC GNU/Linux OpenFirmware bootloader ------------------------------------------------------------------- Please read the "COPYING" file for licence informations. ------------------------------------------------------------------- Yaboot is an OpenFirmware bootloader for Open Firmware based machines. It is known to work on "NewWorld" class powermacs (iMac and all machines released after it), RS/6000, and possibly other OF based CHRP machines. "OldWorld" PowerMacs (with the built-in MacOS ROM) are not supported. This README serves as a quick-start introduction to yaboot and its installation utilities. For a more complete usage and installation guide, see yaboot-howto.html/index.en.html in the same folder where this README is located, or else inside the doc folder in this directory. For documentation about all the options available, see the man pages (bootstrap, yaboot, yaboot.conf, ybin, mkofboot, ofpath, yabootconfig). Mailing lists ------------------------------------------------------------------- The following mailing lists exist for yaboot: yaboot-users User related questions/discussion regarding yaboot yaboot-devel Technical and development discussion regarding yaboot Please see https://ozlabs.org/mailman/listinfo/LISTNAME where LISTNAME is one of the above named lists. http://yaboot.ozlabs.org/ ------------------------------------------------------------------- Bootloader Installation Utilities ybin, mkofboot, ofpath, yabootconfig Written by Ethan Benson ------------------------------------------------------------------- ybin (YaBoot INstaller) and mkofboot ------------------------------------------------------------------- ybin is a lilo/quik style bootloader installer for PowerPC based machines which require a bootstrap partition rather than a traditional bootblock (i.e. all `NewWorld' Macintoshes). When ybin is configured correctly you can simply type ybin at the command line as root, and the bootloader and its configuration file will be installed or updated on the bootstrap partition without any further user intervention. ybin also supports IBM PowerPC hardware which requires a slightly different bootstrap partition setup. For these machines, ybin uses dd to write yaboot directly to the partition instead of copying it to a filesystem on the partition. ybin will add the requisite .note section to yaboot prior to installation (IBM CHRP only). mkofboot is a companion script (actually a symlink to ybin) which initializes the bootstrap partition prior to running ybin to install the bootloader on it. mkofboot will confirm you want to continue before proceeding unless called with the -f or --force switch. This is in contrast to ybin, which is non destructive except that it overwrites any existing yaboot files (yaboot and yaboot.conf) at the root level of the bootstrap filesystem. mkofboot and ybin both refer to the same configuration file (normally yaboot.conf) to determine where the bootstrap files will be placed. IMPORTANT: The bootstrap partition should never be mounted anywhere on your filesystem, ybin and mkofboot will check if it is and refuse to operate on it if it is mounted. It is not necessary to keep anything but the boot loader on the bootstrap partition, yaboot will load the kernel from your root partition (which can be an ext2/3, XFS, or ReiserFS filesystem). Do not mount the bootstrap partition on top of /boot. ybin can update a bootstrap filesystem either on a block device or in an ordinary file (as in an image of a filesystem.) NOTE: You must have a secure mktemp program otherwise ybin will be vulnerable to race conditions. Debian's mktemp qualifies I don't know about the other distributions, you have been warned. The temp file is created in /tmp by default but ybin will respect the $TMPDIR environment variable. ofpath ------------------------------------------------------------------- The included ofpath utility can usually determine the OpenFirmware device path that corresponds with a unix device node in /dev/. Ybin uses this utility to find the path to the bootstrap partition and to any defined macos/macosx partitions. ofpath is based on the utility `show_of_path.sh' written by Olaf Hering. NOTE: ofpath may not work with all SCSI cards/drivers. IMPORTANT: ofpath will NOT work on NewWorld Powermacs if the machine was booted with BootX. yabootconfig ------------------------------------------------------------------- Yabootconfig creates a default configuration file and then runs mkofboot to complete the bootloader installation. yabootconfig reads the running system's /etc/fstab to determine the kernel location, and detects the location of the 800k Apple_Bootstrap partition. It will also find IBM CHRP bootstrap partitions (type 0x41 PReP Boot). Yaboot.conf Configuration File ------------------------------------------------------------------- yaboot.conf configuration file settings are covered in detail in `man yaboot.conf'. Avoid the use of spaces in the config file, except in comment lines or inside quotes. Here are the essential settings. boot= Example: boot=/dev/hda2 This required setting defines the bootstrap partition device. It can also be a regular file if you are creating a filesystem image for some reason. The default config file has this set to ``unconfigured'' which will cause ybin to complain about you not reading the docs, it is the only option you should need to change for ybin to work. Be sure you include the partition number at the end, it should never be something like /dev/hda. install= Example: install=/usr/lib/yaboot/yaboot or /usr/local/lib/yaboot/yaboot The full pathname to the yaboot OpenFirmware executable file. The default is shown above. This file will be copied to the root level of the bootstrap partition. Note: If you are installing an alternative bootloader, its filename will be changed to yaboot when it is copied (to match what the first stage bootloader expects to be loading). partition= Example: partition=3 The partition number on which the kernel image is located. By default, this partition is assumed to be on the same device from which yaboot was loaded. If needed, device= can be used to explicitly specify the device. image= Examples: image=/vmlinux or image=/boot/vmlinux-2.2.19-pmac The path to the image from the root level of the partition (remember that yaboot is unaware of mountpoints). Don't forget to include the leading slash when specifying the image path (image=vmlinux will probably fail). root= Example: root=/dev/hda3 The Linux device name for the root partition. This parameter is passed to the kernel when it starts up to let it know where its root filesystem is located. Refer to the yaboot.conf man page for details on kernel image options such as append=, initrd=, and initrd-size=. magicboot= (same as -m or --magicboot) Example: /usr/local/lib/yaboot/ofboot Identifies the first stage loader. The example shown is the default. The ofboot script it refers to is included with and configured automatically by ybin from options in /etc/yaboot.conf. The magicboot= can be the full pathname to any OF CHRP script file. Since some newer OpenFirmware implementations appear to require a CHRP script, the magicboot= setting is highly recommended. If you don't include magicboot=, then yaboot itself will be the active bootfile. magicboot= cannot be used on IBM CHRP. Boot Menu Options ------------------------------------------------------------------- The following options work only if you have specified the magicboot= option. Each option specifies an OpenFirmware or unix device path to another operating system's boot partition. When you define one of these options you will be presented with a simple menu at bootup allowing you to hit `l' to boot GNU/Linux or another letter to boot the other OS (see below). These letters are typed without a shift key (the boot menu is case sensitive). When set to a unix device node such as /dev/hda11 then ybin will use the ofpath utility to determine the OpenFirmware device path. Option Letter Operating System Type --------- ------ --------------------------------------------- bsd= b NetBSD or OpenBSD root partition (you must have the BSD ofwboot bootloader installed at /usr/local/lib/yaboot/ofwboot) macos= m MacOS 8.* or 9.* bootable partition macosx= x MacOS X boot partition (also see brokenosx) darwin= d Darwin boot partition enablecdboot c Boot from the CDROM drive enablenetboot n Boot from the network enableofboot o Display an OpenFirmware prompt defaultos= The default OS to load (linux, bsd, macos, darwin or macosx. brokenosx This option causes the menu entry for MacOSX to execute \System\Library\CoreServices\BootX from the macosx=device instead of the usual \\:tbxi. This is necessary if OSX is installed onto an HFS+ filesystem instead of UFS. When OSX is installed on an HFS+ filesystem MacOS will mount and debless the OSX partition. Add this option if the OSX menu entry breaks after booting MacOS. You should not use this option if OSX is installed on a UFS filesystem, for UFS installs you specify the OSX bootstrap partition which is protected against MacOS. delay= Example: delay=5 The time in seconds that the first stage ofboot loader will wait for you to choose a letter before booting the default OS defined in defaultos=. If not set, the value of timeout= (converted to seconds) will be used. Colors ------------------------------------------------------------------- fgcolor=string Specifies the foreground (text) color used by yaboot and the multiboot menu. Available colors are: black, blue, light-blue, green, light-green, cyan, light-cyan, red, light-red, purple, light- purple, brown, light-gray, dark-gray, yellow, and white. The default is white. bgcolor=string Specifies the background color used by yaboot and the multiboot menu. Available colors are the same as fgcolor. The default is black. =========================================================================== Copyright (C) 2000, 2001, 2002, 2003 Ethan Benson 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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. =========================================================================== yaboot-1.3.16/README.man.patch000066400000000000000000000004071141550335100156260ustar00rootroot00000000000000This patch is only meant to be used by package maintainers (debian or redhat), it changes references to /usr/local/lib/yaboot to /usr/lib/yaboot in the man pages. This way the man pages will better reflect the real locations for packaged version of yaboot/ybin. yaboot-1.3.16/THANKS000066400000000000000000000025741141550335100140200ustar00rootroot00000000000000In no particular order: * Daniel Jacobowitz for Debian packaging, advice and busybox help. * Benjamin Herrenschmidt for yaboot and great work on the kernel. * Colin Walters for advice, help with XFS and general code auditing. * Charles Stevenson for adding color config support to yaboot. * Chris Emerson for the Forth code in ofboot. * iNOUE Koich! for advice and help [re]writing ofboot's Forth code. * Segher Boessenkool for help with ofboot's Forth code, and the new penguin icon. * Tom Rini for adding devfs support to ofpath. * Chris Tillman for writing the yaboot-howto, documentation improvement. * Eric Peden for writing the yaboot FAQ. * Nicholas Humfrey for the badge icons in ofboot. * Hollis Blanchard YellowDog/RPM packaging. * Brad Midgley for Turbolinux/RPM packaging. * Olaf Hering for figuring out how to map SCSI /dev nodes to OF paths. * Josh Huber for PowerBook1998 ofpath support. * Ian the T for donating shell access to add 8600 support to ofpath. * anyone i left out! yaboot-1.3.16/TODO000066400000000000000000000001151141550335100135620ustar00rootroot00000000000000* Merge distro specific patches * Review malloc changes * Make zImage work yaboot-1.3.16/changelog000066400000000000000000000631151141550335100147550ustar00rootroot000000000000002004-07-11 Ethan Benson * Version 1.3.13 * ofpath: Fix several errors going to stdout rather then stderr. * ybin: Detect broken /dev/nvram better. * yabootconfig: - Support initrd. - Support LABEL= and UUID= in /etc/fstab (Colin Watson). * yaboot: Support ~6MB kernels for tftp (this is maxed out for yaboot1). 2004-04-17 Ethan Benson * Version 1.3.12 * ofpath: Support for 2.6 kernels (2.6.3 or later required). * yaboot-howto: Add caveat regarding OSX UFS filesystems (Thanks to Brian Sammon, and to Stefan Pfetzing for the German translation). 2003-11-20 Ethan Benson * Version 1.3.11 * Support new Apple G5 PowerMacs. * ofpath: Bugfix to properly support IDE add-on cards. 2003-02-26 Ethan Benson * Version 1.3.10 * ofpath: Apple apparently can't decide whether its called `ata' or `ide'; fix support for early iMac models. 2003-02-12 Ethan Benson * Version 1.3.9 * Mark first stage bootloader as compatible with new MacOS9 incompatible PowerMacs. * Really fix file search so IBM CHRP will work if there is more than one type 0x83 partition. 2002-12-09 Ethan Benson * Version 1.3.8 * ofpath: Support new Xserve and Windtunnel PowerMacs. - NOTE: For this to fully work it requires a sufficiently recent kernel. * Prefer $PATH_PREFIX/usr/sbin/ofpath if it exists. * yabootconfig: Add append="video=ofonly" if the running kernel was booted with it, only if user does not specify --kernel-args. 2002-9-28 Ethan Benson * Version 1.3.7 * Documentation: - Add German translation of yaboot-howto. - Small updates to yaboot-howto. - No longer tell people to send bugs to benh in yabootconfig(8). * yaboot: - Fix file search so IBM CHRP will work if there is more than one type 0x83 partition. - Fix possible reiserfs symlink resolution failure. * yabootconfig: - Fix corner case /etc/fstab parsing failure. (Debian bug#156742). * Small build system modifications (mostly to accommodate the use of the arch revision control system. * yaboot now includes two changelogs: "ChangeLog" which is a detailed automatically generated list of changes, and "changelog" (this file) which is a hand written understandable summary of changes between releases. 2001-12-01 Ethan Benson * Version 1.3.6 * The "IBM needs to test prereleases" release. * Documentation: - New IGNORE^H^H^H^H^H^HREADME, thanks to Chris Tillman for cleaning up the pile of cruft that this thing was. - yabootconfig man page was missing --kernel-args from SYNOPSIS. - Include README.rs6000 in the binary dist. * ybin: - Automatically use fstype=raw on IBM CHRP, it no longer needs to be explicitly set in /etc/yaboot.conf. - Deprecate ybin's yaboot.conf auto-generation, use yabootconfig instead. * yaboot: - Fix IBM CHRP support. - Fix device path parsing to support devices containing a comma, but not including a filename. - Add support for zImage.initrd (Peter Bergner). - help output no longer claims device=NULL if yaboot.conf does not define it. - Make password prompting a bit nicer looking. - Short penalty delay on incorrect passwords. 2001-10-28 Ethan Benson * Version 1.3.5 * Add yaboot-howto, Thanks to Chris Tillman. * yaboot: - XFS fixes for large partitions (Brendan O'Dea). - Upgrade libext2fs to 1.25, this adds full ext3 support to yaboot. - Reiserfs fixes (Jeff Mahoney). - Implement the message= configuration option (see yaboot.conf man page). 2001-10-13 Ethan Benson * Version 1.3.4 * ybin: Correct a verbosity message. * yaboot: - Add SGI XFS filesystem support. - Rewrite OpenFirmware device path parsing code. This fixes many bugs and inconsistencies in yaboot's file loading. - Fix OpenFirmware filesystem support to automatically convert path separator from / to \. CDROM authors no longer need to use kludges like image=\\install\\powermac\\vmlinux. - Fix kernel loading on some systems. - Allow for getting files from tftp server that does not run a bootpd/dhcpd. - Fix netboot when using the `n' key. - Fix a great deal of incorrect format strings which could cause yaboot crashes. - Fix all filesystems to properly return error conditions, and report those error conditions (instead of just saying `image not found'). - Make configuration file open error consistent with other file open errors. - Add `help' command to yaboot which prints out basic usage information. - Add non-fatal warning when bootstrap partition has wrong type (pmac only). - Minor code rearrangement. - General cruft removal and code cleanup. * Makefile cleanup, make filesystems configurable. 2001-09-25 Ethan Benson * Version 1.3.3 * Add --debug option to yabootconfig * Fix BSD booting support somewhat. The bsd= option's semantics have changed, it must now be set to the BSD root partition. ybin will now install /usr/local/lib/yaboot/ofwboot onto the bootstrap partition when bsd= is present in /etc/yaboot.conf. The dual boot menu will then execute "ofwboot ,/bsd" this means the bsd kernel must be at /bsd on the BSD root partition. 2001-09-24 Ethan Benson * Version 1.3.2 * Fix Makefile thinko where make install failed if /etc/yaboot.conf already existed. 2001-09-20 Ethan Benson * Version 1.3.1 * Don't include /etc/yaboot.conf in binary dist, instead put the example in /usr/local/share/doc. This way extracting the tarball from / won't blow away existing configs. * Move strip commands from install target to strip target, install now depends on strip. 2001-09-20 Ethan Benson * Version 1.3 * Merging of ybin and yaboot source trees, this is now the official upstream yaboot/ybin source tree. * yaboot: - Various ppc64 & chrp fixes by Peter Bergner, fix fdisk partition handling. - Fix netboot (was broken by reiserfs patch) 2001-08-26 Ethan Benson * Version 1.2.6 * ofpath became broken on non-scsi systems due to quoting fix. 2001-08-20 Ethan Benson * Version 1.2.5 * Fix broken quoting uncovered by debian's current /bin/ash. 2001-08-06 Ethan Benson * Version 1.2.4 * ofboot: remove tag as it was causing the OpenFirmware multibooter to crash. * mkofboot: zero first 800K of bootstrap partition before creating filesystem. * yaboot: - Version 1.2.3 - Supports using an md5 hash as well as plaintext password. (me) - Fix again system.map loading. That also fix an old pending bug we had where yaboot could pass random values for system.map, causing the kernel to mark random pages reserved. (BenH) - IBM CHRP fixes. (Peter Bergner) - Add reiserfs support (Jeff Mahoney) 2001-06-30 Ethan Benson * Version 1.2.3 * ofpath: - Version 1.0 - Add support for IBM CHRP, thanks to Marco d'Itri for testing. - Use real wc if available, this speeds up ofpath slightly for scsi. - Make variables local to their function unless they need to be global. * ybin: - If installing on IBM CHRP run addnote on yaboot binary before installing. - Reword some error/verbose messages - Make variables local to their function unless they need to be global. 2001-06-24 Ethan Benson * Version 1.2.2 * yabootconfig: - Now works with braindamaged versions of pdisk. - Add --kernel-args switch which allows boot-floppies to easily add an append= line if needed. 2001-06-01 Ethan Benson * Version 1.2.1 * Fix test for strict posix/SUS echo behavior. * Check for printf built into the shell. * yabootconfig: check for and attempt to deal with cross device symlinks. 2001-05-28 Ethan Benson * Version 1.2 * Added yabootconfig, a script to build a valid /etc/yaboot.conf * ybin: - Detect IBM CHRP hardware and disable nvram update automatically - Automatically run yabootconfig if /etc/yaboot.conf is missing - Check for PATH_PREFIX environment variable and add all bin and sbin directories from under it to PATH. This is for boot-floppies. - Add bsd= to list of multiboot options. * ofboot: bump maximum number of OSes to 8. * ofpath: - No longer report bogus paths for non-existent scsi devices. - Fix bug where garbage characters were mixed with the OpenFirmware device path. - Fix broken Wallstreet PowerBook support. - Add support for silly devfs naming convention, Thanks to Tom Rini. 2001-05-06 Ethan Benson * Version 1.1.1 * ofboot: - Hopefully fix random and rare booting problem when chainloading other OSes. Thanks to Segher Boessenkool for the fix. - Add volume name which shows up in the OpenFirmware multiboot screen. - It is now possible to replace the badge icon for the multiboot screen, see examples/README.mbicon. * yaboot: - Version 1.2.1 - Includes my previous 1.1.1-eb3 patches for password protection and single-key. * Various spelling errors and clarifications to man pages. Thanks to sword. 2001-04-26 Ethan Benson * Version 1.1 * ofpath: - Version 0.8 - Add support for Performa 6400_200, PowerMac 4400, and the clones. - Removed `No such file or directory' errors when system has no scsi at all. * ybin: - If delay= is not set use value of timeout= (converted to seconds) instead. - Removed command line options --type, --creator, and long obsolete and deprecated --conffile. The config file options hfstype and hfscreator are still there. - Removed long obsolete and deprecated bootconf= config option. - Removed some old now unneeded debug cruft. * yaboot: - Include version 1.1.1-eb3, this includes the following changes - Adds password protection capabilities. - Add `single-key' option from silo. * Documentation: - Rewrote the yaboot.conf man page, now derived from silo.conf(5) 2001-03-22 Ethan Benson * Version 1.0 * ybin: - Fix a few bugs that occured when magicboot= was not used. - Add basic support for IBM style bootstrap partitions. These partitions have yaboot dded directly to them. See the yaboot.conf man page regarding fstype for more info, also examples/yaboot.conf.rs6k. - Don't require that ofpath be installed if its not needed. * Documentation: - Added examples/yaboot.conf.rs6k - Man page updates for IBM support. 2001-02-19 Ethan Benson * Version 0.31 * ofpath: - Quiet shell error when run on non-PowerMac (but still PowerPC) hardware. - Properly recognize more OldWorld PowerMac G3s. - Fix OldWorld detection for kernels < 2.2.17 - Require that /proc be mounted. * ybin: - Fix OldWorld detection for kernels < 2.2.17 - Make the `not bootable on OldWorld' warning very loud and obnoxious. - Change PATH to make /usr/local the last component instead of the first. - Make the text/background color in the boot menu configurable, see the yaboot.conf(5) man page for details. - Change default foreground color to white per yaboot 1.0. - Remove support for obsolete /etc/ybin.conf. * Documentation: - Clarified the `partition=' variable in the yaboot.conf man page and correct an error in the example in that man page. - Added more comments to included yaboot.conf examples. * yaboot: - Include version 1.1.1 - Includes color support 2000-11-18 Ethan Benson * Version 0.30 * ybin: add `brokenosx' option, when used with macosx= ybin makes the MacOSX menu entry execute \System\Library\CoreServices\BootX directly instead of using \\:tbxi. This is necessary for people who insist on installing OSX on HFS+ instead of UFS, since MacOS deblesses HFS+ OSX partitions. 2000-10-28 Ethan Benson * Version 0.29 (the brown paper bag release) * The yaboot.conf man page was broken. * While were at it, include yaboot 0.9 binary (compiled -Os, stripped) 2000-10-24 Ethan Benson * Version 0.28 * ybin: Add mntpoint= option, this allows ybin to install the bootstrap into an already mounted filesystem. This is NOT recommended unless you know what your doing. * ybin: fixed generation of ofboot.b so it will work with nobless and usemount. 2000-10-20 Ethan Benson * Version 0.27 * ofboot: fixed problem where text was not visible on some newer iMacs. * ybin: Now warn the user when they are using ybin on an OldWorld PowerMac. (it will still work since its possible to make newworld bootable disks on an OldWorld mac) * ofpath: Now works on oldworld macs under 2.4 kernels. * Added check for packaged versions of ybin to the Makefile and warn user about them. 2000-09-23 Ethan Benson * Version 0.26 * ofboot: completely rewrote the generator script, it is now more extendable and supports more menu options. More thanks to iNOUE Koich! for the continuing help on OpenFirmware issues!! * ybin: added options for mulitboot menu: now can create a menu with options for GNU/Linux, MacOS, MacOSX, Darwin, and booting off a CDROM, from the network, and even directly into an OpenFirmware prompt. * ybin: some errors were sent to stdout instead of stderr, fixed. * ofpath: refuse to run on anything but GNU/Linux. (for now anyway) 2000-09-18 Ethan Benson * Version 0.25 * ofboot: now changes the background color to black and the text color to cyan like yaboot. Thanks to again to iNOUE Koich! 2000-09-16 Ethan Benson * Version 0.24 * ofboot: many bugs in the Forth code fixed. code should now be compliant to the OpenFirmware spec. Also add CD boot menu option. (add enablecdboot to /etc/yaboot.conf) Thanks to iNOUE Koich! for the Forth code. 2000-09-13 Ethan Benson * Version 0.23 * ybin: now hard code the target filename for ofboot, its always installed as ofboot.b on the bootstrap partition. This eliminates ambiguity when someone tries a different script with different name. * ybin: all debugging output goes to stderr now. 2000-09-09 Ethan Benson * Version 0.22 * ofboot.b renamed to ofboot. (.b means boot block which this is not) * yaboot and ofboot are now installed in /usr/local/lib/yaboot/ instead of /boot, since these files are never directly accessed by the firmware it is not really appropriate to keep them in /boot. make install will create backwords compatibility symlinks when installing over an older version of ybin so nothing should break. IMPORTANT: you should run mkofboot on a dedicated bootstrap partition to purge old filenames. * Man pages updated to reflect new file locations. Also include a patch to change the paths to /usr/lib/yaboot for Debian and redhat package maintainers. * ybin: now checks two places for a default value for install= /usr/local/lib/yaboot/yaboot, /usr/lib/yaboot/yaboot. 2000-09-02 Ethan Benson * Version 0.21 * ybin: fixed nvram update so it uses a real filename instead of \\:tbxi when nobless is set in /etc/yaboot.conf. (\\: means find file in blessed directory). * ofpath: more oldworld machines supported. Now supports 7200, 7300, 8600, 9500, Gossamer G3, PowerBook 1998, PowerBook 3400 (and possibly 2400). 2000-08-31 Ethan Benson * Version 0.20 * ybin: check for Newworld compatible nvsetenv and if found will automatically update the OpenFirmware boot-device variable in nvram. * ofpath: support some oldworld machines. (this does not mean ybin/yaboot supports oldworld). Also silence a harmless error on machines lacking a CDROM. * ofboot.b: added more machines to 2000-08-25 Ethan Benson * Version 0.19 * Added PowerMac3,2 and PowerMac3,3 to ofboot.b scripts. Fixes Debian bug #69870 2000-08-22 Ethan Benson * Version 0.18 * ofboot.b: changed the yaboot boot commands to boot yaboot by filename rather then file type. Booting by file type did not work reliably on all machines. * ybin: hard code the target filename for yaboot, regardless of the source filename (from install=) the target filename on the bootstrap partition will always be "yaboot.b". * Added ofpath utility, this is a rewrite of the show_of_path.sh utility written by Olaf Hering. Ofpath works with /bin/ash and on stripped down systems such as the Debian boot floppies. Also wrote a small man page for this utility. * ybin: automatically use ofpath to find the OpenFirmware device path when ofpath= is not defined in /etc/yaboot.conf. Ybin will also use ofpath when macos= or macosx= are set to unix device nodes (ie /dev/hda11), these options can still be set to OpenFirmware paths as well. * Makefile: minor cleanup, added installation of ofpath utility/man page as well as a deinstall rule. 2000-08-13 Ethan Benson * Version 0.17 * Yaboot 0.7 binary included. * ybin: fix bug where ybin would fail if the bootstrap files included an "_" in the filename. (actually its a workaround for hfsutils brain-damage) * ofboot.b: completely rewritten. Now includes shell script code to allow ybin to configure it based on config options in /etc/yaboot.conf instead of requiring the user to edit it themselves. Additionally this new script will display a REAL boot menu when dual booting is configured. It is capable of dual or tri booting GNU/Linux (yaboot), MacOS 8.*/9.* and MacOSX. This new ofboot.b script should *NOT* be edited by the user, and thus should NOT be marked as a conffile in Debian and redhat packages. These packages should now install ofboot.b in /boot instead of /etc since it is no longer a config file. WARNING: The Forth code in this script has not been tested on all machines and may not be universally compatible. Thanks to Chris Emerson for writing the Forth code. * yaboot.conf: new options: ofboot= macos= macosx= delay= defaultos=. See the yaboot.conf man page for details. * Now include a Makefile to handle installation, only make install is defined. Removed install-sh. * mkofboot is now distributed and installed as a symlink instead of a hardlink. * Man page updates. 2000-04-25 Ethan Benson * Version 0.16 * menu_ofboot.b: fixed bug where the yaboot line was missing the boot command, this prevented it from booting yaboot. 2000-04-25 Ethan Benson * Version 0.15 * Merge quik's bootstrap(8) man page with ybin's ofboot(8) man page and rename it back to bootstrap(8). This also solves the conflict with quik. In a more useful way IMO. 2000-04-24 Ethan Benson * Version 0.14 * Ship man pages uncompressed, gzip them in install-sh instead, this allows for easier patching by debian maintainers if need be. * Rename bootstrap(8) man page to ofboot(8) so ybin does not conflict with quik. 2000-04-23 Ethan Benson * Version 0.13 * Rewrote the config file parsing yet again to remove dependencies on tr, and awk. This allows ybin to function on minimal systems such as boot/rescue floppies. This also pretty much solves the slowness problem. Thanks to Daniel Jacobwitz for the help. * Made changes to remove dependencies on basename and wc. Again this is to allow ybin to work on boot floppies. * Changed all calls to grep to stop using GNU extensions, this is so ybin will work properly with the minimal version of grep included in busybox. * Added signal handling so ybin/mkofboot will cleanup after themselves if killed with signals 1 2 3 or 15. * Added OS Badge icons to the ofboot.b scripts. On G4 machines you can hold down the option key and get a graphical boot selector with one button for each bootable partition, the button with the penguin icon is the bootstrap partition. Thanks to Nicholas Humfrey for creating the Badge icon. * Minor updates to the man pages. 2000-04-19 Ethan Benson * Version 0.12 * Now include yaboot binary in ybin distribution. * Include a install-sh script to install everything. * Use of the separate ybin.conf file is deprecated. Use /etc/yaboot.conf instead. * Removed the so called kludge options, without being able to bless the root directory they were just useless bloat. * Removed useless --readonly option, it was already default (as it should be) * Deprecated bootconf options since the yaboot.conf is the same config ybin uses. (it is still there and works but that may change) * Changed configuration file format to be more like quik/lilo: bootfile= is now install= (--bootfile is now --install), wrapper= is now magicboot=, usemount, protect, and hide are now just a keyword options, if they are present in the configuration file they are turned on, if they are not present they are turned off. bless= is now the nobless keyword option, since bless is default this one changed names. * ybin: no longer need to specify -C /dev/null if you don't have a configuration file in /etc/. If this is the case ybin will generate a generic yaboot.conf to install on the bootstrap partition. * More changes to the configuration parsing to improve speed, the format change also helped the speed problem. * Added man pages for ybin, mkofboot, yaboot, yaboot.conf and bootstrap. * More general fixes/cleanup/tweaks. 2000-03-13 Ethan Benson * Version 0.11 * Added command line options to both scripts, try --help. This makes the ybin.conf file optional if you wish (-C /dev/null) * Changed the way the config file is parsed, no longer source it with the shell, this allows ybin.conf to be merged with yaboot.conf at which point yaboot can live with unknown options in its config file. * Use /etc/ybin.conf if it exists, if not use /etc/yaboot.conf for ybin configuration. * Merged ybin and mkofboot into one script, mkofboot shared 90% of of its code with ybin anyway and this will make them much easier to maintain. mkofboot is now a hard link to ybin (or a symlink if you prefer, both will work) * Added an experimental feature to generate a yaboot.conf on the fly based on command line options. The defaults should be workable on a Debian system with an internal ATA disk, with the root partition being the 3rd on the disk. Depends on mktemp for creating the temporary file, Debian's mktemp is secure against race conditions, use with caution if your distribution lacks a secure mktemp utility. This option is activated with -c auto. * No longer depends on bash. Works with Debian's /bin/ash. Interpreter is now set to /bin/sh. * Assorted cleanup, minor bug fixes. * Added example yaboot.conf. 2000-02-04 Ethan Benson * Version 0.10 * Added a simple multi-boot menu written by Benjamin Herrenschmidt. 2000-01-17 Ethan Benson * Version 0.9 * mkofboot was still broken. :-( 2000-01-14 Ethan Benson * Version 0.8 * Added a basic CHRP script ofboot.b to work around the problem of OF refusing to load `tbxi' files unless they contain a CHRP boot header. See README.ofboot.b for details. * Updated default ybin.conf to install ofboot.b by default. 2000-01-13 Ethan Benson * Version 0.7 * mkofboot: Check for hformat was broken. 2000-01-12 Ethan Benson * Version 0.6 * mkofboot: Fixed problem where it was insisting that mkdosfs be present even when using hfs filesystems if usemount=yes. * mkofboot: Added proper checks for hformat or mkdosfs. 2000-01-09 Ethan Benson * Version 0.5 * First public release. * Add TODO and BUGS files. * mkofboot: Check to see if usemount=yes, and if so make sure we are root before proceeding to erase the partition. * ybin: Removed useless echo line. 2000-01-05 Ethan Benson * Version 0.4 * ybin (util_install): Fully support OF `wrappers' now: if a wrapper is defined in the configuration file then the wrapper is given the HFS file type specified instead of the bootfile, the bootfile's type is set to "boot". * ybin: New configuration option `bless' when yes and are using hfsutils we will `bless' the root directory of the bootstrap filesystem so OF should be able to find and boot the system without reconfiguration. * mkofboot/ybin (checkconf): Add validation for the new `bless' option. Also add check that the wrapper, if defined, exists and we have permission to it. 2000-01-04 Ethan Benson * Version 0.3. * ybin (util_install): Quote the filetype/creator arguments to hattrib to prevent the shell from interpreting any meta-characters in some cases. Also no longer try and set metadata on wrapper if there is no wrapper. * mkofboot: When creating hfs or dos filesystems give them volume label of "bootstrap". 2000-01-03 Ethan Benson * Version 0.2. * mkofboot: added -w switch to grep when checking if a filesystem is already mounted to prevent erroneous positive matches. * ybin (util_install): Add check to make sure that the target device is not mounted as a filesystem before mucking with it. * Added changelog. 2000-01-01 Ethan Benson * Version 0.1. * first version. End: yaboot-1.3.16/doc/000077500000000000000000000000001141550335100136425ustar00rootroot00000000000000yaboot-1.3.16/doc/Makefile000066400000000000000000000007201141550335100153010ustar00rootroot00000000000000# programs for documentation DDOC := /usr/share/sgml/debiandoc/dtd/sgml/1.0/debiandoc.dcl DEBIANDOC2HTML := debiandoc2html -d $(DDOC) -c # detailed sgml validation NSGMLS := nsgmls -ges -wall $(DDOC) all: clean $(NSGMLS) yaboot-howto.sgml $(NSGMLS) yaboot-howto.de.sgml $(DEBIANDOC2HTML) -l en yaboot-howto.sgml $(DEBIANDOC2HTML) -l de -byaboot-howto yaboot-howto.de.sgml ln -s index.en.html yaboot-howto.html/index.html clean: -rm -rf yaboot-howto.html yaboot-1.3.16/doc/README.ofboot000066400000000000000000000041161141550335100160130ustar00rootroot00000000000000This is a new OpenFirmware CHRP script designed to be automatically configured by ybin. It is more robust then previous CHRP scripts, it includes the following capabilities: * Multibooting GNU/Linux, MacOS 8.* or 9.* MacOSX, Darwin, direct from * CDROM, Network and into an OpenFirmware prompt. * Presenting a real menu of OS choices. * Automatic configuration by ybin. This script should NOT be edited by the user. It should also not be used without ybin, its not directly useable by OpenFirmware. * Configurable colors. (see the yaboot.conf(5) man page). The multiboot menu is only presented when an extra OS is defined in /etc/yaboot.conf, otherwise this script loads yaboot without any user interaction. To enable a multi boot menu add bsd=ofpath and/or macos=ofpath and/or macosx=ofpath, and/or darwin=ofpath where ofpath is the OpenFirmware device path to the MacOS or MacOSX boot partition. Example: macos=hd:10 you can also specify a unix device node, ie: /dev/hda5, and ybin will translate it automatically using ofpath. This script when presenting a dual boot menu will wait for a defined number of seconds before automatically booting the default OS. Both this delay and the default OS can be configured in /etc/yaboot.conf. The delay is configured by adding delay=seconds. Unlike timeout this is in seconds rather then 10ths of seconds. This option has no effect on the yaboot boot: prompt timeout. If delay= is not set, ybin will translate the value of timeout= to seconds and use that. The default OS is configured by adding defaultos=macos. There is only four values that are acceptable: linux, bsd, macos, macosx and darwin. The default is linux. This should not be confused with yaboot's `default=' variable. The name and letter used to load MacOS or MacOSX (M and X respectively) cannot be be configured. (others are D for Darwin, C for CDROM, N for network, and O for OpenFirmware) The Forth code in this script was written by Chris Emerson and iNOUE Koich!. This script has only been formally tested on a Rev 1 Blue G3, a G4, and an ibook, please report any incompatibilities. yaboot-1.3.16/doc/README.ofpath000066400000000000000000000021521141550335100160020ustar00rootroot00000000000000This utility is used to find the OpenFirmware device path to a unix device node (ie /dev/hda2). Ofpath will work on Newworld PowerMacs only if yaboot is used as the bootloader, it will not work on newworld macs booted with BootX. Ofpath will also work on most Oldworld PowerMacs, unlike Newworld, it will work on BootX booted Oldworld machines. Note that oldworld support is not well tested and may not give accurate results. ofpath supports the following command line switches: --debug print boring junk only useful for debugging -h, --help display this help and exit -V, --version output version information and exit Ybin will use this utility automatically to find the OpenFirmware device path when macos=, macosx= are set to unix device nodes in /etc/yaboot.conf, and/or if ofboot= is not defined. ofpath is based on show_of_path.sh written by Olaf Hering, this version unlike show_of_path.sh works with /bin/ash and is fully functional on stripped down systems such as boot or rescue floppies. It has been tested on the Debian GNU/Linux 2.2 (potato) boot floppies. yaboot-1.3.16/doc/README.rs6000000066400000000000000000000045141141550335100154570ustar00rootroot00000000000000RS/6000 yaboot Notes --------------------- A. System Partitioning: 1. Only FDISK partitioning has been tested on the RS/6000. 2. Extended FDISK partitions have not been tested and are not expected to work at this time. 3. yaboot must be installed by itself in a bootable partition of type 0x41. This partition must be less than 10MB. Recommended partition configuration: /dev/sda1 : PREP Boot. Type 0x41. Size = 800K /dev/sda2 : Linux swap. Type 0x82. Size = 128 MB /dev/sda3 : Linux native. Type 0x83. B. Building & Installation: 1. See the partitioning section for notes & examples on how to configure your system partitions when installing Linux. 2. Build yaboot by doing: make clean; make 3. Make a yaboot.conf file in /etc/yaboot.conf 4. Install yaboot by doing (as root): mkofboot C. Configuration File (/etc/yaboot.conf): 1. See the yaboot.conf(5) man page for the full range of options. 2. Options tested on an RS/6000 include: timeout =