From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 5EDE5138C9D for ; Wed, 29 Apr 2015 19:04:45 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EEFD5E08D5; Wed, 29 Apr 2015 19:04:36 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 7A8B2E08D5 for ; Wed, 29 Apr 2015 19:04:26 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 83CEB340C20 for ; Wed, 29 Apr 2015 19:04:15 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 406259B3 for ; Wed, 29 Apr 2015 19:04:08 +0000 (UTC) From: "Richard Farina" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Richard Farina" Message-ID: <1430328705.75fe8bf4d8eb452cbd866140f76e847666f30598.zerochaos@gentoo> Subject: [gentoo-commits] proj/genkernel:aufs commit in: defaults/ X-VCS-Repository: proj/genkernel X-VCS-Files: defaults/initrd.scripts defaults/linuxrc X-VCS-Directories: defaults/ X-VCS-Committer: zerochaos X-VCS-Committer-Name: Richard Farina X-VCS-Revision: 75fe8bf4d8eb452cbd866140f76e847666f30598 X-VCS-Branch: aufs Date: Wed, 29 Apr 2015 19:04:08 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: e0c58fb8-f1ec-4a5c-b84e-993338ee15fa X-Archives-Hash: 57b604619bcbac169697ba597de69b6c commit: 75fe8bf4d8eb452cbd866140f76e847666f30598 Author: Fernando Reyes (likewhoa) missionaccomplish com> AuthorDate: Tue Jun 3 01:36:28 2014 +0000 Commit: Richard Farina gentoo org> CommitDate: Wed Apr 29 17:31:45 2015 +0000 URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=75fe8bf4 A new bootstrapFS function has been added to cut on duplicate code use which both aufs and squashfs boot types use and this it's moved to the top of the boot process. defaults/initrd.scripts | 70 +++++++++++++++++++++++++++++++++---------------- defaults/linuxrc | 29 +++----------------- 2 files changed, 50 insertions(+), 49 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index fe563fe..eb5ed6a 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -177,6 +177,52 @@ devicelist(){ echo ${DEVICES} } +bootstrapFS() { + if [ "${USE_AUFS_NORMAL}" -eq '1' ]; then + # Directories used for rw changes in union mount filesystem + UNION=/union MEMORY=/memory + + # Mountpoint for the changesdev + CHANGESMNT=${NEW_ROOT}/mnt/changesdev + + if [ -z "$UID" ]; then + CHANGES=${MEMORY}/aufs_changes/default + else + CHANGES=${MEMORY}/aufs_changes/${UID} + fi + + mkdir -p ${MEMORY} ${UNION} ${CHANGESMNT} + else + # Legacy SquashFS implementation + good_msg "Making tmpfs for ${NEW_ROOT}" + mount -n -t tmpfs tmpfs ${NEW_ROOT} + fi + + # Setup the filesystem nodes and directories + for i in ${CDROOT_PATH} /mnt/livecd /mnt/key /mnt/gentoo /tmp /tmp/.initrd /dev /proc /run /sys; do + mkdir -p "${NEW_ROOT}${i}" + chmod 755 "${NEW_ROOT}${i}" + done + + [ ! -d "${CDROOT_PATH}" ] && mkdir -p "${CDROOT_PATH}" + [ ! -e "${NEW_ROOT}/dev/null" ] && mknod "${NEW_ROOT}"/dev/null c 1 3 + [ ! -e "${NEW_ROOT}/dev/zero" ] && mknod -m 660 "${NEW_ROOT}"/dev/zero c 1 5 + [ ! -e "${NEW_ROOT}/dev/console" ] && mknod "${NEW_ROOT}"/dev/console c 5 1 + [ ! -e "${NEW_ROOT}/dev/ttyS0" ] && mknod -m 600 "${NEW_ROOT}"/dev/ttyS0 c 4 64 + + # For SGI LiveCDs + if [ "${LOOPTYPE}" = "sgimips" ]; then + [ ! -e "${NEW_ROOT}/dev/sr0" ] && mknod "${NEW_ROOT}/dev/sr0" b 11 0 + [ ! -e "${NEW_ROOT}/dev/loop0" ] && mknod "${NEW_ROOT}/dev/loop0" b 7 0 + fi + + # Required for splash to work. Not an issue with the initrd as this + # device isn't created there and is not needed. + for minor in 0 1 ; do + [ ! -e "${NEW_ROOT}/dev/$minor" ] && mknod -m 600 "${NEW_ROOT}/dev/tty$minor" c 4 $minor + done +} + bootstrapCD() { local DEVICES= @@ -302,30 +348,8 @@ create_changefs() { } setup_aufs() { - # Directory used for rw changes in union mount filesystem - UNION=/union - MEMORY=/memory - # Mountpoint for the changesdev - CHANGESMNT=${NEW_ROOT}/mnt/changesdev - if [ -z "$UID" ] - then - CHANGES=${MEMORY}/aufs_changes/default - else - CHANGES=${MEMORY}/aufs_changes/${UID} - fi - - mkdir -p ${MEMORY} - mkdir -p ${UNION} - mkdir -p ${CHANGESMNT} - for i in dev mnt ${CDROOT_PATH} mnt/livecd mnt/key tmp tmp/.initrd mnt/gentoo sys - do - mkdir -p "${NEW_ROOT}/${i}" - chmod 755 "${NEW_ROOT}/${i}" - done - [ ! -e "${NEW_ROOT}/dev/null" ] && mknod "${NEW_ROOT}"/dev/null c 1 3 - [ ! -e "${NEW_ROOT}/dev/console" ] && mknod "${NEW_ROOT}"/dev/console c 5 1 - bootstrapCD + if [ -n "${AUFS}" ] then if [ "${AUFS}" = "detect" ] diff --git a/defaults/linuxrc b/defaults/linuxrc index da88bf0..0e40d16 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -458,40 +458,17 @@ rundebugshell "before setting up the root filesystem" if [ "${CDROOT}" = '1' ] then + # Setup the root filesystem + bootstrapFS + if [ "${USE_AUFS_NORMAL}" -eq '1' ] then setup_aufs CHROOT=${UNION} else CHROOT=${NEW_ROOT} - good_msg "Making tmpfs for ${NEW_ROOT}" - mount -n -t tmpfs tmpfs ${NEW_ROOT} - - for i in dev mnt ${CDROOT_PATH} proc run mnt/livecd mnt/key tmp tmp/.initrd mnt/gentoo sys - do - mkdir -p "${NEW_ROOT}/${i}" - chmod 755 "${NEW_ROOT}/${i}" - done - [ ! -d "${CDROOT_PATH}" ] && mkdir -p "${CDROOT_PATH}" - [ ! -e "${NEW_ROOT}/dev/null" ] && mknod -m 666 "${NEW_ROOT}"/dev/null c 1 3 - [ ! -e "${NEW_ROOT}/dev/zero" ] && mknod -m 666 "${NEW_ROOT}"/dev/zero c 1 5 - [ ! -e "${NEW_ROOT}/dev/console" ] && mknod -m 600 "${NEW_ROOT}"/dev/console c 5 1 - [ ! -e "${NEW_ROOT}/dev/ttyS0" ] && mknod -m 660 "${NEW_ROOT}"/dev/ttyS0 c 4 64 fi - # For SGI LiveCDs ... - if [ "${LOOPTYPE}" = "sgimips" ] - then - [ ! -e "${NEW_ROOT}/dev/sr0" ] && mknod "${NEW_ROOT}/dev/sr0" b 11 0 - [ ! -e "${NEW_ROOT}/dev/loop0" ] && mknod "${NEW_ROOT}/dev/loop0" b 7 0 - fi - - # Required for splash to work. Not an issue with the initrd as this - # device isn't created there and is not needed. - for minor in 0 1 ; do - [ ! -e "${NEW_ROOT}/dev/$minor" ] && mknod -m 600 "${NEW_ROOT}/dev/tty$minor" c 4 $minor - done - if [ "${REAL_ROOT}" != "/dev/nfs" ] && [ "${LOOPTYPE}" != "sgimips" ] && [ "${USE_AUFS_NORMAL}" != '1' ] then bootstrapCD