From ef648688ce8bb44aca7d31c86f6f59f4cc578aa8 Mon Sep 17 00:00:00 2001 From: Eric Edgar Date: Tue, 9 Aug 2005 19:02:31 +0000 Subject: [PATCH] Forward port the changes from catalyst 1.1.9 to 1.1.10.10 to catalyst2. Need to look at gamecdfs-update.sh yet. git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/catalyst/trunk@821 d1e1f19c-881f-0410-ab34-b69fee027534 --- AUTHORS | 1 + ChangeLog | 22 ++++++- arch/hppa.py | 4 +- catalyst | 4 +- examples/livecd-stage2_template.spec | 38 +++++++---- examples/snapshot_template.spec | 4 +- files/catalyst.conf | 9 ++- livecd/files/Getting_Online.txt | 65 +++++++++++++++---- livecd/files/generic.motd.txt | 2 +- livecd/files/livecd-bashrc | 16 +++-- livecd/files/livecd-local.start | 7 ++ livecd/files/x86-help.msg | 20 +----- modules/catalyst_lock.py | 3 + modules/catalyst_support.py | 6 +- modules/livecd_stage2_target.py | 9 +-- targets/embedded/embedded-controller.sh | 8 +-- targets/grp/grp-chroot.sh | 3 +- .../livecd-stage2/livecd-stage2-controller.sh | 11 ++-- targets/stage1/stage1-chroot.sh | 16 ++++- targets/stage2/stage2-chroot.sh | 5 +- targets/stage2/stage2-preclean-chroot.sh | 5 +- targets/stage3/stage3-preclean-chroot.sh | 4 +- targets/stage4/stage4-controller.sh | 8 +-- targets/support/bootloader-setup.sh | 51 +++++++++------ targets/support/chroot-functions.sh | 3 + targets/support/create-iso.sh | 19 ++++-- targets/support/filesystem-functions.sh | 10 --- targets/support/functions.sh | 10 +-- targets/support/kmerge.sh | 2 +- targets/support/livecdfs-update.sh | 13 +++- targets/support/target_image_setup.sh | 4 -- 31 files changed, 249 insertions(+), 133 deletions(-) diff --git a/AUTHORS b/AUTHORS index 6bb5b0d4..2f381b20 100644 --- a/AUTHORS +++ b/AUTHORS @@ -13,3 +13,4 @@ Mike Frysinger Gustavo Zacarias Robert Paskowitz David Bryson +Daniel Ostrow diff --git a/ChangeLog b/ChangeLog index 5a32a019..38ca5f81 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,25 @@ # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/ChangeLog,v 1.313 2005/08/09 14:24:45 rocket Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/ChangeLog,v 1.314 2005/08/09 19:02:31 rocket Exp $ + + 09 Aug 2005; Eric Edgar AUTHORS, arch/hppa.py, + catalyst, examples/livecd-stage2_template.spec, + examples/snapshot_template.spec, files/catalyst.conf, + livecd/files/Getting_Online.txt, livecd/files/generic.motd.txt, + livecd/files/livecd-bashrc, livecd/files/livecd-local.start, + livecd/files/x86-help.msg, modules/catalyst_lock.py, + modules/catalyst_support.py, modules/livecd_stage2_target.py, + targets/embedded/embedded-controller.sh, targets/grp/grp-chroot.sh, + targets/livecd-stage2/livecd-stage2-controller.sh, + targets/stage1/stage1-chroot.sh, targets/stage2/stage2-chroot.sh, + targets/stage2/stage2-preclean-chroot.sh, + targets/stage3/stage3-preclean-chroot.sh, + targets/stage4/stage4-controller.sh, targets/support/bootloader-setup.sh, + targets/support/chroot-functions.sh, targets/support/create-iso.sh, + targets/support/filesystem-functions.sh, targets/support/functions.sh, + targets/support/kmerge.sh, targets/support/livecdfs-update.sh, + targets/support/target_image_setup.sh: + Forward port the changes from catalyst 1.1.9 to 1.1.10.10 to catalyst2. Need + to look at gamecdfs-update.sh yet. 09 Aug 2005; Eric Edgar modules/generic_stage_target.py: diff --git a/arch/hppa.py b/arch/hppa.py index 0b20fe1a..ece66a2d 100644 --- a/arch/hppa.py +++ b/arch/hppa.py @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/arch/hppa.py,v 1.5 2005/07/05 21:53:41 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/arch/hppa.py,v 1.6 2005/08/09 19:02:31 rocket Exp $ import builder,os from catalyst_support import * @@ -12,7 +12,7 @@ class generic_hppa(builder.generic): self.settings["mainarch"]="hppa" self.settings["CHROOT"]="chroot" self.settings["CFLAGS"]="-O2 -pipe" - self.settings["CXXFLAGS"]="-O1 -pipe" + self.settings["CXXFLAGS"]="-O2 -pipe" class arch_hppa(generic_hppa): "Builder class for hppa systems" diff --git a/catalyst b/catalyst index a9dedc91..78e1c125 100755 --- a/catalyst +++ b/catalyst @@ -1,7 +1,7 @@ #!/usr/bin/python # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/catalyst,v 1.88 2005/08/09 14:12:26 rocket Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/catalyst,v 1.89 2005/08/09 19:02:31 rocket Exp $ # Maintained in full by: # Eric Edgar @@ -10,7 +10,7 @@ import os,sys,imp,string,getopt import pdb __maintainer__="Chris Gianelloni " -__version__="2.0.0_pre2" +__version__="2.0.0_pre3" conf_values={} diff --git a/examples/livecd-stage2_template.spec b/examples/livecd-stage2_template.spec index 926c32c4..66462404 100644 --- a/examples/livecd-stage2_template.spec +++ b/examples/livecd-stage2_template.spec @@ -63,7 +63,6 @@ portage_confdir: # zisofs - This uses in-kernel compression and is supported on all platforms. # normal - This creates a loop without compression. # noloop - This copies the files to the CD directly, withuot using a loopback. -# gcloop - This is deprecated and only provided for backwards compatibility. # example: # livecd/cdfstype: squashfs livecd/cdfstype: @@ -119,6 +118,12 @@ livecd/splash_type: # livecd/splash_theme: livecd-2005.0 livecd/splash_theme: +# This is a set of arguments that get passed to the bootloader for your CD. It +# is used on the x86/amd64 release media to enable keymap selection. +# example: +# livecd/bootargs: dokeymap +livecd/bootargs: + # This is a set of arguments that will be passed to genkernel for all kernels # defined in this target. It is useful for passing arguments to genkernel that # are not otherwise available via the livecd-stage2 spec file. @@ -134,6 +139,14 @@ livecd/gk_mainargs: # livecd/linuxrc: livecd/linuxrc: +# This option allows you to specify your own linuxrc script for genkernel to use +# when building your CD. This is not checked for functionality, so it is up to +# you to debug your own script. We do not use one for the official release +# media, so there will not be one listed below. +# example: +# livecd/linuxrc: +livecd/linuxrc: + # This option controls quite a bit of catalyst internals and sets up several # defaults. Each type behaves slightly differently and is explained below. # gentoo-release-minimal - This creates an official minimal InstallCD. @@ -145,6 +158,14 @@ livecd/linuxrc: # livecd/type: gentoo-release-minimal livecd/type: +# This is for the README.txt on the root of the CD. For Gentoo releases, we +# use a default README.txt, and this will be used on your CD if you do not +# provide one yourself. Since we do not use this for the official releases, it +# is left blank below. +# example: +# livecd/readme: +livecd/readme: + # This is for the CD's message of the day. It is not required for official # release media, as catalyst builds a default motd when the livecd/type is set # to one of the gentoo-* options. This setting overrides the default motd even @@ -162,10 +183,11 @@ livecd/motd: livecd/modblacklist: # This is for adding init scripts to runlevels. The syntax for the init script -# is the script name, followed by a colon, followed by the runlevel in which you -# want the script to run. It looks like spind:default and is space delimited. +# is the script name, followed by a pipe, followed by the runlevel in which you +# want the script to run. It looks like spind|default and is space delimited. # We do not use this on the official media, as catalyst sets up the runlevels # correctly for us. Since we do not use this, it is left blank below. +# This option will automatically create missing runlevels # example: # livecd/rcadd: livecd/rcadd: @@ -216,7 +238,8 @@ livecd/xinitrc: # This option is used to create non-root users on your CD. It takes a space # separated list of user names. These users will be added to the following # groups: users,wheel,audio,games,cdrom,usb -# If this is specified in your spec file, then the first user is also the user # used to start X. Since this is not used on the release media, it is blank. +# If this is specified in your spec file, then the first user is also the user +# used to start X. Since this is not used on the release media, it is blank. # example: # livecd/users: livecd/users: @@ -277,13 +300,6 @@ boot/kernel/gentoo/use: # boot/kernel/gentoo/extraversion: boot/kernel/gentoo/extraversion: -# This option is a list of packages which genkernel will emerge after the kernel -# has been configured, but before it is compiled. This option is used for the -# exclusive purpose of including our gensplash theme into the kernel bzImage. -# example: -# boot/kernel/gentoo/postconf: splashutils splash-themes-livecd -boot/kernel/gentoo/postconf: - # This option is for merging kernel-dependent packages and external modules that # are configured against this kernel label. # example: diff --git a/examples/snapshot_template.spec b/examples/snapshot_template.spec index 30acb6e9..80ba66a3 100644 --- a/examples/snapshot_template.spec +++ b/examples/snapshot_template.spec @@ -1,6 +1,6 @@ # portage snapshot example specfile -# Thsi is the target for creating a snapshot. +# This is the target for creating a snapshot. # example: # target: snapshot target: @@ -13,5 +13,5 @@ version_stamp: # This option specifies the location to a portage overlay that you would like to # have included in this snapshot. # example: -# portdir_overlay: /usr/local/portdir_overlay +# portdir_overlay: /usr/local/portage portdir_overlay: diff --git a/files/catalyst.conf b/files/catalyst.conf index eba537a1..83237298 100644 --- a/files/catalyst.conf +++ b/files/catalyst.conf @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/files/catalyst.conf,v 1.11 2005/07/05 21:53:41 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/files/catalyst.conf,v 1.12 2005/08/09 19:02:31 rocket Exp $ # Simple desriptions of catalyst settings. Please refer to the online # documentation for more information. @@ -17,6 +17,9 @@ distdir="/usr/portage/distfiles" # prematurely) # kerncache = keeps a tbz2 of your built kernel and modules (useful if your # build stops in livecd-stage2) +# seedcache = use the build output of a previous target if it exists to speed up +# the copy +# snapcache = cache the snapshot so that it can be bind-mounted into the chroot. options="pkgcache kerncache" # sharedir specifies where all of the catalyst runtime executables are. Most @@ -27,6 +30,10 @@ sharedir="/usr/lib/catalyst" # also where it will put its temporary files and caches. storedir="/var/tmp/catalyst" +# snapshot_cache specifies where the snapshots will be cached to if snapcache is +# enabled in the options. +# snapshot_cache="" + # envscript allows users to set options such as http proxies, MAKEOPTS, # GENTOO_MIRRORS, or any other environment variables needed for building. # The envscript file sets environment variables like so: diff --git a/livecd/files/Getting_Online.txt b/livecd/files/Getting_Online.txt index f682d12f..1cee6d4b 100644 --- a/livecd/files/Getting_Online.txt +++ b/livecd/files/Getting_Online.txt @@ -81,6 +81,8 @@ * Regular Ethernet users should continue with Default: Using net-setup * ADSL users should continue with Alternative: Using RP-PPPoE * PPTP users should continue with Alternative: Using PPTP + * Speedtouch USB users should continue with Alternative: Using Speedtouch + USB Default: Using net-setup @@ -147,6 +149,41 @@ Now continue with Preparing the Disks. + Alternative: Using Speedtouch USB + + First, you need to help hotplug in finding the Alcatel Speedtouch USB + modem. Add the following line to /etc/hotplug/usb.usermap: + + Code Listing 10: Adding Alcatel Speedtouch support + speedtouch 0x0003 0x06b9 0x4061 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 "Alcatel SpeedTouch USB" + + Next, create /etc/ppp/peers/adsl and enter the following information: + + Code Listing 11: Editing /etc/ppp/peers/adsl + noipdefault + defaultroute + # Change this to the login for your ISP. + user "user@provider.com" + passive + persist + holdoff 4 + maxfail 25 + plugin pppoatm.so + # Changes by country - http://www.linux-usb.org/SpeedTouch/faq/index.html#q12 + 0.38 + + If your ISP provides the name servers, add "usepeerdns" to it as well. + + Now add your login and password to the /etc/ppp/chap-secrets file: + + Code Listing 12: Setting the user name and password + "user@provider.com" * "yourpassword" + + Now you are all set: start up your internet connection using pppd: + + Code Listing 13: Starting the Internet connection + # pppd call adsl + c. Manual Network Configuration Loading the Appropriate Network Modules @@ -162,20 +199,20 @@ To find out what kernel modules we provide for networking, use ls: - Code Listing 10: Searching for provided modules + Code Listing 14: Searching for provided modules # ls /lib/modules/`uname -r`/kernel/drivers/net If you find a driver for your network card, use modprobe to load the kernel module: - Code Listing 11: Using modprobe to load a kernel module + Code Listing 15: Using modprobe to load a kernel module (As an example, we load the pcnet32 module) # modprobe pcnet32 To check if your network card is now detected, use ifconfig. A detected network card would result in something like this: - Code Listing 12: Testing availability of your network card, successful + Code Listing 16: Testing availability of your network card, successful # ifconfig eth0 eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP MULTICAST MTU:1500 Metric:1 @@ -187,7 +224,7 @@ If however you receive the following error, the network card is not detected: - Code Listing 13: Testing availability of your network card, failed + Code Listing 17: Testing availability of your network card, failed # ifconfig eth0 eth0: error fetching interface information: Device not found @@ -219,7 +256,7 @@ service). To have a network interface receive this information automatically, use dhcpcd: - Code Listing 14: Using dhcpcd + Code Listing 18: Using dhcpcd # dhcpcd eth0 Some network admins require that you use the hostname and domainname provided by the DHCP server. @@ -241,7 +278,7 @@ settings on your card, you can use iwconfig. Running iwconfig might show something like: -Code Listing 15: Showing the current wireless settings +Code Listing 19: Showing the current wireless settings # iwconfig eth0 eth0 IEEE 802.11-DS ESSID:"GentooNode" Mode:Managed Frequency:2.442GHz Access Point: 00:09:5B:11:CC:F2 @@ -262,7 +299,7 @@ eth0 IEEE 802.11-DS ESSID:"GentooNode" you are not using WEP, then your wireless is working. If you need to change your ESSID, or add a WEP key, you can issue the following commands: - Code Listing 16: Changing ESSID and/or adding WEP key + Code Listing 20: Changing ESSID and/or adding WEP key (This sets the network name to "GentooNode") # iwconfig eth0 essid GentooNode @@ -295,7 +332,7 @@ eth0 IEEE 802.11-DS ESSID:"GentooNode" 255. Well, at least that is how we perceive it. In reality, such an IP address consists of 32 bits (ones and zeros). Let's view an example: - Code Listing 17: Example of an IP address + Code Listing 21: Example of an IP address IP Address (numbers): 192.168.0.2 IP Address (bits): 11000000 10101000 00000000 00000010 -------- -------- -------- -------- @@ -312,7 +349,7 @@ eth0 IEEE 802.11-DS ESSID:"GentooNode" on the ones is the network-part, the other one is the host-part. As usual, the netmask can be written down as an IP-address. - Code Listing 18: Example of network/host separation + Code Listing 22: Example of network/host separation IP-address: 192 168 0 2 11000000 10101000 00000000 00000010 Netmask: 11111111 11111111 11111111 00000000 @@ -327,7 +364,7 @@ eth0 IEEE 802.11-DS ESSID:"GentooNode" network, but with only ones as host-part. Every host on your network listens to this IP address. It is truly meant for broadcasting packets. - Code Listing 19: Broadcast address + Code Listing 23: Broadcast address IP-address: 192 168 0 2 11000000 10101000 00000000 00000010 Broadcast: 11000000 10101000 00000000 11111111 @@ -369,26 +406,26 @@ eth0 IEEE 802.11-DS ESSID:"GentooNode" with your IP address, ${BROADCAST} with your broadcast address and ${NETMASK} with your netmask: - Code Listing 20: Using ifconfig + Code Listing 24: Using ifconfig # ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up Now set up routing using route. Substitute ${GATEWAY} with your gateway IP address: - Code Listing 21: Using route + Code Listing 25: Using route # route add default gw ${GATEWAY} Now open /etc/resolv.conf with your favorite editor (in our example, we use nano): - Code Listing 22: Creating /etc/resolv.conf + Code Listing 26: Creating /etc/resolv.conf # nano -w /etc/resolv.conf Now fill in your nameserver(s) using the following as a template. Make sure you substitute ${NAMESERVER1} and ${NAMESERVER2} with the appropriate nameserver addresses: - Code Listing 23: /etc/resolv.conf template + Code Listing 27: /etc/resolv.conf template nameserver ${NAMESERVER1} nameserver ${NAMESERVER2} diff --git a/livecd/files/generic.motd.txt b/livecd/files/generic.motd.txt index dda5e67d..d02e17dd 100644 --- a/livecd/files/generic.motd.txt +++ b/livecd/files/generic.motd.txt @@ -7,5 +7,5 @@ If any ethernet adapters were detected at boot, they should be auto-configured if DHCP is available on your network. Type "net-setup eth0" to specify eth0 IP address settings by hand. -Check /boot/config-* for kernel configuration. +Check /etc/kernels/kernel-config-* for kernel configuration(s). diff --git a/livecd/files/livecd-bashrc b/livecd/files/livecd-bashrc index 16332ea9..a1fa2424 100644 --- a/livecd/files/livecd-bashrc +++ b/livecd/files/livecd-bashrc @@ -1,9 +1,15 @@ #!/bin/bash -if [ -e /usr/bin/X ]; then - if [ -e /etc/startx ]; then - rm -f /etc/startx - ##STARTX - cat /etc/motd +if [ ! $(grep nox /proc/cmdline) ] +then + if [ -x /usr/bin/X ] + then + if [ -e /etc/startx ] + then + rm -f /etc/startx + ##STARTX + [ -f /etc/motd ] && cat /etc/motd fi + fi fi + diff --git a/livecd/files/livecd-local.start b/livecd/files/livecd-local.start index f8fea18a..29aff4f0 100644 --- a/livecd/files/livecd-local.start +++ b/livecd/files/livecd-local.start @@ -1,3 +1,4 @@ +#!/bin/bash # /etc/conf.d/local.start # This is a good place to load any misc. @@ -17,3 +18,9 @@ if [ -d /usr/livecd/profiles ] then ln -sf /usr/livecd/profiles /usr/portage/profiles fi + +if [ -d /usr/livecd/eclass ] +then + ln -sf /usr/livecd/eclass /usr/portage/eclass +fi + diff --git a/livecd/files/x86-help.msg b/livecd/files/x86-help.msg index af1b79b7..7a4fcb6e 100755 --- a/livecd/files/x86-help.msg +++ b/livecd/files/x86-help.msg @@ -5,20 +5,6 @@ the -nofb counterparts to each kernel disable the framebuffer and splash images. Additionally, the memtest86 boot option is available to test local RAM for errors. To use memtest86, just type 'memtest86'. -Options available to pass to your kernel of choice. -- acpi=on loads support for ACPI firmware -- ide=nodma force disabling of DMA for malfunctioning IDE devices -- doscsi scan for SCSI devices (breaks some ethernet cards) -- dopcmcia starts card services for PCMCIA CDROMs -- nofirewire disables firewire modules in initrd (for firewire CDROMs,etc) -- nokeymap disables keymap selection for non-US keyboard layouts -- docache cache the entire runtime portion of CD in RAM, allows you - to umount /mnt/cdrom to mount another CDROM. -- nodetect causes hwsetup/kudzu and hotplug/coldplug not to run -- nousb disables USB modules load from initrd -- nodhcp DHCP does not automatically start if NIC detected -- nohotplug disables loading hotplug/coldplug services -- noapic disable APIC (try if having hardware problems NICs,SCSI,etc) -- hdx=stroke allows you to partition the whole hard disk even when your BIOS - can't handle large hard disks -- noload= disables loading a specific module(s), good for debugging +There are numerous options available that can be passed to the kernel on this +command line. You can read all of the options by checking README.txt on this +CDROM. diff --git a/modules/catalyst_lock.py b/modules/catalyst_lock.py index 4dc673de..11fa1cfc 100755 --- a/modules/catalyst_lock.py +++ b/modules/catalyst_lock.py @@ -1,4 +1,7 @@ #!/usr/bin/python +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo/src/catalyst/modules/catalyst_lock.py,v 1.2 2005/08/09 19:02:31 rocket Exp $ import os import fcntl import errno diff --git a/modules/catalyst_support.py b/modules/catalyst_support.py index 69484b35..2de4debd 100644 --- a/modules/catalyst_support.py +++ b/modules/catalyst_support.py @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/modules/catalyst_support.py,v 1.53 2005/08/09 14:12:26 rocket Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/modules/catalyst_support.py,v 1.54 2005/08/09 19:02:31 rocket Exp $ import sys,string,os,types,re,signal,traceback,md5,time selinux_capable = False @@ -627,12 +627,12 @@ def ismount(path): "enhanced to handle bind mounts" if os.path.ismount(path): return 1 - a=open("/proc/mounts","r") + a=popen("mount") mylines=a.readlines() a.close() for line in mylines: mysplit=line.split() - if pathcompare(path,mysplit[1]): + if pathcompare(path,mysplit[2]): return 1 return 0 diff --git a/modules/livecd_stage2_target.py b/modules/livecd_stage2_target.py index 0aa5e09c..3304e332 100644 --- a/modules/livecd_stage2_target.py +++ b/modules/livecd_stage2_target.py @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/modules/livecd_stage2_target.py,v 1.46 2005/08/09 14:12:26 rocket Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/modules/livecd_stage2_target.py,v 1.47 2005/08/09 19:02:31 rocket Exp $ """ Builder class for a LiveCD stage2 build. @@ -19,11 +19,12 @@ class livecd_stage2_target(generic_stage_target): self.valid_values.extend(self.required_values) self.valid_values.extend(["livecd/cdtar","livecd/empty","livecd/rm",\ "livecd/unmerge","livecd/iso","livecd/gk_mainargs","livecd/type",\ - "livecd/motd","livecd/overlay","livecd/modblacklist","livecd/splash_theme",\ + "livecd/readme","livecd/motd","livecd/overlay",\ + "livecd/modblacklist","livecd/splash_theme","livecd/splash_type",\ "livecd/rcadd","livecd/rcdel","livecd/fsscript","livecd/xinitrc",\ - "livecd/root_overlay","livecd/devmanager","livecd/splash_type",\ + "livecd/root_overlay","livecd/devmanager","livecd/users",\ "gamecd/conf","livecd/users","portage_overlay","livecd/cdfstype",\ - "livecd/linuxrc","livecd/bootargs"]) + "livecd/linuxrc","livecd/bootargs","gamecd/conf"]) generic_stage_target.__init__(self,spec,addlargs) if not self.settings.has_key("livecd/type"): diff --git a/targets/embedded/embedded-controller.sh b/targets/embedded/embedded-controller.sh index 4b8e400d..3ea50ca0 100755 --- a/targets/embedded/embedded-controller.sh +++ b/targets/embedded/embedded-controller.sh @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/embedded/embedded-controller.sh,v 1.4 2005/05/25 19:28:59 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/embedded/embedded-controller.sh,v 1.5 2005/08/09 19:02:31 rocket Exp $ . ${clst_sharedir}/targets/support/functions.sh . ${clst_sharedir}/targets/support/filesystem-functions.sh @@ -33,13 +33,13 @@ case $1 in shift export clst_kname="$1" # if we have our own linuxrc, copy it in - if [ -n "${clst_livecd_linuxrc}" ] + if [ -n "${clst_linuxrc}" ] then - cp -a ${clst_livecd_linuxrc} ${clst_chroot_path}/tmp/linuxrc + cp -a ${clst_linuxrc} ${clst_chroot_path}/tmp/linuxrc fi exec_in_chroot ${clst_sharedir}/targets/support/pre-kmerge.sh exec_in_chroot ${clst_sharedir}/targets/support/kmerge.sh - rm -f ${clst_chroot_path}/tmp/linuxrc + delete_from_chroot tmp/linuxrc exec_in_chroot ${clst_sharedir}/targets/support/post-kmerge.sh ;; diff --git a/targets/grp/grp-chroot.sh b/targets/grp/grp-chroot.sh index ebb69acc..4f4c4006 100755 --- a/targets/grp/grp-chroot.sh +++ b/targets/grp/grp-chroot.sh @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/grp/grp-chroot.sh,v 1.20 2005/07/07 19:57:17 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/grp/grp-chroot.sh,v 1.21 2005/08/09 19:02:31 rocket Exp $ . /tmp/chroot-functions.sh @@ -24,6 +24,7 @@ setup_portage export USE_ORDER="env:pkg:conf:defaults" unset DISTDIR + #don't grab MS core fonts, etc. export USE="${USE} ${clst_grp_use}" diff --git a/targets/livecd-stage2/livecd-stage2-controller.sh b/targets/livecd-stage2/livecd-stage2-controller.sh index 04c23362..16ccc28c 100755 --- a/targets/livecd-stage2/livecd-stage2-controller.sh +++ b/targets/livecd-stage2/livecd-stage2-controller.sh @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/livecd-stage2/livecd-stage2-controller.sh,v 1.12 2005/07/05 21:53:41 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/livecd-stage2/livecd-stage2-controller.sh,v 1.13 2005/08/09 19:02:31 rocket Exp $ . ${clst_sharedir}/targets/support/functions.sh . ${clst_sharedir}/targets/support/filesystem-functions.sh @@ -10,13 +10,13 @@ case $1 in export clst_kname="$1" # if we have our own linuxrc, copy it in - if [ -n "${clst_livecd_linuxrc}" ] + if [ -n "${clst_linuxrc}" ] then - cp -a ${clst_livecd_linuxrc} ${clst_chroot_path}/tmp/linuxrc + cp -a ${clst_linuxrc} ${clst_chroot_path}/tmp/linuxrc fi exec_in_chroot ${clst_sharedir}/targets/support/pre-kmerge.sh exec_in_chroot ${clst_sharedir}/targets/support/kmerge.sh - rm -f ${clst_chroot_path}/tmp/linuxrc + delete_from_chroot tmp/linuxrc exec_in_chroot ${clst_sharedir}/targets/support/post-kmerge.sh extract_modules ${clst_chroot_path} ${clst_kname} @@ -87,6 +87,9 @@ case $1 in # Here is where we poke in our identifier touch $1/livecd + # Here we copy our nifty README.txt + cp ${clst_sharedir}/livecd/files/README.txt ${clst_cdroot_path} + ${clst_sharedir}/targets/support/bootloader-setup.sh $1 ;; diff --git a/targets/stage1/stage1-chroot.sh b/targets/stage1/stage1-chroot.sh index cc23b208..df3c72d4 100755 --- a/targets/stage1/stage1-chroot.sh +++ b/targets/stage1/stage1-chroot.sh @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage1/stage1-chroot.sh,v 1.35 2005/07/08 15:07:25 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage1/stage1-chroot.sh,v 1.36 2005/08/09 19:02:31 rocket Exp $ . /tmp/chroot-functions.sh @@ -18,7 +18,17 @@ setup_myemergeopts export clst_buildpkgs="$(/tmp/build.py)" export STAGE1_USE="$(portageq envvar STAGE1_USE)" export USE="-* build ${STAGE1_USE}" -export FEATURES="${clst_myfeatures}" +export FEATURES="${clst_myfeatures} nodoc noman noinfo" + +## Sanity check profile +if [ -z "${clst_buildpkgs}" ] +then + echo "Your profile seems to be broken." + echo "Could not build a list of build packages." + echo "Double check your /etc/make.profile link and the 'packages' files." + exit 1 +fi + ## Sanity check profile if [ -z "${clst_buildpkgs}" ] @@ -32,4 +42,4 @@ fi ## START BUILD run_emerge "--noreplace ${clst_buildpkgs}" - +rm -f /var/log/emerge.log diff --git a/targets/stage2/stage2-chroot.sh b/targets/stage2/stage2-chroot.sh index c0ea051a..44753db1 100755 --- a/targets/stage2/stage2-chroot.sh +++ b/targets/stage2/stage2-chroot.sh @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage2/stage2-chroot.sh,v 1.14 2005/07/07 17:21:08 rocket Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage2/stage2-chroot.sh,v 1.15 2005/08/09 19:02:31 rocket Exp $ . /tmp/chroot-functions.sh @@ -12,7 +12,7 @@ setup_myemergeopts ## setup the environment -export FEATURES="${clst_myfeatures}" +export FEATURES="${clst_myfeatures} nodoc noman noinfo" if [ "${clst_VERBOSE}" ] then @@ -28,3 +28,4 @@ fi ## START BUILD /usr/portage/scripts/bootstrap.sh ${bootstrap_opts} || exit 1 + diff --git a/targets/stage2/stage2-preclean-chroot.sh b/targets/stage2/stage2-preclean-chroot.sh index 3cb669ee..ebae84ff 100755 --- a/targets/stage2/stage2-preclean-chroot.sh +++ b/targets/stage2/stage2-preclean-chroot.sh @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage2/stage2-preclean-chroot.sh,v 1.6 2005/07/05 21:53:41 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage2/stage2-preclean-chroot.sh,v 1.7 2005/08/09 19:02:31 rocket Exp $ . /tmp/chroot-functions.sh update_env_settings @@ -17,3 +17,6 @@ if [ -n "${clst_DISTCC}" ] then emerge -C sys-devel/distcc || exit 1 fi + +rm -f /var/log/emerge.log + diff --git a/targets/stage3/stage3-preclean-chroot.sh b/targets/stage3/stage3-preclean-chroot.sh index 9a34beb6..d44a8897 100755 --- a/targets/stage3/stage3-preclean-chroot.sh +++ b/targets/stage3/stage3-preclean-chroot.sh @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage3/stage3-preclean-chroot.sh,v 1.6 2005/07/05 21:53:41 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage3/stage3-preclean-chroot.sh,v 1.7 2005/08/09 19:02:31 rocket Exp $ . /tmp/chroot-functions.sh update_env_settings @@ -17,3 +17,5 @@ if [ -n "${clst_DISTCC}" ] then emerge -C sys-devel/distcc || exit 1 fi + +rm -f /var/log/emerge.log diff --git a/targets/stage4/stage4-controller.sh b/targets/stage4/stage4-controller.sh index 1f8261a7..e2f4dd3b 100755 --- a/targets/stage4/stage4-controller.sh +++ b/targets/stage4/stage4-controller.sh @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage4/stage4-controller.sh,v 1.7 2005/07/05 21:53:41 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/stage4/stage4-controller.sh,v 1.8 2005/08/09 19:02:31 rocket Exp $ . ${clst_sharedir}/targets/support/functions.sh @@ -15,13 +15,13 @@ case $1 in shift export clst_kname="$1" # if we have our own linuxrc, copy it in - if [ -n "${clst_livecd_linuxrc}" ] + if [ -n "${clst_linuxrc}" ] then - cp -a ${clst_livecd_linuxrc} ${clst_chroot_path}/tmp/linuxrc + cp -a ${clst_linuxrc} ${clst_chroot_path}/tmp/linuxrc fi exec_in_chroot ${clst_sharedir}/targets/support/pre-kmerge.sh exec_in_chroot ${clst_sharedir}/targets/support/kmerge.sh - rm -f ${clst_chroot_path}/tmp/linuxrc + delete_from_chroot tmp/linuxrc exec_in_chroot ${clst_sharedir}/targets/support/post-kmerge.sh extract_modules ${clst_chroot_path} ${clst_kname} extract_kernel ${clst_chroot_path}/boot ${clst_kname} diff --git a/targets/support/bootloader-setup.sh b/targets/support/bootloader-setup.sh index 08354836..e2e0fd13 100755 --- a/targets/support/bootloader-setup.sh +++ b/targets/support/bootloader-setup.sh @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/bootloader-setup.sh,v 1.10 2005/07/05 17:48:21 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/bootloader-setup.sh,v 1.11 2005/08/09 19:02:31 rocket Exp $ . ${clst_sharedir}/targets/support/functions.sh . ${clst_sharedir}/targets/support/filesystem-functions.sh @@ -34,27 +34,9 @@ case ${clst_mainarch} in icfg=$1/boot/palo.conf kmsg=$1/boot/kernels.msg hmsg=$1/boot/help.msg - echo "--commandline=0/${first} initrd=${x}.igz root=/dev/ram0 init=/linuxrc ${cmdline_opts}" >> ${icfg} + echo "--commandline=0/${first} initrd=${first}.igz root=/dev/ram0 init=/linuxrc ${cmdline_opts}" >> ${icfg} echo "--bootloader=boot/iplboot" >> ${icfg} - echo "--ramdisk=boot/${x}.igz" >> ${icfg} - -# for x in $clst_boot_kernel -# do -# -# eval custom_kopts=\$${x}_kernelopts -# echo "APPENDING CUSTOM KERNEL ARGS: ${custom_kopts}" -# echo >> $icfg -# echo "label $x" >> $icfg -# echo " kernel $x" >> $icfg -# echo " append initrd=$x.igz root=/dev/ram0 init=/linuxrc ${cmdline_opts} ${custom_kopts} cdroot vga=0x317 splash=silent" >> $icfg -# echo >> $icfg -# echo " $x" >> $kmsg -# echo "label $x-nofb" >> $icfg -# echo " kernel $x" >> $icfg -# echo " append initrd=$x.igz root=/dev/ram0 init=/linuxrc ${cmdline_opts} ${custom_kopts} cdroot" >> $icfg -# echo >> $icfg -# echo " ${x}-nofb" >> $kmsg -# done + echo "--ramdisk=boot/${first}.igz" >> ${icfg} ;; ppc) # PPC requirements: @@ -69,6 +51,33 @@ case ${clst_mainarch} in # For now we supply a prebuilt file, prebuilt configuration # and prebuilt boot message. This can be enhanced later on # but the following suffices for now: + + # this sets up the config file for yaboot + icfg=$1/boot/yaboot.conf + kmsg=$1/boot/boot.msg + echo "default ${first}" > ${icfg} + echo "timeout 300" >> ${icfg} + echo "device=cd:" >> ${icfg} + echo "root=/dev/ram" >> ${icfg} + echo "fgcolor=white" >> ${icfg} + echo "bgcolor=black" >> ${icfg} + echo "message=/boot/boot.msg" >> ${icfg} + for x in ${clst_boot_kernel} + do + eval custom_kopts=\$${x}_kernelopts + echo "APPENDING CUSTOM KERNEL ARGS: ${custom_kopts}" + echo >> ${icfg} + echo "image=/boot/${x}" >> ${icfg} + echo "initrd=/boot/${x}.igz" >> ${icfg} + echo "label=${x}" >> ${icfg} + echo "read-write" >> ${icfg} + if [ "${clst_livecd_splash_type}" == "gensplash" -a -n "${clst_livecd_splash_theme}" ] + then + echo "append ${default_append_line} vga=791 splash=silent,theme:${clst_livecd_splash_theme}" >> ${icfg} + else + echo "append ${default_append_line} vga=791 splash=silent ${keymap}" >> ${icfg} + fi + done ;; sparc*) scfg=$1/boot/silo.conf diff --git a/targets/support/chroot-functions.sh b/targets/support/chroot-functions.sh index 0b74fecd..cf6c8dd7 100755 --- a/targets/support/chroot-functions.sh +++ b/targets/support/chroot-functions.sh @@ -72,6 +72,9 @@ setup_myfeatures(){ USE="-gtk -gnome" emerge --oneshot --nodeps -b -k distcc || exit 1 #touch /tmp/.clst_distcc #fi + mkdir -p /etc/distcc + echo "${clst_distcc_hosts}" > /etc/distcc/hosts + fi } diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh index 095edbb0..2fa2ba56 100755 --- a/targets/support/create-iso.sh +++ b/targets/support/create-iso.sh @@ -1,11 +1,9 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/create-iso.sh,v 1.9 2005/07/06 14:10:03 rocket Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/create-iso.sh,v 1.10 2005/08/09 19:02:31 rocket Exp $ . ${clst_sharedir}/targets/support/functions.sh . ${clst_sharedir}/targets/support/filesystem-functions.sh -#. ${clst_sharedir}/targets/${clst_target}/${clst_mainarch}-archscript.sh -#source ${clst_livecd_archscript} ## START RUNSCRIPT if [ ! -f /usr/bin/mkisofs ] @@ -111,10 +109,17 @@ case ${clst_mainarch} in # Seems silo 1.3.x+ breaks on newer machines # when booting from CD (current as of silo 1.4.8) mv ${clst_target_path}/boot/mkisofs.sparc.fu /tmp - /tmp/mkisofs.sparc.fu -o ${1} -D -r -pad -quiet -S 'boot/cd.b' -B '/boot/second.b' \ - -s '/boot/silo.conf' -abstract 'Gentoo Linux Sparc' -copyright 'Gentoo Foundation' \ - -P 'Gentoo Linux Sparc' -p 'Gentoo Linux Sparc' -V "${clst_iso_volume_id}" \ - -A 'G entoo Linux Sparc' ${clst_target_path} || die "Cannot make ISO image" + case ${clst_livecd_cdfstype} in + zisofs) + /tmp/mkisofs.sparc.fu -z -o ${2} -D -r -pad -quiet -S 'boot/cd.b' -B '/boot/second.b' -s '/boot/silo.conf'\ + -V "${iso_volume_id}" ${clst_cdroot_path} || die "Cannot make ISO image" + ;; + *) + /tmp/mkisofs.sparc.fu -o ${2} -D -r -pad -quiet -S 'boot/cd.b' -B '/boot/second.b' -s '/boot/silo.conf'\ + -V "${iso_volume_id}" ${clst_cdroot_path} || die "Cannot make ISO image" + ;; + esac + rm /tmp/mkisofs.sparc.fu ;; diff --git a/targets/support/filesystem-functions.sh b/targets/support/filesystem-functions.sh index 95ed938d..6ab39d96 100755 --- a/targets/support/filesystem-functions.sh +++ b/targets/support/filesystem-functions.sh @@ -46,16 +46,6 @@ create_noloop() { } -create_gcloop() { - echo "Creating gcloop..." - export loopname="image.gloop" - create_normal_loop - compress_gcloop_ucl -b 131072 -c 10 "$1/livecd.loop" "$1/livecd.gcloop" || die "compress_gcloop_ucl failed, did you emerge gcloop?" - rm -f "$1/livecd.loop" - # only a gcloop image should exist in target path - -} - create_squashfs() { echo "Creating squashfs..." export loopname="image.squashfs" diff --git a/targets/support/functions.sh b/targets/support/functions.sh index 3c256cef..df57aa95 100755 --- a/targets/support/functions.sh +++ b/targets/support/functions.sh @@ -19,8 +19,11 @@ copy_to_chroot(){ } delete_from_chroot(){ - echo "removing ${clst_chroot_path}${1} from the chroot" - rm -f ${clst_chroot_path}${1} + if [ -e ${clst_chroot_path}${1} ] + then + echo "removing ${clst_chroot_path}${1} from the chroot" + rm -f ${clst_chroot_path}${1} + fi } exec_in_chroot(){ @@ -190,9 +193,6 @@ check_filesystem_type(){ ;; noloop) ;; - gcloop) - cmdline_opts="${cmdline_opts} looptype=gcloop loop=/image.gcloop" - ;; squashfs) cmdline_opts="${cmdline_opts} looptype=squashfs loop=/image.squashfs" ;; diff --git a/targets/support/kmerge.sh b/targets/support/kmerge.sh index e4c07610..3764574b 100755 --- a/targets/support/kmerge.sh +++ b/targets/support/kmerge.sh @@ -45,7 +45,7 @@ setup_gk_args() { GK_ARGS="${GK_ARGS} --no-udev" fi - if [ -n "${clst_livecd_linuxrc}" ] + if [ -n "${clst_linuxrc}" ] then GK_ARGS="${GK_ARGS} --linuxrc=/tmp/linuxrc" fi diff --git a/targets/support/livecdfs-update.sh b/targets/support/livecdfs-update.sh index e2fb925b..18fd7c97 100755 --- a/targets/support/livecdfs-update.sh +++ b/targets/support/livecdfs-update.sh @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/livecdfs-update.sh,v 1.19 2005/07/08 18:57:39 wolf31o2 Exp $ +# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/livecdfs-update.sh,v 1.20 2005/08/09 19:02:31 rocket Exp $ . /tmp/chroot-functions.sh update_env_settings @@ -184,13 +184,22 @@ then then cp /usr/lib/hotplug/firmware/* /lib/firmware fi - tar cvjpf /lib/firmware.tar.bz2 . + /bin/tar cjpf /lib/firmware.tar.bz2 . rm -f /lib/firmware/* mkdir -p /usr/lib/hotplug rm -rf /usr/lib/hotplug/firmware ln -sf /lib/firmware /usr/lib/hotplug/firmware fi + +# Clear out locales +case ${clst_livecd_type} in + gentoo-release-minimal|gentoo-release-universal|gentoo-gamecd) + rm -rf /usr/lib/locale/{a,b,c,d,e{l,n_{A,B,C,D,G,H,I,N,P,S,US.,Z},s,t,u},f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,v,w,x,y,z}* + ;; +esac + + # Post configuration case ${clst_livecd_type} in gentoo-gamecd ) diff --git a/targets/support/target_image_setup.sh b/targets/support/target_image_setup.sh index 0e0d7011..13cb1447 100755 --- a/targets/support/target_image_setup.sh +++ b/targets/support/target_image_setup.sh @@ -20,10 +20,6 @@ case ${clst_fstype} in create_noloop $1 loopret=$? ;; - gcloop) - create_gcloop $1 - loopret=$? - ;; squashfs) create_squashfs $1 loopret=$? -- 2.26.2