Simplest possible system encryption setup?

I've been trying to install using the System Encryption wiki and having some difficulty. Here's what I'm looking for:
4 partitions: /boot, and encrypted /, /home and /var.
No LVM (to eliminate complication)
No swap
No suspend
A single passphrase during boot
My plan was to use a passphrase for /, and then store keyfiles for /home and /var under that (so they'd be encrypted with the system off).
I got as far as unlocking /, but when I got into executing /etc/crypttab it failed unlocking /var and /home. I generated those keyfiles but when I was in the installer it asked for passphrases for all my partitions, not just for /. Although I generated those keyfiles using /dev/urandom (for some reason /dev/random didn't work) I have a feeling I missed the step whereby /home and /var was encrypted using them.
Can I re-apply the encryption to them somehow? I'm guessing I have to re-do the install.
Also I'm a bit doubtful about how my fstab turned out. If someone without LVM has an fstab and crypttab he can post here that I can look at, I'd appreciate it. Not sure how to post mine since I don't have internet up on the arch system and don't even know how to put stuff on a flash drive (I've been spoiled by Puppy Linux)..
Perhaps I'm missing part of the big picture about how the device mapper works. I will have to poke around the internet to see if I can find an explanation.
The wiki mentioned TRIM being supported after kernel version 3.1 so I guess I'm out of luck on that for a while (it's an ssd).

hmm... honestly I don't know about /var which might be a special case, but what you're trying to do should be doable (without LVM, just LUKS). Certainly is for home. Obviously to decrypt your root you'll need to enter a passphrase on boot, but then you can have on said partition keyfiles to be used to decrypt other partitions.
I do have a setup like that myself, although not for my home (nor /var), but for a backups partition. I don't know how to do it all from the installer, as what I did was to just install Arch, and once that was done I manually added my /backups. But I'm guessing it might be doable.
You'll need to create your keyfiles before running the installer, and during the partition setup it should ask you for (extra) parameters to use with crypsetup, so you can then add something like: --key-file /path/to/home.key
After that, you'll have to set up your crypttab, there are examples but it should be something like this:
luks-home /dev/whatever /path/to/home.key
Of course you need to keep those keyfiles, and make sure to put them somewhere on / (as indicated on crypttab) after the installer is done and before rebooting. (I would also recommend to add another key (a passphrase that is, in addition to the keyfile), just so that in case the keyfile gets lost, corrupted or something, you can still decrypt your partition.)
And just in case you haven't, you should check the great wiki: https://wiki.archlinux.org/index.php/LUKS

Similar Messages

  • [SOLVED] Chrome OS + Arch w/ full system encryption: Is it possible?

    I want to dual boot Chrome OS and Arch on a Chromebook. More importantly, I want to run Arch with full system encryption, such as with dm-crypt.
    As I understand it, in order to use full disk encryption, /boot must be a non-encrypted partition. If I didn't want to dual boot CrOS, this wouldn't be a problem. If I change the partitioning, it's unlikely that CrOS will boot.
    Has anyone successfully dual booted Chrome OS and Arch with full-disk encryption? And, if so, I'd appreciate your guidance. Thanks!!
    [edit] yes. Very straightforward, just read the Wiki
    Last edited by Watney (2015-05-26 03:21:50)

    What is your threat model?
    Owe, and no you can not have hidden-volume with dm-crypt.
    If you really want to have a secure OS to boot to.
    You should make a small partition on your drive.
    Put the tails linux OS .iso on it
    https://tails.boum.org/
    Then configure GRUB2 to boot the .iso file.
    https://tails.boum.org/forum/LiveUSB__4 … __feature/
    Now get a micro SD card and encrypt that for keeping data on.
    Then if you have to destroy the data, you just snap the micro SD card in a few pieces, but if you don't have time to destroy it then it is at least encrypted.
    If you are really worried about like the NSA or FBI getting your data... You probaly should not even have the data in the USA at all.
    Instead, rent a VPS in like Malaysia, Russia, Hong Kong, bla, bla bla...
    Pay for the VPS with BitCoin, Bitcoin you bought on #bitcoin-otc freenode IRC channel, that you connected to though the freenode TOR-HIdden Service IRC server. You will also want to do some bitcoin Tumbling before you use it. To tumble the bitcoin. You could simply transfer the bitcoin to an account on silkroadvb5piz3r.onion  then transfer the bitcoin back to you.
    .... OWE, and configure your bitcoin client to connect to the bitcoin network through TOR.
    Only connect to the VPS through TOR.
    Create a TOR-Hidden service to host SSH on the VPS
    Then use like sshfs to mount a remote directory on that VPS.
    Then create a TrueCrypt volume on that sshfs mounted directory, and keep your data in that.
    ===========
    How far down the rabbit hole do you want to go?
    Last edited by hunterthomson (2012-11-13 01:48:12)

  • System encryption using LUKS and GPG encrypted keys for arch linux

    Update: As of 2012-03-28, arch changed from gnupg 1.4 to 2.x which uses pinentry for the password dialog. The "etwo" hook described here doesn't work with gnupg 2. Either use the openssl hook below or use a statically compiled version of gnupg 1.4.
    Update: As of 2012-12-19, the mkinitcpio is not called during boot, unless the "install" file for the hook contains "add_runscript". This resulted in an unbootable system for me. Also, the method name was changed from install () to build ().
    Update: 2013-01-13: Updated the hook files using the corrections by Deth.
    Note: This guide is a bit dated now, in particular the arch installation might be different now. But essentially, the approach stays the same. Please also take a look at the posts further down, specifically the alternative hooks that use openssl.
    I always wanted to set up a fully encrypted arch linux server that uses gpg encrypted keyfiles on an external usb stick and luks for root filesystem encryption. I already did it once in gentoo using this guide. For arch, I had to play alot with initcpio hooks and after one day of experimentation, I finally got it working. I wrote a little guide for myself which I'm going to share here for anyone that might be interested. There might be better or easier ways, like I said this is just how I did it. I hope it might help someone else. Constructive feedback is always welcome
    Intro
    Using arch linux mkinitcpio's encrypt hook, one can easily use encrypted root partitions with LUKS. It's also possible to use key files stored on an external drive, like an usb stick. However, if someone steals your usb stick, he can just copy the key and potentially access the system. I wanted to have a little extra security by additionally encrypting the key file with gpg using a symmetric cipher and a passphrase.
    Since the encrypt hook doesn't support this scenario, I created a modifed hook called “etwo” (silly name I know, it was the first thing that came to my mind). It will simply look if the key file has the extension .gpg and, if yes, use gpg to decrypt it, then pipe the result into cryptsetup.
    Conventions
    In this short guide, I use the following disk/partition names:
    /dev/sda: is the hard disk that will contain an encrypted swap (/dev/sda1), /var (/dev/sda2) and root (/dev/sda3) partition.
    /dev/sdb is the usb stick that will contain the gpg encrypted luks keys, the kernel and grub. It will have one partition /dev/sdb1 formatted with ext2.
    /dev/mapper/root, /dev/mapper/swap and /dev/mapper/var will be the encrypted devices.
    Credits
    Thanks to the authors of SECURITY_System_Encryption_DM-Crypt_with_LUKS (gentoo wiki), System Encryption with LUKS (arch wiki), mkinitcpio (arch wiki) and Early Userspace in Arch Linux (/dev/brain0 blog)!
    Guide
    1. Boot the arch live cd
    I had to use a newer testing version, because the 2010.05 cd came with a broken gpg. You can download one here: http://releng.archlinux.org/isos/. I chose the “core“ version. Go ahead and boot the live cd, but don't start the setup yet.
    2. Set keymap
    Use km to set your keymap. This is important for non-qwerty keyboards to avoid suprises with passphrases...
    3. Wipe your discs
    ATTENTION: this will DELETE everything on /dev/sda and /dev/sdb forever! Do not blame me for any lost data!
    Before encrypting the hard disc, it has to be completely wiped and overwritten with random data. I used shred for this. Others use badblocks or dd with /dev/urandom. Either way, this will take a long time, depending on the size of your disc. I also wiped my usb stick just to be sure.
    shred -v /dev/sda
    shred -v /dev/sdb
    4. Partitioning
    Fire up fdisk and create the following partitions:
    /dev/sda1, type linux swap.
    /dev/sda2: type linux
    /dev/sda3: type linux
    /dev/sdb1, type linux
    Of course you can choose a different layout, this is just how I did it. Keep in mind that only the root filesystem will be decrypted by the initcpio. The rest will be decypted during normal init boot using /etc/crypttab, the keys being somewhere on the root filesystem.
    5. Format  and mount the usb stick
    Create an ext2 filesystem on /dev/sdb1:
    mkfs.ext2 /dev/sdb1
    mkdir /root/usb
    mount /dev/sdb1 /root/usb
    cd /root/usb # this will be our working directory for now.
    Do not mount anything to /mnt, because the arch installer will use that directory later to mount the encrypted root filesystem.
    6. Configure the network (if not already done automatically)
    ifconfig eth0 192.168.0.2 netmask 255.255.255.0
    route add default gw 192.168.0.1
    echo "nameserver 192.168.0.1" >> /etc/resolv.conf
    (this is just an example, your mileage may vary)
    7. Install gnupg
    pacman -Sy
    pacman -S gnupg
    Verify that gnupg works by launching gpg.
    8. Create the keys
    Just to be sure, make sure swap is off:
    cat /proc/swaps
    should return no entries.
    Create gpg encrypted keys (remember, we're still in our working dir /root/usb):
    dd if=/dev/urandom bs=512 count=4 | gpg -v --cipher-algo aes256 --digest-algo sha512 -c -a > root.gpg
    dd if=/dev/urandom bs=512 count=4 | gpg -v --cipher-algo aes256 --digest-algo sha512 -c -a > var.gpg
    Choose a strong password!!
    Don't do this in two steps, e.g don't do dd to a file and then gpg on that file. The key should never be stored in plain text on an unencrypted device, except if that device is wiped on system restart (ramfs)!
    Note that the default cipher for gpg is cast5, I just chose to use a different one.
    9. Create the encrypted devices with cryptsetup
    Create encrypted swap:
    cryptsetup -c aes-cbc-essiv:sha256 -s 256 -h whirlpool -d /dev/urandom create swap /dev/sda1
    You should see /dev/mapper/swap now. Don't format nor turn it on for now. This will be done by the arch installer.
    Important: From the Cryptsetup 1.1.2 Release notes:
    Cryptsetup can accept passphrase on stdin (standard input). Handling of new line (\n) character is defined by input specification:
        if keyfile is specified as "-" (using --key-file=- or by positional argument in luksFormat and luksAddKey, like cat file | cryptsetup --key-file=- <action> ), input is processed
          as normal binary file and no new line is interpreted.
        if there is no key file specification (with default input from stdin pipe like echo passphrase | cryptsetup <action> ) input is processed as input from terminal, reading will
          stop after new line is detected.
    If I understand this correctly, since the randomly generated key can contain a newline early on, piping the key into cryptsetup without specifying --key-file=- could result in a big part of the key to be ignored by cryptsetup. Example: if the random key was "foo\nandsomemorebaratheendofthekey", piping it directly into cryptsetup without --key-file=- would result in cryptsetup using only "foo" as key which would have big security implications. We should therefor ALWAYS pipe the key into cryptsetup using --key-file=- which ignores newlines.
    gpg -q -d root.gpg 2>/dev/null | cryptsetup -v -–key-file=- -c aes-cbc-essiv:sha256 -s 256 -h whirlpool luksFormat /dev/sda3
    gpg -q -d var.gpg 2>/dev/null | cryptsetup -v –-key-file=- -c aes-cbc-essiv:sha256 -s 256 -h whirlpool -v luksFormat /dev/sda2
    Check for any errors.
    10. Open the luks devices
    gpg -d root.gpg 2>/dev/null | cryptsetup -v –-key-file=- luksOpen /dev/sda3 root
    gpg -d var.gpg 2>/dev/null | cryptsetup -v –-key-file=- luksOpen /dev/sda2 var
    If you see /dev/mapper/root and /dev/mapper/var now, everything is ok.
    11. Start the installer /arch/setup
    Follow steps 1 to 3.
    At step 4 (Prepare hard drive(s), select “3 – Manually Configure block devices, filesystems and mountpoints. Choose /dev/sdb1 (the usb stick) as /boot, /dev/mapper/swap for swap, /dev/mapper/root for / and /dev/mapper/var for /var.
    Format all drives (choose “yes” when asked “do you want to have this filesystem (re)created”) EXCEPT for /dev/sdb1, choose “no”. Choose the correct filesystem for /dev/sdb1, ext2 in my case. Use swap for /dev/mapper/swap. For the rest, I chose ext4.
    Select DONE to start formatting.
    At step 5 (Select packages), select grub as boot loader. Select the base group. Add mkinitcpio.
    Start step 6 (Install packages).
    Go to step 7 (Configure System).
    By sure to set the correct KEYMAP, LOCALE and TIMEZONE in /etc/rc.conf.
    Edit /etc/fstab:
    /dev/mapper/root / ext4 defaults 0 1
    /dev/mapper/swap swap swap defaults 0 0
    /dev/mapper/var /var ext4 defaults 0 1
    # /dev/sdb1 /boot ext2 defaults 0 1
    Configure the rest normally. When you're done, setup will launch mkinitcpio. We'll manually launch this again later.
    Go to step 8 (install boot loader).
    Be sure to change the kernel line in menu.lst:
    kernel /vmlinuz26 root=/dev/mapper/root cryptdevice=/dev/sda3:root cryptkey=/dev/sdb1:ext2:/root.gpg
    Don't forget the :root suffix in cryptdevice!
    Also, my root line was set to (hd1,0). Had to change that to
    root (hd0,0)
    Install grub to /dev/sdb (the usb stick).
    Now, we can exit the installer.
    12. Install mkinitcpio with the etwo hook.
    Create /mnt/lib/initcpio/hooks/etwo:
    #!/usr/bin/ash
    run_hook() {
    /sbin/modprobe -a -q dm-crypt >/dev/null 2>&1
    if [ -e "/sys/class/misc/device-mapper" ]; then
    if [ ! -e "/dev/mapper/control" ]; then
    /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
    fi
    [ "${quiet}" = "y" ] && CSQUIET=">/dev/null"
    # Get keyfile if specified
    ckeyfile="/crypto_keyfile"
    usegpg="n"
    if [ "x${cryptkey}" != "x" ]; then
    ckdev="$(echo "${cryptkey}" | cut -d: -f1)"
    ckarg1="$(echo "${cryptkey}" | cut -d: -f2)"
    ckarg2="$(echo "${cryptkey}" | cut -d: -f3)"
    if poll_device "${ckdev}" ${rootdelay}; then
    case ${ckarg1} in
    *[!0-9]*)
    # Use a file on the device
    # ckarg1 is not numeric: ckarg1=filesystem, ckarg2=path
    if [ "${ckarg2#*.}" = "gpg" ]; then
    ckeyfile="${ckeyfile}.gpg"
    usegpg="y"
    fi
    mkdir /ckey
    mount -r -t ${ckarg1} ${ckdev} /ckey
    dd if=/ckey/${ckarg2} of=${ckeyfile} >/dev/null 2>&1
    umount /ckey
    # Read raw data from the block device
    # ckarg1 is numeric: ckarg1=offset, ckarg2=length
    dd if=${ckdev} of=${ckeyfile} bs=1 skip=${ckarg1} count=${ckarg2} >/dev/null 2>&1
    esac
    fi
    [ ! -f ${ckeyfile} ] && echo "Keyfile could not be opened. Reverting to passphrase."
    fi
    if [ -n "${cryptdevice}" ]; then
    DEPRECATED_CRYPT=0
    cryptdev="$(echo "${cryptdevice}" | cut -d: -f1)"
    cryptname="$(echo "${cryptdevice}" | cut -d: -f2)"
    else
    DEPRECATED_CRYPT=1
    cryptdev="${root}"
    cryptname="root"
    fi
    warn_deprecated() {
    echo "The syntax 'root=${root}' where '${root}' is an encrypted volume is deprecated"
    echo "Use 'cryptdevice=${root}:root root=/dev/mapper/root' instead."
    if poll_device "${cryptdev}" ${rootdelay}; then
    if /sbin/cryptsetup isLuks ${cryptdev} >/dev/null 2>&1; then
    [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
    dopassphrase=1
    # If keyfile exists, try to use that
    if [ -f ${ckeyfile} ]; then
    if [ "${usegpg}" = "y" ]; then
    # gpg tty fixup
    if [ -e /dev/tty ]; then mv /dev/tty /dev/tty.backup; fi
    cp -a /dev/console /dev/tty
    while [ ! -e /dev/mapper/${cryptname} ];
    do
    sleep 2
    /usr/bin/gpg -d "${ckeyfile}" 2>/dev/null | cryptsetup --key-file=- luksOpen ${cryptdev} ${cryptname} ${CSQUIET}
    dopassphrase=0
    done
    rm /dev/tty
    if [ -e /dev/tty.backup ]; then mv /dev/tty.backup /dev/tty; fi
    else
    if eval /sbin/cryptsetup --key-file ${ckeyfile} luksOpen ${cryptdev} ${cryptname} ${CSQUIET}; then
    dopassphrase=0
    else
    echo "Invalid keyfile. Reverting to passphrase."
    fi
    fi
    fi
    # Ask for a passphrase
    if [ ${dopassphrase} -gt 0 ]; then
    echo ""
    echo "A password is required to access the ${cryptname} volume:"
    #loop until we get a real password
    while ! eval /sbin/cryptsetup luksOpen ${cryptdev} ${cryptname} ${CSQUIET}; do
    sleep 2;
    done
    fi
    if [ -e "/dev/mapper/${cryptname}" ]; then
    if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
    export root="/dev/mapper/root"
    fi
    else
    err "Password succeeded, but ${cryptname} creation failed, aborting..."
    exit 1
    fi
    elif [ -n "${crypto}" ]; then
    [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
    msg "Non-LUKS encrypted device found..."
    if [ $# -ne 5 ]; then
    err "Verify parameter format: crypto=hash:cipher:keysize:offset:skip"
    err "Non-LUKS decryption not attempted..."
    return 1
    fi
    exe="/sbin/cryptsetup create ${cryptname} ${cryptdev}"
    tmp=$(echo "${crypto}" | cut -d: -f1)
    [ -n "${tmp}" ] && exe="${exe} --hash \"${tmp}\""
    tmp=$(echo "${crypto}" | cut -d: -f2)
    [ -n "${tmp}" ] && exe="${exe} --cipher \"${tmp}\""
    tmp=$(echo "${crypto}" | cut -d: -f3)
    [ -n "${tmp}" ] && exe="${exe} --key-size \"${tmp}\""
    tmp=$(echo "${crypto}" | cut -d: -f4)
    [ -n "${tmp}" ] && exe="${exe} --offset \"${tmp}\""
    tmp=$(echo "${crypto}" | cut -d: -f5)
    [ -n "${tmp}" ] && exe="${exe} --skip \"${tmp}\""
    if [ -f ${ckeyfile} ]; then
    exe="${exe} --key-file ${ckeyfile}"
    else
    exe="${exe} --verify-passphrase"
    echo ""
    echo "A password is required to access the ${cryptname} volume:"
    fi
    eval "${exe} ${CSQUIET}"
    if [ $? -ne 0 ]; then
    err "Non-LUKS device decryption failed. verify format: "
    err " crypto=hash:cipher:keysize:offset:skip"
    exit 1
    fi
    if [ -e "/dev/mapper/${cryptname}" ]; then
    if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
    export root="/dev/mapper/root"
    fi
    else
    err "Password succeeded, but ${cryptname} creation failed, aborting..."
    exit 1
    fi
    else
    err "Failed to open encryption mapping: The device ${cryptdev} is not a LUKS volume and the crypto= paramater was not specified."
    fi
    fi
    rm -f ${ckeyfile}
    fi
    Create /mnt/lib/initcpio/install/etwo:
    #!/bin/bash
    build() {
    local mod
    add_module dm-crypt
    if [[ $CRYPTO_MODULES ]]; then
    for mod in $CRYPTO_MODULES; do
    add_module "$mod"
    done
    else
    add_all_modules '/crypto/'
    fi
    add_dir "/dev/mapper"
    add_binary "cryptsetup"
    add_binary "dmsetup"
    add_binary "/usr/bin/gpg"
    add_file "/usr/lib/udev/rules.d/10-dm.rules"
    add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
    add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
    add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
    add_runscript
    help ()
    cat<<HELPEOF
    This hook allows for an encrypted root device with support for gpg encrypted key files.
    To use gpg, the key file must have the extension .gpg and you have to install gpg and add /usr/bin/gpg
    to your BINARIES var in /etc/mkinitcpio.conf.
    HELPEOF
    Edit /mnt/etc/mkinitcpio.conf (only relevant sections displayed):
    MODULES=”ext2 ext4” # not sure if this is really nessecary.
    BINARIES=”/usr/bin/gpg” # this could probably be done in install/etwo...
    HOOKS=”base udev usbinput keymap autodetect pata scsi sata usb etwo filesystems” # (usbinput is only needed if you have an usb keyboard)
    Copy the initcpio stuff over to the live cd:
    cp /mnt/lib/initcpio/hooks/etwo /lib/initcpio/hooks/
    cp /mnt/lib/initcpio/install/etwo /lib/initcpio/install/
    cp /mnt/etc/mkinitcpio.conf /etc/
    Verify your LOCALE, KEYMAP and TIMEZONE in /etc/rc.conf!
    Now reinstall the initcpio:
    mkinitcpio -g /mnt/boot/kernel26.img
    Make sure there were no errors and that all hooks were included.
    13. Decrypt the "var" key to the encrypted root
    mkdir /mnt/keys
    chmod 500 /mnt/keys
    gpg –output /mnt/keys/var -d /mnt/boot/var.gpg
    chmod 400 /mnt/keys/var
    14. Setup crypttab
    Edit /mnt/etc/crypttab:
    swap /dev/sda1 SWAP -c aes-cbc-essiv:sha256 -s 256 -h whirlpool
    var /dev/sda2 /keys/var
    15. Reboot
    We're done, you may reboot. Make sure you select the usb stick as the boot device in your bios and hope for the best. . If it didn't work, play with grub's settings or boot from the live cd, mount your encrypted devices and check all settings. You might also have less trouble by using uuid's instead of device names.  I chose device names to keep things as simple as possible, even though it's not the optimal way to do it.
    Make backups of your data and your usb stick and do not forget your password(s)! Or you can say goodbye to your data forever...
    Last edited by fabriceb (2013-01-15 22:36:23)

    I'm trying to run my install script that is based on https://bbs.archlinux.org/viewtopic.php?id=129885
    Decrypting the gpg key after grub works, but then "Devce root already exists." appears every second.
    any idea ?
    #!/bin/bash
    # This script is designed to be run in conjunction with a UEFI boot using Archboot intall media.
    # prereqs:
    # EFI "BIOS" set to boot *only* from EFI
    # successful EFI boot of Archboot USB
    # mount /dev/sdb1 /src
    set -o nounset
    #set -o errexit
    # Host specific configuration
    # this whole script needs to be customized, particularly disk partitions
    # and configuration, but this section contains global variables that
    # are used during the system configuration phase for convenience
    HOSTNAME=daniel
    USERNAME=user
    # Globals
    # We don't need to set these here but they are used repeatedly throughout
    # so it makes sense to reuse them and allow an easy, one-time change if we
    # need to alter values such as the install target mount point.
    INSTALL_TARGET="/install"
    HR="--------------------------------------------------------------------------------"
    PACMAN="pacman --noconfirm --config /tmp/pacman.conf"
    TARGET_PACMAN="pacman --noconfirm --config /tmp/pacman.conf -r ${INSTALL_TARGET}"
    CHROOT_PACMAN="pacman --noconfirm --cachedir /var/cache/pacman/pkg --config /tmp/pacman.conf -r ${INSTALL_TARGET}"
    FILE_URL="file:///packages/core-$(uname -m)/pkg"
    FTP_URL='ftp://mirrors.kernel.org/archlinux/$repo/os/$arch'
    HTTP_URL='http://mirrors.kernel.org/archlinux/$repo/os/$arch'
    # Functions
    # I've avoided using functions in this script as they aren't required and
    # I think it's more of a learning tool if you see the step-by-step
    # procedures even with minor duplciations along the way, but I feel that
    # these functions clarify the particular steps of setting values in config
    # files.
    SetValue () {
    # EXAMPLE: SetValue VARIABLENAME '\"Quoted Value\"' /file/path
    VALUENAME="$1" NEWVALUE="$2" FILEPATH="$3"
    sed -i "s+^#\?\(${VALUENAME}\)=.*$+\1=${NEWVALUE}+" "${FILEPATH}"
    CommentOutValue () {
    VALUENAME="$1" FILEPATH="$2"
    sed -i "s/^\(${VALUENAME}.*\)$/#\1/" "${FILEPATH}"
    UncommentValue () {
    VALUENAME="$1" FILEPATH="$2"
    sed -i "s/^#\(${VALUENAME}.*\)$/\1/" "${FILEPATH}"
    # Initialize
    # Warn the user about impending doom, set up the network on eth0, mount
    # the squashfs images (Archboot does this normally, we're just filling in
    # the gaps resulting from the fact that we're doing a simple scripted
    # install). We also create a temporary pacman.conf that looks for packages
    # locally first before sourcing them from the network. It would be better
    # to do either *all* local or *all* network but we can't for two reasons.
    # 1. The Archboot installation image might have an out of date kernel
    # (currently the case) which results in problems when chrooting
    # into the install mount point to modprobe efivars. So we use the
    # package snapshot on the Archboot media to ensure our kernel is
    # the same as the one we booted with.
    # 2. Ideally we'd source all local then, but some critical items,
    # notably grub2-efi variants, aren't yet on the Archboot media.
    # Warn
    timer=9
    echo -e "\n\nMAC WARNING: This script is not designed for APPLE MAC installs and will potentially misconfigure boot to your existing OS X installation. STOP NOW IF YOU ARE ON A MAC.\n\n"
    echo -n "GENERAL WARNING: This procedure will completely format /dev/sda. Please cancel with ctrl-c to cancel within $timer seconds..."
    while [[ $timer -gt 0 ]]
    do
    sleep 1
    let timer-=1
    echo -en "$timer seconds..."
    done
    echo "STARTING"
    # Get Network
    echo -n "Waiting for network address.."
    #dhclient eth0
    dhcpcd -p eth0
    echo -n "Network address acquired."
    # Mount packages squashfs images
    umount "/packages/core-$(uname -m)"
    umount "/packages/core-any"
    rm -rf "/packages/core-$(uname -m)"
    rm -rf "/packages/core-any"
    mkdir -p "/packages/core-$(uname -m)"
    mkdir -p "/packages/core-any"
    modprobe -q loop
    modprobe -q squashfs
    mount -o ro,loop -t squashfs "/src/packages/archboot_packages_$(uname -m).squashfs" "/packages/core-$(uname -m)"
    mount -o ro,loop -t squashfs "/src/packages/archboot_packages_any.squashfs" "/packages/core-any"
    # Create temporary pacman.conf file
    cat << PACMANEOF > /tmp/pacman.conf
    [options]
    Architecture = auto
    CacheDir = ${INSTALL_TARGET}/var/cache/pacman/pkg
    CacheDir = /packages/core-$(uname -m)/pkg
    CacheDir = /packages/core-any/pkg
    [core]
    Server = ${FILE_URL}
    Server = ${FTP_URL}
    Server = ${HTTP_URL}
    [extra]
    Server = ${FILE_URL}
    Server = ${FTP_URL}
    Server = ${HTTP_URL}
    #Uncomment to enable pacman -Sy yaourt
    [archlinuxfr]
    Server = http://repo.archlinux.fr/\$arch
    PACMANEOF
    # Prepare pacman
    [[ ! -d "${INSTALL_TARGET}/var/cache/pacman/pkg" ]] && mkdir -m 755 -p "${INSTALL_TARGET}/var/cache/pacman/pkg"
    [[ ! -d "${INSTALL_TARGET}/var/lib/pacman" ]] && mkdir -m 755 -p "${INSTALL_TARGET}/var/lib/pacman"
    ${PACMAN} -Sy
    ${TARGET_PACMAN} -Sy
    # Install prereqs from network (not on archboot media)
    echo -e "\nInstalling prereqs...\n$HR"
    #sed -i "s/^#S/S/" /etc/pacman.d/mirrorlist # Uncomment all Server lines
    UncommentValue S /etc/pacman.d/mirrorlist # Uncomment all Server lines
    ${PACMAN} --noconfirm -Sy gptfdisk btrfs-progs-unstable libusb-compat gnupg
    # Configure Host
    # Here we create three partitions:
    # 1. efi and /boot (one partition does double duty)
    # 2. swap
    # 3. our encrypted root
    # Note that all of these are on a GUID partition table scheme. This proves
    # to be quite clean and simple since we're not doing anything with MBR
    # boot partitions and the like.
    echo -e "format\n"
    # shred -v /dev/sda
    # disk prep
    sgdisk -Z /dev/sda # zap all on disk
    #sgdisk -Z /dev/mmcb1k0 # zap all on sdcard
    sgdisk -a 2048 -o /dev/sda # new gpt disk 2048 alignment
    #sgdisk -a 2048 -o /dev/mmcb1k0
    # create partitions
    sgdisk -n 1:0:+200M /dev/sda # partition 1 (UEFI BOOT), default start block, 200MB
    sgdisk -n 2:0:+4G /dev/sda # partition 2 (SWAP), default start block, 200MB
    sgdisk -n 3:0:0 /dev/sda # partition 3, (LUKS), default start, remaining space
    #sgdisk -n 1:0:1800M /dev/mmcb1k0 # root.gpg
    # set partition types
    sgdisk -t 1:ef00 /dev/sda
    sgdisk -t 2:8200 /dev/sda
    sgdisk -t 3:8300 /dev/sda
    #sgdisk -t 1:0700 /dev/mmcb1k0
    # label partitions
    sgdisk -c 1:"UEFI Boot" /dev/sda
    sgdisk -c 2:"Swap" /dev/sda
    sgdisk -c 3:"LUKS" /dev/sda
    #sgdisk -c 1:"Key" /dev/mmcb1k0
    echo -e "create gpg file\n"
    # create gpg file
    dd if=/dev/urandom bs=512 count=4 | gpg -v --cipher-algo aes256 --digest-algo sha512 -c -a > /root/root.gpg
    echo -e "format LUKS on root\n"
    # format LUKS on root
    gpg -q -d /root/root.gpg 2>/dev/null | cryptsetup -v --key-file=- -c aes-xts-plain -s 512 --hash sha512 luksFormat /dev/sda3
    echo -e "open LUKS on root\n"
    gpg -d /root/root.gpg 2>/dev/null | cryptsetup -v --key-file=- luksOpen /dev/sda3 root
    # NOTE: make sure to add dm_crypt and aes_i586 to MODULES in rc.conf
    # NOTE2: actually this isn't required since we're mounting an encrypted root and grub2/initramfs handles this before we even get to rc.conf
    # make filesystems
    # following swap related commands not used now that we're encrypting our swap partition
    #mkswap /dev/sda2
    #swapon /dev/sda2
    #mkfs.ext4 /dev/sda3 # this is where we'd create an unencrypted root partition, but we're using luks instead
    echo -e "\nCreating Filesystems...\n$HR"
    # make filesystems
    mkfs.ext4 /dev/mapper/root
    mkfs.vfat -F32 /dev/sda1
    #mkfs.vfat -F32 /dev/mmcb1k0p1
    echo -e "mount targets\n"
    # mount target
    #mount /dev/sda3 ${INSTALL_TARGET} # this is where we'd mount the unencrypted root partition
    mount /dev/mapper/root ${INSTALL_TARGET}
    # mount target
    mkdir ${INSTALL_TARGET}
    # mkdir ${INSTALL_TARGET}/key
    # mount -t vfat /dev/mmcb1k0p1 ${INSTALL_TARGET}/key
    mkdir ${INSTALL_TARGET}/boot
    mount -t vfat /dev/sda1 ${INSTALL_TARGET}/boot
    # Install base, necessary utilities
    mkdir -p ${INSTALL_TARGET}/var/lib/pacman
    ${TARGET_PACMAN} -Sy
    ${TARGET_PACMAN} -Su base
    # curl could be installed later but we want it ready for rankmirrors
    ${TARGET_PACMAN} -S curl
    ${TARGET_PACMAN} -S libusb-compat gnupg
    ${TARGET_PACMAN} -R grub
    rm -rf ${INSTALL_TARGET}/boot/grub
    ${TARGET_PACMAN} -S grub2-efi-x86_64
    # Configure new system
    SetValue HOSTNAME ${HOSTNAME} ${INSTALL_TARGET}/etc/rc.conf
    sed -i "s/^\(127\.0\.0\.1.*\)$/\1 ${HOSTNAME}/" ${INSTALL_TARGET}/etc/hosts
    SetValue CONSOLEFONT Lat2-Terminus16 ${INSTALL_TARGET}/etc/rc.conf
    #following replaced due to netcfg
    #SetValue interface eth0 ${INSTALL_TARGET}/etc/rc.conf
    # write fstab
    # You can use UUID's or whatever you want here, of course. This is just
    # the simplest approach and as long as your drives aren't changing values
    # randomly it should work fine.
    cat > ${INSTALL_TARGET}/etc/fstab <<FSTAB_EOF
    # /etc/fstab: static file system information
    # <file system> <dir> <type> <options> <dump> <pass>
    tmpfs /tmp tmpfs nodev,nosuid 0 0
    /dev/sda1 /boot vfat defaults 0 0
    /dev/mapper/cryptswap none swap defaults 0 0
    /dev/mapper/root / ext4 defaults,noatime 0 1
    FSTAB_EOF
    # write etwo
    mkdir -p /lib/initcpio/hooks/
    mkdir -p /lib/initcpio/install/
    cp /src/etwo_hooks /lib/initcpio/hooks/etwo
    cp /src/etwo_install /lib/initcpio/install/etwo
    mkdir -p ${INSTALL_TARGET}/lib/initcpio/hooks/
    mkdir -p ${INSTALL_TARGET}/lib/initcpio/install/
    cp /src/etwo_hooks ${INSTALL_TARGET}/lib/initcpio/hooks/etwo
    cp /src/etwo_install ${INSTALL_TARGET}/lib/initcpio/install/etwo
    # write crypttab
    # encrypted swap (random passphrase on boot)
    echo cryptswap /dev/sda2 SWAP "-c aes-xts-plain -h whirlpool -s 512" >> ${INSTALL_TARGET}/etc/crypttab
    # copy configs we want to carry over to target from install environment
    mv ${INSTALL_TARGET}/etc/resolv.conf ${INSTALL_TARGET}/etc/resolv.conf.orig
    cp /etc/resolv.conf ${INSTALL_TARGET}/etc/resolv.conf
    mkdir -p ${INSTALL_TARGET}/tmp
    cp /tmp/pacman.conf ${INSTALL_TARGET}/tmp/pacman.conf
    # mount proc, sys, dev in install root
    mount -t proc proc ${INSTALL_TARGET}/proc
    mount -t sysfs sys ${INSTALL_TARGET}/sys
    mount -o bind /dev ${INSTALL_TARGET}/dev
    echo -e "umount boot\n"
    # we have to remount /boot from inside the chroot
    umount ${INSTALL_TARGET}/boot
    # Create install_efi script (to be run *after* chroot /install)
    touch ${INSTALL_TARGET}/install_efi
    chmod a+x ${INSTALL_TARGET}/install_efi
    cat > ${INSTALL_TARGET}/install_efi <<EFI_EOF
    # functions (these could be a library, but why overcomplicate things
    SetValue () { VALUENAME="\$1" NEWVALUE="\$2" FILEPATH="\$3"; sed -i "s+^#\?\(\${VALUENAME}\)=.*\$+\1=\${NEWVALUE}+" "\${FILEPATH}"; }
    CommentOutValue () { VALUENAME="\$1" FILEPATH="\$2"; sed -i "s/^\(\${VALUENAME}.*\)\$/#\1/" "\${FILEPATH}"; }
    UncommentValue () { VALUENAME="\$1" FILEPATH="\$2"; sed -i "s/^#\(\${VALUENAME}.*\)\$/\1/" "\${FILEPATH}"; }
    echo -e "mount boot\n"
    # remount here or grub et al gets confused
    mount -t vfat /dev/sda1 /boot
    # mkinitcpio
    # NOTE: intel_agp drm and i915 for intel graphics
    SetValue MODULES '\\"dm_mod dm_crypt aes_x86_64 ext2 ext4 vfat intel_agp drm i915\\"' /etc/mkinitcpio.conf
    SetValue HOOKS '\\"base udev pata scsi sata usb usbinput keymap consolefont etwo encrypt filesystems\\"' /etc/mkinitcpio.conf
    SetValue BINARIES '\\"/usr/bin/gpg\\"' /etc/mkinitcpio.conf
    mkinitcpio -p linux
    # kernel modules for EFI install
    modprobe efivars
    modprobe dm-mod
    # locale-gen
    UncommentValue de_AT /etc/locale.gen
    locale-gen
    # install and configure grub2
    # did this above
    #${CHROOT_PACMAN} -Sy
    #${CHROOT_PACMAN} -R grub
    #rm -rf /boot/grub
    #${CHROOT_PACMAN} -S grub2-efi-x86_64
    # you can be surprisingly sloppy with the root value you give grub2 as a kernel option and
    # even omit the cryptdevice altogether, though it will wag a finger at you for using
    # a deprecated syntax, so we're using the correct form here
    # NOTE: take out i915.modeset=1 unless you are on intel graphics
    SetValue GRUB_CMDLINE_LINUX '\\"cryptdevice=/dev/sda3:root cryptkey=/dev/sda1:vfat:/root.gpg add_efi_memmap i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 pcie_aspm=force quiet\\"' /etc/default/grub
    # set output to graphical
    SetValue GRUB_TERMINAL_OUTPUT gfxterm /etc/default/grub
    SetValue GRUB_GFXMODE 960x600x32,auto /etc/default/grub
    SetValue GRUB_GFXPAYLOAD_LINUX keep /etc/default/grub # comment out this value if text only mode
    # install the actual grub2. Note that despite our --boot-directory option we will still need to move
    # the grub directory to /boot/grub during grub-mkconfig operations until grub2 gets patched (see below)
    grub_efi_x86_64-install --bootloader-id=grub --no-floppy --recheck
    # create our EFI boot entry
    # bug in the HP bios firmware (F.08)
    efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "ARCH LINUX" --loader "\\\\grub\\\\grub.efi"
    # copy font for grub2
    cp /usr/share/grub/unicode.pf2 /boot/grub
    # generate config file
    grub-mkconfig -o /boot/grub/grub.cfg
    exit
    EFI_EOF
    # Install EFI using script inside chroot
    chroot ${INSTALL_TARGET} /install_efi
    rm ${INSTALL_TARGET}/install_efi
    # Post install steps
    # anything you want to do post install. run the script automatically or
    # manually
    touch ${INSTALL_TARGET}/post_install
    chmod a+x ${INSTALL_TARGET}/post_install
    cat > ${INSTALL_TARGET}/post_install <<POST_EOF
    set -o errexit
    set -o nounset
    # functions (these could be a library, but why overcomplicate things
    SetValue () { VALUENAME="\$1" NEWVALUE="\$2" FILEPATH="\$3"; sed -i "s+^#\?\(\${VALUENAME}\)=.*\$+\1=\${NEWVALUE}+" "\${FILEPATH}"; }
    CommentOutValue () { VALUENAME="\$1" FILEPATH="\$2"; sed -i "s/^\(\${VALUENAME}.*\)\$/#\1/" "\${FILEPATH}"; }
    UncommentValue () { VALUENAME="\$1" FILEPATH="\$2"; sed -i "s/^#\(\${VALUENAME}.*\)\$/\1/" "\${FILEPATH}"; }
    # root password
    echo -e "${HR}\\nNew root user password\\n${HR}"
    passwd
    # add user
    echo -e "${HR}\\nNew non-root user password (username:${USERNAME})\\n${HR}"
    groupadd sudo
    useradd -m -g users -G audio,lp,optical,storage,video,games,power,scanner,network,sudo,wheel -s /bin/bash ${USERNAME}
    passwd ${USERNAME}
    # mirror ranking
    echo -e "${HR}\\nRanking Mirrors (this will take a while)\\n${HR}"
    cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
    mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.all
    sed -i "s/#S/S/" /etc/pacman.d/mirrorlist.all
    rankmirrors -n 5 /etc/pacman.d/mirrorlist.all > /etc/pacman.d/mirrorlist
    # temporary fix for locale.sh update conflict
    mv /etc/profile.d/locale.sh /etc/profile.d/locale.sh.preupdate || true
    # yaourt repo (add to target pacman, not tmp pacman.conf, for ongoing use)
    echo -e "\\n[archlinuxfr]\\nServer = http://repo.archlinux.fr/\\\$arch" >> /etc/pacman.conf
    echo -e "\\n[haskell]\\nServer = http://www.kiwilight.com/\\\$repo/\\\$arch" >> /etc/pacman.conf
    # additional groups and utilities
    pacman --noconfirm -Syu
    pacman --noconfirm -S base-devel
    pacman --noconfirm -S yaourt
    # sudo
    pacman --noconfirm -S sudo
    cp /etc/sudoers /tmp/sudoers.edit
    sed -i "s/#\s*\(%wheel\s*ALL=(ALL)\s*ALL.*$\)/\1/" /tmp/sudoers.edit
    sed -i "s/#\s*\(%sudo\s*ALL=(ALL)\s*ALL.*$\)/\1/" /tmp/sudoers.edit
    visudo -qcsf /tmp/sudoers.edit && cat /tmp/sudoers.edit > /etc/sudoers
    # power
    pacman --noconfirm -S acpi acpid acpitool cpufrequtils
    yaourt --noconfirm -S powertop2
    sed -i "/^DAEMONS/ s/)/ @acpid)/" /etc/rc.conf
    sed -i "/^MODULES/ s/)/ acpi-cpufreq cpufreq_ondemand cpufreq_powersave coretemp)/" /etc/rc.conf
    # following requires my acpi handler script
    echo "/etc/acpi/handler.sh boot" > /etc/rc.local
    # time
    pacman --noconfirm -S ntp
    sed -i "/^DAEMONS/ s/hwclock /!hwclock @ntpd /" /etc/rc.conf
    # wireless (wpa supplicant should already be installed)
    pacman --noconfirm -S iw wpa_supplicant rfkill
    pacman --noconfirm -S netcfg wpa_actiond ifplugd
    mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.orig
    echo -e "ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=network\nupdate_config=1" > /etc/wpa_supplicant.conf
    # make sure to copy /etc/network.d/examples/wireless-wpa-config to /etc/network.d/home and edit
    sed -i "/^DAEMONS/ s/)/ @net-auto-wireless @net-auto-wired)/" /etc/rc.conf
    sed -i "/^DAEMONS/ s/ network / /" /etc/rc.conf
    echo -e "\nWIRELESS_INTERFACE=wlan0" >> /etc/rc.conf
    echo -e "WIRED_INTERFACE=eth0" >> /etc/rc.conf
    echo "options iwlagn led_mode=2" > /etc/modprobe.d/iwlagn.conf
    # sound
    pacman --noconfirm -S alsa-utils alsa-plugins
    sed -i "/^DAEMONS/ s/)/ @alsa)/" /etc/rc.conf
    mv /etc/asound.conf /etc/asound.conf.orig || true
    #if alsamixer isn't working, try alsamixer -Dhw and speaker-test -Dhw -c 2
    # video
    pacman --noconfirm -S base-devel mesa mesa-demos
    # x
    #pacman --noconfirm -S xorg xorg-xinit xorg-utils xorg-server-utils xdotool xorg-xlsfonts
    #yaourt --noconfirm -S xf86-input-wacom-git # NOT NEEDED? input-wacom-git
    #TODO: cut down the install size
    #pacman --noconfirm -S xorg-server xorg-xinit xorg-utils xorg-server-utils
    # TODO: wacom
    # environment/wm/etc.
    #pacman --noconfirm -S xfce4 compiz ccsm
    #pacman --noconfirm -S xcompmgr
    #yaourt --noconfirm -S physlock unclutter
    #pacman --noconfirm -S rxvt-unicode urxvt-url-select hsetroot
    #pacman --noconfirm -S gtk2 #gtk3 # for taffybar?
    #pacman --noconfirm -S ghc
    # note: try installing alex and happy from cabal instead
    #pacman --noconfirm -S haskell-platform haskell-hscolour
    #yaourt --noconfirm -S xmonad-darcs xmonad-contrib-darcs xcompmgr
    #yaourt --noconfirm -S xmobar-git
    # TODO: edit xfce to use compiz
    # TODO: xmonad, but deal with video tearing
    # TODO: xmonad-darcs fails to install from AUR. haskell dependency hell.
    # switching to cabal
    # fonts
    pacman --noconfirm -S terminus-font
    yaourt --noconfirm -S webcore-fonts
    yaourt --noconfirm -S fontforge libspiro
    yaourt --noconfirm -S freetype2-git-infinality
    # TODO: sed infinality and change to OSX or OSX2 mode
    # and create the sym link from /etc/fonts/conf.avail to conf.d
    # misc apps
    #pacman --noconfirm -S htop openssh keychain bash-completion git vim
    #pacman --noconfirm -S chromium flashplugin
    #pacman --noconfirm -S scrot mypaint bc
    #yaourt --noconfirm -S task-git stellarium googlecl
    # TODO: argyll
    POST_EOF
    # Post install in chroot
    #echo "chroot and run /post_install"
    chroot /install /post_install
    rm /install/post_install
    # copy grub.efi file to the default HP EFI boot manager path
    mkdir -p ${INSTALL_TARGET}/boot/EFI/Microsoft/BOOT/
    mkdir -p ${INSTALL_TARGET}/boot/EFI/BOOT/
    cp ${INSTALL_TARGET}/boot/grub/grub.efi ${INSTALL_TARGET}/boot/EFI/Microsoft/BOOT/bootmgfw.efi
    cp ${INSTALL_TARGET}/boot/grub/grub.efi ${INSTALL_TARGET}/boot/EFI/BOOT/BOOTX64.EFI
    cp /root/root.gpg ${INSTALL_TARGET}/boot/
    # NOTES/TODO

  • System Monitoring Setup in Solution Manager

    Hello Experts,
    We are going to implement and configure Solution Manager - System monitoring setup for pre testing purpose
    Currenly we have installed below SAP Systems
    1.Solution Manager Server
    2.ECC server (Without Ides) - Abap
    3.CRM Server (Without Ides) -Abap + Java
    We need to setup below tasks in Solution Manager
    1.Early watch alert
    2.System Monitoring
    3.Central System Administration
    4.Business Process Monitoring
    5.Service Level reporting
    1.Is it possible to setup the solution manager -above mentioned tasks without Ides system ?
    Could you please someone give input reg this.
    Thanks
    Thirumal
    Edited by: Thiru Thirumal on Aug 6, 2008 4:56 AM
    Edited by: Thiru Thirumal on Aug 6, 2008 4:57 AM

    Hi,
    Q. Is it possible to setup the solution manager -above mentioned tasks without Ides system ?
    A. Yes.
    Check with links for
    1.Early watch alert
    This process helps you to identify potential problems early, avoid bottlenecks, and monitor the performance of your ABAP and JAVA systems and your most important business processes, regularly, automatically and effectively. The data collection infrastructure comprises the ABAP Service Data Control Center and the JAVA function module Data Provider. The SAP EarlyWatch Alert in the SAP Solution Manager is a service provided by SAP.
    To be able to use it, you have:
    maintained the non-ABAP systems correctly in the system landscape maintenance (transaction SMSY)
    RFC u2013 Connections between: and an RFC u2013 Connections established.
    your satellite systems and the SAP Solution Manager system
    SAP Solution Manager and the SAP Service Marketplace
    Solution Manager system and Solution Manager Diagnostics
    Cf: Solution Manager IMG (transaction SPRO).
    checked the availability of the tools required for the SAP Service sessions (add-on ST-A/PI), with the report RTCCTOOL.
    activated Alert Monitoring and set-up the Automatic Session Manager (ASM) in the Service Data Control Center (SDCCN) of your satellite systems, for all SAP satellite systems and the central SAP Solution Manager of your solution
    set-up your systems in a solution landscape in the SAP Solution Manager
    configured Solution Manager Diagnostics
    2.System Monitoring
    The system monitoring in the SAP Solution Manager is, as described above, like a system-wide central CCMS. It can also contain the central CCMS (CEN) of satellite systems. These CENs can then monitor other components.
    The graphical display in the SAP Solution Manager gives you access to the alerts of all systems in a solution. You can go to the local or central CCMS of the satellite systems.
    The system proposes the most important alerts in the CCMS monitor collection, according to SAP experience, and their alert thresholds, for each system in the solution, in the system monitoring Session. You can activate or deactivate these alerts. The connection between the local CCMS and the SAP Solution Manager allows you to maintain the alert thresholds directly in the SAP Solution Manager, overwriting the values in the local CCMS.
    3.Central System Administration
    You activate the customizing for business processes in your solution, in the Business Process MONITORING session in the SAP Solution Manager. A monitoring tree element (MTE), or a monitor collection, u201EBPMu201C of several monitoring objects, is created in the local or central (CEN) CCMS of the satellite system.
    The data is collected for the monitoring types of the business process monitoring in contrast to system monitoring, as follows:
    ● The system collects performance (dialog transactions), posting cancellations (V1 and V2) and u201EOther CCMSu201C and interface data, in the local CCMS of the satellite systems.
    ● The system collects background processing, application list, application monitors, delivery lists, and document size data, in the central SAP Solution Manager CCMS.
    The SAP Solution Manager system copies the data from the local CCMS.
    The graphical display in the SAP Solution Manager simplifies access to the alerts for the business processes, business process steps or the interfaces between the systems in a solution. You can go to the local CCMS of the satellite systems.
    The connection between the local CCMS and the SAP Solution Manager allows you to maintain the alert thresholds directly in the SAP Solution Manager. These overwrite the values in the local CCMS.
    4.Business Process Monitoring
    The system and business process monitoring (including interface monitoring) in the SAP Solution Manager, both use the Computing Center Management System (CCMS) (transaction RZ20) architecture. This means that system alerts which occur in the local CCMS, are passed to the SAP Solution Manager via RFC connections between the SAP Solution Manager and the satellites. The system shows these alerts in a graphic or in Sessions. You can also handle the alerts centrally, without having to go to the local CCMS of the satellite systems.
    You can see the alerts from several systems in a solution landscape in the SAP Solution Manager, in a graphical overview, in contrast to the local CCMS of the SAP Solution Manager satellite systems. This is the view of a central CCMS (CEN). You can also monitor non-SAP systems in a central CCMS (CEN) of a satellite system
    5.Service Level reporting
    http://service.sap.com/solutionmanager for all solman tasks as given below.
    http://www.asap.net.cn/homepage_en/Solution%20Manager%20EN.pdf
    http://help.sap.com/saphelp_sm32/helpdata/en/1b/f02c41ab78f66fe10000000a1550b0/content.htm
    http://help.sap.com/saphelp_sm32/helpdata/en/9f/1f46570f8a4a268b3154e0e0f07280/content.htm
    Regards,
    Srini Nookala

  • [SOLVED] Setting up system encryption... cannot boot!

    I have been trying to set up system encryption with an existing Arch install. I have taken the following steps (based on the Wiki article), but for some reason can no longer boot.
    Steps:
    * Backed everything up
    * Overwrote /dev/sda with random data
    * Created three partitions on /dev/sda: a boot partition (/dev/sda1), a swap partition (/dev/sda2), and a root partition (/dev/sda3)
    * Set up swap on /dev/sda2
    * Set up LUKS on /dev/sda3
    * Moved my original /boot directory over to /sda1
    When I power on, grub does not start. Instead, I see only a flashing underscore. Any ideas?
    Thanks in advance for all of the help (and for being one of the best communities out there).
    Last edited by jalu (2011-04-15 14:32:53)

    jnguyen wrote:As a side note, you probably want to encrypt your swap as well. User data may get swapped out and thus become accessible. There are instructions for this on the LUKS arch wiki page.
    Yes, I did set up swap encryption as the LUKS wiki page describes. Thanks for the important note.
    JackH79 wrote:Did you go through this?
    Not completely. Running grub-install did seem to help though -- right now, the grub shell does appear upon boot. I'll try to work through the whole process and report back as soon as possible.
    Otherwise, does it seem that I'm mostly on the right path? This is my first time playing with encryption, so I hope this to be a learning experience more than anything.

  • Capturing using a system-based setup vs. project-based setup

    Trying to build a library of my 50 DV tapes on an external 4T hard drive and I am supposing that I need a system-based setup instead of a project-based setup during capture.  Since my Adobe Premiere Pro SC6 Classroom in a Book tells me to check with my system administrator what should I do when I am the system administrator and don't know what to do?

    1)  Create a folder on your storage system.
    2) Create a new Premiere Project, saved to that same folder. Make sure that scratch disc are set to "same as project"
    3) Capture tapes.
    You may re-organize tape's files after closing Premirere, or create a separate sub-folders and projects for each tape to begin with, depending on your needs.

  • Is it possible to encrypt an album?

    I have a lot of private photos on my computer, and I also have a lot of friends who like to look all my photos trough. So do anybody knows if it's possible to encrypt an album?
    Thanks in advance!
    Line

    No it's not.
    For images you want to hide from your Mother, put them in a separate Library. If she's a computer whiz, put that Library on an encrypted disk image.
    Regards
    TD

  • Problem in System Monitoring Setup

    Hi
    I need to configure System Monitoring Setup in Solution Manager. But I cannot able to open the Page SOLUTION_MANAGER -> Operations -> Solution Monitoring -> System Monitoring/Administration. I am getting the error :Network Access Message: The page cannot be displayed ". We use proxy for Insternet here. Please suggest
    Regards
    Soumya Dasgupta

    Hi ,
    Please check the PDF attached below for the Stellite System configuratiom.
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a0d0de5a-3436-2c10-faa1-b860db5a57b9
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0f35bf3-14a3-2910-abb8-89a7a294cedb
    http://help.sap.com/saphelp_nw04/helpdata/en/5a/b27f17edb04a6882c59f6619a267b9/frameset.htm
    Thanks Rishi Abrol

  • Simplest possible automator

    I've written an automator with exactly two actions:
    get finder items (from a specified folder)
    copy finder items (to a specified folder)
    It runs, but why is there nothing in the specified folder in the 2nd action?

    It might help if you told what those two actions were...
    BTW- the simplest possible automator workflow would have just one action..

  • I'm trying to install Windows XP on a system, and Setup gets stuck at the "Setup is inspecting your computer's hardware configuration" stage

    I’m trying to install Windows XP on a system, and Setup gets stuck at the “Setup is inspecting your computer’s hardware configuration” stage
    how can I fix it, i turned off and on, and the message still there help please

    If you have a PPC Mac, you can't install Windows unless you are using something like Parallels or a virtual application.  If you are using Boot Camp, eject the disc, reboot and try again.
    Miriam

  • Is it possible to encrypt the content of an MSI?

    Is it possible to encrypt the content of an MSI or at least obscure data/strings stored in it using a standard Visual Studio Installer project (Visual Studio 2013 in this case)?
    For example, settings are stored in plain text, I'd prefer they weren't, and ideally, the data won't be ciphered until put into the MSI by the installer project.
    I've tried doing this with an installer action, but it isn't called until after the application is installed. So, while this does mean the settings are encrypted once installed to the user's machine, if the MSI is unpacked (which is easy to do) the settings
    are plainly visible.

    There is no built-in way to encrypt an MSI file. You'd need to encrypt it yourself, ship it, then decrypt it so Windows can install it. After that, there is a cached copy in \Windows\installer that you can't remove because it's needed for uninstall, and
    the unencrypted MSI needs to be available for repair. So there's no practical way to do this.
    If the problem is some data in the MSI file, then why not encrypt it and have the app decrypt it when it's used? There are APIs to modify MSI files (see WiRunSql.vbs and others in the Windows SDK) so a post-build step can encrypt the data and store it in
    the MSI file.
    If the data is in a property, then you also have the problem that installing the MSI with a log will show the values. There is no VS support for this, but you'd need to use MsiHiddenProperties so that your secret data doesn't show up in a log if it is not
    encrypted in the MSI file.
    https://msdn.microsoft.com/en-us/library/aa370308(v=vs.85).aspx
    Phil Wilson

  • Diagnostics system Advanced setup error

    Hi all,
    I am configuring  solman diagnostics. My system level is Solman 7.0 SPS 16. I have executed Diagnostics system setup wizard and all taskes executed sucessfully.
    OS is windows 2003 Server and Java 2 SE 1.4.12 version is installed in the server
    When i click on Diagnostics setup> Diagnostics system> Advanced setup, i am getting 500 Internal server error
    Failed to Process the request
    Following error appears
    java.lang.NoSuchMethodError: com.sap.sup.admin.setup.ManagingServices.readMultipleEMs()[Lcom/sap/sup/admin/setup/SysConnectData;
    I have installed wily Enterprise manager 7.2.2.0. and
    http:<host>:8081/workstation and http:<host>:8081/webview both are opening
    kindly help

    Hi all,
    I want to uninstall the current JAVA j2sdk1.4.2_13 from the diagnostics server and update to JDK 1.6.
    I hope the error which i am facing is because of the java version.
    Can i directly uninstall from start>settings>control panel--> Add and remove programs --> java 1.4.2.13
    then update the jdk 1.6. Will this action affect SAP Solman system in any way.
    kindly help

  • Simplest possible buckminster build?

    <currently in eclipse 3.8>
    I've been beating my head against buckminster for a while now, despite reading a good chunk of the documentation book thingy and doing extensive googling. I think I vaguely understand what's going on, but can't get anything to work.
    The question: is there, somewhere, an example of the rmap and cquery files for the simplest possible RCP application? Like, say, the one that generates when you select "Hello RCP application" or "RCP application with a view" off the wizard? The closest I can find is the mail application, which is still a bit much for me ATM.
    Thanks.
    (ps: if a simple google search turns it up, please convey your search terms. I'm trying to get better at the art of google.)

    On 10/07/2015 14:21, Pseudonym Alias wrote:
    > <currently in eclipse 3.8>
    >
    > I've been beating my head against buckminster for a while now, despite
    > reading a good chunk of the documentation book thingy and doing
    > extensive googling. I think I vaguely understand what's going on, but
    > can't get anything to work.
    >
    > The question: is there, somewhere, an example of the rmap and cquery
    > files for the simplest possible RCP application? Like, say, the one that
    > generates when you select "Hello RCP application" or "RCP application
    > with a view" off the wizard? The closest I can find is the mail
    > application, which is still a bit much for me ATM.
    >
    > Thanks.
    >
    > (ps: if a simple google search turns it up, please convey your search
    > terms. I'm trying to get better at the art of google.)
    Some time ago I wrote this one:
    http://www.lorenzobettini.it/2013/01/building-an-eclipse-rcp-product-with-buckminster/
    hope this helps
    Lorenzo
    Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
    HOME: http://www.lorenzobettini.it
    Xtext Book:
    http://www.packtpub.com/implementing-domain-specific-languages-with-xtext-and-xtend/book

  • Est-il possible d'encrypter le carnet d'adresse pour éviter la copie de données dans i cloud ou autres nuages?

    Est-il possible d'encrypter le carnet d'adresse pour éviter la copie dans i cloud et "autres nuages"?

    You might want to translate this into english to get more responses.
    http://webtranslation.paralink.com/French-English-Translation/

  • System DSN setup

    I installed Oracle8i Enterprise Server 8.1.6 Release 2 on W2K Advanced Server. I logged in to SQLPlus as system/manager and created a single table (Userid). I am using Oracle ODBC Driver 8.01.06.00 (must have been installed with the 8i Enterprise Edition?)From the trace it is clear that it is not picking up the password. The error is "ORA-01005 - null password given;logon denied". But I have configured the ODBC System DSN setup with Service name=o8ibegin and UserID=system/manager and Data Source Name=SiLicBkr. My IIS (ISAPI DLL) application uses MFC Odbc Classes with DSN=SiLicBkr and works fine with MS SQL Server and MS ACCESS. Any one can tell me where and how the password should be specified to the Oracle ODBC driver? Obviously being IIS app, password prompting at connect time is not an option!
    Thanks,
    Ganesh ([email protected])

    Hi Justin, thanks for the prompt reply. I am still having problems with your first suggestion (I did not try the second option to do with registry). You mention a 'connect string', I assume this is to be entered in the Service field (because it does not accept such a string in Data Source Name field)? I have SiLicBkr in Data Source Name field, system in UserID field and I have tried different things for the Service Name field such as "DBQ=o8ibegin;PWD=manager" and also "DBQ=o8ibegin;PWD=manager;DSN=SiLicBkr". You may note, in your reply you missed out the service name "o8ibegin" altogether. After talking to others, I was told to try DBQ=o8ibegin in the connect string as shown above for service name. Now I get ORA-12154 TNS could not resolve service name...error. I may also mention, others told me to use Net Easy .. to specify connect string, but the closest thing I have is Net8 configuration assistant and while it shows o8ibegin, it does not provide any way for me to specify the connect string you mentioned! Any help will be appreciated. I have carefully looked at your online help in the ODBC administration setup, but not much luck.
    Thanks,
    Ganesh([email protected])
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Justin Cave ([email protected]):
    The UserID field in the Driver Setup screen should be just the userid (system), not the userid/password (system/mananger)
    There are two ways to specify the password. First, your connect string can be "DSN=SiLicBkr;PWD=manager".
    Second, you can add a registry entry "Password" with the string value "manager" at \\HKEY_LOCAL_MACHINE\SOFTWARE\odbc\ODBC.INI\SiLicBkr\. Obviously, the former is the preferred solution.
    It has been our feeling that allowing the password to be specified in the driver setup is generally a poor decision because of the security considerations. Since anyone at the machine can view the DSN configuration, exposing the password could allow users much more access to data than intended. Passwords that are compiled as part of an application, on the other hand, are much more difficult to achieve.
    Justin Cave
    ODBC Development<HR></BLOCKQUOTE>
    null

Maybe you are looking for