diff options
author | Nicolás Reynolds <apoyosis@correo.inta.gob.ar> | 2011-07-20 16:01:16 -0300 |
---|---|---|
committer | Nicolás Reynolds <apoyosis@correo.inta.gob.ar> | 2011-07-20 16:01:16 -0300 |
commit | 1a87fac19da7cf748c7f42d1ec183cff00998016 (patch) | |
tree | e1754bf58be446c0612a0460abae9cf879f29fa2 | |
parent | fea6291aff50468dd0f1e40c85d6d9ee7ca972a2 (diff) | |
parent | 27e472451e39bcec4b785101d2964e6d5f8a91d5 (diff) |
Merge branch 'master' of https://projects.archlinux.org/git/archiso
Conflicts:
README
configs/baseline/build.sh
configs/releng/build.sh
configs/releng/packages.i686
configs/releng/packages.x86_64
configs/releng/root-image/etc/rc.d/archiso
-rw-r--r-- | README | 218 | ||||
-rw-r--r-- | archiso/Makefile | 6 | ||||
-rw-r--r-- | archiso/hooks/archiso | 16 | ||||
-rw-r--r-- | archiso/hooks/archiso_pxe_nbd | 8 | ||||
-rw-r--r-- | archiso/install/archiso | 2 | ||||
-rw-r--r-- | archiso/install/archiso_loop_mnt | 2 | ||||
-rw-r--r-- | archiso/install/archiso_pxe_nbd | 2 | ||||
-rwxr-xr-x | archiso/mkarchiso | 10 | ||||
-rwxr-xr-x | configs/baseline/build.sh | 23 | ||||
-rwxr-xr-x | configs/releng/build.sh | 37 | ||||
-rw-r--r-- | configs/releng/packages.i686 | 5 | ||||
-rw-r--r-- | configs/releng/packages.x86_64 | 5 | ||||
-rw-r--r-- | configs/releng/root-image/etc/locale.gen | 455 | ||||
-rw-r--r-- | configs/releng/root-image/etc/rc.conf | 2 | ||||
-rwxr-xr-x | configs/releng/root-image/etc/rc.d/archiso | 19 | ||||
-rw-r--r-- | configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client | 8 | ||||
-rw-r--r-- | configs/releng/root-image/etc/resolv.conf | 8 |
17 files changed, 712 insertions, 114 deletions
@@ -3,6 +3,13 @@ INDEX This is a rebranded fork of the original Archiso for Parabola GNU/Linux-libre. +* Boot parameters (initramfs stage) + * hooks/archiso + * hooks/archiso_pxe_nbd + * hooks/archiso_loop_mnt +* Boot parameters (only for configs/releng) + * etc/rc.conf +* Build requirements * Image types generated by mkarchiso. * File format for aitab. * Why the /isolinux and /libre/boot/syslinux directories? @@ -11,6 +18,99 @@ This is a rebranded fork of the original Archiso for Parabola GNU/Linux-libre. +*** Boot parameters (initramfs stage) + +** hooks/archiso + +* archisolabel= Set the filesystem label where archiso files reside. + Default: (unset) +* archisodevice= Set the device node where archiso medium is located. + Default: "/dev/disk/by-label/${archisolabel}" +* archisobasedir= Set the base directory where all files reside. + Default: "arch" +* aitab= Set the path for "aitab" file. + Default: ${archisobasedir}/aitab +* copytoram= If set to "y" or just "copytoram" without arguments, + all SquashFS are copied to "RAM". + Default: (unset) +* cowspace_size= Set the size of tmpfs /cowspace. This space is used for + Copy-On-Write files of dm-snapshot. + (directory not visible outside initramfs) + Size is in bytes (suffix with "k", "m" and "g") or + in percentage of available RAM. + Default: "75%" +* copytoram_size= Set the size of tmpfs /cowpytoram. This space is used for + copy of all SquashFS images used, if copytoram=y. + (directory not visible outside initramfs) + Size is in bytes (suffix with "k", "m" and "g") or + in percentage of available RAM. + Default: "75%" +* arch= Force an architecture type (i686 | x86_64). + Do not set it for normal operations. + Useful for running a 64 bit kernel / 32 bit userspace. + Default: (architecture of running kernel) + + +** hooks/archiso_pxe_nbd + +* ip= This parameter is setup automatically by PXELINUX + when option "IPAPPEND" is set to 1 or 2 in config. + ip=<client-ip>:<boot-server-ip>:<gw-ip>:<netmask> + Default: (set via PXE server) +* BOOTIF= This parameter is setup automatically by PXELINUX + when option "IPAPPEND" is set to 2 or 3 in config. + BOOTIF=<hardware-address-of-boot-interface> + Default: (set via PXELINUX) +* archiso_nbd_name= Set NBD export name used by the server. + Default: archiso + + +** hooks/archiso_loop_mnt + +* img_dev= Device where archiso-image.iso reside. + Default: (unset) +* img_loop= Full path where archiso-image.iso is located on ${img_dev} + Default: (unset) + + + +*** Boot parameters (only for configs/releng) + +** /etc/rc.conf + +By default these parameters are set by default to these values +if nothing is specified on command line. + +* locale= "en_US.UTF-8" +* daemon_locale= "no" +* hardwareclock= "UTC" +* timezone= "Canada/Pacific" +* keymap= "us" +* consolefont= (unset) +* consolemap= (unset) +* usecolor= "yes" + + + +*** Build requirements + +** For mkarchiso script needs these packages (build host): + + devtools for mkarchroot + + squashfs-tools for mksquashfs + + syslinux for isohybrid + + cdrkit for mkisofs + +** For these hooks needs these packages (on target root-image) +* archiso + + (none) +* archiso_loop_mnt + + (none) +* archiso_pxe_nbd + + mkinitcpio-nfs-utils for ipconfig + + nbd for nbd-client + + + *** Image types generated by mkarchiso. * image-name.sfs SquashFS image with all files directly on it. @@ -62,35 +162,34 @@ When make your custom boot-pendrive, you need to copy /libre directory to it. *** Building the most basic Parabola live media. (configs/baseline) -* First install devtools if needed, mkarchroot needs it. - [host] # pacman -S devtools +* Install devtools if needed, mkarchroot needs it + [host] # pacman -S devtools --needed -* Create a chroot to work on it. +* Create a base chroot to work on it. (prefix with linux32 if you want to build a 32 bits enviroment under 64 bits) [host] # mkarchroot /tmp/chroot base -* Enter it. (prefix with linux32 if needed). +* Install archiso on chroot (needs git and make) + [host] # pacman -S git make --needed + [host] # git clone git://projects.archlinux.org/archiso.git + [host] # make -C archiso/archiso DESTDIR=/tmp/chroot install + +* Enter to chroot (prefix with linux32 if needed). [host] # mkarchroot -r bash /tmp/chroot * Create a loopback device. - (mkarchiso does not create it, use other number if not available) + (mkarchroot does not create it, use other number if not available) [chroot] # mknod /dev/loop0 b 7 0 * Setup a mirror. [chroot] # echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist * Install aditional packages needed for mkarchiso. - (git is only needed to get a copy of archiso.git) - [chroot] # pacman -S git squashfs-tools syslinux devtools cdrkit make - -* Install archiso. - [chroot] # cd /tmp - [chroot] # git clone git://projects.archlinux.org/archiso.git - [chroot] # cd archiso/archiso - [chroot] # make install-program + [chroot] # pacman -S devtools squashfs-tools syslinux cdrkit * Build a basic iso. - [chroot] # cd /tmp/archiso/configs/baseline + [chroot] # cp -r /usr/share/archiso/configs/baseline /tmp + [chroot] # cd /tmp/baseline [chroot] # ./build.sh * Exit from chroot. @@ -107,52 +206,51 @@ Note: These steps should be done with 64 bits support. * Prepare a 32 bit chroot enviroment. -linux32 mkarchroot /tmp/chroot32 base -linux32 mkarchroot -r bash /tmp/chroot32 -echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist -pacman -S squashfs-tools syslinux devtools cdrkit make mkinitcpio-nfs-utils nbd --noconfirm --needed -exit + [host64] # linux32 mkarchroot /tmp/chroot32 base + [host64] # linux32 mkarchroot -r bash /tmp/chroot32 + [chroot32] # echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist + [chroot32] # pacman -S devtools squashfs-tools syslinux cdrkit + [chroot32] # exit * Prepare a 64 bits chroot enviroment. -mkarchroot /tmp/chroot64 base -mkarchroot -r bash /tmp/chroot64 -echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist -pacman -S squashfs-tools syslinux devtools cdrkit make mkinitcpio-nfs-utils nbd --noconfirm --needed -exit - -* Create a shared directory which archiso can access from both chroot enviroments. - -mkdir /tmp/shared -cd /tmp/shared -git clone http://projects.parabolagnulinux.org/archiso.git -cd -mount --bind /tmp/shared /tmp/chroot32/tmp -mount --bind /tmp/shared /tmp/chroot64/tmp - -* Enter 32 bits chroot enviroment, install mkarchiso, - then build core and netinstall single images. - -linux32 mkarchroot -r bash /tmp/chroot32 -mknod /dev/loop1032 b 7 1032 -cd /tmp/archiso/archiso -make install-program -cd ../configs/releng/ -./build.sh all_iso_single - -* Enter 64 bits chroot enviroment, install mkarchiso, - then build core and netinstall single images. - -mkarchroot -r bash /tmp/chroot64 -mknod /dev/loop1064 b 7 1064 -cd /tmp/archiso/archiso -make install-program -cd ../configs/releng/ -./build.sh all_iso_single - -* Finally build core and netinstall dual images - from any of the chroot enviroments. (The final result is the same). - -mkarchroot -r bash /tmp/chroot64 -cd /tmp/archiso/configs/releng/ -./build.sh all_iso_dual + [host64] # mkarchroot /tmp/chroot64 base + [host64] # mkarchroot -r bash /tmp/chroot64 + [chroot64] # echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist + [chroot64] # pacman -S devtools squashfs-tools syslinux cdrkit + [chroot64] # exit + +* Install archiso on both chroots. + + [host64] # git clone https://projects.parabolagnulinux.org/archiso.git + [host64] # make -C archiso/archiso DESTDIR=/tmp/chroot32 install + [host64] # make -C archiso/archiso DESTDIR=/tmp/chroot64 install + +* Create a shared /tmp directory between two chroots for working. + + [host64] # mkdir /tmp/shared + [host64] # chmod 1777 /tmp/shared + [host64] # mount --bind /tmp/shared /tmp/chroot32/tmp + [host64] # mount --bind /tmp/shared /tmp/chroot64/tmp + +* Enter 32 bits chroot enviroment then build core and netinstall single images. + + [chroot32] # linux32 mkarchroot -r bash /tmp/chroot32 + [chroot32] # mknod /dev/loop1032 b 7 1032 #assumed loop.max_part=0 (by default) + [chroot32] # cp -r /usr/share/archiso/configs/releng /tmp + [chroot32] # cd /tmp/releng + [chroot32] # ./build.sh all_iso_single + +* Enter 64 bits chroot enviroment then build core and netinstall single images. + + [chroot64] # mkarchroot -r bash /tmp/chroot64 + [chroot64] # mknod /dev/loop1064 b 7 1064 #assumed loop.max_part=0 (by default) + [chroot64] # cp -r /usr/share/archiso/configs/releng /tmp + [chroot64] # cd /tmp/releng + [chroot64] # ./build.sh all_iso_single + +* Build core and netinstall dual images from any of the chroot enviroments. + + [host64] mkarchroot -r bash /tmp/chroot64 + [chroot64] # cd /tmp/releng + [chroot64] # ./build.sh all_iso_dual diff --git a/archiso/Makefile b/archiso/Makefile index 74f9ff2..78dd534 100644 --- a/archiso/Makefile +++ b/archiso/Makefile @@ -1,12 +1,14 @@ all: -install: install-program install-examples install-doc +install: install-program install-hooks install-examples install-doc install-program: # install to sbin since script only usable by root install -D -m 755 mkarchiso $(DESTDIR)/usr/sbin/mkarchiso # testiso can be used by anyone install -D -m 755 testiso $(DESTDIR)/usr/bin/testiso + +install-hooks: # hooks/install are needed by mkinitcpio install -D -m 644 hooks/archiso $(DESTDIR)/lib/initcpio/hooks/archiso install -D -m 644 install/archiso $(DESTDIR)/lib/initcpio/install/archiso @@ -33,4 +35,4 @@ uninstall: rm -f $(DESTDIR)/lib/initcpio/install/archiso_pxe_nbd rm -rf $(DESTDIR)/usr/share/archiso/ -.PHONY: install install-program install-examples install-doc uninstall +.PHONY: install install-program install-hooks install-examples install-doc uninstall diff --git a/archiso/hooks/archiso b/archiso/hooks/archiso index b81bbf7..7e2997a 100644 --- a/archiso/hooks/archiso +++ b/archiso/hooks/archiso @@ -1,22 +1,26 @@ # Initialize loopback device logic (we using on-demand mode) # args: none _init_loop_dev() { - loop_dev_cnt=99 + modprobe loop + loop_dev_count=99 + loop_dev_range=$(cat /sys/block/loop0/range) + loop_dev_minor=$((loop_dev_count*loop_dev_range)) } # Call this function before _make_loop_dev() each time. # args: none _next_loop_dev() { - loop_dev_cnt=$((loop_dev_cnt+1)) + loop_dev_count=$((loop_dev_count+1)) + loop_dev_minor=$((loop_dev_count*loop_dev_range)) } -# Setup a loopback device for image passed as arguemnt and echo the path to loopback device used. +# Setup a loopback device for image passed as argument and echo the path to loopback device used. # args: /path/to/image_file _make_loop_dev() { local img="${1}" - mknod /dev/loop${loop_dev_cnt} b 7 ${loop_dev_cnt} &> /dev/null - losetup /dev/loop${loop_dev_cnt} "${img}" &> /dev/null - echo /dev/loop${loop_dev_cnt} + mknod /dev/loop${loop_dev_count} b 7 ${loop_dev_minor} &> /dev/null + losetup /dev/loop${loop_dev_count} "${img}" &> /dev/null + echo /dev/loop${loop_dev_count} } # args: source, mountpoint diff --git a/archiso/hooks/archiso_pxe_nbd b/archiso/hooks/archiso_pxe_nbd index f18fd4c..588e033 100644 --- a/archiso/hooks/archiso_pxe_nbd +++ b/archiso/hooks/archiso_pxe_nbd @@ -55,6 +55,8 @@ run_hook () { nbdserver=${rootserver} + [[ -z "${archiso_nbd_name}" ]] && archiso_nbd_name="archiso" + mount_handler="archiso_pxe_nbd_mount_handler" fi } @@ -74,9 +76,9 @@ archiso_pxe_nbd_mount_handler () { msg "::: Setup NBD from ${nbdserver} at /dev/nbd0" if [ "${copytoram}" = "y" ]; then - nbd-client ${nbdserver} -N archiso /dev/nbd0 + nbd-client ${nbdserver} -N ${archiso_nbd_name} /dev/nbd0 else - nbd-client ${nbdserver} -N archiso /dev/nbd0 -persist + nbd-client ${nbdserver} -N ${archiso_nbd_name} /dev/nbd0 -persist fi archisodevice=/dev/nbd0 @@ -86,5 +88,7 @@ archiso_pxe_nbd_mount_handler () { if [ "${copytoram}" = "y" ]; then msg "::: Disconnect NBD from ${nbdserver} at /dev/nbd0" nbd-client -d /dev/nbd0 + else + pidof nbd-client > /run/nbd_client.pid fi } diff --git a/archiso/install/archiso b/archiso/install/archiso index 3ac6246..514c011 100644 --- a/archiso/install/archiso +++ b/archiso/install/archiso @@ -1,4 +1,4 @@ -install () +build () { MODULES="cdrom ide-cd_mod ide-core ide-generic loop dm-mod dm-snapshot squashfs isofs $(all_modules '/kernel/fs' | grep -v "nls")" MODULES="${MODULES} $(checked_modules "/usb/host" | grep -ve "_cs" -e "sl811_hcd" -e "isp116x_hcd")" diff --git a/archiso/install/archiso_loop_mnt b/archiso/install/archiso_loop_mnt index c0d21a6..2c8d6f2 100644 --- a/archiso/install/archiso_loop_mnt +++ b/archiso/install/archiso_loop_mnt @@ -1,6 +1,6 @@ # vim: set ft=sh: -install () +build () { MODULES="" diff --git a/archiso/install/archiso_pxe_nbd b/archiso/install/archiso_pxe_nbd index 189a7b1..c8ba1a4 100644 --- a/archiso/install/archiso_pxe_nbd +++ b/archiso/install/archiso_pxe_nbd @@ -1,6 +1,6 @@ # vim: set ft=sh: -install () +build () { MODULES="nbd" MODULES="${MODULES} $(comm -2 -3 <(checked_modules "/drivers/net/" | sort) \ diff --git a/archiso/mkarchiso b/archiso/mkarchiso index 6c88474..e09ad54 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -147,7 +147,7 @@ _show_config () { # Install desired packages to root-image _pacman () { - _msg_info "Installing packages to '${work_dir}/root-image/'" + _msg_info "Installing packages to '${work_dir}/root-image/'..." if [[ "${quiet}" = "y" ]]; then mkarchroot -n -C "${pacman_conf}" -f "${work_dir}/root-image" $* &> /dev/null @@ -157,6 +157,7 @@ _pacman () # Cleanup find "${work_dir}" -name "*.pacnew" -name "*.pacsave" -name "*.pacorig" -delete + _msg_info "Packages installed successfully!" } # Cleanup root-image @@ -190,6 +191,10 @@ _cleanup () { if [[ -d "${work_dir}/root-image/tmp" ]]; then find "${work_dir}/root-image/tmp" -mindepth 1 -delete fi + # Delete etc/mtab if not is a symlink. + if [[ ! -L "${work_dir}/root-image/etc/mtab" ]]; then + rm -f "${work_dir}/root-image/etc/mtab" + fi } # Makes a SquashFS filesystem image of file/directory passes as argument with desired compression. @@ -249,6 +254,7 @@ _mkfs () { fi _msg_info "Creating ${_fs_type} image of ${_fs_size} MiB" + rm -f "${_fs_img}" dd of="${_fs_img}" count=0 bs=1M seek=${_fs_size} &> /dev/null local _qflag="" if [[ ${quiet} == "y" ]]; then @@ -374,8 +380,8 @@ command_create () { _msg_info "These packages are already installed, skipping." else mkdir -p "${work_dir}/root-image/" - : > "${work_dir}/create.${_pkg_list_hash}" _pacman "${pkg_list}" + : > "${work_dir}/create.${_pkg_list_hash}" fi } diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh index 3561ec0..64664fc 100755 --- a/configs/baseline/build.sh +++ b/configs/baseline/build.sh @@ -10,13 +10,6 @@ arch=$(uname -m) work_dir=work verbose="n" -# This function can be called after make_basefs() -get_linux_ver() { - local ALL_kver - eval $(grep ^ALL_kver ${work_dir}/root-image/etc/mkinitcpio.d/kernel26.kver) - echo ${ALL_kver} -} - # Base installation (root-image) make_basefs() { mkarchiso ${verbose} -D "${install_dir}" -p "base" create "${work_dir}" @@ -31,12 +24,25 @@ make_customize_root_image() { fi } +# Copy mkinitcpio archiso hooks (root-image) +make_setup_mkinitcpio() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + cp /lib/initcpio/hooks/archiso ${work_dir}/root-image/lib/initcpio/hooks + cp /lib/initcpio/install/archiso ${work_dir}/root-image/lib/initcpio/install + : > ${work_dir}/build.${FUNCNAME} + fi +} + # Prepare ${install_dir}/boot/ make_boot() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} + mkinitcpio \ + -c ./mkinitcpio.conf \ + -b ${work_dir}/root-image \ + -k /boot/vmlinuz26 \ + -g ${work_dir}/iso/${install_dir}/boot/${arch}/libreiso.img cp ${work_dir}/root-image/boot/vmlinuz26 ${work_dir}/iso/${install_dir}/boot/${arch} - mkinitcpio -c ./mkinitcpio.conf -b ${work_dir}/root-image -k $(get_linux_ver) -g ${work_dir}/iso/${install_dir}/boot/${arch}/libreiso.img : > ${work_dir}/build.${FUNCNAME} fi } @@ -89,6 +95,7 @@ fi make_basefs make_customize_root_image +make_setup_mkinitcpio make_boot make_syslinux make_isolinux diff --git a/configs/releng/build.sh b/configs/releng/build.sh index deaf9e2..9abb3ac 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -10,17 +10,10 @@ arch=$(uname -m) work_dir=work verbose="n" -# This function can be called after make_basefs() -get_linux_ver() { - local ALL_kver - eval $(grep ^ALL_kver ${work_dir}/root-image/etc/mkinitcpio.d/kernel26.kver) - echo ${ALL_kver} -} - # Base installation (root-image) make_basefs() { mkarchiso ${verbose} -D "${install_dir}" -p "base" create "${work_dir}" - mkarchiso ${verbose} -D "${install_dir}" -p "memtest86+ syslinux" create "${work_dir}" + mkarchiso ${verbose} -D "${install_dir}" -p "memtest86+ syslinux mkinitcpio-nfs-utils nbd" create "${work_dir}" } # Additional packages (root-image) @@ -34,25 +27,40 @@ make_customize_root_image() { cp -af root-image ${work_dir} chmod 750 ${work_dir}/root-image/etc/sudoers.d chmod 440 ${work_dir}/root-image/etc/sudoers.d/g_wheel - if [[ ! -L ${work_dir}/root-image/etc/mtab ]]; then - rm -f ${work_dir}/root-image/etc/mtab - fi mkdir -p ${work_dir}/root-image/etc/pacman.d echo "Server = http://repo.parabolagnulinux.org/\$repo/os/\$arch" > \ ${work_dir}/root-image/etc/pacman.d/mirrorlist sed -i "s/#Server/Server/g" ${work_dir}/root-image/etc/pacman.d/mirrorlist + chroot ${work_dir}/root-image /usr/sbin/locale-gen + chroot ${work_dir}/root-image /usr/sbin/useradd -m -p "" -g users -G "audio,disk,optical,wheel" arch : > ${work_dir}/build.${FUNCNAME} fi } +# Copy mkinitcpio archiso hooks (root-image) +make_setup_mkinitcpio() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + local _hook + for _hook in archiso archiso_pxe_nbd archiso_loop_mnt; do + cp /lib/initcpio/hooks/${_hook} ${work_dir}/root-image/lib/initcpio/hooks + cp /lib/initcpio/install/${_hook} ${work_dir}/root-image/lib/initcpio/install + done + : > ${work_dir}/build.${FUNCNAME} + fi +} + # Prepare ${install_dir}/boot/ make_boot() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then local _src=${work_dir}/root-image local _dst_boot=${work_dir}/iso/${install_dir}/boot mkdir -p ${_dst_boot}/${arch} - cp ${_src}/boot/vmlinuz26 ${_dst_boot}/${arch} - mkinitcpio -c ./mkinitcpio.conf -b ${_src} -k $(get_linux_ver) -g ${_dst_boot}/${arch}/libreiso.img + mkinitcpio \ + -c ./mkinitcpio.conf \ + -b ${_src} \ + -k /boot/vmlinuz26 \ + -g ${_dst_boot}/${arch}/libreiso.img + mv ${_src}/boot/vmlinuz26 ${_dst_boot}/${arch} cp ${_src}/boot/memtest86+/memtest.bin ${_dst_boot}/memtest cp ${_src}/usr/share/licenses/common/GPL2/license.txt ${_dst_boot}/memtest.COPYING : > ${work_dir}/build.${FUNCNAME} @@ -75,7 +83,7 @@ make_syslinux() { cp ${_src_syslinux}/memdisk ${_dst_syslinux} mkdir -p ${_dst_syslinux}/hdt wget -O - http://pciids.sourceforge.net/v2.2/pci.ids | gzip -9 > ${_dst_syslinux}/hdt/pciids.gz - cat ${work_dir}/root-image/lib/modules/$(get_linux_ver)/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz + cat ${work_dir}/root-image/lib/modules/*-LIBRE/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz : > ${work_dir}/build.${FUNCNAME} fi } @@ -237,6 +245,7 @@ make_common_single() { make_basefs make_packages make_customize_root_image + make_setup_mkinitcpio make_boot make_syslinux make_isolinux diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686 index e154093..2d0ac96 100644 --- a/configs/releng/packages.i686 +++ b/configs/releng/packages.i686 @@ -6,6 +6,7 @@ ddrescue dhclient dialog dmraid +dnsmasq dnsutils dosfstools elinks @@ -14,7 +15,6 @@ hdparm inetutils lftp lilo -nbd netcfg nfs-utils nilfs-utils @@ -22,11 +22,14 @@ nmap ntfs-3g ntfsprogs ntp +openconnect openssh openvpn parted pptpclient +rp-pppoe rsync tcpdump +vpnc wireless_tools wpa_actiond diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64 index e154093..2d0ac96 100644 --- a/configs/releng/packages.x86_64 +++ b/configs/releng/packages.x86_64 @@ -6,6 +6,7 @@ ddrescue dhclient dialog dmraid +dnsmasq dnsutils dosfstools elinks @@ -14,7 +15,6 @@ hdparm inetutils lftp lilo -nbd netcfg nfs-utils nilfs-utils @@ -22,11 +22,14 @@ nmap ntfs-3g ntfsprogs ntp +openconnect openssh openvpn parted pptpclient +rp-pppoe rsync tcpdump +vpnc wireless_tools wpa_actiond diff --git a/configs/releng/root-image/etc/locale.gen b/configs/releng/root-image/etc/locale.gen new file mode 100644 index 0000000..7e4e293 --- /dev/null +++ b/configs/releng/root-image/etc/locale.gen @@ -0,0 +1,455 @@ +## Configuration file for locale-gen +## +## lists of locales that are to be generated by the locale-gen command. +## +## Each line is of the form: +## +## <locale> <charset> +## +## where <locale> is one of the locales given in /usr/share/i18n/locales +## and <charset> is one of the character sets listed in /usr/share/i18n/charmaps +## +## Examples: +## en_US ISO-8859-1 +## en_US.UTF-8 UTF-8 +## de_DE ISO-8859-1 +## de_DE@euro ISO-8859-15 +## +## The locale-gen command will generate all the locales, +## placing them in /usr/lib/locale. +## +## A list of supported locales is included in this file. +## Uncomment the ones you need. +## +## This file names the currently supported and somewhat tested locales. +## If you have any additions please file a glibc bug report. +# +#aa_DJ.UTF-8 UTF-8 +#aa_DJ ISO-8859-1 +#aa_ER UTF-8 +#aa_ER@saaho UTF-8 +#aa_ET UTF-8 +#af_ZA.UTF-8 UTF-8 +#af_ZA ISO-8859-1 +#am_ET UTF-8 +#an_ES.UTF-8 UTF-8 +#an_ES ISO-8859-15 +#ar_AE.UTF-8 UTF-8 +#ar_AE ISO-8859-6 +#ar_BH.UTF-8 UTF-8 +#ar_BH ISO-8859-6 +#ar_DZ.UTF-8 UTF-8 +#ar_DZ ISO-8859-6 +#ar_EG.UTF-8 UTF-8 +#ar_EG ISO-8859-6 +#ar_IN UTF-8 +#ar_IQ.UTF-8 UTF-8 +#ar_IQ ISO-8859-6 +#ar_JO.UTF-8 UTF-8 +#ar_JO ISO-8859-6 +#ar_KW.UTF-8 UTF-8 +#ar_KW ISO-8859-6 +#ar_LB.UTF-8 UTF-8 +#ar_LB ISO-8859-6 +#ar_LY.UTF-8 UTF-8 +#ar_LY ISO-8859-6 +#ar_MA.UTF-8 UTF-8 +#ar_MA ISO-8859-6 +#ar_OM.UTF-8 UTF-8 +#ar_OM ISO-8859-6 +#ar_QA.UTF-8 UTF-8 +#ar_QA ISO-8859-6 +#ar_SA.UTF-8 UTF-8 +#ar_SA ISO-8859-6 +#ar_SD.UTF-8 UTF-8 +#ar_SD ISO-8859-6 +#ar_SY.UTF-8 UTF-8 +#ar_SY ISO-8859-6 +#ar_TN.UTF-8 UTF-8 +#ar_TN ISO-8859-6 +#ar_YE.UTF-8 UTF-8 +#ar_YE ISO-8859-6 +#az_AZ UTF-8 +#as_IN UTF-8 +#ast_ES.UTF-8 UTF-8 +#ast_ES ISO-8859-15 +#be_BY.UTF-8 UTF-8 +#be_BY CP1251 +#be_BY@latin UTF-8 +#bem_ZM UTF-8 +#ber_DZ UTF-8 +#ber_MA UTF-8 +#bg_BG.UTF-8 UTF-8 +#bg_BG CP1251 +#bn_BD UTF-8 +#bn_IN UTF-8 +#bo_CN UTF-8 +#bo_IN UTF-8 +#br_FR.UTF-8 UTF-8 +#br_FR ISO-8859-1 +#br_FR@euro ISO-8859-15 +#bs_BA.UTF-8 UTF-8 +#bs_BA ISO-8859-2 +#byn_ER UTF-8 +#ca_AD.UTF-8 UTF-8 +#ca_AD ISO-8859-15 +#ca_ES.UTF-8 UTF-8 +#ca_ES ISO-8859-1 +#ca_ES@euro ISO-8859-15 +#ca_FR.UTF-8 UTF-8 +#ca_FR ISO-8859-15 +#ca_IT.UTF-8 UTF-8 +#ca_IT ISO-8859-15 +#crh_UA UTF-8 +#cs_CZ.UTF-8 UTF-8 +#cs_CZ ISO-8859-2 +#csb_PL UTF-8 +#cv_RU UTF-8 +#cy_GB.UTF-8 UTF-8 +#cy_GB ISO-8859-14 +#da_DK.UTF-8 UTF-8 +#da_DK ISO-8859-1 +#de_AT.UTF-8 UTF-8 +#de_AT ISO-8859-1 +#de_AT@euro ISO-8859-15 +#de_BE.UTF-8 UTF-8 +#de_BE ISO-8859-1 +#de_BE@euro ISO-8859-15 +#de_CH.UTF-8 UTF-8 +#de_CH ISO-8859-1 +#de_DE.UTF-8 UTF-8 +#de_DE ISO-8859-1 +#de_DE@euro ISO-8859-15 +#de_LU.UTF-8 UTF-8 +#de_LU ISO-8859-1 +#de_LU@euro ISO-8859-15 +#dv_MV UTF-8 +#dz_BT UTF-8 +#el_GR.UTF-8 UTF-8 +#el_GR ISO-8859-7 +#el_CY.UTF-8 UTF-8 +#el_CY ISO-8859-7 +#en_AG UTF-8 +#en_AU.UTF-8 UTF-8 +#en_AU ISO-8859-1 +#en_BW.UTF-8 UTF-8 +#en_BW ISO-8859-1 +#en_CA.UTF-8 UTF-8 +#en_CA ISO-8859-1 +#en_DK.UTF-8 UTF-8 +#en_DK ISO-8859-1 +#en_GB.UTF-8 UTF-8 +#en_GB ISO-8859-1 +#en_HK.UTF-8 UTF-8 +#en_HK ISO-8859-1 +#en_IE.UTF-8 UTF-8 +#en_IE ISO-8859-1 +#en_IE@euro ISO-8859-15 +#en_IN UTF-8 +#en_NG UTF-8 +#en_NZ.UTF-8 UTF-8 +#en_NZ ISO-8859-1 +#en_PH.UTF-8 UTF-8 +#en_PH ISO-8859-1 +#en_SG.UTF-8 UTF-8 +#en_SG ISO-8859-1 +en_US.UTF-8 UTF-8 +#en_US ISO-8859-1 +#en_ZA.UTF-8 UTF-8 +#en_ZA ISO-8859-1 +#en_ZM UTF-8 +#en_ZW.UTF-8 UTF-8 +#en_ZW ISO-8859-1 +#es_AR.UTF-8 UTF-8 +#es_AR ISO-8859-1 +#es_BO.UTF-8 UTF-8 +#es_BO ISO-8859-1 +#es_CL.UTF-8 UTF-8 +#es_CL ISO-8859-1 +#es_CO.UTF-8 UTF-8 +#es_CO ISO-8859-1 +#es_CR.UTF-8 UTF-8 +#es_CR ISO-8859-1 +#es_DO.UTF-8 UTF-8 +#es_DO ISO-8859-1 +#es_EC.UTF-8 UTF-8 +#es_EC ISO-8859-1 +#es_ES.UTF-8 UTF-8 +#es_ES ISO-8859-1 +#es_ES@euro ISO-8859-15 +#es_GT.UTF-8 UTF-8 +#es_GT ISO-8859-1 +#es_HN.UTF-8 UTF-8 +#es_HN ISO-8859-1 +#es_MX.UTF-8 UTF-8 +#es_MX ISO-8859-1 +#es_NI.UTF-8 UTF-8 +#es_NI ISO-8859-1 +#es_PA.UTF-8 UTF-8 +#es_PA ISO-8859-1 +#es_PE.UTF-8 UTF-8 +#es_PE ISO-8859-1 +#es_PR.UTF-8 UTF-8 +#es_PR ISO-8859-1 +#es_PY.UTF-8 UTF-8 +#es_PY ISO-8859-1 +#es_SV.UTF-8 UTF-8 +#es_SV ISO-8859-1 +#es_US.UTF-8 UTF-8 +#es_US ISO-8859-1 +#es_UY.UTF-8 UTF-8 +#es_UY ISO-8859-1 +#es_VE.UTF-8 UTF-8 +#es_VE ISO-8859-1 +#et_EE.UTF-8 UTF-8 +#et_EE ISO-8859-1 +#et_EE.ISO-8859-15 ISO-8859-15 +#eu_ES.UTF-8 UTF-8 +#eu_ES ISO-8859-1 +#eu_ES@euro ISO-8859-15 +#fa_IR UTF-8 +#ff_SN UTF-8 +#fi_FI.UTF-8 UTF-8 +#fi_FI ISO-8859-1 +#fi_FI@euro ISO-8859-15 +#fil_PH UTF-8 +#fo_FO.UTF-8 UTF-8 +#fo_FO ISO-8859-1 +#fr_BE.UTF-8 UTF-8 +#fr_BE ISO-8859-1 +#fr_BE@euro ISO-8859-15 +#fr_CA.UTF-8 UTF-8 +#fr_CA ISO-8859-1 +#fr_CH.UTF-8 UTF-8 +#fr_CH ISO-8859-1 +#fr_FR.UTF-8 UTF-8 +#fr_FR ISO-8859-1 +#fr_FR@euro ISO-8859-15 +#fr_LU.UTF-8 UTF-8 +#fr_LU ISO-8859-1 +#fr_LU@euro ISO-8859-15 +#fur_IT UTF-8 +#fy_NL UTF-8 +#fy_DE UTF-8 +#ga_IE.UTF-8 UTF-8 +#ga_IE ISO-8859-1 +#ga_IE@euro ISO-8859-15 +#gd_GB.UTF-8 UTF-8 +#gd_GB ISO-8859-15 +#gez_ER UTF-8 +#gez_ER@abegede UTF-8 +#gez_ET UTF-8 +#gez_ET@abegede UTF-8 +#gl_ES.UTF-8 UTF-8 +#gl_ES ISO-8859-1 +#gl_ES@euro ISO-8859-15 +#gu_IN UTF-8 +#gv_GB.UTF-8 UTF-8 +#gv_GB ISO-8859-1 +#ha_NG UTF-8 +#he_IL.UTF-8 UTF-8 +#he_IL ISO-8859-8 +#hi_IN UTF-8 +#hne_IN UTF-8 +#hr_HR.UTF-8 UTF-8 +#hr_HR ISO-8859-2 +#hsb_DE ISO-8859-2 +#hsb_DE.UTF-8 UTF-8 +#ht_HT UTF-8 +#hu_HU.UTF-8 UTF-8 +#hu_HU ISO-8859-2 +#hy_AM UTF-8 +#hy_AM.ARMSCII-8 ARMSCII-8 +#id_ID.UTF-8 UTF-8 +#id_ID ISO-8859-1 +#ig_NG UTF-8 +#ik_CA UTF-8 +#is_IS.UTF-8 UTF-8 +#is_IS ISO-8859-1 +#it_CH.UTF-8 UTF-8 +#it_CH ISO-8859-1 +#it_IT.UTF-8 UTF-8 +#it_IT ISO-8859-1 +#it_IT@euro ISO-8859-15 +#iu_CA UTF-8 +#iw_IL.UTF-8 UTF-8 +#iw_IL ISO-8859-8 +#ja_JP.EUC-JP EUC-JP +#ja_JP.UTF-8 UTF-8 +#ka_GE.UTF-8 UTF-8 +#ka_GE GEORGIAN-PS +#kk_KZ.UTF-8 UTF-8 +#kk_KZ PT154 +#kl_GL.UTF-8 UTF-8 +#kl_GL ISO-8859-1 +#km_KH UTF-8 +#kn_IN UTF-8 +#ko_KR.EUC-KR EUC-KR +#ko_KR.UTF-8 UTF-8 +#kok_IN UTF-8 +#ks_IN UTF-8 +#ks_IN@devanagari UTF-8 +#ku_TR.UTF-8 UTF-8 +#ku_TR ISO-8859-9 +#kw_GB.UTF-8 UTF-8 +#kw_GB ISO-8859-1 +#ky_KG UTF-8 +#lb_LU UTF-8 +#lg_UG.UTF-8 UTF-8 +#lg_UG ISO-8859-10 +#li_BE UTF-8 +#li_NL UTF-8 +#lij_IT UTF-8 +#lo_LA UTF-8 +#lt_LT.UTF-8 UTF-8 +#lt_LT ISO-8859-13 +#lv_LV.UTF-8 UTF-8 +#lv_LV ISO-8859-13 +#mai_IN UTF-8 +#mg_MG.UTF-8 UTF-8 +#mg_MG ISO-8859-15 +#mhr_RU UTF-8 +#mi_NZ.UTF-8 UTF-8 +#mi_NZ ISO-8859-13 +#mk_MK.UTF-8 UTF-8 +#mk_MK ISO-8859-5 +#ml_IN UTF-8 +#mn_MN UTF-8 +#mr_IN UTF-8 +#ms_MY.UTF-8 UTF-8 +#ms_MY ISO-8859-1 +#mt_MT.UTF-8 UTF-8 +#mt_MT ISO-8859-3 +#my_MM UTF-8 +#nan_TW@latin UTF-8 +#nb_NO.UTF-8 UTF-8 +#nb_NO ISO-8859-1 +#nds_DE UTF-8 +#nds_NL UTF-8 +#ne_NP UTF-8 +#nl_AW UTF-8 +#nl_BE.UTF-8 UTF-8 +#nl_BE ISO-8859-1 +#nl_BE@euro ISO-8859-15 +#nl_NL.UTF-8 UTF-8 +#nl_NL ISO-8859-1 +#nl_NL@euro ISO-8859-15 +#nn_NO.UTF-8 UTF-8 +#nn_NO ISO-8859-1 +#nr_ZA UTF-8 +#nso_ZA UTF-8 +#oc_FR.UTF-8 UTF-8 +#oc_FR ISO-8859-1 +#om_ET UTF-8 +#om_KE.UTF-8 UTF-8 +#om_KE ISO-8859-1 +#or_IN UTF-8 +#os_RU UTF-8 +#pa_IN UTF-8 +#pa_PK UTF-8 +#pap_AN UTF-8 +#pl_PL.UTF-8 UTF-8 +#pl_PL ISO-8859-2 +#ps_AF UTF-8 +#pt_BR.UTF-8 UTF-8 +#pt_BR ISO-8859-1 +#pt_PT.UTF-8 UTF-8 +#pt_PT ISO-8859-1 +#pt_PT@euro ISO-8859-15 +#ro_RO.UTF-8 UTF-8 +#ro_RO ISO-8859-2 +#ru_RU.KOI8-R KOI8-R +#ru_RU.UTF-8 UTF-8 +#ru_RU ISO-8859-5 +#ru_UA.UTF-8 UTF-8 +#ru_UA KOI8-U +#rw_RW UTF-8 +#sa_IN UTF-8 +#sc_IT UTF-8 +#sd_IN UTF-8 +#sd_IN@devanagari UTF-8 +#se_NO UTF-8 +#shs_CA UTF-8 +#si_LK UTF-8 +#sid_ET UTF-8 +#sk_SK.UTF-8 UTF-8 +#sk_SK ISO-8859-2 +#sl_SI.UTF-8 UTF-8 +#sl_SI ISO-8859-2 +#so_DJ.UTF-8 UTF-8 +#so_DJ ISO-8859-1 +#so_ET UTF-8 +#so_KE.UTF-8 UTF-8 +#so_KE ISO-8859-1 +#so_SO.UTF-8 UTF-8 +#so_SO ISO-8859-1 +#sq_AL.UTF-8 UTF-8 +#sq_AL ISO-8859-1 +#sq_MK UTF-8 +#sr_ME UTF-8 +#sr_RS UTF-8 +#sr_RS@latin UTF-8 +#ss_ZA UTF-8 +#st_ZA.UTF-8 UTF-8 +#st_ZA ISO-8859-1 +#sv_FI.UTF-8 UTF-8 +#sv_FI ISO-8859-1 +#sv_FI@euro ISO-8859-15 +#sv_SE.UTF-8 UTF-8 +#sv_SE ISO-8859-1 +#sw_KE UTF-8 +#sw_TZ UTF-8 +#ta_IN UTF-8 +#te_IN UTF-8 +#tg_TJ.UTF-8 UTF-8 +#tg_TJ KOI8-T +#th_TH.UTF-8 UTF-8 +#th_TH TIS-620 +#ti_ER UTF-8 +#ti_ET UTF-8 +#tig_ER UTF-8 +#tk_TM UTF-8 +#tl_PH.UTF-8 UTF-8 +#tl_PH ISO-8859-1 +#tn_ZA UTF-8 +#tr_CY.UTF-8 UTF-8 +#tr_CY ISO-8859-9 +#tr_TR.UTF-8 UTF-8 +#tr_TR ISO-8859-9 +#ts_ZA UTF-8 +#tt_RU UTF-8 +#tt_RU@iqtelif UTF-8 +#ug_CN UTF-8 +#uk_UA.UTF-8 UTF-8 +#uk_UA KOI8-U +#ur_PK UTF-8 +#uz_UZ ISO-8859-1 +#uz_UZ@cyrillic UTF-8 +#ve_ZA UTF-8 +#vi_VN.TCVN TCVN5712-1 +#vi_VN UTF-8 +#wa_BE ISO-8859-1 +#wa_BE@euro ISO-8859-15 +#wa_BE.UTF-8 UTF-8 +#wae_CH UTF-8 +#wo_SN UTF-8 +#xh_ZA.UTF-8 UTF-8 +#xh_ZA ISO-8859-1 +#yi_US.UTF-8 UTF-8 +#yi_US CP1255 +#yo_NG UTF-8 +#yue_HK UTF-8 +#zh_CN.GB18030 GB18030 +#zh_CN.GBK GBK +#zh_CN.UTF-8 UTF-8 +#zh_CN GB2312 +#zh_HK.UTF-8 UTF-8 +#zh_HK BIG5-HKSCS +#zh_SG.UTF-8 UTF-8 +#zh_SG.GBK GBK +#zh_SG GB2312 +#zh_TW.EUC-TW EUC-TW +#zh_TW.UTF-8 UTF-8 +#zh_TW BIG5 +#zu_ZA.UTF-8 UTF-8 +#zu_ZA ISO-8859-1 diff --git a/configs/releng/root-image/etc/rc.conf b/configs/releng/root-image/etc/rc.conf index a6295d0..14775ee 100644 --- a/configs/releng/root-image/etc/rc.conf +++ b/configs/releng/root-image/etc/rc.conf @@ -11,7 +11,6 @@ KEYMAP_DEFAULT="us" CONSOLEFONT_DEFAULT= CONSOLEMAP_DEFAULT= USECOLOR_DEFAULT="yes" -VERBOSE_DEFAULT="3" LOCALE="$(kernel_cmdline locale ${LOCALE_DEFAULT})" DAEMON_LOCALE="$(kernel_cmdline daemon_locale ${DAEMON_LOCALE_DEFAULT})" @@ -21,7 +20,6 @@ KEYMAP="$(kernel_cmdline keymap ${KEYMAP_DEFAULT})" CONSOLEFONT="$(kernel_cmdline consolefont ${CONSOLEFONT_DEFAULT})" CONSOLEMAP="$(kernel_cmdline consolemap ${CONSOLEMAP_DEFAULT})" USECOLOR="$(kernel_cmdline usecolor ${USECOLOR_DEFAULT})" -VERBOSE="$(kernel_cmdline verbose ${VERBOSE_DEFAULT})" MODULES=() diff --git a/configs/releng/root-image/etc/rc.d/archiso b/configs/releng/root-image/etc/rc.d/archiso index 9d11d16..68e8375 100755 --- a/configs/releng/root-image/etc/rc.d/archiso +++ b/configs/releng/root-image/etc/rc.d/archiso @@ -2,20 +2,14 @@ . /etc/rc.conf . /etc/rc.d/functions -do_makeuser () -{ - stat_busy "Making the default user libre" - addgroups="audio,disk,optical,wheel" - useradd -m -p "" -g users -G $addgroups libre - 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 + if [[ ${LOCALE} != "en_US.UTF-8" ]]; then + stat_busy "Generating locales..." + sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen + /usr/sbin/locale-gen > /dev/null + stat_done + fi } # If an alternate console was specified on the kernel command line, @@ -41,7 +35,6 @@ do_special_console() case "$1" in start) do_locale_gen - do_makeuser do_special_console ;; esac diff --git a/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client b/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client new file mode 100644 index 0000000..b72f168 --- /dev/null +++ b/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client @@ -0,0 +1,8 @@ +if [[ -f /run/nbd_client.pid ]]; then + omit_kill_nbd_client() { + add_omit_pids $(< /run/nbd_client.pid) + } + + add_hook shutdown_prekillall omit_kill_nbd_client + add_hook single_prekillall omit_kill_nbd_client +fi diff --git a/configs/releng/root-image/etc/resolv.conf b/configs/releng/root-image/etc/resolv.conf new file mode 100644 index 0000000..cecafba --- /dev/null +++ b/configs/releng/root-image/etc/resolv.conf @@ -0,0 +1,8 @@ +# +# /etc/resolv.conf +# + +#search <yourdomain.tld> +#nameserver <ip> + +# End of file |