Crossover Games/Standard/Professional on Arch Linux
The Crossover packages in Aur are now up to date and are working fine with python.
Crossover Games
Crossover Standard
Crossover Professional
Wiki:
Wiki Crossover Games
Wiki Crossover Office
Have fun with it
when the default installer from Codeweavers didn't work properly!
Hmm what was the problem with the default installer from Codeweavers. Normally it hasn't any problems. But you have to do some changes in the python scripts after the installation.
Similar Messages
-
Arch Linux Official Mirror Standards
Hey guys, note that I've searched for this but couldn't find anything...
Are there any kind of standards that must be met to become an "official mirror" for Arch Linux?
I'm not wanting to mirror Arch, but just wondering about it because all the US mirrors seem really lousy, at least for the time being. If there are some kind of standards that must be met, are these official mirrors meeting them?
If there are no standards, shouldn't there be?
I don't know much about mirroring, so the whole idea might be totally preposterous. It just seems that Arch would want any official mirror to be up to par for it's role in representing the Arch Linux Community.
Thanks for any information regarding the subject.neotuli wrote:
I don't agree with OP and raymano at all. I'm just happy anyone is willing to mirror our repos and donate that kind of bandwidth. Also, you have to realize that most of our mirrors have enormous capacity, I mean we're talking almost 6TB a month kind of capacity (to use what ftp.archlinux.org used to burn up as a rough example).
I'm just happy ANYONE is willing to donate that kinds of resources in the first place. Aren't you? If not, then why don't you make your own standards for mirrors, it's really easy to implement. Simply go through your pacman configuration, choose which mirrors fit your "approved" critera, and delete the rest. Then you'll be happy and the rest of us won't have to listen to you scream about how free isn't good enough.
That's like saying giving rotten, rancid food to someone that's hungry is a good thing. -
I'm a DIY guy... with more than just computers. In the near future I am planning to use Arch Linux 64bit for a professional use environment. I'll also be building a new system after the new upcoming standards go mainstream. All the programs I'll be using will be heavily extended and modified versions. Windows (retail license) has far too much bloat, but I'll dual boot it on a separate HDD. Photoshop, Coldfusion and/or etc... are nice except for the added cost. I am trying to decide on a shell and solid programs to perform my needs. Any recommendations regarding additional open source platforms/programs, modified versions, superior alternatives or extensions? Opinions are welcome too.
Photography -> GIMP
3D Rendering -> Blender
I'm searching for modified versions plus extensions to create ultra realistic images and models. Not for creating games.
2/3D CAD -> ?
I have my doubts about what I have seen thus far. I'd rather have a commercial grade program available on Linux than deal with a bunch of time wasting hassle when trying to create models. Maybe someone in who has been down this road can curb my appetite.
Office Suite -> LibreOffice
I write on a regular basis. Out-of-box it has a lot of nice features. Microsoft Office 2010 is what I am using now. I am hoping to find extensions to add the missing features found in the newest Microsoft Office.
Pro E-mail Client -> ?
I'm looking for an Outlook replacement. Thunderbird is not something I am too akin to after my numerous issues with Mozilla's FireFox on several (5+) computers.
Web Development -> Notepad++ w/ Aptana Studio
I own a website with several domains. For the past few months it has been blank as I decide on the layout. It will feature a pro online portfolio, blog and etc... Not for general or family usage. Pre-made templates are a no-go. I'm experienced with some CSS, HTML and etc...
Etc...
Last edited by carolinabranden (2011-10-05 22:54:36)carolinabranden wrote:3D Rendering -> Blender
I'm searching for modified versions plus extensions to create ultra realistic images and models. Not for creating games.
I don't know exactly what you mean with 'modified versions', as for extensions/plugins/addons I've heard great things about BSurfaces. As for creating ultra-realistic models, certainly Blender is capable of that, but obviously your own skill will be the determining factor. These days most character-focused modeling is done using 3d sculpting methodology and Blender has good support for this. I've been doing some spare time sculpturing myself from time to time using Blender and while it's obviously not near as powerful as commercial 'sculpting-dedicated' offerings such as ZBrush, or Mudbox, it's still very capable. Here's some old (2+ years) stuff I sculpted in Blender back when I was playing around with lots of 3d sculpting in my spare time:
http://img3.imageshack.us/img3/3204/geek1g.jpg
http://img846.imageshack.us/img846/2580 … dertes.jpg
http://img810.imageshack.us/img810/3412/pig1.jpg
http://img97.imageshack.us/img97/6084/pig2y.jpg
http://img855.imageshack.us/img855/180/leela2.jpg
http://img844.imageshack.us/img844/6782/dogjk.jpg
So if you have any questions pertaining to Blender sculpting I'd be happy to share what I know. As for rendering, it seems the new Cycles renderer is the future but I haven't had any real experience with it so I can't help you there (and I really suck at rendering anyways). -
[GUIDE] How to get MapleStory working in Arch Linux
MapleStory is a free-of-charge, 2D, side-scrolling massively multiplayer online role-playing game developed by the South Korean company Wizet. Several versions of the game are available for specific countries or regions, and each is published by various companies such as Wizet and Nexon. Although playing the game is free, character appearances and gameplay enhancements can be purchased from the "Cash Shop" using real money. MapleStory has a combined total of over 50 million subscriber accounts in all of its versions. MapleStory North America (Global), for players mainly in North America and outside of East Asia, Southeast Asia and Europe, has over three million players.
In the game, players travel the "Maple World", defeating monsters and developing their characters' skills and abilities as is typical in role-playing games. Players can interact with others in many ways, such as through chatting, trading, and playing minigames. Groups of players can band together in parties to hunt monsters and share the rewards. Players can also join a guild to interact more easily with each other.
I am an avid mapler myself, however, I am also an avid archer! For some time, I have wanted to get MapleStory working on Arch Linux in some way, but nothing seemed to work. As you might have guessed by now, recently, while playing around with VirtualBox, I discovered a method to get MapleStory working on it! Though in this method you won't actually have MapleStory running on Arch Linux, you'll have it running on a VirtualBox Windows virtual machine, that is still pretty good compared to other people's experiences.
I hope there are at least a few maplers on this forum, and if there aren't, I hope that someone will port this post over to other Linux, or even MapleStory, forums. Anyways, let's begin.
1. Download and install a version of Virtual Box that is version 3.0+. The reason for this is that, only versions 3.0+ support an experimental DirectX Driver with 3D acceleration that is required for MapleStory to run.
2. Create a Windows Virtual Machine, add a hard disk to it, and install and update Windows on it(preferably Windows XP, as it uses less resources than other contemporary Windows installations).
3. Once you have done all you needed and wanted on that Windows installation, restart it, boot it into safe mode by holding F8 at the boot, and wait until the desktop is fully loaded.
4. After you are at the desktop, go to "Devices" at the top of the menu of the Windows virtual machine, and select "Install Guest Additions...". Wait until Guest Additions finishes installing, and when VirtualBox asks you if you want to mount the disk containing the Guest Additions on the virtual machine, say "Yes".
5. Run the main executable on the disk that doesn't have amd64 or x86 following its name. Follow the instructions it gives you, and when it asks you what components to install, make sure both of the boxes it shows you are checked.
6. After the install is completed, the virtual machine will restart. After it restarts, shut it down.
7. Congratulations! You now have DirectX installed on your VirtualBox virtual machine! Now you need to activate the "3D Acceleration", that enables it.
8. In the VirtualBox main window, make sure you have your machine with Windows selected. Then, click on "Machine", and then "Settings...", at the top. A new window should pop up. On the left hand side, click on the display panel, and in the new settings section, tick Enable 3D Acceleration. Click "OK", to save the settings.
9. Start your Windows virtual machine, install MapleStory just as you would on a normal windows computer, and run MapleStory.
Notes: This way of running MapleStory is slower than by running it normally, on a normal windows computer. Also, try to not interact with your Linux desktop while playing MapleStory, because this can cause HackShield to shut down MapleStory, due to the fact that it believes there is a hacking attempt.
If any of you port this guide to any other place on the web, please, credit me, neovaysburd5.
For any further questions or inquiries, this goes to all of you, please contact me at [email protected].
Last edited by neovaysburd5 (2009-08-19 16:51:31)Alright, I've posted it in the wiki. I don't know if it meets the Arch Linux wiki standards, so if there is absolutely anything wrong with it, please fix it right away. Don't even ask my permission.
http://wiki.archlinux.org/index.php/MapleStory -
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 -
Hello everyone,
I recently installed VirtualBox on my Arch Linux install to tinker with GitLab on a Debian VM. I've set up a standard VM running Debian (wheezy) and made sure it's network settings were set to "NAT". However, I am unable to ping or ssh to this VM (which is running an ssh server among other things). Where this gets a bit weirder is that I'm perfectly able to ping and ssh to my host machine (running Arch).
I installed the version of VirtualBox available on the official repos and I'm running on the default kernel too.
I've install VirutalBox by following the infos posted on the wiki. My current user is part of the vboxusers group :
% groups duane
disk lp wheel uucp locate rfkill games network video audio optical floppy storage scanner power users vboxusers
I've added the proper kernel modules to /etc/modules-load.d/virtualbox.conf so that they are loaded automatically on boot time :
vboxdrv
vboxnetadp
vboxnetflt
vboxpci
% lsmod | grep vbox
vboxpci 14581 0
vboxnetflt 17612 0
vboxnetadp 18355 0
vboxdrv 264794 5 vboxnetadp,vboxnetflt,vboxpci
I must also note that the net-tools package is installed.
Now, I get the ip adress of my host :
% ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp9s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether f0:4d:a2:48:5b:38 brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 5c:ac:4c:09:d3:f3 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.22/24 brd 192.168.1.255 scope global wlp4s0
valid_lft forever preferred_lft forever
inet6 fe80::5eac:4cff:fe09:d3f3/64 scope link
valid_lft forever preferred_lft forever
Then I try to ping it from my Debian guest.
user@debian:~% ping 192.168.1.22 -c 3
PING 192.168.1.22 (192.168.1.22) 56(84) bytes of data.
64 bytes from 192.168.1.22: icmp_req=1 ttl=63 time=0.961 ms
64 bytes from 192.168.1.22: icmp_req=2 ttl=63 time=0.722 ms
64 bytes from 192.168.1.22: icmp_req=3 ttl=63 time=0.680 ms
--- 192.168.1.22 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.680/0.787/0.961/0.127 ms
Now I get the ip adress of my guest :
eth0 Link encap:Ethernet HWaddr 08:00:27:77:0e:48
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe77:e48/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:69 errors:0 dropped:0 overruns:0 frame:0
TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11577 (11.3 KiB) TX bytes:15395 (15.0 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
And I try to ping my guest from my host :
% ping 10.0.2.15 -c 3
PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
--- 10.0.2.15 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2007ms
There. I hope I didn't give too much information.
I don't really understand what's going on there, usually that workfow works immediately in all the distributions I tried before, and on windows as well. I think I followed all the steps to make this work and yet it doesn't, and I'm not sure this problem is related to VirtualBox itself.
Thanks in advance for any tip or comment on that.
Last edited by Marneus68 (2014-01-24 10:19:39)What I do for all my VB guest VM's is to set 2 network interfaces, one the normal (default) NAT, and the other a host-only interface. That way your guests are completely hidden from the local lan which may be desirable if e.g., your host is a laptop which you move around various places. The guests can access anything outbound and you can still ssh to them from the host (and also, using ssh ProxyCommand via that host if you want to access them remotely).
-
Arch Linux on SmartQ (V5II) -looking to start project-
Upfront I will note that I am not skilled enough to accomplish this alone at my current level. I will learn what I can in order to achieve this task, so any and all links to tutorials and ideas on how to get this working will be taken and put through heavy consideration. Primary concern will be getting a working "livecd" cloned image (basically, all the most standard core packages to get a working Arch Linux with USB Keyboard and mouse support, then build from there till I get X and all the nice features of the V5(II) working, and branch out from there Will probably look into repartitioning the NAND so I can have a complete and full install (probably preserve Android for being boot from SD, which is fine since it's a complete dual-boot which requires rebooting to switch anyway) As of now, I am referencing the development tutorial for SmartQ, tutorials for building firmware images from plugapps (nice Arch port to ARM devices) and whatever information I can gather from someone on the Arch Linux forums who has recently ported it to the newest ARM processor type (v7, if I'm not mistaken). All links will be provided at the bottom of this post.
My guess is that I will have to approach this with a "Linux From Scratch" mindset of compiling the kernel, busybox and whatever else I need to get a working base install (which, from there, I can compile everything else natively on the actual device)to the point where I reach a working system with gui, basic tools, maybe a game or two, and whatever else would constitute being enough for "firmware" status. I guess, my only question ahead of all that is how do I go about making the "base install" firmware to build up from? Secondary question to that is, once I get a nice setup, how do I take that (all being on the actual V5II) and remaster THAT into a firmware that I can then post online for others to test? I already have my homework cut out for me, so I'll be reading what i can to figure this out while anybody and everybody here throws me tutorial links and ideas on how I can accomplish this each step of the way... We shall see where this train takes us.
SmartQ Linux Development Guild: https://docs.google.com/View?id=ddtx8wk … skpm&pli=1
PlugApps Development Portal: http://www.plugapps.com/index.php5?titl … evelopment
Arch Forum post for developer who ported Arch Linux to the v7 ARM processor: https://bbs.archlinux.org/viewtopic.php?id=59638
can't think of anything else at this point, but I will categorize links the best I can to morph them into somewhat of a workflow process and group the help aids to each relevant step along the way. Anyone interested in helping, feel free to join in on the fun.. Will be looking that the ArchMobile stuff and incorporating what I can into my project... maybe this will help revive the ArchMobile project as well...If you are a new programmer then Python is a good place to start. Install WingIDE 101 from the AUR for a good beginner's IDE for that.
Think Python is a free book to get started with (PDF or HTML download on that page and you can buy the dead tree if you want)
If you want to do programming that requires fast code above all else then C++ is the standard. Code::Blocks is a good IDE for that. Be sure to install "base-devel" and "gdb" to go along with it.
Programming - Principles and Practice Using C++ is a dead tree book for C++, you have to buy it but that is offset by the fact that its author is also the author of the C++ language. -
[HOWTO] Installing Arch Linux stable release on Acer Aspire One 522
[This is a work on progress and my first howto ever]
These steps will teach you how to install ArchLinux x64 stable release (currently 2010.05) on Acer Aspire One 522 from an existing ArchLinux (your desktop computer)
As you need a 2.6.37+ kernel to make networking work on the AO522, installing stable release as is won't work.
This Howto borns with the intention to address this problem.
You need to be familiarized with Linux internals to follow this howto.
(Expect this howto to become useless with new stable releases of ArchLinux.)
Remember to make a backup of your Windows 7 Starter system before installing ArchLinux.
I did a full raw copy of the harddisk by using systemrescuecd, an external harddisk and dd utility:
Just boot with systemrescuecd
Mount your external harddisk on /mnt/floppy for example
Clone harddisk with: dd if=/dev/sda |gzip -c > /mnt/floppy/ao522.img
This process took me a lot of time since my external harddisk is USB-1 (almost an entire evening)
Result image was about 22GB size
This image will restore partition table, boot sector and all data if things go wrong.
I followed some of the steps from this guide: https://wiki.archlinux.org/index.php/In … ting_Linux
If you have some Gentoo Linux experience you will find those steps really familiar.
You will need 2 USB pendrives or similar storage options.
One is needed to boot into your netbook, and the other to store our custom archlinux build.
Making an updated ArchLinux system
1) Make a local dir on your existing linux system
# mkdir ./newarch
2) Install pacman database on it
# pacman -Sy -r ./newarch
3) Install base system
# pacman -S base -r ./newarch
4) Let's chroot inside
# cp /etc/resolv.conf ./newarch/etc/
# cp /etc/pacman.d/mirrorlist ./newarch/etc/pacman.d
# mount -t proc proc ./newarch/proc
# mount -t sysfs sys ./newarch/sys
# mount -o bind /dev ./newarch/dev
# chroot ./newarch /bin/bash
5) Edit configuration files
# nano -w /etc/rc.conf
# nano -w /etc/hosts
# nano -w /etc/mkinitcpio.conf
Forget /etc/fstab for now since you don't know what partitions to use yet
6) Generate kernel image
# mkinitcpio -p kernel26
7) Generate locales
# nano -w /etc/locale.gen
# locale-gen
8) Make a tarball with our custom ArchLinux
# exit
# umount ./newarch/proc
# umount ./newarch/dev
# umount ./newarch/sys
# tar -cvpf newarch.tar ./newarch
9) Copy this tarball to an USB pendrive or external harddisk
10) Boot your netbook with a Linux bootable USB stick (I used systemrescuecd, and remember to pick the x64 bit kernel at grub screen)
You can use any linux distribution with usb bootable options. I suppose ArchLinux works too
To install SystemRescueCD on an USB stick follow this tutorial -> SystemRescueCD on usb stick
Insert the usb stick on your netbook, switch on, hit F2 to enter BIOS menu, and choose to boot from USB as first option. Save and Exit.
You should be booting into SystemRescueCD without any problem.
After initialization you will end in a root prompt.
11) Let's partition the disk
You will find 3 partitions if this is your first time:
/dev/sda1 2048 29362175 14680064 27 Hidden NTFS WinRE
/dev/sda2 * 29362176 29566975 102400 7 HPFS/NTFS/exFAT
/dev/sda3 29566976 488397167 229312696 7 HPFS/NTFS/exFAT
My recomendation is to leave sda1 and sda2 intact, as they have the recovery information to restore Windows 7 Starter
You have plenty of space with sda3, about 230G.
So run fdisk/cfdisk and delete /dev/sda3
Now create a 100M partition for boot
Now create a Extended partition with all the space left
Now create a 1GB logical partition for swap
Now create a 10-15 GB logical partition for root system
And finally a logical partition for our home partition with all space left
Your partition table should look like this:
/dev/sda1 2048 29362175 14680064 27 Hidden NTFS WinRE
/dev/sda2 * 29362176 29566975 102400 7 HPFS/NTFS/exFAT
/dev/sda3 29566976 29771775 102400 83 Linux
/dev/sda4 29771776 488397167 229312696 5 Extended
/dev/sda5 29773824 31821823 1024000 83 Linux
/dev/sda6 31823872 63281151 15728640 83 Linux
/dev/sda7 63283200 488397167 212556984 83 Linux
12) Create filesystems
I choosed ext2 for boot, and reiserfs for root and home partitions.
# mke2fs /dev/sda3
# mkreiserfs /dev/sda6
# mkreiserfs /dev/sda7
# mkswap /dev/sda5
13) Mount partitions
# mkdir arch
# mount /dev/sda6 arch
# mkdir arch/boot
# mount /dev/sda3 arch/boot
# mkdir arch/home
# mount /dev/sda7 arch/home
14) Copy our custom ArchLinux build on it
# mount /dev/sdb1 /mnt/floppy (for example)
# cd arch
# tar -xvpf /mnt/flopy/newarch.tar
15) Configure /etc/fstab
Mine is as follows:
devpts /dev/pts devpts defaults 0 0
shm /dev/shm tmpfs nodev,nosuid 0 0
/dev/sda3 /boot ext2 defaults 0 1
/dev/sda6 / reiserfs defaults 0 1
/dev/sda7 /home reiserfs defaults 0 1
/dev/sda5 swap swap defaults 0 0
16) Chroot in your new system
# mount -t proc proc ./proc
# mount -t sysfs sys ./sys
# mount -o bind /dev ./dev
# chroot ./ /bin/bash
17) Install grub
# grub-install
Edit /boot/grub/menu.lst to suit your needs
Mine looks like this:
timeout 5
default 0
color light-blue/black light-cyan/blue
title Arch Linux
root (hd0,2)
kernel /vmlinuz26 root=/dev/sda6 ro
initrd /kernel26.img
title Arch Linux Fallback
root (hd0,2)
kernel /vmlinuz26 root=/dev/sda6 ro
initrd /kernel26-fallback.img
title Windows 7 Recovery
rootnoverify (hd0,0)
makeactive
chainloader +1
As you see, you can restore Windows 7 Starter from Grub.
18) Change root password
# passwd
19) Add a regular user account
# useradd -G video,audio,users -m username
# passwd username
20) You're done!
# exit
# cd ..
# umount ./arch/proc
# umount ./arch/dev
# umount ./arch/sys
# umount ./arch/boot
# umount ./arch/
# reboot
Remove the usb stick from your netbook.
If all went ok, you will be inside your new stable and updated ArchLinux system
Next post is reserved for software configurations specific to the Acer Aspire One 522
Last edited by tigrezno (2011-04-20 12:22:38)Using acpid to achieve the following:
- Change screen brightness when operating in battery mode
- Power off when the power button is pressed
- Suspend when the lid is down
- Reduce CPU frequency speed to maximize battery usage
Remember that system suspend is only supported by ati free driver xf86-video-ati
1) Install acpid daemon and cpufrequtils
# pacman -S apcid cpufrequtils
2) edit acpid handler script
# nano -w /etc/acpi/handler.sh
Change the following section:
ac_adapter)
case "$2" in
AC)
case "$4" in
00000000)
echo -n $minspeed >$setspeed
#/etc/laptop-mode/laptop-mode start
00000001)
echo -n $maxspeed >$setspeed
#/etc/laptop-mode/laptop-mode stop
esac
*) logger "ACPI action undefined: $2" ;;
esac
for:
ac_adapter)
case "$2" in
ACAD)
case "$4" in
00000000)
echo 3 > /sys/devices/virtual/backlight/acpi_video0/brightness
cpufreq-set -c 0 -f 800Mhz
cpufreq-set -c 1 -f 800Mhz
00000001)
echo 9 > /sys/devices/virtual/backlight/acpi_video0/brightness
cpufreq-set -c 0 -f 1000Mhz
cpufreq-set -c 1 -f 1000Mhz
esac
*) logger "ACPI action undefined: $2" ;;
esac
Make sure you changed AC) for ACAD)
Now change this other section:
button/power)
#echo "PowerButton pressed!">/dev/tty5
case "$2" in
PWRF) logger "PowerButton pressed: $2" ;;
*) logger "ACPI action undefined: $2" ;;
esac
with:
button/power)
#echo "PowerButton pressed!">/dev/tty5
case "$2" in
PWRF) poweroff ;;
*) logger "ACPI action undefined: $2" ;;
esac
Change:
button/lid)
#echo "LID switched!">/dev/tty5
logger "ACPI group/action undefined: $1 / $2"
for:
button/lid)
pm-suspend && /etc/rc.d/network restart
logger "ACPI group/action undefined: $1 / $2"
Network restart is used because wlan0 will disconnect from AP after some time. You can try using iwconfig wlan0 essid <ap> key <key> instead of the network script, but haven't tested it myself.
3) Start acpid and load modules
# modprobe powernow-k8
# /etc/rc.d/acpid start
Add "acpid" to DAEMONS in /etc/rc.conf to start on boot
Add "powernow-k8" to the modules sections on /etc/rc.conf to load at boot
Stopping system freezes due to ethernet driver
The only way people have found to avoid freezes is by blacklisting atheros kernel drivers.
To do it at boot just edit /etc/rc.conf and change the MODULES line as this:
MODULES=(!ath9k !atl1c)
Reboot and you're done, but remember to not press the Wifi key, because it can freeze your system.
Correctly starting wireless at boot
I've found that standard scripts wont load properly my wireless lan. It gave an error telling you to use the WIRELESS_TIMEOUT variable and such.
To solve this, edit /etc/rc.d/network script and change the wi_up function by adding a second iwconfig command like this:
wi_up()
eval iwcfg="\$wlan_${1}"
[[ ! $iwcfg ]] && return 0
/usr/sbin/iwconfig $iwcfg
[[ $WIRELESS_TIMEOUT ]] || WIRELESS_TIMEOUT=2
sleep $WIRELESS_TIMEOUT
/usr/sbin/iwconfig $iwcfg
bssid=$(iwgetid $1 -ra)
It will do the trick and will start at boot correctly. This is not a solution but a fix.
Adjust Touchpad to disable false taps
What I did here is defining an area to be ignored. This area are 3 rectangles on top, left and right of the touchpad.
This means you can write and press space without having the cursor click out of the window and such.
# synclient AreaLeftEdge=150
# synclient AreaRightEdge=1300
# synclient AreaTopEdge=300
Also, add it to your /etc/X11/xorg.conf.d/10-evdev.conf:
Section "InputClass"
Identifier "evdev touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "AreaTopEdge" "300"
Option "AreaLeftEdge" "150"
Option "AreaRightEdge" "1300"
EndSection
You can play with those values. They just work for me.
Last edited by tigrezno (2011-04-23 13:49:48) -
Recovering earlier installed Windows 7 after installing Arch Linux
I'm trying to boot windows on my ASUS notebook.
There was windows 7 from the very beginning (disks C:\ and D:\), then I divided disk D:\ on several partitions and installed Arch Linux. I overwrited Windows boot information by boot part of Linux. Now I want to recover windows, that I still have on hard drive. It doesn's matter what there will be: dualboot or only windows (but dualboot is prefered).
Disk info:
[jhon@fckrsns ~]$ sudo fdisk -l
Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 1AFC9DFF-CD3B-4CE1-8CAF-41C3E5B75772
Device Start End Size Type
/dev/sda1 2048 411647 200M EFI System
/dev/sda2 411648 673791 128M Microsoft reserved
/dev/sda3 673792 586731519 279.5G Microsoft basic data
/dev/sda4 586731520 691589119 50G Linux filesystem
/dev/sda5 1412718592 1465147391 25G Windows recovery environment
/dev/sda6 691589120 901304319 100G Linux filesystem
/dev/sda7 901304320 1412718591 243.9G Microsoft basic data
[jhon@fckrsns ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 698.7G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 128M 0 part
├─sda3 8:3 0 279.5G 0 part
├─sda4 8:4 0 50G 0 part /
├─sda5 8:5 0 25G 0 part
├─sda6 8:6 0 100G 0 part /home
└─sda7 8:7 0 243.9G 0 part
sr0 11:0 1 1024M 0 rom
[jhon@fckrsns ~]$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 vfat 4DEB-D6D2 /boot
├─sda2
├─sda3 ntfs OS 62364BE9364BBCB3
├─sda4 ext4 c4da4683-871a-49fa-96a3-4da11387d31d /
├─sda5 ntfs Recovery 8ECE4F50CE4F2FAF
├─sda6 ext4 3eba01c6-e422-4542-8442-16064c74a563 /home
└─sda7 ntfs 3B29E7794F6CD932
sr0
OS partition (/dev/sda3):
[jhon@fckrsns /]$ ls /run/media/jhon/OS
altera Boot djvureader DrWeb Quarantine eSupport hiberfil.sys MSOCache N56VM.BIN pagefile.sys Program Files Recovery SecurityScanner.dll VisualCLibs
AsusVibeData bootmgr Documents and Settings eclipse Games Intel MS.Office.2007.Portable.micro.v.1.16 N56VZ.BIN PerfLogs Program Files (x86) $Recycle.Bin System Volume Information Windows
AVScanner.ini BOOTSECT.BAK DOSBox_SIM END gcc Keil_v5 mtd NVIDIA ProgramData Qt R.G. Catalyst Users
I tried to recover MBR with different ways:
with syslinux:
[jhon@fckrsns /]$ sudo dd if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sda
0+1 records in
0+1 records out
440 bytes (440 B) copied, 0.0226394 s, 19.4 kB/s
with ms-sys:
[jhon@fckrsns /]$ sudo ms-sys --partition /dev/sda1
Start sector 2048 (nr of hidden sectors) successfully written to /dev/sda1
Physical disk drive id 0x80 (C:) successfully written to /dev/sda1
Number of heads (255) successfully written to /dev/sda1
[jhon@fckrsns /]$ sudo ms-sys --mbr7 /dev/sda
Windows 7 master boot record successfully written to /dev/sda
But there is still no way to boot windows.
I run grub-mkconfig before and after these manipulations with MBR:
[jhon@fckrsns ~]$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initramfs image: /boot/initramfs-linux-fallback.img
No volume groups found
done
[jhon@fckrsns /]$ sudo os-prober
/dev/cdrom: open failed: No medium found
No volume groups found
I installed rEFInd, now I have two choices on boot screen: vmlinuz-linux, which it founded, and my earlier installed grub bootloader.
Maybe I missed something, but i don't know what exactly.
Last edited by Jhon (2014-09-28 16:45:38)Now I know that I don't need MBR at all (but google told me that recovering windows = recovering MBR..)
Are there any ways to recover boot information on EFI system partition from Linux without using Windows Live CD and it's bootrec.exe?
I have bootmgr and bootmgfw.efi files on /dev/sda3 (partition with windows installed), what else I need? Simple copy of bootmgfw.efi to /boot/EFI/Microsoft/Boot/bootmgfw.efi and addition of custom menu item to /etc/grub.d/40_custom does'nt work. There is Windows now in rEFInd and GRUB menus, but there is error on loading. -
How to use a .dmg file in Arch Linux
I have a file a friend gave me from his Mac computer with a .dmg file name. I haven't been able to pinpoint exactly how to use this type of file... I believe its an Apple raw disk image or something like that.. sort of like an iso. I need to use this file in order to start an application and download it onto Arch Linux. The problem is that I can't figure out how to use it on Arch Linux and burn it onto a Cd. Has anyone had experience with this sort of thing? I am completely lost.
$ poweriso convert ~/Downloads/lang.rar/Rosetta_Stone_3.4.5.dmg -o ~/Downloads/lang.rar/rose.iso -o t
PowerISO Copyright(C) 2004-2008 PowerISO Computing, Inc
Type poweriso -? for help
/home/user/Downloads/lang.rar/Rosetta_Stone_3.4.5.dmg: The file format is invalid or unsupported.
$
$ poweriso -?
PowerISO Copyright(C) 2004-2008 PowerISO Computing, Inc
Type poweriso -? for help
Usage: poweriso <command> [parameters] [-switches]
<Commands>
list <image file> <directory> List files and directories in image file.
Example: List all files and directories in root direcory of /home/sam/test.iso .
Command: poweriso list /home/sam/test.iso / -r
extract <image file> <dir/file name> Extract files/directories from image file.
Example: Extract all files and directories in root direcory of /home/sam/test.iso
to /home/sam/test recursively.
Command: poweriso extract /home/sam/test.iso / -od /home/sam/test
convert <image file> Convert image file to other format.
Example: Convert /home/sam/test.daa to standard iso file
Command: poweriso convert /home/sam/test.daa -o /home/sam/test.iso -ot iso
<Switches>
-r List or extract recursively.
-o Specify output image file name.
-od Specify output folder.
-ot <iso|daa|bin> Specify output image file type. If not specified,
the image type will be determined by file name suffix.
-volsize <n> Split output image file to multiple volumes, and set volume
size to <n>. Example: -volsize 100M
-setpassword <password> Set password for output image file.
Example: -setpassword 12345678
$
I tried to convert the file .dmg to an .iso so that I can easily burn that onto a disk and get the ball rolling.. am I missing something here? -
Arch Linux Rocks! A Follow Up
A week and a half ago, I took the plunge and installed Arch 0.7.1 (Noodle). I posted a thread here on that day called "And the Odyssey Begins - First Impressions of Arch Linux".
It is a week and a half later, and I am a confirmed believer. I have retired my previous distro (SuSE 9.3) and use Arch exclusively. Noodle is amazing. It is the FASTEST linux distribution I have ever used: fast in terms of boot time from grub prompt to full desktop and fast in terms of the speed with which applications launch and run. Everything is significantly, noticably faster than it was under SuSE on the same hardware. Truly amazing.
But that is not all. By and large, everything I have tried on Noodle JUST WORKS! All my physical devices JUST WORK, including the usually troublesome ones like my webcam. I have had almost no issues getting everything up and running. I had a brief issue with sound (my fault - didn't add my non root user to group "audio"), but that was it.
...and multimedia - it all JUST WORKS. I can't tell you how much trouble I had to go to in order to get other distros to do basic stuff like play MP3s or MPGs. In Noodle, I installed XMMS, MPlayer and gxine, and all my media JUST WORKS. Again, amazing.
...and then there is package management. Why can't everyone have a package manager that is as simple, fast and effective as pacman? pacman is a real winner! ...not to mention the impressive selection of packages that are available. I have been able to find almost everything I normally use in the repository. The few I haven't been able to find I have been able to build from source easily, without all the usual fussing about.
Arch is the linux I have been looking for. It is fast, stable, capable and supported by a great bunch of folks here in the forums. My hat is off to those who created and maintain this great distro, and to everyone here in the forums. I have found a new home.Can you expand on that? What does qpkg do?
I had one bad experience with AUR and haven't gotten back to it yet. I followed the instructions I found somewhere (Wiki, forum, somewhere - don't remember any more), dowloaded the package, and attempted to build. My screen flooded with compile errors and I just gave up - I figured that if I had to fight with compile errors, I might as well do it with the good 'ol
./configure, make, make install
route, rather than adding the complexity of a (to me) unknown build system on top of it. So far, I haven't needed to go back. Arch is *so* good (i.e. follows normal standards, everything is where it should be) that pretty much everything I have tried to build from source the usual way has worked like a champ.
I think it was qamix that I was trying to build this way, by the way. Eventually I built it myself from source via the ./configure, make, make install route. There were *lots* of compile errors this way too, but I fixed them all and got it to build. Perhaps the version in AUR was suffering from the same problems.
If qpkg is in AUR, and it sounds interesting, perhaps I will give this a whirl again.
Meantime, to get back on topic for a moment, it is a few weeks later now since my Arch install, and I remain incredibly impressed with it. The best part is the speed. I feel like I've gotten a new CPU that is twice as fast. Arch not only ROCKS, it RACES! -
Arch Linux 0.7.1 - my feedback
please read the post before vote
Well, I've used Arch linux for many months in late 2004 / early 2005 and then I've switched to Ubuntu...
some days ago I've installed version 0.7.1 and updated it with pacman -Syu
I've seen a lot of improvement since the last time I used it and I was near to think "ok let's switch back to Arch" until I found I that thing I really hate :!: is still here..
You can't install old versions of some packages. For example, kernel.. or.. php (ok there is one in Aur that is maybe "too" old) and mysql..
in the php/mysql example it's true that version 5 is the latest one but they (at least php) still develope the 4.x version for security and many server still have it and also many scripts supports only php4 and 5.
also, as I am a php developer, I need to test scripts with old versions.
but as I said this is just an example. I think that while you can't think to have a big repository of binaries it would be great to be able to install old versions via source.
and recompiling software by hand using old PKGBUILDS is a problem case you don't have a tool that tells you wich packaged were "aligned" with wich.. I mean.. the new php works only with the mysql5 extension so even if you build mysql by yourself it won't work with php.. and so on for apache..
anyway.. if a user is able to block a package and prevent the automatic update he should also be able to use the non-latest version of it.
I know that arch is a bleeding edge distro but this shouldn't mean that you have only the bleeding things. (see gentoo for example)
Another thing that will help a lot in my opinion is to have in the wiki 2 lists:
- one very detailed with available daemons and their use.. for example.. ok.. fam is the file alteration monitor.. but why you need it and wich are the main programs that takes advantage from it and what happens if you doesn't run it? and so on for hal, etc. ..
- one list with all available standard groups that tells user to wich group subscribe in order to be able to performe a specific action
imho this 2 lists will help the (new) user understand better what is doing and why The arch philosophy of "do it yourself and learn doing it" is great but have to be encouraged, and in fact there already is a very good documentation.
Just my 2 cents. And sorry if some one else already said this before; in this case take my post as an underline mark btw.. I'll attach a poll to it.
bye,
Giovanni.iphitus wrote:To me this thread looks more like "i dont want to make a second package for myself, so let's get the devs to do it".
hmm.. this sounds a bit offenisve to me. Cause I don't actually need that packages as I'm not using Arch as main distro. This post was meant to give a feedback..
iphitus wrote:Especially as there isnt a huge demand for such a package, and you are most likely to be one of a very small minority to use that duplicate package.
ok I agree with this. but from my point of view it is because users that needed it too already switched to another distro..
and this leads us to this:
tomk wrote:I voted "No, there is no need", because I think this is simply an indication that Arch is not the right distro for you - it doesn't meet your requirements.
Imho, the point is that Arch have a lot of great features. The one I'd like to have is a feature that I think will just increase the number of great features Arch already have and will make Arch the right distro for more users. So users that switch to another distro will lose a lot of features that they like to get one or two that they need..
tomk wrote:This "thing that you really hate" is still there because firstly the Arch devs, and secondly Arch users, have not needed to change it. If you want to work "from within" to change that, with polls like this, feature requests, etc, I wish you the best of luck, but I think your poll result so far should tell you something about the support you can expect.
the poll was mainly for myself to get an idea of the users opinion not to change the things. And as I said it is not a change from my point of view, but just a new feature. About Arch devs I agree but about users I don't.. how you can say it if you say to me that I should change distro? In this way people that thinks like me will always remain a minority in arch community. And I don't think that having a old version of a "core" package would be against the Arch philosophy.
tomk wrote:Finally a general point, and this applies to wiki entries as well - you will get a better response if you do something, and then ask "what do you think?" instead of asking "Why doesn't Arch do this?"
I did it for the software thing with the poll and anyway also for the wiki I didn't wrote it but I thought it was clear.. For the wiki I posted my idea and there was no need for the question "what do you think" cause is a discussion forum Also please keep in mind that I wrote the original post in late night and that I'm italian so my english isn't so good :oops:
anyway.. thanks for the tip about subit a feature request and for your answers.
bye,
Giovanni. -
Arch Linux and Splashy, a big update
edit 2:
If you don't want to build from sources have a look at this post: http://bbs.archlinux.org/viewtopic.php? … 03#p371403
edit:
UPDATED LINK:
http://slexiw.netsons.org/files/splashy-stuff7.tar.gz
About me:
I'm a professional developer (mainly c/c++) with 10 years of development experience. I've never programmed in bash before so this is my first experience. My Linux knowledge isn't good either but i learned a lot thanks to Arch Linux.
About the thread:
I need a boot splash for a mini-pc I'm building and i want, of course, use Arch Linux. The current status is pretty depressive, initscripts-splash are outdated and there is no real support for user-mode boot splashing system (like splashy).
A few suggestions (IMHO) for the Arch Linux developers:
-Integrate the splash system in the official initscripts. If you write a wrapper like start_daemon and stop_daemon to be used in /etc/rc.multi and /etc/rc.shutdown, we can limit the changes to just /etc/rc.d/functions and at least the initscripts-splash will be more maintainable and the whole code more clean.
-Patch killall5 to add the support to ignore pids. The patch is really small and the one used by Ubuntu is http://patches.ubuntu.com/s/sysvinit/ex … ids.dpatch. There is a package in AUR that uses a different patch: http://aur.archlinux.org/packages.php?ID=16445. I tested it and so far it worked fine, no problems to be reported.
Why do we need a patched killall5? Splashy gets killed early during the shutdown process and the whole purpose of having a splash system is defeated. Currently Splashy cannot handle the reboot/shutdown.
Enough talking, now back to the real stuff. I've modified the initscript-splash package (completely rewritten) and the splashy package (almost completely rewritten).
I've also written a new package to support splashy themes. I'm using these packages for my system and i never had any problem so far.
initscripts-splash:
Rewritten to fit my needs for Splashy. Based on initscripts-2008.05-1 (in testing, if you are not using the testing repo you should better wait till the package hits core).
It only supports MY Splashy package, no other splash system is supported, not even the "old" Splashy package from AUR.
splashy:
Based on the great work done by the maintainers and the contributors of the package in AUR. A lot has been rewritten and it's actually a lot different.
splashy-themes:
Simple package with just 1 theme (for now), depends on archlinux-wallpaper and uses a little hack to use the wallpapers provided. I will provide new themes as soon as i have time.
Splashy now supports:
Progress bar
Text output
Shutdown/Reboot
Still working on resume/suspend and "verbose on error".
Installation tutorial:
-Download, compile and install sysvinit-mod from aur: http://aur.archlinux.org/packages.php?ID=16445
-Remove your old initscripts or initscripts-splash package, remember to back /etc/rc.conf and /etc/inittab before.
-Download, build and install initscripts-splash from http://slexiw.netsons.org/files/initscr … ash.tar.gz
-Download, build and install splashy from http://slexiw.netsons.org/files/splashy.tar.gz
-Download, build and install splashy-themes from http://slexiw.netsons.org/files/splashy-themes.tar.gz
-You may want to restore your old /etc/rc.conf and /etc/inittab now.
-Add SPLASH="splashy" to the end of /etc/rc.conf.
-Edit /etc/splashy/config.xml to select the theme you want (to list the installed themes do "ls /usr/share/splashy/themes/", use the directory name as the theme name).
-Add the "splashy" hook to /etc/mkinitcpio.conf (mine is after v86d and before autodetect)
-Rebuild your initramfs: mkinitcpio -g /boot/kernel26.img
-Add "splash" to the kernel command line, if you are not using uvesafb (v86d hook) add vga=791 too. You should also add "quiet".
If you are still confused follow this guide: http://wiki.archlinux.org/index.php/Splashy
Looking for suggestions, bug reports and patches!
Thank you for reading this, you've done what i couldn't do, i can't believe i wrote all that cr*p.
Last edited by lexiw (2008-05-29 15:28:49)phrakture wrote:
lexiw wrote:-Integrate the splash system in the official initscripts. If you write a wrapper like start_daemon and stop_daemon to be used in /etc/rc.multi and /etc/rc.shutdown, we can limit the changes to just /etc/rc.d/functions and at least the initscripts-splash will be more maintainable and the whole code more clean.
Now, we've gone through this a couple of times, and I don't actually want to integrate splash SPECIFIC stuff in the initscripts.
However, we have the ability to override functions used by the initscripts. All we need to do is extrapolate out the pieces that you would need so that you can override them.
So, if you would be willing to provide a patch against git (http://projects.archlinux.org/?p=initsc … ;a=summary) which extrapolates the pieces you need, we could get that applied, and you simply need to dump your overriding functions in /etc/rc.d/functions.d/. NOTE: submit the patch to the bug tracker, it will get lost if you just post it on the forums.
Alternatively, you can just tell us (http://bugs.archlinux.org/) which pieces you want extrapolated, but this will take much longer, as I don't think anyone dealing with this stuff is really gung-ho about splash support.
I will probably provide a patch after i studied the code a little deeper The /etc/rc.d/functions.d/ solution seems the right way to implement it.
phrakture wrote:
lexiw wrote:-Patch killall5 to add the support to ignore pids. The patch is really small and the one used by Ubuntu is http://patches.ubuntu.com/s/sysvinit/ex … ids.dpatch. There is a package in AUR that uses a different patch: http://aur.archlinux.org/packages.php?ID=16445. I tested it and so far it worked fine, no problems to be reported.
Why do we need a patched killall5? Splashy gets killed early during the shutdown process and the whole purpose of having a splash system is defeated. Currently Splashy cannot handle the reboot/shutdown.
This seems a little silly to me. I'm sure there's 10 or 20 other ways you could implement the same functionality without needing to patch a quasi-critical binary just for splash support. The patch affects all users. Splashy does not.
I could not find an alternative solution by myself, as i stated my Linux knowledge isn't more than average. If you could provide me some hints I'll be happy to do some further research on the issue and provide a patch. I'll be glad to drop the sysvinit-mod dependency.
Without the right know-how i just went the "mainstream way" and did what Debian/Ubuntu did.
Edit:
I didn't know you could ovveride functions, this will be a great boost for the initscripts-splash project Thank you!
Last edited by lexiw (2008-05-22 17:35:15) -
Arch Linux as a server: advantages and disadvantages?
Hello,
I am about to create a hosting server for a great number of websites. Since i never actually did it myself it will be relatively new to me. For that reason I want to use Arch distro because I like it, understand it and have most experience with it.
I wanted to hear opinions why Arch is suitable and why not for a server machine. Also, maybe someone could recommend other distros that are better fit for the job (provided there are any)
Thanks!
Last edited by Tsynique (2010-11-12 16:16:32)Short: CentOS is a pretty popular choice but I have no experience with it. You will need to make sure you have the latest security updates while also making sure that your keeping a good availability(up time), which could be a problem with Arch Linux.
Long: Security updates and system up time/availability. Making sure you have the latest security updates may effect your server's availability. This can be a problem if you have paying clients as the updates may break stuff. Arch Linux doesn't have an official security team but there are some community efforts underway. Take a look at the wiki under security, firewalls and sysctl.conf hardening. Also keep your eye are ArchServer. I use Arch Linux on my VPS but its only been for hobby stuff so far. As I've been getting closer to relying on my website professionally I've been considering changing to a different dist. of Linux; the problem is I'm most familiar with Arch Linux, don't want to go back to Slackware and I'm not happy with the way Ubuntu does certain things[init system, sudo/root setup](I maintain an Ubuntu LAMP setup for our Intranet). -
Arch Linux based live gaming distro 'lg-live 0.9.5' released
Hey all,
first of all, sorry if this is the wrong subforum to post this in but this one seemed most appropriate.
I would like to announce the release of live.linuX-gamers 0.9.5, an Arch Linux based live gaming distro. It was made using Archiso and of course a big investment of time. It is going to be officially released on LinuxTag 2009 in Berlin (in three days) but I thought I'd give it to you guys now.
It is a very specialized distro: It contains lots of popular games, installs proprietary graphics card drivers out-of-the-box and provides you with a nice, clean interface for launching games and a few basic applications.
I don't want to over-advertise this so I'll just say: Please go ahead and test it if you feel like it, maybe mirror it or seed the torrents a bit, post feedback or thoughts, insult me or threaten me, etc.
If you want to give it a spin or see which games are on it, go over to http://live.linux-gamers.net and grab yourself an ISO/USB image.
Thank you, Arch Linux, for making this possible.karol wrote:
capoeira wrote:is there a way to install other games when using a USB-Device?
This thread is rather old, but yeah, it's possible to remaster this "meta-distro" and add/remove games you like: http://github.com/svenstaro/lglive
BTW, there's a new release http://live.linux-gamers.net/
Ohh what a positive surprise to have a girl here,
yea, i downloaded the DVD this week. I'm no gamer, I gamed in the 90ies on a Amiga 500 last time. But sometimes I get a wich to play a bit, so I found this DVD (I don't want to instal games to my production-distro and don't want to instal Catalyst either for my card)
I want to play 3d first-person games but those ego-shooters i don't enjoy. Its running around shooting on everything and diying a hundred times. I want something more realistic, so I found penumbra and amnesia and would like to install it with this DVD. (if anyone has tips for realistic 3d-games, action-adventures, etc. I would apreciate tips)
I will have a look at your link, thanks a lot
Maybe you are looking for
-
Can i play movies and music on pc
can i play movies and music on pc
-
How to pass a LogicalSchema as parameter
Hi all, is there a way to pass the LSchema to a package? I try to explain my situation. I have a source with 3 different schema (one for each company) with the same table structure. I have a target with 3 different schema (one for each company) with
-
Dear all, i don't know that i am a correct place, but i have a question about a bea weblogic proxy plugin. The situation is, that we have a BEA 10.2 32 bit application server in use, and want to use 64 bit iPlanet webserver. I have an error message w
-
New PC, Old Inactive Serial for CS4
I recently purchased a new PC with Windows 8, and no longer have access to the old one to deactivate Photoshop on it. I believe the version I was using was CS4, which I couldn't reinstall. I think my serial number pre-dates the Creative Cloud system
-
Need patch number to Upgrade database
I am trying to upgrade our 10.2.0.1.0 database to 10.2.0.3.0. Does anyone know the patch number? We are on Sun Solaris 10 x86 32 bit platform.