From 74e0c8ab60129594483a12a69de4acebf31df421 Mon Sep 17 00:00:00 2001 From: Parabola Date: Fri, 17 Sep 2010 18:08:12 -0700 Subject: Parabola iso scripts 2010_09 --- iso/Makefile | 87 +++++++++ iso/boot-files/isolinux/isolinux.cfg | 68 +++++++ iso/boot-files/releasenotes.txt | 3 + iso/boot-files/splash.png | Bin 0 -> 5445 bytes iso/boot-files/x86test | Bin 0 -> 38695 bytes iso/boot-files/x86test.COPYING | 339 +++++++++++++++++++++++++++++++++++ iso/doc | 16 ++ iso/download-repo.sh | 66 +++++++ iso/instructions | 36 ++++ iso/isomounts | 12 ++ iso/mkinitcpio.conf | 6 + iso/overlay/arch/setup | 3 + iso/overlay/etc/arch-release | 1 + iso/overlay/etc/archiso/functions | 12 ++ iso/overlay/etc/archiso/getshell | 9 + iso/overlay/etc/fstab | 7 + iso/overlay/etc/hosts | 8 + iso/overlay/etc/issue | 5 + iso/overlay/etc/motd | 13 ++ iso/overlay/etc/pacman.conf | 84 +++++++++ iso/overlay/etc/pam.d/su | 6 + iso/overlay/etc/rc.conf | 25 +++ iso/overlay/etc/rc.d/archiso | 96 ++++++++++ iso/overlay/etc/sudoers | 2 + iso/overlay/usr/bin/km | 2 + iso/packages.i686.libre | 35 ++++ iso/packages.x86_64.libre | 36 ++++ 27 files changed, 977 insertions(+) create mode 100644 iso/Makefile create mode 100644 iso/boot-files/isolinux/isolinux.cfg create mode 100644 iso/boot-files/releasenotes.txt create mode 100644 iso/boot-files/splash.png create mode 100644 iso/boot-files/x86test create mode 100644 iso/boot-files/x86test.COPYING create mode 100644 iso/doc create mode 100755 iso/download-repo.sh create mode 100644 iso/instructions create mode 100644 iso/isomounts create mode 100644 iso/mkinitcpio.conf create mode 100755 iso/overlay/arch/setup create mode 100644 iso/overlay/etc/arch-release create mode 100644 iso/overlay/etc/archiso/functions create mode 100644 iso/overlay/etc/archiso/getshell create mode 100644 iso/overlay/etc/fstab create mode 100644 iso/overlay/etc/hosts create mode 100644 iso/overlay/etc/issue create mode 100644 iso/overlay/etc/motd create mode 100644 iso/overlay/etc/pacman.conf create mode 100644 iso/overlay/etc/pam.d/su create mode 100644 iso/overlay/etc/rc.conf create mode 100755 iso/overlay/etc/rc.d/archiso create mode 100644 iso/overlay/etc/sudoers create mode 100755 iso/overlay/usr/bin/km create mode 100644 iso/packages.i686.libre create mode 100644 iso/packages.x86_64.libre diff --git a/iso/Makefile b/iso/Makefile new file mode 100644 index 0000000..5be3c0f --- /dev/null +++ b/iso/Makefile @@ -0,0 +1,87 @@ +ver=$(shell date +%Y.%m.%d) + +WORKDIR=work + +ARCH?=$(shell uname -m) + +PWD=$(shell pwd) +NETname=$(PWD)/parabola-$(ver)-netinstall-$(ARCH).iso +COREname=$(PWD)/parabola-$(ver)-core-$(ARCH).iso + +PACKAGES="$(shell cat packages.$(ARCH).libre)" + +kver_FILE=$(WORKDIR)/root-image/etc/mkinitcpio.d/kernel26.kver + +all: net-iso core-iso + +# Rules for each type of image +core-iso: $(COREname) +net-iso: $(NETname) + +$(COREname): core-pkgs base-fs + mkarchiso -v iso $(WORKDIR) $@ +$(NETname): base-fs + mkarchiso -v iso $(WORKDIR) $@ + +# This is the main rule for make the working filesystem. +base-fs: root-image bootfiles initcpio overlay iso-mounts + + +# Rules for make the root-image for base filesystem. +root-image: $(WORKDIR)/root-image/.arch-chroot +$(WORKDIR)/root-image/.arch-chroot: + mkarchiso -v -p base create $(WORKDIR) + mkarchiso -v -p $(PACKAGES) create $(WORKDIR) + +# Rule for make /boot +bootfiles: root-image + mkdir -p $(WORKDIR)/iso/boot + cp $(WORKDIR)/root-image/boot/System.map26 $(WORKDIR)/iso/boot/ + cp $(WORKDIR)/root-image/boot/vmlinuz26 $(WORKDIR)/iso/boot/ + cp $(WORKDIR)/root-image/boot/memtest86+/memtest.bin $(WORKDIR)/iso/boot/memtest + cp $(WORKDIR)/root-image/usr/share/licenses/common/GPL2/license.txt $(WORKDIR)/iso/boot/memtest.COPYING + cp -r boot-files/* $(WORKDIR)/iso/boot/ + cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/ + cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/ + cp $(WORKDIR)/root-image/usr/lib/syslinux/memdisk $(WORKDIR)/iso/boot/isolinux/ + cp $(WORKDIR)/root-image/usr/lib/syslinux/pxelinux.0 $(WORKDIR)/iso/boot/isolinux/ + cp $(WORKDIR)/root-image/usr/lib/syslinux/gpxelinux.0 $(WORKDIR)/iso/boot/isolinux/ + + +# Rules for initcpio images +initcpio: $(WORKDIR)/iso/boot/archiso.img +$(WORKDIR)/iso/boot/archiso.img: mkinitcpio.conf $(WORKDIR)/root-image/.arch-chroot + mkdir -p $(WORKDIR)/iso/boot + mkinitcpio -c ./mkinitcpio.conf -b $(WORKDIR)/root-image -k $(shell grep ^ALL_kver $(kver_FILE) | cut -d= -f2) -g $@ + + +# overlay filesystem +overlay: + mkdir -p $(WORKDIR)/overlay/etc/pacman.d + cp -r overlay $(WORKDIR)/ + wget -O $(WORKDIR)/overlay/etc/pacman.d/mirrorlist http://parabolagnulinux.org/mirrorlist + sed -i "s/#Server/Server/g" $(WORKDIR)/overlay/etc/pacman.d/mirrorlist + + +# Rule to process isomounts file. +iso-mounts: $(WORKDIR)/isomounts +$(WORKDIR)/isomounts: isomounts root-image + sed "s|@ARCH@|$(ARCH)|g" isomounts > $@ + + +# Rule for make the [core] repo packages +core-pkgs: + ./download-repo.sh core $(WORKDIR)/core-pkgs/src/core/pkg + + +# Clean-up all work +clean: + rm -rf $(WORKDIR) $(NETname) $(COREname) + + +.PHONY: all core-iso net-iso +.PHONY: base-fs +.PHONY: root-image bootfiles initcpio overlay iso-mounts +.PHONY: core-pkgs +.PHONY: clean + diff --git a/iso/boot-files/isolinux/isolinux.cfg b/iso/boot-files/isolinux/isolinux.cfg new file mode 100644 index 0000000..0eaee44 --- /dev/null +++ b/iso/boot-files/isolinux/isolinux.cfg @@ -0,0 +1,68 @@ +DEFAULT vesamenu.c32 +PROMPT 0 +MENU TITLE Parabola GNU/Linux +MENU BACKGROUND /boot/splash.png +TIMEOUT 3000 + +# TODO: Replace these crappy messages with something useful +F1 boot.txt +F2 options.txt +F3 help.txt + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 5 +MENU VSHIFT 10 +MENU TIMEOUTROW 13 +MENU TABMSGROW 11 +MENU CMDLINEROW 11 +MENU HELPMSGROW 16 +MENU HELPMSGENDROW 29 + +# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu + +MENU COLOR border 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std + +LABEL arch +TEXT HELP +Boot the Parabola GNU/Linux live medium. It allows you to install +a libre Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux +KERNEL /boot/vmlinuz26 +APPEND initrd=/boot/archiso.img archisolabel=XXX rw_branch_size=75% locale=en_US.UTF-8 +# Next line should be uncommented when prepare enviroment to boot from PXE. +#IPAPPEND 3 + +LABEL existing +TEXT HELP +Boot an existing operating system. Press TAB to edit the disk and partition +number to boot. +ENDTEXT +MENU LABEL Boot existing OS +KERNEL chain.c32 +APPEND hd0 0 + +# http://www.memtest.org/ +LABEL memtest +MENU LABEL Run Memtest86+ (RAM test) +KERNEL /boot/memtest + +# http://www.vortex.prodigynet.co.uk/x86test/ +LABEL x86test +MENU LABEL Run x86test (CPU test) +KERNEL /boot/x86test + +LABEL reboot +MENU LABEL Reboot +KERNEL reboot.c32 + +ONTIMEOUT arch diff --git a/iso/boot-files/releasenotes.txt b/iso/boot-files/releasenotes.txt new file mode 100644 index 0000000..1c2e057 --- /dev/null +++ b/iso/boot-files/releasenotes.txt @@ -0,0 +1,3 @@ +Arch Linux Live Medium + Release Notes +-------------------------- diff --git a/iso/boot-files/splash.png b/iso/boot-files/splash.png new file mode 100644 index 0000000..5179717 Binary files /dev/null and b/iso/boot-files/splash.png differ diff --git a/iso/boot-files/x86test b/iso/boot-files/x86test new file mode 100644 index 0000000..8c598e1 Binary files /dev/null and b/iso/boot-files/x86test differ diff --git a/iso/boot-files/x86test.COPYING b/iso/boot-files/x86test.COPYING new file mode 100644 index 0000000..d511905 --- /dev/null +++ b/iso/boot-files/x86test.COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser 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., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser General +Public License instead of this License. diff --git a/iso/doc b/iso/doc new file mode 100644 index 0000000..56ca007 --- /dev/null +++ b/iso/doc @@ -0,0 +1,16 @@ +wget http://www.parabolagnulinux.org/docs/blacklist.txt +sort -u packages.i686 >> packages.i686.libre +sort -u packages.x86_64 >> packages.x86_64.libre +sort -u blacklist.txt >> blacklist_archiso + +# Find every line refering to archlinux +find . -exec grep -Hni --color=always 'arch \?linux' '{}' \; + +# Now edit Makefile to change archlinux ISO name to parabola +# and mirrorlist to http://parabolagnulinux.org/mirrorlist + +# Make ISO building verbose +sed -i "s/mkarchiso/\& -v/" Makefile + +# Edit boot-files/syslinux/syslinux.cfg +# Change boot-files/splash.png diff --git a/iso/download-repo.sh b/iso/download-repo.sh new file mode 100755 index 0000000..8655a8d --- /dev/null +++ b/iso/download-repo.sh @@ -0,0 +1,66 @@ +#!/bin/sh +# This script downloads a entire pacman repo to a dir +# using the locally configured best mirror. +# +# Copyright (c) 2009 Aaron Griffin +# +# 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, see . + +REPO="$1" +DEST="$2" + +REPO_CHANGED=n + +if [ -z "$REPO" -o -z "$DEST" ]; then + echo "usage: $(basename $0) " + exit 1 +fi + +if [ $EUID -ne 0 ]; then + echo "This script must be run as root (for pacman -Sp)" + exit 1 +fi + +[ -d "$DEST" ] || mkdir -p "$DEST" + +#update repos +/usr/bin/pacman -Sy + +#Ensure we have core/pkgname format, so we don't get crap from other repos +PKGS=$(/usr/bin/pacman -Sl $REPO | cut -d' ' -f1,2 | tr ' ' '/') + +if [ -n "$PKGS" ]; then + baseurl="" + cachedir="/var/cache/pacman/pkg" + for url in $(/usr/bin/pacman -Sdp $PKGS | grep '://'); do + baseurl="$(dirname "$url")" #save for later + pkgname="$(basename "$url")" + cachedpkg="$cachedir/$pkgname" + if [ ! -e "$DEST/$pkgname" ]; then + if [ -e "$cachedpkg" ]; then + cp -v "$cachedpkg" "$DEST/$pkgname" + REPO_CHANGED=y + else + wget -nv "$url" -O "$DEST/$pkgname" + REPO_CHANGED=y + fi + fi + done + if [ "$REPO_CHANGED" = "y" ]; then + wget -nv "$baseurl/$REPO.db.tar.gz" -O "$DEST/$REPO.db.tar.gz" + fi +else + echo "No packages to download... what'd you break?" + exit 1 +fi diff --git a/iso/instructions b/iso/instructions new file mode 100644 index 0000000..5998788 --- /dev/null +++ b/iso/instructions @@ -0,0 +1,36 @@ + Arch Linux + Installation and Live-CDs + ---------------------------- + +All images give you a live console environment in which you can do +a manual or automatic installation and which can be used as maintenance and rescue systems. + +All iso files can also be written to hard disks/usbkeys. + +Flavors: +-------- +Netinstall images are the preferred install media for Arch Linux. +You can always get up to date packages using these media. +Core images contain a snapshot of the core repository, which makes them ideal +for offline installations when no Internet access is available +to install the base system. (you can do a netinstall with these also) + +Both come in i686, x86_64 or dual variant. The latter contains both and lets you choose +an architecture at boot. + +How to obtain and use these installation images: +------------------------------------- +Torrents are preferred (they are webseed enabled), but you can also just get the images +from an Arch mirror. + +The Official Arch Linux Install Guide gives you more info: + http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide + +More info / getting in touch: +---------------------------- +http://bugs.archlinux.org/ +http://mailman.archlinux.org/mailman/listinfo/arch-releng + +Happy installing! +Happy ARCHing! +- Arch Linux Release Engineering team diff --git a/iso/isomounts b/iso/isomounts new file mode 100644 index 0000000..6998f3b --- /dev/null +++ b/iso/isomounts @@ -0,0 +1,12 @@ +# archiso isomounts file +# img - location of image/directory to mount relative to addons directory +# arch - architecture of this image +# mount point - absolute location on the post-initrd root +# type - either 'bind' or 'squashfs' for now + +# syntax: + +# ORDER MATTERS! Files take top-down precedence. Be careful +overlay.sqfs @ARCH@ / squashfs +core-pkgs.sqfs @ARCH@ / squashfs +root-image.sqfs @ARCH@ / squashfs diff --git a/iso/mkinitcpio.conf b/iso/mkinitcpio.conf new file mode 100644 index 0000000..15097c0 --- /dev/null +++ b/iso/mkinitcpio.conf @@ -0,0 +1,6 @@ +# vim:set ft=sh +MODULES="" +BINARIES="" +FILES="" +HOOKS="base udev memdisk archiso archiso_pxe_nbd pata scsi sata usb fw pcmcia filesystems usbinput" +COMPRESSION="lzma" diff --git a/iso/overlay/arch/setup b/iso/overlay/arch/setup new file mode 100755 index 0000000..e9d1660 --- /dev/null +++ b/iso/overlay/arch/setup @@ -0,0 +1,3 @@ +#!/bin/sh +# +aif -p interactive diff --git a/iso/overlay/etc/arch-release b/iso/overlay/etc/arch-release new file mode 100644 index 0000000..153f8b2 --- /dev/null +++ b/iso/overlay/etc/arch-release @@ -0,0 +1 @@ +Arch Linux Live ISO diff --git a/iso/overlay/etc/archiso/functions b/iso/overlay/etc/archiso/functions new file mode 100644 index 0000000..fdd48f4 --- /dev/null +++ b/iso/overlay/etc/archiso/functions @@ -0,0 +1,12 @@ +# vim: set ft=sh: + +cmdline_param () +{ + for param in ${CMDLINE}; do + case "${param}" in + $1=*) echo "${param##*=}"; return ;; + *) continue ;; + esac + done + [ -n "${2}" ] && echo "${2}" +} diff --git a/iso/overlay/etc/archiso/getshell b/iso/overlay/etc/archiso/getshell new file mode 100644 index 0000000..a6f8775 --- /dev/null +++ b/iso/overlay/etc/archiso/getshell @@ -0,0 +1,9 @@ +#!/bin/sh + +. /etc/archiso/functions + +shell="$(cmdline_param shell)" +[ -n "${shell}" ] && shell="/bin/bash" +[ ! -e "${shell}" ] && shell="/bin/sh" + +exec ${shell} diff --git a/iso/overlay/etc/fstab b/iso/overlay/etc/fstab new file mode 100644 index 0000000..3c43a5e --- /dev/null +++ b/iso/overlay/etc/fstab @@ -0,0 +1,7 @@ +# /etc/fstab: static file system information +# +aufs / aufs noauto 0 0 +none /dev/pts devpts defaults 0 0 +none /dev/shm tmpfs defaults 0 0 + +### Auto generated entries get added here: diff --git a/iso/overlay/etc/hosts b/iso/overlay/etc/hosts new file mode 100644 index 0000000..b6f25e3 --- /dev/null +++ b/iso/overlay/etc/hosts @@ -0,0 +1,8 @@ +# +# /etc/hosts: static lookup table for host names +# + +# +127.0.0.1 localhost.localdomain localhost archiso + +# End of file diff --git a/iso/overlay/etc/issue b/iso/overlay/etc/issue new file mode 100644 index 0000000..d14a97b --- /dev/null +++ b/iso/overlay/etc/issue @@ -0,0 +1,5 @@ + +Parabola GNU\/Linux Live ISO (\l) +\s-\r \m. +Default logins "root" and "arch" have no password. +To begin installation, login as root. diff --git a/iso/overlay/etc/motd b/iso/overlay/etc/motd new file mode 100644 index 0000000..00e4775 --- /dev/null +++ b/iso/overlay/etc/motd @@ -0,0 +1,13 @@ +************************************************************** +* To begin installation, run /arch/setup * +* You can find documentation at * +* /usr/share/aif/docs/official_installation_guide_en * +* * +* i18n: Use the 'km' utility to change your keyboard layout * +* and console font. * +* * +* If you are looking to install Arch on something more * +* exotic, such as your kerosene-powered cheese grater, * +* please consult http://wiki.archlinux.org. * +* * +************************************************************** diff --git a/iso/overlay/etc/pacman.conf b/iso/overlay/etc/pacman.conf new file mode 100644 index 0000000..911c23d --- /dev/null +++ b/iso/overlay/etc/pacman.conf @@ -0,0 +1,84 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +HoldPkg = pacman glibc +# If upgrades are available for these packages they will be asked for first +SyncFirst = pacman +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#XferCommand = /usr/bin/curl -C - %u > %o +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options (all disabled by default) +#UseSyslog +#ShowSize +#UseDelta +#TotalDownload + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +## Add your preferred servers here, they will be used first +#Include = /etc/pacman.d/mirrorlist + +[core] +# Add your preferred servers here, they will be used first +Include = /etc/pacman.d/mirrorlist + +[extra] +# Add your preferred servers here, they will be used first +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +## Add your preferred servers here, they will be used first +#Include = /etc/pacman.d/mirrorlist + +[community] +# Add your preferred servers here, they will be used first +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#Server = file:///home/custompkgs + diff --git a/iso/overlay/etc/pam.d/su b/iso/overlay/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/iso/overlay/etc/pam.d/su @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth sufficient pam_wheel.so trust use_uid +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/iso/overlay/etc/rc.conf b/iso/overlay/etc/rc.conf new file mode 100644 index 0000000..ff18456 --- /dev/null +++ b/iso/overlay/etc/rc.conf @@ -0,0 +1,25 @@ +# +# /etc/rc.conf - Main Configuration for Arch Linux + +. /etc/archiso/functions + +LOCALE_DEFAULT="en_US.UTF-8" +CLOCK_DEFAULT="" +TIMEZONE_DEFAULT="" +KEYMAP_DEFAULT="us" + +LOCALE="$(cmdline_param locale ${LOCALE_DEFAULT})" +HARDWARECLOCK="$(cmdline_param clock ${CLOCK_DEFAULT})" +TIMEZONE="$(cmdline_param timezone ${TIMEZONE_DEFAULT})" +KEYMAP="$(cmdline_param keymap ${KEYMAP_DEFAULT})" +CONSOLEFONT="$(cmdline_param consolefont)" +CONSOLEMAP="$(cmdline_param consolemap)" +USECOLOR="yes" + +MOD_AUTOLOAD="yes" + +HOSTNAME="archiso" + +#TODO add more auto-daemons here, especially the live-cd specific stuff +DAEMONS=(syslog-ng network archiso) +#TODO: auto-network find-disks find-user-home diff --git a/iso/overlay/etc/rc.d/archiso b/iso/overlay/etc/rc.d/archiso new file mode 100755 index 0000000..435152a --- /dev/null +++ b/iso/overlay/etc/rc.d/archiso @@ -0,0 +1,96 @@ +# vim: set ft=sh: +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/archiso/functions + + +scan_network () +{ + netparam () { echo ${2} | sed "s|.*${1}\([^ ]*\).*|\1|gi"; } + # + netdevs=$(cat /proc/net/dev | grep ':' | cut -d':' -f1) + for net in ${netdev}; do + stats=$(ifconfig ${net} | tr -s "\n" " ") + done +} + +scan_mount_pts () +{ + #iterate over all block devices + stat_busy "Scanning local block devices" + for dev in $(echo /sys/block/*/dev /sys/block/*/*/dev); do + + devname="/dev/$(echo ${dev} | cut -d'/' -f3,4 | cut -d'/' -f1)" + mountpt="/mnt/$(basename '${devname}')" + mkdir -p "${mountpt}" 2>/dev/null + mount ${options} "${devname}" "${mountpt}" >/dev/null 2>&1 + + fstype=$(awk '{ if ($1=="${devname}") { print $3" "$4;q }}' /proc/mounts) + fstype="${fstype%%,*}" + case "${fstype%% *}" in + *fat*|ntfs|*dos) options="user,exec,uid=0,gid=100,umask=00070" ;; + *) options="users,defaults,exec" ;; + #TODO handle 'sync' on usb devices... + esac + + echo "${devname} ${mountpt} ${fstype} ${options} 0 0 #configured by archiso" >>/etc/fstab + done + stat_done +} + +scan_swap () +{ + #Archie finds a pagefile.sys for windows/dos machines... may add later + stat_busy "Finding existing swap partitions" + swapdev="$(fdisk -l 2>/dev/null | grep swap | cut -d' ' -f1)" + if [ -e "${swapdev}" ]; then + swapon ${swapdev} + echo "${swapdev} swap swap defaults 0 0 #configured by archiso" >>/etc/fstab + fi + stat_done +} + +do_homedir () +{ + stat_busy "Scanning for existing HOME directory" + user="$(cmdline_param homeuser)" + for hdir in $(find /mnt -name "home/${user}" 2>/dev/null); do + mkdir -p "/home/arch/" + # break after the first success... + mount --bind "${hdir}" "/home/arch/" && break + done + stat_done +} + +do_makeuser () +{ + stat_busy "Making the default user arch" + addgroups="audio,disk,optical,wheel" + useradd -m -p "" -g users -G $addgroups arch + stat_done +} + +do_locale_gen () +{ + stat_busy "Generating locales..." + sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen + /usr/sbin/locale-gen > /dev/null + stat_done +} + +# GIT does not manage perms others thans 755 and 644, so fix here. +do_fix_perms () +{ + stat_busy "Fixing file permissions..." + chmod 440 /etc/sudoers + stat_done +} + +case "$1" in + start) + do_locale_gen + do_makeuser + do_fix_perms + ;; +esac +exit 0 diff --git a/iso/overlay/etc/sudoers b/iso/overlay/etc/sudoers new file mode 100644 index 0000000..67b20ba --- /dev/null +++ b/iso/overlay/etc/sudoers @@ -0,0 +1,2 @@ +root ALL=(ALL) ALL +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/iso/overlay/usr/bin/km b/iso/overlay/usr/bin/km new file mode 100755 index 0000000..e24d780 --- /dev/null +++ b/iso/overlay/usr/bin/km @@ -0,0 +1,2 @@ +#!/bin/bash +aif -p partial-keymap diff --git a/iso/packages.i686.libre b/iso/packages.i686.libre new file mode 100644 index 0000000..c3d5e21 --- /dev/null +++ b/iso/packages.i686.libre @@ -0,0 +1,35 @@ +aif +aufs2 +aufs2-util +crda +ddrescue +dialog +dmraid +dnsutils +dosfstools +elinks +gnu-netcat +inetutils +joe +lftp +lilo +memtest86+ +netcfg +nfs-utils +nmap +ntfs-3g +ntfsprogs +ntp +openssh +openvpn +parted +pptpclient +speedtouch +squashfs-tools +syslinux +tcpdump +tiacx +tiacx-firmware +wireless_tools +wpa_actiond +wpa_supplicant diff --git a/iso/packages.x86_64.libre b/iso/packages.x86_64.libre new file mode 100644 index 0000000..8a06ec6 --- /dev/null +++ b/iso/packages.x86_64.libre @@ -0,0 +1,36 @@ +aif +aufs2 +aufs2-util +crda +ddrescue +dialog +dmraid +dnsutils +dosfstools +elinks +gnu-netcat +inetutils +joe +lftp +lilo +memtest86+ +netcfg +nfs-utils +nmap +ntfs-3g +ntfsprogs +ntp +openssh +openvpn +parted +pptpclient +speedtouch +squashfs-tools +syslinux +tcpdump +tiacx +tiacx-firmware +wireless_tools +wpa_actiond +wpa_supplicant +zd1211-firmware -- cgit v1.2.3