https://wiki.archlinux.org/api.php?action=feedcontributions&user=Soderstrom&feedformat=atomArchWiki - User contributions [en]2024-03-28T22:18:33ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Talk:Dropbox&diff=539230Talk:Dropbox2018-09-01T15:19:18Z<p>Soderstrom: /* Hack To Stop Auto-Update */ Will no longer be needed (actully never was)</p>
<hr />
<div>== Hack To Stop Auto-Update ==<br />
I have concerns about this section of the article mainly because I just installed Dropbox from the AUR and I have no .dropbox-dist directory (I have seen it in the past however). I am wondering if this is something that has changed in a more recent version of Dropbox and perhaps this directory no longer applies and renders this section of the Archi Wiki entry out of date for the moment. [[User:Taliesin|Taliesin]] ([[User talk:Taliesin|talk]]) 01:52, 26 August 2014 (UTC)<br />
<br />
:Wait until the auto-update kicks in. The auto-updater assumes that the {{ic|~/.dropbox-dist/}} directory is the installation path (and when using the upstream installer instead of AUR, it indeed is), so it just extracts the downloaded tarball into this path. For the record, the AUR package uses {{ic|/opt/dropbox/}} as the installation path. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:02, 26 August 2014 (UTC)<br />
<br />
This hack saved my rear end a couple of weeks ago when Dropbox 3 was pushed (with regressions). The only other place that seemed to hint at that trick was on Dropbox's old forum, which as far as I know was deleted. So, I just wanted to say thanks for documenting the undocumented feature. [[User:KlipperKyle|KlipperKyle]] ([[User talk:KlipperKyle|talk]]) 05:46, 30 December 2014 (UTC)<br />
<br />
I've posted a permanent solution for auto update to work with dropbox in aur (https://aur.archlinux.org/packages/dropbox), essentially informing systemd that the dropbox service is a forking service, that will need to use PIDFile for working properly. Also adding an exception for SIGKILL so it knows that its legal for it to kill its forked processes. This way auto-update works properly again. Hopefully it will get integrated. [[User:Soderstrom|Soderstrom]] ([[User talk:Soderstrom|talk]]) 15:19, 1 September 2018 (UTC)<br />
<br />
== Run as a daemon with systemd user ==<br />
The configs in section <br />
"Run as a daemon with systemd user" <br />
do not work for me. Getting an <br />
"Failed to get D-Bus connection: Verbindungsaufbau abgelehnt" error when executing <br />
"sudo systemctl --user start dropbox@:0.service". <br />
Configs of section "Run as a daemon with systemd user" do work however.<br />
[[User:Bkk|Bkk]] ([[User talk:Bkk|talk]]) 10:10, 12 February 2015 (UTC)<br />
<br />
:I have Dropbox successfully running using systemd user with a system tray icon. I updated that section with the steps I used to get it working<br />
:[[User:Silverhammermba|Silverhammermba]] ([[User talk:Silverhammermba|talk]]) 20:59, 15 February 2015 (UTC)<br />
<br />
:: Thanks for your help! Unfortunately the changes do not work for me ("start request repeated too quickly for dropbox.service" even though I waited quite some time):<br />
:: Feb 15 23:01:43 bkk-V5 systemd[731]: Starting Dropbox...<br />
::Feb 15 23:01:43 bkk-V5 systemd[731]: start request repeated too quickly for dropbox.service<br />
::Feb 15 23:01:43 bkk-V5 systemd[731]: Failed to start Dropbox.<br />
::Feb 15 23:01:43 bkk-V5 systemd[731]: Unit dropbox.service entered failed state.<br />
::Feb 15 23:01:43 bkk-V5 systemd[731]: dropbox.service failed. <br />
::So far, only starting dropbox via terminal "dropbox" does work for me. --[[User:Bkk|Bkk]] ([[User talk:Bkk|talk]]) 22:08, 15 February 2015 (UTC)<br />
<br />
:::The dropbox service is configured to restart when it fails, but it looks like it's always failing for you so it gets into a loop. What does {{ic|1=journalctl --user --unit=dropbox.service}} say? Or {{ic|systemctl --user status dropbox}}? Can you run other [[systemd/User|user services]] successfully?<br />
:::[[User:Silverhammermba|Silverhammermba]] ([[User talk:Silverhammermba|talk]]) 01:38, 16 February 2015 (UTC)<br />
<br />
== Right click does not show the menu ==<br />
<br />
If right clicking the dropbox icon does not show the menu as it should, or shows the applet menu (Cinnamon, maybe others) try ending Dropbox and running it with: <br />
<code>dbus-launch dropbox</code><br />
<br />
[[User:Koassim|Koassim]] ([[User talk:Koassim|talk]]) 10:49, 18 March 2016 (UTC)<br />
<br />
:Is this another symptom of [https://www.archlinux.org/news/d-bus-now-launches-user-buses/ user buses]? -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 11:45, 18 March 2016 (UTC)<br />
<br />
::Maybe? I don't know. Sorry. [[User:Koassim|Koassim]] ([[User talk:Koassim|talk]]) 18:07, 19 March 2016 (UTC)<br />
<br />
== The part about networkmanager does not apply anymore ==<br />
<br />
The networkmanager scripts are not available on the AUR anymore, so I guess the functionality has been included elsewhere? Anyone knows that?<br />
<br />
{{unsigned|17:15, 10 April 2016|OdinEidolon}}<br />
<br />
== Alternative for KDE ==<br />
<br />
The latest dolphin already have working services for dropbox, maybe it should be noted somewhere in the article as an alternative to an external client? [[User:Bugmenot2|Bugmenot2]] ([[User talk:Bugmenot2|talk]]) 23:49, 11 April 2016 (UTC)<br />
<br />
== Securing your Dropbox ==<br />
<br />
Here it's written that data on Dropbox servers are stored '''not encrypted''', therefore the possible need to setup a way of encrypting sensible data. Is it still true? Because if you head to the ''Dropbox Help Center'', under ''Security and privacy'' it's stated that: <br />
<br />
- '''Dropbox files at rest are encrypted using 256-bit Advanced Encryption Standard (AES)'''<br />
<br />
and, as already written in the wiki page, <br />
<br />
- '''Dropbox uses Secure Sockets Layer (SSL)/Transport Layer Security (TLS) to protect data in transit between Dropbox apps and our servers; it's designed to create a secure tunnel protected by 128-bit or higher Advanced Encryption Standard (AES) encryption'''.<br />
<br />
Source: [https://www.dropbox.com/help/27]<br />
<br />
If the point here is to provide a way to encrypt data locally in a Dropbox folder, than it's okay, but maybe the line regarding Dropbox security should be corrected.<br />
<br />
--[[User:Eb90|Eb90]] ([[User talk:Eb90|talk]]) 11:50, 5 April 2017 (UTC)<br />
eb90<br />
<br />
Yes, technically the files are encrypted at rest, but Dropbox has the key to decrypt them. When you log in to your Dropbox account through your web browser, you have access to the decrypted files. Their encryption does not protect users from their account getting phished, someone guessing their login credentials, or Dropbox itself being comprimised. Changing this section might decieve users into believing that it's unnecessary to take their security into their own hands.<br />
<br />
--[[User:cryptodoomchicken|cryptodoomchicken]] ([[User talk:cryptodoomchicken|talk]]) 14:47, 5 April 2017 (UTC)</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=518734Yocto2018-04-25T21:16:37Z<p>Soderstrom: /* Installation */ rpcgen has moved from core/glibc to extra/rpcsvc-proto giving an extra installation dependency</p>
<hr />
<div>[[Category:Development]]<br />
[[ja:Yocto]]<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
To use bitbake as a standalone tool, install {{AUR|bitbake}}. To edit bitbake recipes in vim, install {{AUR|bitbake-vim}}.<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer.<br />
<br />
{{Note|Arch Linux is not validated to work with Yocto/Poky.}}<br />
{{Note|From YP Core 2.2 (Morty) and newer python3 is supported}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}},{{Pkg|rpcsvc-proto}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
Enable the [[multilib]] repository and install the {{Grp|multilib-devel}} group.<br />
<br />
Clone the official git repository. In this example the ''morty'' branch is used.<br />
<br />
$ <nowiki>git clone --branch morty git://git.yoctoproject.org/poky.git ~/poky</nowiki><br />
<br />
=== YP Core from Fido but before Morty ===<br />
YP Core required {{Pkg|python2}}, from the [[Python#Python_2|Python]] page:<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin:$PATH<br />
<br />
{{Note|You will probably not get notified with '''any message''' if building the environment script fails because of invalid Python version.}}<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the ''core-image-minimal'' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with ''bitbake'':<br />
<br />
$ cd ~/poky<br />
$ source oe-init-build-env build-qemux86<br />
<br />
{{Tip|<br />
In {{ic|~/poky/build-qemux86/conf/local.conf}}:<br />
* Change the directory for downloads in order to reuse them, example {{ic|<nowiki>DL_DIR ?= "~/poky-downloads"</nowiki>}}.<br />
* The build system can use a substantial amount of disk space during the build process, in order to preserve disk space add the line {{ic|<nowiki>INHERIT += "rm_work"</nowiki>}}.}}<br />
<br />
{{hc|$ bitbake core-image-minimal|<nowiki><br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
</nowiki>}}<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide].<br />
<br />
{{Note|The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.}}<br />
<br />
== Run core-image-minimal ==<br />
<br />
To run this image in [[QEMU]], start it with the ''runqemu'' command as follows:<br />
<br />
{{hc|$ runqemu qemux86|2=<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
}}<br />
<br />
{{Tip| If the kernel was recently updated, rebooting might help you avoid issues with ''tunctl''.}}</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=491943Yocto2017-09-30T16:49:20Z<p>Soderstrom: Fixed broken pkg links</p>
<hr />
<div>[[Category:Development]]<br />
[[ja:Yocto]]<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
To use bitbake as a standalone tool, install {{AUR|bitbake}}. To edit bitbake recipes in vim, install {{AUR|bitbake-vim}}.<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer.<br />
<br />
{{Note|Arch Linux is not validated to work with Yocto/Poky.}}<br />
{{Note|From YP Core 2.2 (Morty) and newer python3 is supported}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
{{Note| For the 64-bit version of Arch Linux, [[Install]] the {{Pkg|gcc-multilib}} package from the official [[multilib]] repository.<br />
You may receive the following conflicts:<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing {{ic|y}} (we actually want the multilib versions).<br />
}}<br />
<br />
Clone the official git repository. In this example the ''morty'' branch is used.<br />
<br />
$ <nowiki>git clone --branch morty git://git.yoctoproject.org/poky.git ~/poky</nowiki><br />
<br />
=== YP Core from Fido but before Morty ===<br />
YP Core required {{Pkg|python2}}, from the [[Python#Python_2|Python]] page:<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin:$PATH<br />
<br />
{{Note|You will probably not get notified with '''any message''' if building the environment script fails because of invalid Python version.}}<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the ''core-image-minimal'' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with ''bitbake'':<br />
<br />
$ cd ~/poky<br />
$ source oe-init-build-env build-qemux86<br />
<br />
{{Tip|<br />
In {{ic|~/poky/build-qemux86/conf/local.conf}}:<br />
* Change the directory for downloads in order to reuse them, example {{ic|<nowiki>DL_DIR ?= "~/poky-downloads"</nowiki>}}.<br />
* The build system can use a substantial amount of disk space during the build process, in order to preserve disk space add the line {{ic|<nowiki>INHERIT += "rm_work"</nowiki>}}.}}<br />
<br />
{{hc|$ bitbake core-image-minimal|<nowiki><br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
</nowiki>}}<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide].<br />
<br />
{{Note|The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.}}<br />
<br />
== Run core-image-minimal ==<br />
<br />
To run this image in [[QEMU]], start it with the ''runqemu'' command as follows:<br />
<br />
{{hc|$ runqemu qemux86|2=<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
}}<br />
<br />
{{Tip| If the kernel was recently updated, rebooting might help you avoid issues with ''tunctl''.}}</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=491215Yocto2017-09-24T19:51:31Z<p>Soderstrom: From YP Core 2.2 (Morty) python3 is recommended</p>
<hr />
<div>[[Category:Development]]<br />
[[ja:Yocto]]<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
To use bitbake as a standalone tool, install {{AUR|bitbake}}. To edit bitbake recipes in vim, install {{AUR|bitbake-vim}}.<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer.<br />
<br />
{{Note|Arch Linux is not validated to work with Yocto/Poky.}}<br />
{{Note|From YP Core 2.2 (Morty) and newer {{Pkg|python3}} is supported}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python3}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
{{Note| For the 64-bit version of Arch Linux, [[Install]] the {{Pkg|gcc-multilib}} package from the official [[multilib]] repository.<br />
You may receive the following conflicts:<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing {{ic|y}} (we actually want the multilib versions).<br />
}}<br />
<br />
Clone the official git repository. In this example the ''morty'' branch is used.<br />
<br />
$ <nowiki>git clone --branch morty git://git.yoctoproject.org/poky.git ~/poky</nowiki><br />
<br />
=== YP Core from Fido but before Morty ===<br />
YP Core required {{Pkg|python2}}, from the [[Python#Python_2|Python]] page:<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin:$PATH<br />
<br />
{{Note|You will probably not get notified with '''any message''' if building the environment script fails because of invalid Python version.}}<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the ''core-image-minimal'' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with ''bitbake'':<br />
<br />
$ cd ~/poky<br />
$ source oe-init-build-env build-qemux86<br />
<br />
{{Tip|<br />
In {{ic|~/poky/build-qemux86/conf/local.conf}}:<br />
* Change the directory for downloads in order to reuse them, example {{ic|<nowiki>DL_DIR ?= "~/poky-downloads"</nowiki>}}.<br />
* The build system can use a substantial amount of disk space during the build process, in order to preserve disk space add the line {{ic|<nowiki>INHERIT += "rm_work"</nowiki>}}.}}<br />
<br />
{{hc|$ bitbake core-image-minimal|<nowiki><br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
</nowiki>}}<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide].<br />
<br />
{{Note|The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.}}<br />
<br />
== Run core-image-minimal ==<br />
<br />
To run this image in [[QEMU]], start it with the ''runqemu'' command as follows:<br />
<br />
{{hc|$ runqemu qemux86|2=<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
}}<br />
<br />
{{Tip| If the kernel was recently updated, rebooting might help you avoid issues with ''tunctl''.}}</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Power_management&diff=465082Power management2017-01-11T14:46:22Z<p>Soderstrom: /* USB autosuspend */ Added note about hooks causing usbcore to load early (without reading its modprobe.d configuration files)</p>
<hr />
<div>[[Category:Power management]]<br />
[[es:Power management]]<br />
[[it:Shutdown Pressing Power Button]]<br />
[[ja:電源管理]]<br />
[[uk:Shutdown Pressing Power Button]]<br />
[[zh-hans:Power management]]<br />
{{Related articles start}}<br />
{{Related|Power management/Suspend and hibernate}}<br />
{{Related|Display Power Management Signaling}}<br />
{{Related|CPU frequency scaling}}<br />
{{Related|Hybrid graphics}}<br />
{{Related|Kernel modules}}<br />
{{Related|sysctl}}<br />
{{Related|udev}}<br />
{{Related articles end}}<br />
<br />
[[Wikipedia:Power management|Power management]] is a feature that turns off the power or switches system's components to a low-power state when inactive.<br />
<br />
In Arch Linux, power management consists of two main parts:<br />
<br />
# Configuration of the Linux kernel, which interacts with the hardware.<br />
#* [[Kernel parameters]]<br />
#* [[Kernel modules]]<br />
#* [[udev]] rules<br />
# Configuration of userspace tools, which interact with the kernel and react to its events. Many userspace tools also allow to modify kernel configuration in a "user-friendly" way. See [[#Userspace tools]] for the options.<br />
<br />
== Userspace tools ==<br />
<br />
Using these tools can replace setting a lot of settings by hand. Only run '''one''' of these tools to avoid possible conflicts as they all work more or less similar. Have a look at the [[:Category:Power management|power management category]] to get an overview on what power management options exist in Archlinux.<br />
<br />
These are the more popular scripts and tools designed to help power saving:<br />
<br />
* {{App|aclidswitch| Simple Power Management tool to define custom lid, brightness and low battery actions depending on the laptop's AC state.|https://github.com/orschiro/aclidswitch|{{AUR|aclidswitch-git}}}}<br />
* {{App|[[acpid]]| A daemon for delivering ACPI power management events with netlink support.|http://sourceforge.net/projects/acpid2/|{{Pkg|acpid}}}}<br />
* {{App|[[Laptop Mode Tools]]|Utility to configure laptop power saving settings, considered by many to be the de facto utility for power saving though may take a bit of configuration.|https://github.com/rickysarraf/laptop-mode-tools|{{AUR|laptop-mode-tools}}}}<br />
* {{App|[[pm-utils]]|Suspend and powerstate setting framework (largely undeveloped now).|http://pm-utils.freedesktop.org/|{{Pkg|pm-utils}}}}<br />
* {{App|[[powertop]]|A tool to diagnose issues with power consumption and power management to help set power saving settings.|https://01.org/powertop/|{{Pkg|powertop}}}}<br />
* [[systemd]]<br />
* {{App|[[TLP]]|Advanced power management for Linux.|http://linrunner.de/tlp|{{Pkg|tlp}}}}<br />
<br />
== Power management with systemd ==<br />
<br />
=== ACPI events ===<br />
<br />
''systemd'' handles some power-related [[Wikipedia:Advanced_Configuration_and_Power_Interface|ACPI]] events, whose actions can be configured in {{ic|/etc/systemd/logind.conf}} or {{ic|/etc/systemd/logind.conf.d/*.conf}} — see {{ic|man logind.conf}}. On systems with no dedicated power manager, this may replace the [[acpid]] daemon which is usually used to react to these ACPI events.<br />
<br />
The specified action for each event can be one of {{ic|ignore}}, {{ic|poweroff}}, {{ic|reboot}}, {{ic|halt}}, {{ic|suspend}}, {{ic|hibernate}}, {{ic|hybrid-sleep}}, {{ic|lock}} or {{ic|kexec}}. In case of hibernation and suspension, they must be properly [[Power management/Suspend and hibernate|set up]]. If an event is not configured, ''systemd'' will use a default action.<br />
<br />
{| class="wikitable sortable" border=1<br />
!Event handler<br />
!Description<br />
!Default action<br />
|-<br />
|{{ic|HandlePowerKey}}<br />
|Triggered when the power key/button is pressed.<br />
|{{ic|poweroff}}<br />
|-<br />
|{{ic|HandleSuspendKey}}<br />
|Triggered when the suspend key/button is pressed.<br />
|{{ic|suspend}}<br />
|-<br />
|{{ic|HandleHibernateKey}}<br />
|Triggered when the hibernate key/button is pressed.<br />
|{{ic|hibernate}}<br />
|-<br />
|{{ic|HandleLidSwitch}}<br />
|Triggered when the lid is closed, except in the cases below.<br />
|{{ic|suspend}}<br />
|-<br />
|{{ic|HandleLidSwitchDocked}}<br />
|Triggered when the lid is closed if the system is inserted in a docking station, or more than one display is connected.<br />
|{{ic|ignore}}<br />
|}<br />
<br />
To apply any changes, [[restart]] the {{ic|systemd-logind}} daemon (be warned that this will terminate all login sessions that might still be open).<br />
<br />
{{Note|''systemd'' cannot handle AC and Battery ACPI events, so if you use [[Laptop Mode Tools]] or other similar tools [[acpid]] is still required.}}<br />
<br />
==== Power managers ====<br />
<br />
Some [[desktop environment]]s include power managers which [http://www.freedesktop.org/wiki/Software/systemd/inhibit/ inhibit] (temporarily turn off) some or all of the ''systemd'' ACPI settings. If such a power manager is running, then the actions for ACPI events can be configured in the power manager alone. Changes to {{ic|/etc/systemd/logind.conf}} or {{ic|/etc/systemd/logind.conf.d/*.conf}} need be made only if you wish to configure behaviour for a particular event that is not inhibited by the power manager. <br />
<br />
Note that if the power manager does not inhibit ''systemd'' for the appropriate events you can end up with a situation where ''systemd'' suspends your system and then when the system is woken up the other power manager suspends it again. As of December 2016, the power managers of [[KDE]], [[GNOME]], [[Xfce]] and [[MATE]] issue the necessary ''inhibited'' commands. If the ''inhibited'' commands are not being issued, such as when using [[acpid]] or others to handle ACPI events, set the {{ic|Handle}} options to {{ic|ignore}}. See also {{ic|man systemd-inhibit}}.<br />
<br />
==== xss-lock ====<br />
<br />
{{AUR|xss-lock-git}} subscribes to the systemd-events {{ic|suspend}}, {{ic|hibernate}}, {{ic|lock-session}}, and {{ic|unlock-session}} with appropriate actions (run locker and wait for user to unlock or kill locker). ''xss-lock'' also reacts to [[DPMS]] events and runs or kills the locker in response.<br />
<br />
Start xss-lock in your [[autostart]], for example<br />
<br />
xss-lock -- i3lock -n -i ''background_image.png'' &<br />
<br />
=== Suspend and hibernate ===<br />
<br />
''systemd'' provides commands for suspend to RAM, hibernate and a hybrid suspend using the kernel's native suspend/resume functionality. There are also mechanisms to add hooks to customize pre- and post-suspend actions.<br />
<br />
{{Note|''systemd'' can also use other suspend backends (such as [[Uswsusp]] or [[TuxOnIce]]), in addition to the default ''kernel'' backend, in order to put the computer to sleep or hibernate. See [[Uswsusp#With systemd]] for an example.}}<br />
<br />
{{ic|systemctl suspend}} should work out of the box, for {{ic|systemctl hibernate}} to work on your system you need to follow the instructions at [[Suspend and hibernate#Hibernation]].<br />
<br />
==== Hybrid sleep ====<br />
<br />
{{ic|systemctl hybrid-sleep}} both hibernates and suspends at the same time. This combines some of the benefits and drawbacks of suspension and hibernation. This is useful in case a computer were to suddenly lose power (AC disconnection or battery depletion) since upon powerup it will resume from hibernation. If there is no power loss, then it will resume from suspension, which is much faster than resuming from hibernation. However, since "hybrid-sleep" has to dump memory to swap in order for hibernation to work, it is slower to enter sleep than a plain {{ic|systemctl suspend}}. An alternative is a [[#Delayed_hibernation_service_file|delayed hibernation service file]].<br />
<br />
=== Sleep hooks ===<br />
<br />
''systemd'' does not use [[pm-utils]] to put the machine to sleep when using {{ic|systemctl suspend}}, {{ic|systemctl hibernate}} or {{ic|systemctl hybrid-sleep}}; ''pm-utils'' hooks, including any [[Pm-utils#Creating_your_own_hooks|custom hooks]], will not be run. However, ''systemd'' provides two similar mechanisms to run custom scripts on these events.<br />
<br />
==== Suspend/resume service files ====<br />
<br />
Service files can be hooked into ''suspend.target'', ''hibernate.target'' and ''sleep.target'' to execute actions before or after suspend/hibernate. Separate files should be created for user actions and root/system actions. [[Enable]] the {{ic|suspend@''user''}} and {{ic|resume@''user''}} services to have them started at boot. Examples:<br />
<br />
{{hc|/etc/systemd/system/suspend@.service|2=<nowiki><br />
[Unit]<br />
Description=User suspend actions<br />
Before=sleep.target<br />
<br />
[Service]<br />
User=%I<br />
Type=simple<br />
Environment=DISPLAY=:0<br />
ExecStartPre= -/usr/bin/pkill -u %u unison ; /usr/local/bin/music.sh stop ; /usr/bin/mysql -e 'slave stop'<br />
ExecStart=/usr/bin/sflock<br />
ExecStartPost=/usr/bin/sleep 1<br />
<br />
[Install]<br />
WantedBy=sleep.target</nowiki>}}<br />
<br />
{{hc|/etc/systemd/system/resume@.service|2=<nowiki><br />
[Unit]<br />
Description=User resume actions<br />
After=suspend.target<br />
<br />
[Service]<br />
User=%I<br />
Type=simple<br />
ExecStartPre=/usr/local/bin/ssh-connect.sh<br />
ExecStart=/usr/bin/mysql -e 'slave start'<br />
<br />
[Install]<br />
WantedBy=suspend.target</nowiki>}}<br />
<br />
{{Note|As screen lockers may return before the screen is "locked", the screen may flash on resuming from suspend. Adding a small delay via {{ic|1=ExecStartPost=/usr/bin/sleep 1}} helps prevent this.}}<br />
<br />
For root/system actions ([[enable]] the {{ic|root-resume}} and {{ic|root-suspend}} services to have them started at boot):<br />
<br />
{{hc|/etc/systemd/system/root-resume.service|2=<nowiki><br />
[Unit]<br />
Description=Local system resume actions<br />
After=suspend.target<br />
<br />
[Service]<br />
Type=simple<br />
ExecStart=/usr/bin/systemctl restart mnt-media.automount<br />
<br />
[Install]<br />
WantedBy=suspend.target</nowiki>}}<br />
<br />
{{hc|/etc/systemd/system/root-suspend.service|2=<nowiki><br />
[Unit]<br />
Description=Local system suspend actions<br />
Before=sleep.target<br />
<br />
[Service]<br />
Type=simple<br />
ExecStart=-/usr/bin/pkill sshfs<br />
<br />
[Install]<br />
WantedBy=sleep.target</nowiki>}}<br />
<br />
A couple of handy hints about these service files (more in {{ic|man systemd.service}}):<br />
* If {{ic|1=<nowiki>Type=oneshot</nowiki>}} then you can use multiple {{ic|1=<nowiki>ExecStart=</nowiki>}} lines. Otherwise only one {{ic|ExecStart}} line is allowed. You can add more commands with either {{ic|ExecStartPre}} or by separating commands with a semicolon (see the first example above; note the spaces before and after the semicolon, as they are ''required'').<br />
* A command prefixed with {{ic|-}} will cause a non-zero exit status to be ignored and treated as a successful command. <br />
* The best place to find errors when troubleshooting these service files is of course with [[journalctl]].<br />
<br />
==== Combined Suspend/resume service file ====<br />
<br />
With the combined suspend/resume service file, a single hook does all the work for different phases (sleep/resume) and for different targets (suspend/hibernate/hybrid-sleep).<br />
<br />
Example and explanation:<br />
<br />
{{hc|/etc/systemd/system/wicd-sleep.service|2=<nowiki><br />
[Unit]<br />
Description=Wicd sleep hook<br />
Before=sleep.target<br />
StopWhenUnneeded=yes<br />
<br />
[Service]<br />
Type=oneshot<br />
RemainAfterExit=yes<br />
ExecStart=-/usr/share/wicd/daemon/suspend.py<br />
ExecStop=-/usr/share/wicd/daemon/autoconnect.py<br />
<br />
[Install]<br />
WantedBy=sleep.target</nowiki>}}<br />
<br />
* {{ic|1=<nowiki>RemainAfterExit=yes</nowiki>}}: After started, the service is considered active until it is explicitly stopped.<br />
* {{ic|1=<nowiki>StopWhenUnneeded=yes</nowiki>}}: When active, the service will be stopped if no other active service requires it. In this specific example, it will be stopped after ''sleep.target'' is stopped.<br />
* Because ''sleep.target'' is pulled in by ''suspend.target'', ''hibernate.target'' and ''hybrid-sleep.target'' and because ''sleep.target'' itself is a ''StopWhenUnneeded'' service, the hook is guaranteed to start/stop properly for different tasks.<br />
<br />
==== Delayed hibernation service file ====<br />
<br />
An alternative approach is delayed hibernation. This makes use of sleep hooks to suspend as usual but sets a timer to wake up later to perform hibernation. Here, entering sleep is faster than {{ic|systemctl hybrid-sleep}} since no hibernation is performed initially. However, unlike "hybrid-sleep", at this point there is no protection against power loss via hibernation while in suspension. This caveat makes this approach more suitable for laptops than desktops. Since hibernation is delayed, the laptop battery is only used during suspension and to trigger the eventual hibernation. This uses less power over the long-term than a "hybrid-sleep" which will remain suspended until the battery is drained. Note that if your laptop has a spinning hard disk, when it wakes up from suspend in order to hibernate, you may not want to be moving or carrying the laptop for these few seconds. Delayed hibernation may be desirable both to reduce power use as well as for security reasons (e.g. when using full disk encryption). An example script is located [http://superuser.com/questions/298672/linuxhow-to-hibernate-after-a-period-of-sleep here]. See also [https://bbs.archlinux.org/viewtopic.php?pid=1420279#p1420279 this post] for an updated systemd sleep hook. <br />
<br />
A slightly updated version of the service is:<br />
{{hc|/etc/systemd/system/suspend-to-hibernate.service|<nowiki><br />
[Unit]<br />
Description=Delayed hibernation trigger<br />
Documentation=https://bbs.archlinux.org/viewtopic.php?pid=1420279#p1420279<br />
Documentation=https://wiki.archlinux.org/index.php/Power_management<br />
Before=suspend.target<br />
Conflicts=hibernate.target hybrid-suspend.target<br />
StopWhenUnneeded=true<br />
<br />
[Service]<br />
Type=oneshot<br />
RemainAfterExit=yes<br />
Environment="WAKEALARM=/sys/class/rtc/rtc0/wakealarm"<br />
Environment="SLEEPLENGTH=+2hour"<br />
ExecStart=-/usr/bin/sh -c 'echo -n "alarm set for "; date +%%s -d$SLEEPLENGTH | tee $WAKEALARM'<br />
ExecStop=-/usr/bin/sh -c '\<br />
alarm=$(cat $WAKEALARM); \<br />
now=$(date +%%s); \<br />
if [ -z "$alarm" ] || [ "$now" -ge "$alarm" ]; then \<br />
echo "hibernate triggered"; \<br />
systemctl hibernate; \<br />
else \<br />
echo "normal wakeup"; \<br />
fi; \<br />
echo 0 > $WAKEALARM; \<br />
'<br />
<br />
[Install]<br />
WantedBy=sleep.target<br />
</nowiki><br />
}}<br />
<br />
The {{ic|Before}} and {{ic|Conflicts}} options ensure it only is run for suspension and not hibernation--otherwise the service will run twice if delayed hibernation is triggered. The {{ic|WantedBy}} and {{ic|StopWhenUnneeded}} options are so it is started before sleep and stops upon resume. (Note that the {{ic|suspend.target}} and {{ic|hibernate.target}} targets do not stop when unneeded, but {{ic|sleep.target}} does). [[Enable]] the service.<br />
<br />
{{Note|1=See [https://bbs.archlinux.org/viewtopic.php?id=204346 suspend-to-hibernate broken since systemd-update] if you encounter problems with hibernating after an RTC wake up.}}<br />
<br />
==== Hooks in /usr/lib/systemd/system-sleep ====<br />
<br />
''systemd'' runs all executables in {{ic|/usr/lib/systemd/system-sleep/}}, passing two arguments to each of them:<br />
<br />
* Argument 1: either {{ic|pre}} or {{ic|post}}, depending on whether the machine is going to sleep or waking up<br />
* Argument 2: {{ic|suspend}}, {{ic|hibernate}} or {{ic|hybrid-sleep}}, depending on which is being invoked<br />
<br />
In contrast to [[pm-utils]], ''systemd'' will run these scripts concurrently and not one after another.<br />
<br />
The output of any custom script will be logged by ''systemd-suspend.service'', ''systemd-hibernate.service'' or ''systemd-hybrid-sleep.service''. You can see its output in ''systemd''<nowiki>'</nowiki>s [[systemd#Journal|journal]]:<br />
# journalctl -b -u systemd-suspend<br />
<br />
{{Note|You can also use ''sleep.target'', ''suspend.target'', ''hibernate.target'' or ''hybrid-sleep.target'' to hook units into the sleep state logic instead of using custom scripts.}}<br />
<br />
An example of a custom sleep script:<br />
<br />
{{hc|/usr/lib/systemd/system-sleep/example.sh|<br />
#!/bin/sh<br />
case $1/$2 in<br />
pre/*)<br />
echo "Going to $2..."<br />
;;<br />
post/*)<br />
echo "Waking up from $2..."<br />
;;<br />
esac}}<br />
<br />
Do not forget to make your script executable:<br />
# chmod a+x /usr/lib/systemd/system-sleep/example.sh<br />
<br />
See {{ic|man 7 systemd.special}} and {{ic|man 8 systemd-sleep}} for more details.<br />
<br />
=== Troubleshooting ===<br />
<br />
==== Delayed lid switch action ====<br />
<br />
When performing lid switches in short succession, ''logind'' will delay the suspend action for up to 90s to detect possible docks. [http://lists.freedesktop.org/archives/systemd-devel/2015-January/027131.html] This delay was made configurable with systemd v220:[https://github.com/systemd/systemd/commit/9d10cbee89ca7f82d29b9cb27bef11e23e3803ba]<br />
{{hc|/etc/systemd/logind.conf|<nowiki><br />
...<br />
HoldoffTimeoutSec=30s<br />
...<br />
</nowiki>}}<br />
<br />
==== Suspend from corresponding laptop Fn key not working ====<br />
<br />
If, regardless of the setting in logind.conf, the sleep button does not work (pressing it does not even produce a message in syslog), then logind is probably not watching the keyboard device. [http://lists.freedesktop.org/archives/systemd-devel/2015-February/028325.html] Do:<br />
# journalctl | grep "Watching system buttons"<br />
You might see something like this:<br />
May 25 21:28:19 vmarch.lan systemd-logind[210]: Watching system buttons on /dev/input/event2 (Power Button)<br />
May 25 21:28:19 vmarch.lan systemd-logind[210]: Watching system buttons on /dev/input/event3 (Sleep Button)<br />
May 25 21:28:19 vmarch.lan systemd-logind[210]: Watching system buttons on /dev/input/event4 (Video Bus)<br />
Notice no keyboard device. Now obtain ATTRS{name} for the parent keyboard device [http://systemd-devel.freedesktop.narkive.com/Rbi3rjNN/patch-1-2-logind-add-support-for-tps65217-power-button] :<br />
# udevadm info -a /dev/input/by-path/*-kbd<br />
...<br />
KERNEL=="event0"<br />
...<br />
ATTRS{name}=="AT Translated Set 2 keyboard"<br />
Now write a custom udev rule to add the "power-switch" tag:<br />
{{hc|/etc/udev/rules.d/70-power-switch-my.rules|<nowiki><br />
ACTION=="remove", GOTO="power_switch_my_end"<br />
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="AT Translated Set 2 keyboard", TAG+="power-switch"<br />
LABEL="power_switch_my_end"<br />
</nowiki>}}<br />
Restart services and reload rules:<br />
# systemctl restart systemd-udevd<br />
# udevadm trigger<br />
# systemctl restart systemd-logind<br />
Now you should see "Watching system buttons on /dev/input/event0" in syslog<br />
<br />
== Power saving ==<br />
<br />
{{Note|See [[Laptop#Power management]] for power management specific to laptops, such as battery monitoring.}}<br />
<br />
This section is a reference for creating custom scripts and power saving settings such as by udev rules. Make sure that the settings are not managed by some [[#Userspace tools|other utility]] to avoid conflicts.<br />
<br />
Almost all of the features listed here are worth using whether or not the computer is on AC or battery power. Most have negligible performance impact and are just not enabled by default because of commonly broken hardware/drivers. Reducing power usage means reducing heat, which can even lead to higher performance on a modern Intel or AMD CPU, thanks to [[Wikipedia:Intel Turbo Boost|dynamic overclocking]].<br />
<br />
=== Audio ===<br />
<br />
By default, audio power saving is turned off by most drivers. It can be enabled by setting the {{ic|power_save}} parameter; a time (in seconds) to go into idle mode. To idle the audio card after one second, create the following file for Intel soundcards.<br />
<br />
{{hc|/etc/modprobe.d/audio_powersave.conf|2=options snd_hda_intel power_save=1}}<br />
<br />
Alternatively, use the following for ac97:<br />
<br />
options snd_ac97_codec power_save=1<br />
<br />
{{Note|<br />
* To retrieve the manufacturer and the corresponding kernel driver which is used for your sound card, run {{ic|lspci -k}}.<br />
* Toggling the audio card's power state can cause a popping sound or noticeable latency on some broken hardware.<br />
}}<br />
<br />
It is also possible to further reduce the audio power requirements by disabling the HDMI audio output, which can done by [[blacklisting]] the appropriate kernel modules (e.g. {{ic|snd_hda_codec_hdmi}} in case of Intel hardware).<br />
<br />
=== Backlight ===<br />
<br />
See [[Backlight]].<br />
<br />
=== Bluetooth ===<br />
<br />
{{expansion|reason=The device should likely be disabled with hciconfig first.}}<br />
<br />
To disable bluetooth completely, [[blacklist]] the {{ic|btusb}} and {{ic|bluetooth}} modules.<br />
<br />
To turn off bluetooth only temporarily, use {{Pkg|rfkill}}:<br />
<br />
# rfkill block bluetooth<br />
<br />
Or with udev rule:<br />
<br />
{{hc|/etc/udev/rules.d/50-bluetooth.rules|<nowiki><br />
# disable bluetooth<br />
SUBSYSTEM=="rfkill", ATTR{type}=="bluetooth", ATTR{state}="0"<br />
</nowiki>}}<br />
<br />
Or just [[enable]] the instantiated {{ic|rfkill-block@bluetooth.service}} provided by the {{Pkg|rfkill}} package.<br />
<br />
=== Web camera ===<br />
<br />
If you will not use integrated web camera then [[blacklist]] the {{ic|uvcvideo}} module.<br />
<br />
=== Kernel parameters ===<br />
<br />
This section uses configs in {{ic|/etc/sysctl.d/}}, which is ''"a drop-in directory for kernel sysctl parameters."'' See [http://0pointer.de/blog/projects/the-new-configuration-files The New Configuration Files] and more specifically [http://0pointer.de/public/systemd-man/sysctl.d.html systemd's sysctl.d man page] for more information.<br />
<br />
==== Disabling NMI watchdog ====<br />
<br />
The [[Wikipedia:Non-maskable interrupt|NMI]] watchdog is a debugging feature to catch hardware hangs that cause a kernel panic. On some systems it can generate a lot of interrupts, causing a noticeable increase in power usage:<br />
<br />
{{hc|/etc/sysctl.d/disable_watchdog.conf|2=kernel.nmi_watchdog = 0}}<br />
<br />
or add {{ic|1=nmi_watchdog=0}} to the [[kernel line]] to disable it completely from early boot.<br />
<br />
==== Writeback Time ====<br />
<br />
Increasing the virtual memory dirty writeback time helps to aggregate disk I/O together, thus reducing spanned disk writes, and increasing power saving. To set the value to 60 seconds (default is 5 seconds):<br />
<br />
{{hc|/etc/sysctl.d/dirty.conf|2=vm.dirty_writeback_centisecs = 6000}}<br />
<br />
To do the same for journal commits on supported filesystems (e.g. ext4, btrfs...), use {{ic|1=commit=60}} as a option in [[fstab]].<br />
<br />
See also [[sysctl#Virtual memory]] for other parameters affecting I/O performance and power saving.<br />
<br />
==== Laptop Mode ====<br />
<br />
See the [https://www.kernel.org/doc/Documentation/laptops/laptop-mode.txt kernel documentation] on the laptop mode 'knob.' ''"A sensible value for the knob is 5 seconds."''<br />
<br />
{{hc|/etc/sysctl.d/laptop.conf|2=vm.laptop_mode = 5}}<br />
<br />
=== Network interfaces ===<br />
<br />
[[Wikipedia:Wake-on-LAN|Wake-on-LAN]] can be a useful feature, but if you are not making use of it then it is simply draining extra power waiting for a magic packet while in suspend. Disabling for all Ethernet interfaces:<br />
<br />
{{hc|/etc/udev/rules.d/70-disable_wol.rules|2=ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*", RUN+="/usr/bin/ethtool -s %k wol d"}}<br />
<br />
To enable powersaving on all wireless interfaces:<br />
<br />
{{hc|/etc/udev/rules.d/70-wifi-powersave.rules|2=ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*", RUN+="/usr/bin/iw dev %k set power_save on"}}<br />
<br />
In these examples, {{ic|%k}} is a specifier for the kernel name of the matched device. For example, if it finds that the rule is applicable to {{ic|wlan0}}, the {{ic|%k}} specifier will be replaced with {{ic|wlan0}}. To apply the rules to only a particular interface, just replace the pattern {{ic|eth*}} and specifier {{ic|%k}} with the desired interface name. For more information, see [http://www.reactivated.net/writing_udev_rules.html Writing udev rules].<br />
<br />
{{Note|In this case, the name of the configuration file is important. Due to the introduction of [[Network configuration#Device_names|persistent device names]] via {{ic|80-net-setup-link.rules}} in systemd, it is important that the network powersave rules are named lexicographically before {{ic|80-net-setup-link.rules}} so that they are applied before the devices are named e.g. {{ic|enp2s0}}.<br />
<br />
However, be advised that commands ran with {{ic|RUN}} are executed '''after''' all rules have been processed -- in which case the naming of the rules file is irrelevant and the persistent device names should be used (the persistent device name can be referenced by replacing {{ic|%k}} with {{ic|$name}}).}}<br />
<br />
==== Intel wireless cards (iwlwifi) ====<br />
<br />
Additional power saving functions of Intel wireless cards with {{ic|iwlwifi}} driver can be enabled by passing the correct parameters to the kernel module. Making it persistent can be achieved by adding the line below to {{ic|/etc/modprobe.d/iwlwifi.conf}} file:<br />
<br />
options iwlwifi power_save=1 d0i3_disable=0 uapsd_disable=0<br />
<br />
And another one to the {{ic|/etc/modprobe.d/iwldvm.conf}} file:<br />
<br />
options iwldvm force_cam=0<br />
<br />
Keep in mind that these power saving options are experimental and can cause an unstable system.<br />
<br />
=== Bus power management ===<br />
<br />
==== Active State Power Management ====<br />
<br />
If the computer is believed not to support [[Wikipedia:Active State Power Management|ASPM]] it and will be disabled on boot:<br />
<br />
# lspci -vv | grep ASPM.*abled\;<br />
<br />
ASPM is handled by the BIOS, if ASPM is disabled it will be because [http://wireless.kernel.org/en/users/Documentation/ASPM ref]:<br />
<br />
# The BIOS disabled it for some reason (for conflicts?).<br />
# PCIE requires ASPM but L0s are optional (so L0s might be disabled and only L1 enabled).<br />
# The BIOS might not have been programmed for it.<br />
# The BIOS is buggy.<br />
<br />
If believing the computer has support for ASPM it can be forced on for the kernel to handle with the {{ic|1=pcie_aspm=force}} [[kernel parameter]].<br />
<br />
{{Warning|<br />
* Forcing on ASPM can cause a freeze/panic, so make sure you have a way to undo the option if it does not work.<br />
* On systems that do not support it forcing on ASPM can even increase power consumption.<br />
* This forces ASPM in kernel while it can still remain disabled in hardware and not work. To check whether this is the case the {{ic|dmesg &#124; grep ASPM}} command can be used and if that is the case, hardware-specific Wiki article should be consulted.<br />
}}<br />
<br />
To adjust to {{ic|powersave}} do (the following command will not work unless enabled):<br />
<br />
echo powersave | tee /sys/module/pcie_aspm/parameters/policy<br />
<br />
By default it looks like this:<br />
<br />
{{hc|$ cat /sys/module/pcie_aspm/parameters/policy|[default] performance powersave}}<br />
<br />
==== PCI Runtime Power Management ====<br />
<br />
{{hc|/etc/udev/rules.d/pci_pm.rules|2=ACTION=="add", SUBSYSTEM=="pci", ATTR{power/control}="auto"}}<br />
<br />
==== USB autosuspend ====<br />
<br />
The linux kernel can automatically suspend USB devices when they are not in use. This can sometimes save quite a bit of power, however some USB devices are not compatible with USB power saving and start to misbehave (common for USB mice/keyboards). [[udev]] rules based on whitelist or blacklist filtering can help to mitigate the problem.<br />
<br />
The most simple and likely useless example is enabling autosuspend for all USB devices:<br />
<br />
{{hc|/etc/udev/rules.d/50-usb_power_save.rules|<nowiki><br />
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"<br />
</nowiki>}}<br />
<br />
To allow autosuspend only for devices that are known to work, use simple matching against vendor and product IDs (use ''lsusb'' to get these values):<br />
<br />
{{hc|/etc/udev/rules.d/50-usb_power_save.rules|<nowiki><br />
# whitelist for usb autosuspend<br />
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{idVendor}=="05c6", ATTR{idProduct}=="9205", ATTR{power/control}="auto"<br />
</nowiki>}}<br />
<br />
Alternatively, to blacklist devices that are not working with USB autosuspend and enable it for all other devices:<br />
<br />
{{hc|/etc/udev/rules.d/50-usb_power_save.rules|<nowiki><br />
# blacklist for usb autosuspend<br />
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="9205", GOTO="power_usb_rules_end"<br />
<br />
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"<br />
LABEL="power_usb_rules_end"<br />
</nowiki>}}<br />
<br />
The default autosuspend idle delay time is controlled by the {{ic|autosuspend}} parameter of the {{ic|usbcore}} [[kernel module]]. To set the delay to 5 seconds instead of the default 2 seconds:<br />
<br />
{{hc|/etc/modprobe.d/usb-autosuspend.conf|<nowiki><br />
options usbcore autosuspend=5<br />
</nowiki>}}<br />
<br />
{{Note|Some hooks in initramfs may causes usbcore to load early, without reading the modprobe.d configuration files. In order to avoid this behaviour, add the modconf hook. See [[mkinitcpio]] for more details about adding hooks and regenerating initramfs. }}<br />
<br />
Similarly to {{ic|power/control}}, the delay time can be fine-tuned per device by setting the {{ic|power/autosuspend}} attribute.<br />
<br />
See the [https://www.kernel.org/doc/Documentation/usb/power-management.txt Linux kernel documentation] for more information on USB power management.<br />
<br />
==== SATA Active Link Power Management ====<br />
<br />
{{Note|This adds latency when accessing a drive that has been idle, so it is one of the few settings that may be worth toggling based on whether you are on AC power.}}<br />
<br />
{{hc|/etc/udev/rules.d/hd_power_save.rules|2=ACTION=="add", SUBSYSTEM=="scsi_host", KERNEL=="host*", ATTR{link_power_management_policy}="min_power"}}<br />
<br />
{{Warning|SATA Active Link Power Management can lead to data loss on some devices (e.g. Lenovo T440s [http://lkml.indiana.edu/hypermail/linux/kernel/1401.2/02171.html is known to suffer] this problem. Issue is still verified to occur on Linux kernel version 4.5.1. Do not enable this setting unless you have frequent backups.)}}<br />
<br />
=== Hard disk drive ===<br />
<br />
See [[hdparm#Power management configuration]] for drive parameters that can be set.<br />
<br />
Power saving is not effective when too many programs are frequently writing to the disk. Tracking all programs, and how and when they write to disk is the way to limit disk usage. Use {{Pkg|iotop}} to see which programs use the disk frequently. See [[Improving performance#Storage devices]] for other tips.<br />
<br />
Also little things like setting the [[Fstab#atime options|noatime]] option can help. If enough RAM is available, consider disabling or limiting [[swappiness]] as it has the possibility to limit a good number of disk writes.<br />
<br />
=== CD-ROM or DVD drive === <br />
<br />
See [[Udisks#Devices do not remain unmounted (udisks)]].<br />
<br />
== Tools and scripts ==<br />
<br />
{{Style|Merged from [[Power saving]], needs reorganization to fit into this page.}}<br />
<br />
=== Using a script and an udev rule ===<br />
<br />
Since systemd users can suspend and hibernate through {{ic|systemctl suspend}} or {{ic|systemctl hibernate}} and handle acpi events with {{ic|/etc/systemd/logind.conf}}, it might be interesting to remove [[pm-utils]] and [[acpid]]. There is just one thing systemd cannot do (as of systemd-204): power management depending on whether the system is running on AC or battery. To fill this gap, you can create a single [[udev]] rule that runs a script when the AC adapter is plugged and unplugged:<br />
<br />
{{hc|/etc/udev/rules.d/powersave.rules|2=<nowiki><br />
SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/path/to/your/script true"<br />
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/path/to/your/script false"<br />
</nowiki>}}<br />
<br />
{{Note|You can use the same script that ''pm-powersave'' uses. You just have to make it executable and place it somewhere else (for example {{ic|/usr/local/bin/}}).}}<br />
<br />
Examples of powersave scripts:<br />
<br />
* [https://github.com/supplantr/ftw ftw], package: {{AUR|ftw-git}}{{Broken package link|{{aur-mirror|ftw-git}}}}<br />
* [https://github.com/Unia/powersave powersave]<br />
<br />
The above udev rule should work as expected, but if your power settings are not updated after a suspend or hibernate cycle, you should add a script in {{ic|/usr/lib/systemd/system-sleep/}} with the following contents:<br />
<br />
{{hc|/usr/lib/systemd/system-sleep/00powersave|<nowiki><br />
#!/bin/sh<br />
<br />
case $1 in<br />
pre) /path/to/your/script false ;;<br />
post) <br />
if cat /sys/class/power_supply/AC0/online | grep 0 > /dev/null 2>&1<br />
then<br />
/path/to/your/script true <br />
else<br />
/path/to/your/script false<br />
fi<br />
;;<br />
esac<br />
exit 0<br />
</nowiki>}}<br />
<br />
Do not forget to make it executable!<br />
<br />
{{Note|Be aware that AC0 may be different for your laptop, change it if that is the case.}}<br />
<br />
Now you do not need pm-utils anymore. Depending on your configuration, it may be a dependency of some other package. If you wish to remove it anyway, run {{ic|pacman -Rdd pm-utils}}.<br />
<br />
=== Print power settings ===<br />
<br />
This script prints power settings and a variety of other properties for USB and PCI devices. Note that root permissions are needed to see all settings.<br />
<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
<br />
for i in $(find /sys/devices -name "bMaxPower")<br />
do<br />
busdir=${i%/*}<br />
busnum=$(<$busdir/busnum)<br />
devnum=$(<$busdir/devnum)<br />
title=$(lsusb -s $busnum:$devnum)<br />
<br />
printf "\n\n+++ %s\n -%s\n" "$title" "$busdir"<br />
<br />
for ff in $(find $busdir/power -type f ! -empty 2>/dev/null)<br />
do<br />
v=$(cat $ff 2>/dev/null|tr -d "\n")<br />
[[ ${#v} -gt 0 ]] && echo -e " ${ff##*/}=$v";<br />
v=;<br />
done | sort -g;<br />
done;<br />
<br />
printf "\n\n\n+++ %s\n" "Kernel Modules"<br />
for mod in $(lspci -k | sed -n '/in use:/s,^.*: ,,p' | sort -u)<br />
do<br />
echo "+ $mod";<br />
systool -v -m $mod 2> /dev/null | sed -n "/Parameters:/,/^$/p";<br />
done<br />
</nowiki>}}<br />
<br />
== See also ==<br />
<br />
* [http://www.thinkwiki.org/wiki/How_to_reduce_power_consumption ThinkWiki:How to reduce power consumption]<br />
* [https://wiki.ubuntu.com/Kernel/PowerManagement/PowerSavingTweaks Ubuntu Wiki's Power Saving Tweaks]<br />
* [http://ivanvojtko.blogspot.sk/2016/04/how-to-get-longer-battery-life-on-linux.html How to get longer battery life on Linux]</div>Soderstromhttps://wiki.archlinux.org/index.php?title=User_talk:Kynikos&diff=390168User talk:Kynikos2015-08-06T08:59:47Z<p>Soderstrom: Thanks for helping me out with the style issues :)</p>
<hr />
<div>Feel free to leave here your comments on my edits or anything else you want to talk about: I'll reply as soon as I can!<br />
<br />
==Xyne-related page edits after Powerpill, Bauerbill... discontinuation==<br />
See [[User_talk:Kynikos/Xyne-related pages|Xyne-related page edits after Powerpill, Bauerbill... discontinuation]].<br />
<br />
== Where should translations go? ==<br />
Hi! I'm wondering where the Archwiki team wants new translations to go? On the page [[ArchWiki Translation Team]] I get the feeling that translations should be placed under archlinux.org. At the same time there are national wikis as well, at different stages of development. In my case this is archlinux.se, which only contains a few articles, and is generally lacking links to the main Wiki from what I can see. What is the policy on where to put translations?<br />
:Hi and welcome! I'm glad to know that the Swedish website has come back to life :) Since MediaWiki is _not_ designed to handle internationalization (it requires resorting to workarounds like the suffix one we're using here) the ideal goal would be to move each language to its own separate wiki, for ease of maintenance. So, in your case, all Swedish articles should now be moved to wiki.archlinux.se and replaced with interwiki links on at least the English page, e.g. {{ic|<nowiki>[[sv:Huvudsida]]</nowiki>}}. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:23, 4 May 2012 (UTC)<br />
:Ah, I forgot to mention that if you want to add an interlanguage link to a protected English page, you can just ask on its talk page, and it will be added by one of us admins as soon as possible! -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:28, 4 May 2012 (UTC)<br />
<br />
On a secondary note - poorly developed regional wikis might work as a black hole for new users (turned off from arch due to lack of documentation) if they do not link to the main wiki for untranslated topics. Ideally they should cover the entire topic tree, and link to the anglish main wiki for untranslated articles. Granted, most potential new users that find a poor regional wiki probably continue searching and eventually find wiki.archlinux.org, but not necessarily all of them.<br />
:That's why we must exploit as much as we can the native tool that MediaWiki offers for keeping the various local wikis linked with each other: [http://meta.wikimedia.org/wiki/Help:Interwiki_linking#Interlanguage_links interlanguage links] (example above).<br />
:Until the Swedish wiki lacks important articles, at least its Main Page if not also other important articles should instruct Swedish users to search for missing content on the English wiki.<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:23, 4 May 2012 (UTC)<br />
<br />
== Text shift in discussion answers ==<br />
I noticed that the discussion pages of the wiki, in order to indicate that the piece of text written actually answers a comment from a guy above, we are using colon to shift our answer. The problem appears on long discussions page (like the beginner guide, I'm coming from), when we answer to answers answering answers... <br />
<br />
I think it would be better to use a @name statement: this indicates we are answering directly to the guy whose name is written. And this avoid left space waste (especially on mobile phones, I couldn't even read the whole thread on mine yesterday, because of the so long shift).<br />
-- [[User:Wget|Wget]] ([[User talk:Wget|talk]]) 13:10, 5 August 2013 (UTC)<br />
<br />
:Well, about indentation we're just following Wikipedia's standards: [[Wikipedia:Help:Using_talk_pages#Indentation]], [[Wikipedia:Wikipedia:Indentation]].<br />
:About long discussions, outdenting can be used, [[Wikipedia:Wikipedia:Indentation#Outdenting]].<br />
:I admit that the @ method wouldn't be such a silly idea, it would work with short discussions, but it wouldn't allow branching out long discussions. On wide screens the "left space waste" is negligible, and on my phones (Android) the browser correctly manages to fit long discussions to the screen width, I don't understand why your phone can't do that ^^<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:41, 6 August 2013 (UTC)<br />
<br />
== Integrating Google searches into ArchWiki ==<br />
<br />
Re-reading the discussion on my talk page ([[User_talk:Jstjohn#Unused_redirects]]) made me think that we should try improving the search functionality of the ArchWiki. Native MediaWiki search is really awful in my experience, and I'm guessing many others feel the same way.<br />
<br />
The easiest way to improve it would be to integrate Google search directly into ArchWiki. A brief search on Google led me to [https://www.mediawiki.org/wiki/Extension:GoogleCustomWikiSearch] and [http://www.mediawiki.org/wiki/Extension:Google], which are two ways to integrate Google search into MediaWiki. Even if those two aren't ideal solutions&mdash;I haven't looked at them in-depth&mdash;there are likely to be several other ways of integrating Google search into MediaWiki. So consider this a very nascent proposal for extending/improving search quality on ArchWiki without necessarily proposing a certain implementation.<br />
<br />
I don't think that we should completely replace native MediaWiki search (yet?); however, integrated Google search would be a very useful alternative search feature that everyone can use.<br />
<br />
-- [[User:Jstjohn|Jstjohn]] ([[User talk:Jstjohn|talk]]) 00:15, 5 December 2013 (UTC)<br />
<br />
:I don't have a particular preference for one search engine or the other, however extensions can only be installed by the Devs, who have access to the [https://projects.archlinux.org/vhosts/wiki.archlinux.org.git/ repo], so a bug report should be opened for these things. In particular [[User:Pierre]] is the one who takes care of the wiki, and '''*IIRC*''' he tends to be against installing new extensions. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 09:18, 5 December 2013 (UTC)<br />
<br />
== Crazy idea about interlanguage links ==<br />
<br />
If [https://www.mediawiki.org/wiki/Extension:ParserFunctions ParserFunctions] extension was installed on ArchWiki, it would be possible to implement an (almost) fully automatic solution to the problem of interlanguage links, similar to mediawiki.org: [https://www.mediawiki.org/wiki/Template:Languages], [https://www.mediawiki.org/wiki/Template:Languages/Lang]. I think it would be possible to adjust it to the layout currently used on ArchWiki, so no mass renaming would be required.<br />
<br />
Intended layout is that we would have single central template to be used on all pages, similar to [[Template:i18n]], that would include the {{ic|<nowiki>[[subtag:Page Name]]</nowiki>}} links for all languages. There would also be checking if the localized page exists (using the {{ic|#ifexist}} function from ParserFunctions) to avoid links to non-existent pages.<br />
<br />
Manual intervention would still be required in several cases:<br />
* the localized article is on external wiki - the link would have to be added manually<br />
* the localized article has different base name than the English page ([[Network configuration]] vs. [[Configuring Network (Italiano)]]) - best solution would be moving the localized pages to match the English page (this would be good anyway)<br />
* there are possible problems with redirects, I did not think of it yet<br />
<br />
Disadvantages:<br />
* slower rendering of pages, higher server load ({{ic|#ifexist}} is considered an "expensive parser function" [https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions#ifexist_limits])<br />
<br />
Anyway, what do you think of it? Is it a viable solution?<br />
<br />
-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 13:53, 8 December 2013 (UTC)<br />
<br />
:The short answer would be the same I've given to Jstjohn in [[#Integrating Google searches into ArchWiki]], however even if we could easily install extensions, maybe we should consider [[Help_talk:I18n#MediaWiki_translation_extension]] before this idea. I think you've never seen our [[Template:i18n]] on this wiki, which was practically the same except for the #ifexist check. It was in use before June 2012 and was deprecated by [https://wiki.archlinux.org/index.php?title=Help_talk:I18n&oldid=209375#.22Dummy.22_interlanguage_links_and_deprecation_of_Template:i18n]: that discussion is full of arguments against its reintegration :D -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:44, 9 December 2013 (UTC)<br />
<br />
::I like automatic solutions, I'm sure there are plenty of extensions that make this possible. The current solution is by no means automatic, even considering the Wiki Monkey bot plugin. We should at least have a solution to automatically check all pages on the wiki (or at least some specific namespace). The current solution relies on lists like [[Special:MostLinkedPages]], which tend to overlap, and also in my opinion the plugin does not cover all cases. I already have several ideas on how to improve the algorithm, it's just the matter of putting it "on paper" - I think I'll open an issue about this on github... -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 18:54, 9 December 2013 (UTC)<br />
<br />
:::I have written a quite long post about redesigning the bot algorithm, but unfortunately it seems that I can't post it on github because markdown apparently supports only two levels of bullet lists :( -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:41, 10 December 2013 (UTC)<br />
<br />
::::No worries, we can easily discuss it here, after all we're doing it for this wiki's sake, it's nothing extraneous. Maybe you (or I) can create a bug report with a link to this discussion, just as a reminder for myself. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:35, 10 December 2013 (UTC)<br />
<br />
:::::Alright, I've started the discussion in [[Talk:Wiki_Monkey#Improvements_to_the_interlanguage_syncing_algorithm]] - feels like the right place for it... -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 20:02, 10 December 2013 (UTC)<br />
<br />
== <s> Russian table of contents </s> ==<br />
<br />
As I know, your bot must add new categories in it during auto-updates, but it isn't. I've translated [[List_of_applications/Science]]: english article has category '''Mathematics and science''', and I've created page with category '''Mathematics and science (Русский)''', there was April, 28. Since then that category wasn't added to our TOC. What should I do? -- [[User:Kycok|Kycok]] ([[User talk:Kycok|talk]]) 17:30, 5 May 2014 (UTC)<br />
<br />
:Eheh adding a page to a category is not enough to create the actual category. As you can see, the link to [[:Category:Mathematics and science (Русский)]] at the bottom of [[List of applications/Science (Русский)]] is ''red'': this means that the category page doesn't exist yet, you will have to create it explicitly, that's why the bot can't find it.<br />
:Instead of doing it myself, I'll teach you how to do it, so you'll be able to repeat it in the future if needed:<br />
:# click on the red link, thus opening [[:Category:Mathematics and science (Русский)]] for editing<br />
:# also open [[:Category:Mathematics and science]]: as you can see it's categorized under [[:Category:Applications]]<br />
:# in [[:Category:Mathematics and science (Русский)]], add {{ic|<nowiki>[[Category:Applications (Русский)]]</nowiki>}} and then save the page<br />
:And that's it, the next time I'll run the bot (Sunday), the category will be added to the tree :)<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:18, 6 May 2014 (UTC)<br />
<br />
::Thanks a lot for explanation. I think you can move it to the top for those, who'll be searching that information on your page (as me) -- [[User:Kycok|Kycok]] ([[User talk:Kycok|talk]]) 15:41, 6 May 2014 (UTC)<br />
<br />
:::Sorry to jump in, but there is one more thing Kynikos did not mention - when creating a localized category, it will be necessary to also add the interlanguage links into all pages in the "family", as for regular pages.<br />
:::[[Wiki Monkey]] has a plugin for the synchronization of these links, but (with current implementation) it is necessary to create at least the initial connection manually - meaning at least interlink the newly created category with the English category, the bot can do the rest. Kynikos, we should clarify the guidelines for this... recommend creating a [[ArchWiki:Requests#Bot requests|bot request]]?<br />
:::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 16:49, 6 May 2014 (UTC)<br />
<br />
::::Done. So, more correct instruction is to copy all english wikitext and fix interlanguage links -- [[User:Kycok|Kycok]] ([[User talk:Kycok|talk]]) 01:05, 7 May 2014 (UTC)<br />
<br />
:::::Oops, sorry for not being exhaustive this time, @Lahwaacz you're right of course, and @Kycok you've done the correct fixes.<br />
:::::The complete checklist for a translation is in [[ArchWiki Translation Team]]: maybe it's not the best place, but it's linked from [[ArchWiki:Contributing#Translating]].<br />
:::::@Lahwaacz: about the clarification, did you consider [[ArchWiki Translation Team]], [[Help:Style#Interlanguage_links]] and [[Help:I18n#Guidelines]]? What improvements/clarifications do you think can be done exactly? Yes, suggesting to request a bot intervention may help, maybe we could add it in [[ArchWiki Translation Team]]?<br />
:::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:21, 7 May 2014 (UTC)<br />
<br />
::::::I did not look for it before, but since the "translating" of categories is the same as for regular pages, [https://wiki.archlinux.org/index.php?title=ArchWiki_Translation_Team&diff=313935&oldid=311288 this] should be enough...<br />
::::::The current implementation of the interlanguage syncing algorithm is rather unfriendly to recommending it, I don't know how to write "interlink the new page with the original both ways, the bot will do the rest" understandably. We might wait for the [[Talk:Wiki Monkey#Improvements to the interlanguage syncing algorithm|improvements]] (the part about watching [[Special:NewPages]]) if it is still planned...<br />
::::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 15:03, 8 May 2014 (UTC)<br />
<br />
:::::::Yes, it's still planned ([https://github.com/kynikos/wiki-monkey/issues/148 #148]) but it's a big job, let's wait until I've implemented it then. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:01, 10 May 2014 (UTC)<br />
<br />
::::::::Sorry, I did not understand how to translate categories in Table of contents. How can I do this, if it will be overwritten next time by bot? — [[User:Agent0|Agent0]] ([[User_talk:Agent0|talk]]|[[Special:Contributions/Agent0|contribs]]) 10:01, 22 July 2015 (UTC)<br />
<br />
:::::::::You can manually translate each link in [[Table of contents (Русский)]] by using the alternative text field ({{ic|<nowiki>[[:Category:Demo (Русский)|</nowiki>'''Alternative text''']]}}) and the bot won't overwrite it, see also [[Talk:Table_of_contents_(Русский)#Automatic updates and translation of links]] :)<br />
:::::::::Thank you for all your hard work!!<br />
:::::::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 10:07, 22 July 2015 (UTC)<br />
<br />
::::::::::Thanks for reply. I translated it. — [[User:Agent0|Agent0]] ([[User_talk:Agent0|talk]]|[[Special:Contributions/Agent0|contribs]]) 12:49, 22 July 2015 (UTC)<br />
<br />
== MediaWiki and help pages centralization ==<br />
<br />
MediaWiki tries to [[mw:MediaWiki_1.23#Help_pages|centralize help pages]], many links in the interface now lead to https://mediawiki.org (using {{ic|Special:MyLanguage}} from [[mw:Extension:Translate|Extension:Translate]] to detect the language; btw see also [https://bugzilla.wikimedia.org/show_bug.cgi?id=66762]). As we do many things differently, I think that we should keep linking to our pages by overriding the new defaults in ''MediaWiki:'' namespace.<br />
<br />
For example, the "Editing help" link in edit pages now links to mediawiki.org ([[MediaWiki:Edithelppage]]).<br />
<br />
-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 22:21, 5 July 2014 (UTC)<br />
<br />
:Thanks for the heads up, I'm not sure yet what to do here, because we do many things differently indeed style-wise, but relying more on the upstream docs for syntax guidelines and generic instructions on how a wiki works could be taken into consideration. I'll have a deeper look into that, and maybe start a discussion somewhere. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:00, 6 July 2014 (UTC)<br />
<br />
== External links ==<br />
<br />
There is something wrong with [[Special:LinkSearch]]:<br />
<br />
* The two links from [[ArchWiki:Contributing#Use internal links]] ([https://wiki.archlinux.org/index.php?title=Special%3ALinkSearch&target=http%3A%2F%2Fwiki.archlinux.org&namespace=0 http links] and [https://wiki.archlinux.org/index.php?title=Special%3ALinkSearch&target=https%3A%2F%2Fwiki.archlinux.org&namespace=0 https links]) don't show anything. When they are changed to match on all namespaces, the [https://wiki.archlinux.org/index.php?title=Special%3ALinkSearch&target=http%3A%2F%2Fwiki.archlinux.org&namespace= first] shows something, but for the [https://wiki.archlinux.org/index.php?title=Special%3ALinkSearch&target=https%3A%2F%2Fwiki.archlinux.org&namespace= second] there is only one positive!<br />
* [https://wiki.archlinux.org/index.php?title=Special:LinkSearch&target=https%3A%2F%2F*.archlinux.org This query] is cluttered with links to AUR packages, most of which go over templates and still there is only one link to the wiki.<br />
<br />
There are ''many'' links to wiki that should be matched: links to diffs or history, [[Template:Out of date]] etc. use full url to talk pages, and there are even links to articles [https://wiki.archlinux.org/index.php?title=ArchWiki:Requests&diff=prev&oldid=323008] (I bet there are some even in the main namespace). It seems that MediaWiki treats all external links starting with {{ic|<nowiki>https://wiki.archlinux.org/api.php</nowiki>}} or {{ic|<nowiki>https://wiki.archlinux.org/index.php</nowiki>}} as internal, which is very unfortunate.<br />
<br />
-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:26, 6 July 2014 (UTC)<br />
<br />
:I'd even say that every http'''s'''://wiki.archlinux.org link is ignored: it could be that, in order to indicize the external links, MediaWiki must first process the wiki markup (internal links, interwiki links, transclusions...), so then it has to ignore the urls that point to the wiki itself, otherwise they would be too many (?!?). The only problem is [[User talk:Karlswab]], I can't really explain why its https link is shown... I've tried to reproduce it on [[User talk:Kynikos.bot]] but to no avail, really weird. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:52, 7 July 2014 (UTC)<br />
<br />
::Found it! See [https://meta.wikimedia.org/wiki/Help:Linksearch#Links_in_external_link_style_to_the_same_wiki] and the linked [https://www.mediawiki.org/wiki/Special:Code/MediaWiki/53104 commit]. We could submit a feature request to set $wgRegisterInternalExternals to true, but it has been disabled [https://bugzilla.wikimedia.org/show_bug.cgi?id=19637#c0 for a reason] (at least on bit Wikimedia projects, the 50GB value is too much for Arch wiki). -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 08:20, 7 July 2014 (UTC)<br />
<br />
:::Uh good job! However it's not clear whether setting $wgRegisterInternalExternals to true would only record the internal links formatted as external, or all the internal links regardless of their wikitext form. In the latter case, turning it on would be useless as it wouldn't help fixing the wrong-formatted ones.<br />
:::Then there's still [[User talk:Karlswab]]: $wgRegisterInternalExternals was apparently introduced in 1.16.0, which we installed in [https://projects.archlinux.org/vhosts/wiki.archlinux.org.git/log/?ofs=50 2010], however the link in that talk page was added in 2012, so in theory it should have not been recorded...<br />
:::What we can do:<br />
:::# Ask about the exact functionality of $wgRegisterInternalExternals<br />
:::#* Possibly open a bug report to enable it here (still having {{Bug|35545}}<sup>which from now on I will refer to as simply "The Bug"</sup> fixed would help)<br />
:::# Update/remove [[ArchWiki:Contributing#Use internal links]]<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 12:59, 7 July 2014 (UTC)<br />
<br />
::::I'd say that this would definitely affect only the external links (syntax sense). From the quick look at the code, the {{ic|addExternalLink}} method is called only from parts of the parser responsible for formatting the external links; then there is {{ic|addLink}} for the internal (and interwiki) links. See also [https://bugzilla.wikimedia.org/show_bug.cgi?id=19637#c4] which talks specifically about [[Special:LinkSearch]].<br />
::::About [[User talk:Karlswab]], it is possible that for Arch wiki the $wgRegisterInternalExternals variable was first set to true and later set to default. We could try to find some older links not being registered to confirm this paradox :P<br />
::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:02, 7 July 2014 (UTC)<br />
<br />
:::::Yeah, you're right, and these two observations put together would also explain why a link to a search like those has been in my public task list for ages, also allowing me in 2012 to do [https://wiki.archlinux.org/index.php?title=Special:Contributions&offset=20121205120000&contribs=user&target=Kynikos.bot this series of edits] with my bot, which was clearly launched on [[Special:LinkSearch]], actually also fixing some wiki.archlinux.org links (some of which I had to revert then, teaching me that links cannot be converted automatically).<br />
:::::I've [https://wiki.archlinux.org/index.php?title=ArchWiki%3AContributing&diff=324048&oldid=324003 removed] the section in [[ArchWiki:Contributing]] for the moment. We could also open the report for $wgRegisterInternalExternals, but I'm not sure how lucky it could be, considering the age of the other open wiki bugs; maybe this one can wait for the resolution of The Bug, which at a certain point we'll probably have to bump somehow, being a very quick fix in practice. This discussion will also remind to re-add the section in [[ArchWiki:Contributing]] then.<br />
:::::PS: I'd also be curious to re-save [[User talk:Karlswab]] and see if the link in the search really disappears :P<br />
:::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:44, 8 July 2014 (UTC)<br />
<br />
::::::I have tested this on [[User:Lahwaacz/LocalArchWiki|LocalArchWiki]], and the ''externallinks'' table (with 1565 links to wiki.archlinux.org domain) takes 36.2MiB. Since wiki.archlinux.org is not a local domain for LocalArchWiki, I did not even have to set $wgRegisterInternalExternals to true, which also means that I can't determine the increase in space, but for ArchWiki it is surely in order of MiB, not GiB.<br />
::::::'''Edit:''' After the $wgRegisterInternalExternals is set to true, it will be necessary to run the [[mw:Manual:RefreshLinks.php|RefreshLinks.php]] maintenance script to update the database; this should be noted in the bug report/feature request.<br />
::::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:23, 22 December 2014 (UTC)<br />
<br />
== Redirections are visible in search ==<br />
<br />
Hi Kynikos.<br />
<br />
I noticed all pages which are redirections to others are visible in search results. For example, search for Android, and you will get Android-sdk and Android as results where Android-sdk points to the main Android article. The same with the VirtualBox article I'm currently maintaining. Virtualbox --> VirtualBox, Installing Arch Linux in VirtualBox --> VirtualBox, VirtualBox Extras --> VirtualBox,... I think such redirections shouldn't appear in search results, like it is on Wikimedia/Wikipedia.<br />
<br />
Also, I wonder if the translation titles are really needed in search results too e.g. VirtualBox (简体中文). Why not provide only English versions as result, then if the user wants the translated (and outdated) content, he can click on the links on the left. -- [[User:wget|wget]] ([[User talk:wget|talk]]) 19:34, 2 August 2014 (UTC)<br />
<br />
: Uncheck 'List redirects' search option. -- [[User:Karol|Karol]] ([[User talk:Karol|talk]]) 22:57, 2 August 2014 (UTC)<br />
<br />
:: Ok. but this checkbox should be unchecked by default. -- [[User:wget|wget]] ([[User talk:wget|talk]]) 23:06, 2 August 2014 (UTC)<br />
<br />
:::There doesn't seem to be an option in the user preferences, and I don't think it's possible to uncheck it globally, see [[mw:Manual:Configuration settings#Search]] (and anyway that would require {{Bug|35545}} to be fixed). However I'd be against unchecking it by default because if somebody searches for "android sdk" he has to get the redirect as a result, and this is one of the main reasons why we create redirects in the first place.<br />
:::About results in other languages, MediaWiki is completely unaware of our language tagging system, which is regulated by [[Help:i18n]], but it's worth mentioning that implementing [[Help talk:i18n#Language namespace(s) in place of suffixes?]] would solve the problem.<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:06, 3 August 2014 (UTC)<br />
<br />
== Smart cards ==<br />
<br />
Hi Kynikos. Just after some updates on the VirtualBox Arch Linux article, I'll write a complete documentation for the Belgian eID (identity card) requiring me to link to the official website and some posts from blogs belonging to Arch Linux enthusiasts. I'm also gonna upstream to Wikipedia some information I discovered in very hidden PDFs on the website (hardware specifications, etc. which are not really related to Arch Linux). I don't know how I'll proceed yet: maybe write a complete Arch Linux article then upstreaming or the reverse order. I don't know. -- [[User:wget|wget]] ([[User talk:wget|talk]]) 01:07, 10 December 2014 (UTC)<br />
<br />
:Sounds great, however I can't help you plan this :) There is however [[Estonian ID-card]] already, maybe it can inspire you. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:49, 10 December 2014 (UTC)<br />
<br />
::Thanks for the hint. I see we have the [[Common Access Card]] article too. In order to avoid duplication, since both CAD, the Estonia and Belgian eID are all smart cards, I'm gonna merge these articles together and make a meta article called [[Smart card]] (no need to create a Java Card article, the vast majority are Java cards any way). -- [[User:wget|wget]] ([[User talk:wget|talk]]) 12:00, 11 December 2014 (UTC)<br />
<br />
:::This could be a good idea, anything that avoids duplication is always welcome. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:12, 12 December 2014 (UTC)<br />
<br />
== Arch Development category is dead ==<br />
<br />
Hi Kynikos.<br />
<br />
Reading my mailing list messages, I was wondering how official repositories signoffs were actually performed. I decided to browse the wiki to answer my question and realized the [https://wiki.archlinux.org/index.php/Category:Arch_development] category was completely outdated, not being able to find a clear answer. I would like to move all articles from that category to the DeveloperWiki: where already a bunch of updated information are available. I really meant MOVING not creating a redirection: my aim is to clean this wiki as much as I can. And creating redirection is counterproductive: this doesn't clean category list and table of content.<br />
<br />
I already made that suggestion to you [[#Redirections are visible in search]].<br />
<br />
Also, with information I get from IRC today, I'ld like to provide a big DeveloperWiki:Website page where we will put all information I gleaned about our the ArchLinux website structure is working.<br />
I meant gleaned because I'm subscribed to all ArchLinux mailing list and am reading them daily.-- [[User:wget|wget]] ([[User talk:wget|talk]]) 14:11, 8 January 2015 (UTC)<br />
<br />
:As its name says, the so-called "DeveloperWiki" should be maintained by Developers, but they don't, so of course those articles have become obsolete. Right today I've marked some more for deletion. I haven't understood where you'd move those articles though. Redirects shouldn't be categorized, so they shouldn't appear in Category pages, nor increase the count numbers in [[Table of contents]].<br />
:You've already found [[DeveloperWiki:Archweb]], you can <s>move it to [[DeveloperWiki:Website]] and</s> expand it if you want, I don't have any objections :) (actually, scrap renaming the article, "Archweb" does seem to be the official name of the project[https://projects.archlinux.org/])<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:28, 9 January 2015 (UTC) (Edit: 06:51, 14 January 2015 (UTC))<br />
<br />
== Highlighting whitespace in diffs ==<br />
<br />
If I remember correctly, MediaWiki used to highlight whitespace in the diffs, e.g. when a space was added/removed it used to be highlighted with blue background. This is no longer the case and sometimes it is rather annoying, see e.g. [https://wiki.archlinux.org/index.php?title=Talk:PKGBUILD&diff=next&oldid=359603]. Have you also noticed the change or is it just my imagination? -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 09:21, 6 February 2015 (UTC)<br />
<br />
:Look at this diff [https://wiki.archlinux.org/index.php?title=User:Blackx/Help:Style_draft&diff=prev&oldid=354441], you'll see a whitespace here.<br />
:Regretfully, whitespace/tab changes aren't highlighted <s>when they're placed at ''the end of a line''</s> sometimes (ughh, I can't realize now when it is happening) neither with old 1.22 engine nor with 1.24 :( — [[User:Blackx|blackx]] ([[User_talk:Blackx|talk]]|[[Special:Contributions/Blackx|contribs]]) 10:19, 6 February 2015 (UTC)<br />
<br />
::I don't remember if whitespace changes were always highlighted before the recent software upgrades; however the fact that I never noticed this behavior either might indicate that it's indeed a new bug?<br />
::In any case it's clearly a bug in the diff engine, so it should be reported upstream, hopefully one day it will be fixed... (but don't sit there and wait in the meanwhile eh ;) )<br />
::One reason this bug may happen could be linked to the fact that the diff engine outputs differences with &lt;ins> and &lt;del> tags, and this may clash with some whitespace-related XML/HTML behavior.<br />
::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 07:36, 7 February 2015 (UTC)<br />
<br />
:::Considering that adding a single space is the recommended way to make a [[wikipedia:dummy edit|dummy edit]], there might indeed be a connection with rendering and the result is probably very buggy. At least changes that make difference in rendering seem to be highlighted consistently, e.g. [https://wiki.archlinux.org/index.php?title=ArchWiki:Sandbox&diff=359928&oldid=359482].<br />
:::I'll see what can be found upstream, until then [http://en.wikipedia.org/wiki/User:Cacycle/wikEdDiff wikEdDiff] seems to be a viable alternative (but has to be run with Greasemonkey).<br />
:::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 12:43, 7 February 2015 (UTC)<br />
<br />
== Minor bot edits ==<br />
<br />
Hi, I've noticed that I'm not getting any email notification for bot edits marked as minor, e.g. [https://wiki.archlinux.org/index.php?title=ArchWiki:Maintainers&curid=14417&diff=363136&oldid=358971]. It does not seem to be a bug, it's more likely a feature. To exploit it, maybe all bot edits with an edit summary like "automatic update" should be marked as minor. What do you think? -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 20:51, 1 March 2015 (UTC)<br />
<br />
:Since I patrol the recent changes, I don't use notifications: is that behavior independent of ''Email me also for minor edits of pages and files'' in [[Special:Preferences#mw-prefsection-personal]] and ''Hide bot edits from the watchlist'' in [[Special:Preferences#mw-prefsection-watchlist]]?<br />
:Anyway, currently I think all the "automatic updates" that I do regularly are:<br />
:* [[Table of Contents]]: normal user, normal edit (I'm going to change it to minor).<br />
:* [[ArchWiki:Statistics]]: bot user, normal edit (not marked as bot, I'm going to change it to minor though)<br />
:* Sorting [[ArchWiki:Administrators]] and [[ArchWiki:Maintainers]]: bot user, bot/minor edit.<br />
:In general, I think marking edits done with a bot account as "bot" and/or "minor" should be decided case by case, primarily considering the effects on [[Special:RecentChanges]], and only then on notifications. You may want to also consider solving the problem on your end by setting custom filters in your email client.<br />
:This said, I'm open for discussing each of these cases separately, or any others I might have omitted, of course.<br />
:— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:59, 2 March 2015 (UTC)<br />
<br />
::Yes, I have ''Email me also for minor edits of pages and files'' checked and ''Hide bot edits from the watchlist'' unchecked. Btw, I didn't find an option for ''Show bot edits in RecentChanges by default'', I think there is none.<br />
::As for the email client, I already have filters to mark notifications of my bot account as read and check the edits from the list of contributions, which includes also pages not present in my watchlist. This way I can avoid checking an edit twice. I could add another bot account to the filter, but I think it's better to mark the edits as minor instead, because this will apply to all users and not just me :)<br />
::Edit: I've modified [https://github.com/lahwaacz/wiki-scripts/commit/a4b3bce1dc6649039408e90f85ba80bfe4fa55c5 statistics.py] to make properly marked bot edits. Since the past edits were already being performed by a bot account, I assume it was a bug -- or would you like to complicate things and let bots do regular non-bot edits?<br />
::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 18:15, 2 March 2015 (UTC)<br />
<br />
:::Eheh honestly I originally didn't put the "bot" parameter in that query on purpose, thinking there was no reason not to show the edit in the RecentChanges (I reason in a "show-all-except" way instead of "hide-all-except", and I don't mind seeing bot accounts acting as normal users), but I don't feel strongly about it at all, and I'll take your concerns about notifications as a valid argument in favor of hiding it, so I've pulled the new version and will use it from now on :)<br />
:::Are you ok with me updating [[Table of contents]] as a normal user?<br />
:::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:08, 3 March 2015 (UTC)<br />
<br />
::::Well, bot edits are included in the RecentChanges, only hidden by default. Unfortunately there is no way to configure MediaWiki to show them by default, neither per-user nor globally. I think that the decision whether to mark edits as bot or not should be driven by the way they were performed (manual or automatic), not by the intention to hide or show them in some list by default, which should be only the incidence (and ideally configurable). Of course all this decision making would be much simpler if regular users could mark some edits as bot, if only via API, and ideally supply a tag indicating the software that made the edit. Then we would not need the dual accounts at all...<br />
::::As for [[Table of contents]], it is not updated daily, so my argument with notifications does not stand. I'll leave this up to you.<br />
::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 20:48, 3 March 2015 (UTC)<br />
<br />
:::::Interesting discussion, I've never really thought in depth about whether there's a general rule that makes me decide when to use a bot account (and possibly the "bot" tag) or not to perform some edits. I think I've always seen bot accounts as a means of not polluting the (default) recent changes with ''numerous'', ''similar'', ''minor'', ''automatically-saved'' changes that theoretically nobody should care too much about (except for the bot operator who is supposed to check them, at least by sample) (yes, there's also the advantage of having higher query rates allowed from the server). There are exceptions though, like the sorting of admins/maintainers pages, which I see as only a technicality of no consequence that can easily stay behind the scenes; also, I tend to use the bot account when testing something technical, like the behavior of templates etc.<br />
:::::I'm wondering what you exactly mean with "the way [edits] were performed (manual or automatic)": is "automatic" as in "the text has been ''modified'' with other means than pressing character keys on a keyboard", or as in "the changed text has been ''saved'' with other means than pressing the Save page button in an editor's page"? In the former case I'd disagree it could be a ''sufficient'' test to distinguish between bot and non-bot edits, think for example of editor assistants like Wiki Monkey or external editors like vim; in the latter case, quick edits that I do with Wiki Monkey e.g. when fixing a few double redirects, updating ToC articles, or fixing the backlinks of an article would require me to switch to the bot account, even though I'd see such edits as more human-like than bot-like.<br />
:::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 07:15, 4 March 2015 (UTC)<br />
<br />
::::::Well, ''semi-automatic'' is, by definition, between ''automatic'' and ''manual''. Obviously the bot/non-bot distinction is too strict, unfortunately MediaWiki does not provide anything better. There is an attempt to implement revision tagging (see [[mw:Manual:Tags]]), but it does not behave as I'd suspect. We have [[Special:Tags]] on ArchWiki, but the {{ic|managechangetags}} right mentioned in the manual as "given to administrators by default" is not listed in [[Special:ListGroupRights]] nor [[mw:Manual:User rights]]. Hence I think that these tags are usable only from extensions, perhaps a special extension is necessary to edit the tags.<br />
::::::Anyway, I haven't done many ''semi-automatic'' edits in a while, but I'm inclined to mark them as normal/non-bot (i.e. not mark them at all) and reserve the "bot" mark only for ''automatic'' edits. After all, we don't require other users to make a bot account to do ''semi-automatic'' edits.<br />
::::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:24, 7 March 2015 (UTC)<br />
<br />
:::::::So, can I infer that your definition of "manual" vs "automatic" is based on the saving method, i.e. click on ''Save page'' vs API query (see the second paragraph of my previous post)? In this case Wiki Monkey's bot and special plugins (e.g. updating ToCs or double redirects) are "illegal" when run with a normal account, if we want to apply this rule strictly. What we call "semi-automatic" edits are in fact "manual" ones, under this definition, it makes it pretty obvious to me :) If we really need a definition, I think that is the only clear one we can give.<br />
:::::::However I was thinking: why is it that we need a separate account for bot edits after all? I think that for MediaWiki that's only a difference in rights, but when it comes to distinguishing the single edits, MediaWiki only looks if the query has the ''bot'' parameter set, which can be set only by accounts in the ''bots'' group. In practice, this means that I could simply add our "normal" accounts to the ''bots'' group too, and nothing would change when we do normal, manual edits, but we would be able to control when the ''bot'' parameter is added by just properly setting it in the script queries that need it, without the need to switch account too (I hope I've made it clear enough).<br />
:::::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:47, 8 March 2015 (UTC)<br />
<br />
::::::::Yes, I think that the following definition is natural: if the text is both modified and saved manually, it is ''manual''; if it is modified automatically and saved manually then it is ''semi-automatic''; and if it is both modified and saved automatically, then it is ''automatic''.<br />
::::::::If I remember correctly, the edits of bot accounts which were saved via clicking on "Save page" in the web UI are automatically tagged as bot edits. Or is there a way to change this absurd default?<br />
::::::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:59, 8 March 2015 (UTC)<br />
<br />
:::::::::Well, the definition is ok, but applying it strictly would make maintenance harder in some instances, for example a few hours ago I fixed a bunch of double redirects with Wiki Monkey's plugin, which qualifies them as automatic edits: if I had to switch to the bot account it would have taken too long and alomost defeated the purpose of having a quick button for that. That's why in practice I think I'll keep just deciding case by case.<br />
:::::::::About manual edits with bot accounts you're right, I completely forgot that, so the idea is discarded of course, as I don't know of a way to change that behavior either.<br />
:::::::::I'll keep this discussion around for a while, just to see if after re-reading it in the future I'll be able to come up with a better conclusion.<br />
:::::::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 10:05, 9 March 2015 (UTC)<br />
<br />
== Wiki Registration AntiSpam box "FunnyAnswer" Bash Note required ==<br />
<br />
Just registered and already contacting an admin (u_u), in any case, While registering after I was amused by the AntiSpam "FunnyAnswer" box, I copied the text to my terminal, and pasted the code. It was apparently wrong! , did it 3 more times, all the same result....<br />
Then, for no good reason, I decided to try [[Bash]], as I normally use "[[fish]]", and surprisingly enough it gave another result, which was easily accepted.<br />
Apparently fish got "date -u +%V`uname`" translated into "14`uname`", instead of "14Linux".<br />
<br />
I understand that most users wouldn't replace Bash, but I think it is worth a mention to use it for the challenge. Additionally, while we are at it, maybe add a newbie friendly <br />
<br />
"What is the output of the following line in the Bash terminal"<br />
[code][/code]<br />
<br />
With a possible link to the Bash wiki page, for a toddler user, who just decided for some reason to edit the marvellous ArchWiki, instead of the soulless<br />
<br />
"What is the output of "date -u +%V`uname`|sha256sum|sed 's/\W//g'"?"<br />
<br />
>>> Challenge form field is;<br />
<input type="text" class="mw-ui-input" name="FunnyAnswer" tabindex="9" value="" id="FunnyAnswer"><br />
<br />
{{Unsigned|4 April 2015|Serag4000}}<br />
<br />
:Thank you for the feedback and welcome to the ArchWiki!<br />
:Yes, backticks don't work in fish [http://fishshell.com/docs/current/faq.html#faq-subcommand] [https://github.com/fish-shell/fish-shell/issues/1159] [https://github.com/fish-shell/fish-shell/issues/1481] :)<br />
:It happens frequently that new users report registration difficulties in the forums, although I'm not sure if somebody's ever proposed to explicitly mention Bash in the question, actually I don't think it would be a bad idea. In any case though, patching the captcha is beyond the powers of a wiki admin, and a request in the bug tracker should be opened for that, so you may want to go that way on your own, or I'll just put this in my ''TodoList''&trade; and discuss it at some point in time.<br />
:— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:08, 5 April 2015 (UTC)<br />
<br />
== File uploads? ==<br />
<br />
Forgive me for asking this dumb question, but are file uploads enabled on this Wiki? According to [https://www.mediawiki.org/wiki/Help:Managing_files this] there should be an "Upload File" link under "tools", but I don't see it. Some files have obviously been [[Special:ListFiles|uploaded]], but the most recent was in 2008, and I'm wondering if file uploads were disabled since then. I would like to upload some diagrams now and then, but I can't figure out how. Am I just looking in the wrong place? [[User:EscapedNull|EscapedNull]] ([[User talk:EscapedNull|talk]]) 15:43, 18 April 2015 (UTC)<br />
<br />
:It's not a "dumb question", don't be afraid of asking anything you want :) File uploads are deliberately disabled on this wiki for regular users, the reasoning being in [[Help:Style#Non-pertinent content]]. [[Disk encryption]] has some examples of beautiful Unicode diagrams by [[User:Sas]], who explained how he made them in [[Talk:Disk encryption#Unicode graphs.2Fpatterns]]: do you think that's a viable solution for you? — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:56, 19 April 2015 (UTC)<br />
<br />
::Thanks for the reply. I've used ASCII Flow before and its functionality is pretty limited, and I don't use Kate, but it did give me the idea to search for Vim plugins, where I found [http://www.vim.org/scripts/script.php?script_id=173 this one] right off the bat. I'll give it a try soon and see about using it instead. I asked about file uploads because I like the [http://www.graphviz.org/Documentation/dotguide.pdf dot] language, which only supports exporting SVG and simple image formats. Maybe someday Arch Wiki will support [https://www.mediawiki.org/wiki/Extension:GraphViz Extension:GraphViz]? [[User:EscapedNull|EscapedNull]] ([[User talk:EscapedNull|talk]]) 11:03, 20 April 2015 (UTC)<br />
<br />
:::Nice, if you make it to draw those diagrams with the boxdraw plugin they will also be more examples we will be able to show to users who will come with the same question! About the GraphViz extension, never say never, but I don't see it as something happening in the foreseeable future :) — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:56, 21 April 2015 (UTC)<br />
<br />
==<s> Broken page </s>==<br />
<br />
Hi, regarding this page: [[Window_Manager_(%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9)]]<br />
<br />
There seems to be an error which breaks the rendering of the MediaWiki interface on that page, e.g. the page/discussion/edit buttons at the top are rendered improperly. It's possibly caused by the dir=rtl divs interleaving the Article summary templates, do you have an idea how to fix that?<br />
<br />
-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 16:35, 19 July 2015 (UTC)<br />
<br />
:I think [https://wiki.archlinux.org/index.php?title=Window_Manager_%28%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9%29&diff=385510&oldid=384390 this] fixed it, there were 3 non-closed divs and MW didn't like it (and for once I agree :P ). – [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:50, 20 July 2015 (UTC)<br />
<br />
::Oh, thanks, it's fixed indeed. [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:25, 20 July 2015 (UTC)<br />
<br />
== Yocto ==<br />
<br />
Thank you for helping me with my style issues on the [[Yocto]] page [[User:Soderstrom|Soderstrom]] ([[User talk:Soderstrom|talk]]) 08:59, 6 August 2015 (UTC)</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390110Yocto2015-08-05T16:59:03Z<p>Soderstrom: /* Installation */</p>
<hr />
<div>[[Category:Development]]<br />
{{Style|Several [[Help:Style]] issues.}}<br />
<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer.<br />
<br />
{{Note|Arch Linux is not validated to work with Yocto/Poky.}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python2}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
{{Note| For the 64-bit version of Arch Linux, [[Install]] the {{Pkg|gcc-multilib}} package from the official [[multilib]] repository.<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
}}<br />
<br />
Clone the official git repository. In this example the '''fido''' branch is used.<br />
<br />
$ <nowiki>git clone --branch fido git://git.yoctoproject.org/poky.git ~/poky</nowiki><br />
<br />
YP Core requires the use of {{Pkg|python2}}, from the [[Python#Python_2|Python]] page<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin/python2:$PATH<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the '''core-image-minimal''' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with {{ic|bitbake}}<br />
<br />
$ cd ~/poky<br />
$ source oe-init-build-env build-qemux86<br />
{{Tip|<br />
In {{ic|~/poky/build-qemux86/conf/local.conf}}<br />
* Change the directory for downloads in order to reuse them, example {{ic|<nowiki>DL_DIR ?= "~/poky-downloads"</nowiki>}}<br />
* The build system can use a substantial amount of disk space during the build process, in order to preserve disk space add the line {{ic|<nowiki>INHERIT += "rm_work"</nowiki>}}}}<br />
$ bitbake core-image-minimal<br />
<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
{{Note|The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.}}<br />
<br />
== Run core-image-minimal ==<br />
<br />
To run this image in [[QEMU]], start it with the '''runqemu''' command as follows<br />
<br />
$ runqemu qemux86<br />
<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
<br />
{{Tip| If the kernel was recently updated, rebooting might help you avoid issues with tunctl}}</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390108Yocto2015-08-05T16:49:39Z<p>Soderstrom: /* Installation */ Making a note that gcc-multilib is only required for Arch Linux 64-bit</p>
<hr />
<div>[[Category:Development]]<br />
{{Style|Several [[Help:Style]] issues.}}<br />
<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer.<br />
<br />
{{Note|Arch Linux is not validated to work with Yocto/Poky.}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python2}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
{{Note| For the 64-bit version of Arch Linux, [[Install]] the {{Pkg|gcc-multilib}} package from the official [[multilib]] repository.<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
}}<br />
<br />
Clone the official git repository. In this example the '''fido''' branch is used.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git ~/poky<br />
<br />
YP Core requires the use of {{Pkg|python2}}, from the [[Python#Python_2|Python]] page<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin/python2:$PATH<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the '''core-image-minimal''' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with {{ic|bitbake}}<br />
<br />
$ cd ~/poky<br />
$ source oe-init-build-env build-qemux86<br />
{{Tip|<br />
In {{ic|~/poky/build-qemux86/conf/local.conf}}<br />
* Change the directory for downloads in order to reuse them, example {{ic|<nowiki>DL_DIR ?= "~/poky-downloads"</nowiki>}}<br />
* The build system can use a substantial amount of disk space during the build process, in order to preserve disk space add the line {{ic|<nowiki>INHERIT += "rm_work"</nowiki>}}}}<br />
$ bitbake core-image-minimal<br />
<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
{{Note|The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.}}<br />
<br />
== Run core-image-minimal ==<br />
<br />
To run this image in [[QEMU]], start it with the '''runqemu''' command as follows<br />
<br />
$ runqemu qemux86<br />
<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
<br />
{{Tip| If the kernel was recently updated, rebooting might help you avoid issues with tunctl}}</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390107Yocto2015-08-05T16:37:45Z<p>Soderstrom: /* Installation */</p>
<hr />
<div>[[Category:Development]]<br />
{{Style|Several [[Help:Style]] issues.}}<br />
<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer.<br />
<br />
{{Note|Arch Linux is not validated to work with Yocto/Poky.}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python2}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
[[Install]] the {{Pkg|gcc-multilib}} package from the official [[multilib]] repository.<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
<br />
Clone the official git repository. In this example the '''fido''' branch is used.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git ~/poky<br />
<br />
YP Core requires the use of {{Pkg|python2}}, from the [[Python#Python_2|Python]] page<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin/python2:$PATH<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the '''core-image-minimal''' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with {{ic|bitbake}}<br />
<br />
$ cd ~/poky<br />
$ source oe-init-build-env build-qemux86<br />
{{Tip|<br />
In {{ic|~/poky/build-qemux86/conf/local.conf}}<br />
* Change the directory for downloads in order to reuse them, example {{ic|<nowiki>DL_DIR ?= "~/poky-downloads"</nowiki>}}<br />
* The build system can use a substantial amount of disk space during the build process, in order to preserve disk space add the line {{ic|<nowiki>INHERIT += "rm_work"</nowiki>}}}}<br />
$ bitbake core-image-minimal<br />
<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
{{Note|The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.}}<br />
<br />
== Run core-image-minimal ==<br />
<br />
To run this image in [[QEMU]], start it with the '''runqemu''' command as follows<br />
<br />
$ runqemu qemux86<br />
<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
<br />
{{Tip| If the kernel was recently updated, rebooting might help you avoid issues with tunctl}}</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390106Yocto2015-08-05T16:36:32Z<p>Soderstrom: /* Build core-image-minimal */ Added some configuration tips</p>
<hr />
<div>[[Category:Development]]<br />
{{Style|Several [[Help:Style]] issues.}}<br />
<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer.<br />
<br />
{{Note|Arch Linux is not validated to work with Yocto/Poky.}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python2}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
[[Install]] the {{Pkg|gcc-multilib}} package from the official [[multilib]] repository.<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
<br />
Clone the official git repository. In this example the '''fido''' branch is used.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git poky<br />
<br />
YP Core requires the use of {{Pkg|python2}}, from the [[Python#Python_2|Python]] page<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin/python2:$PATH<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the '''core-image-minimal''' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with {{ic|bitbake}}<br />
<br />
$ cd ~/poky<br />
$ source oe-init-build-env build-qemux86<br />
{{Tip|<br />
In {{ic|~/poky/build-qemux86/conf/local.conf}}<br />
* Change the directory for downloads in order to reuse them, example {{ic|<nowiki>DL_DIR ?= "~/poky-downloads"</nowiki>}}<br />
* The build system can use a substantial amount of disk space during the build process, in order to preserve disk space add the line {{ic|<nowiki>INHERIT += "rm_work"</nowiki>}}}}<br />
$ bitbake core-image-minimal<br />
<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
{{Note|The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.}}<br />
<br />
== Run core-image-minimal ==<br />
<br />
To run this image in [[QEMU]], start it with the '''runqemu''' command as follows<br />
<br />
$ runqemu qemux86<br />
<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
<br />
{{Tip| If the kernel was recently updated, rebooting might help you avoid issues with tunctl}}</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390105Yocto2015-08-05T14:46:48Z<p>Soderstrom: /* Run core-image-minimal in QEMU */ Added page link</p>
<hr />
<div>[[Category:Development]]<br />
{{Style|Several [[Help:Style]] issues.}}<br />
<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer.<br />
<br />
{{Note|Arch Linux is not validated to work with Yocto/Poky.}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python2}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
[[Install]] the {{Pkg|gcc-multilib}} package from the official [[multilib]] repository.<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
<br />
Clone the official git repository. In this example the '''fido''' branch is used.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git poky<br />
<br />
YP Core requires the use of {{Pkg|python2}}, from the [[Python#Python_2|Python]] page<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin/python2:$PATH<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the '''core-image-minimal''' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with {{ic|bitbake}}<br />
<br />
$ cd poky<br />
$ source oe-init-build-env build-qemux86<br />
<br />
$ bitbake core-image-minimal<br />
<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
{{Note|The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.}}<br />
<br />
== Run core-image-minimal ==<br />
<br />
To run this image in [[QEMU]], start it with the '''runqemu''' command as follows<br />
<br />
$ runqemu qemux86<br />
<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
<br />
{{Tip| If the kernel was recently updated, rebooting might help you avoid issues with tunctl}}</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390104Yocto2015-08-05T14:42:19Z<p>Soderstrom: Style update, added notes/tips</p>
<hr />
<div>[[Category:Development]]<br />
{{Style|Several [[Help:Style]] issues.}}<br />
<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer.<br />
<br />
{{Note|Arch Linux is not validated to work with Yocto/Poky.}}<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python2}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
[[Install]] the {{Pkg|gcc-multilib}} package from the official [[multilib]] repository.<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
<br />
Clone the official git repository. In this example the '''fido''' branch is used.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git poky<br />
<br />
YP Core requires the use of {{Pkg|python2}}, from the [[Python#Python_2|Python]] page<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin/python2:$PATH<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the '''core-image-minimal''' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with {{ic|bitbake}}<br />
<br />
$ cd poky<br />
$ source oe-init-build-env build-qemux86<br />
<br />
$ bitbake core-image-minimal<br />
<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
{{Note|The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.}}<br />
<br />
== Run core-image-minimal in QEMU ==<br />
<br />
To run this image in QEMU, start it with the '''runqemu''' command as follows<br />
<br />
$ runqemu qemux86<br />
<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
<br />
{{Tip| If the kernel was recently updated, rebooting might help you avoid issues with tunctl}}</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390098Yocto2015-08-05T12:59:55Z<p>Soderstrom: Attempt to make the page more clear, by reworking it.</p>
<hr />
<div>[[Category:Development]]<br />
{{Style|Several [[Help:Style]] issues.}}<br />
<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer. Note that Arch Linux is still not validated to work with Yocto/Poky.<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|git}}, {{Pkg|diffstat}}, {{Pkg|unzip}}, {{Pkg|texinfo}}, {{Pkg|python2}}, {{Pkg|chrpath}}, {{Pkg|wget}}, {{Pkg|xterm}}, {{Pkg|sdl}}, {{Pkg|socat}} and {{Pkg|cpio}} packages.<br />
<br />
[[Install]] the {{Pkg|gcc-multilib}} package from the official [[multilib]] repository.<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
<br />
Clone the official git repository. In this example the '''fido''' branch is used.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git poky<br />
<br />
YP Core requires the use of {{Pkg|python2}}, from the [[Python#Python_2|Python]] page<br />
<br />
$ mkdir -p ~/bin<br />
$ ln -s /usr/bin/python2 ~/bin/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python-config<br />
$ export PATH=~/bin/python2:$PATH<br />
<br />
== Build core-image-minimal ==<br />
<br />
Time to build the '''core-image-minimal''' target. First place yourself in the {{ic|poky}} directory and source the environment script. Then build it with {{ic|bitbake}}<br />
<br />
$ cd poky<br />
$ source oe-init-build-env build-qemux86<br />
<br />
$ bitbake core-image-minimal<br />
<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.<br />
<br />
== Run core-image-minimal in QEMU ==<br />
<br />
To run this image in QEMU, start it with the '''runqemu''' command as follows<br />
<br />
$ runqemu qemux86<br />
<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
<br />
If you have updated the host kernel (ie pacman -Syyu) but not rebooted your system, then you will most likely get into problems with tunctl. The solution is simple, reboot.</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390094Yocto2015-08-05T12:07:11Z<p>Soderstrom: Updated the summary</p>
<hr />
<div>[[Category:Development]]<br />
{{Style|Several [[Help:Style]] issues.}}<br />
<br />
The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. In later versions this is no longer the case, and hopefully in the future it will be even easier. For information about how to get it running on older version, there is a good guide [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html here].<br />
<br />
For this guide the focus will be on YP Core 1.8 (Fido) and newer. Note that Arch Linux is still not validated to work with Yocto/Poky.<br />
<br />
== Installation ==<br />
<br />
<br />
=== Multilib ===<br />
<br />
[[Multilib#Enabling|Enable Multilib]] repository by uncommenting both of these lines in /etc/pacman.conf<br />
<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
Then update the package list and upgrade with {{ic|pacman -Syu}}.<br />
<br />
=== Install dependencies ===<br />
<br />
pacman -S git diffstat unzip texinfo python2 chrpath \<br />
gcc-multilib wget xterm sdl socat cpio<br />
<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
<br />
<br />
== Test your installation ==<br />
<br />
In order to test that yocto is properly working, we will build '''core-image-minimal'''<br />
<br />
=== Clone the git repository ===<br />
<br />
Before we begin we need to clone the official git repository. Here we will use the '''fido''' branch.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git poky<br />
<br />
=== python2 ===<br />
<br />
Yocto currently requires the use of python2, but the default in Arch Linux is python3.<br />
In the [[Python#Python_2|Python]] page there is an explanation about how to trick the environment.<br />
<br />
We will do almost the same, but also add a simple script file so that it can be easily sourced later.<br />
<br />
$ mkdir -p ~/bin/python2<br />
$ ln -s /usr/bin/python2 ~/bin/python2/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python2/python-config<br />
<br />
Now create the file {{ic|~/bin/python2-env}} and insert the following text within it<br />
<br />
export PATH=~/bin/python2:$PATH<br />
<br />
=== Setup and build the minimal image ===<br />
<br />
First you need to source the '''python2-env''' file we just created and then initialize the yocto environment.<br />
In the example below we create a folder named '''build-qemux86''', the source command will also place you in this folder.<br />
From here we can now build the '''core-image-minimal'''.<br />
<br />
$ cd poky<br />
$ source ~/bin/python2-env && source oe-init-build-env build-qemux86<br />
$ bitbake core-image-minimal<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.<br />
<br />
=== Run the image in QEMU ===<br />
<br />
To run this image in QEMU, start it with the '''runqemu''' command as follows<br />
<br />
<br />
$ runqemu qemux86<br />
<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
<br />
If you have updated the host kernel (ie pacman -Syyu) but not rebooted your system, then you will most likely get into problems with tunctl. The solution is simple, reboot.</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390093Yocto2015-08-05T11:41:31Z<p>Soderstrom: /* Test your installation */ Added subsection with information about how to run the built image, just for completeness.</p>
<hr />
<div>[[Category:Development]]<br />
{{Style|Several [[Help:Style]] issues.}}<br />
<br />
Arch Linux is currently not validated to work with Yocto/Poky, and it used to require changing the [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html build script]. That is no longer the case. This guide is written with respect to YP Core 1.8 (Fido) and newer.<br />
<br />
== Installation ==<br />
<br />
<br />
=== Multilib ===<br />
<br />
[[Multilib#Enabling|Enable Multilib]] repository by uncommenting both of these lines in /etc/pacman.conf<br />
<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
Then update the package list and upgrade with {{ic|pacman -Syu}}.<br />
<br />
=== Install dependencies ===<br />
<br />
pacman -S git diffstat unzip texinfo python2 chrpath \<br />
gcc-multilib wget xterm sdl socat cpio<br />
<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
<br />
<br />
== Test your installation ==<br />
<br />
In order to test that yocto is properly working, we will build '''core-image-minimal'''<br />
<br />
=== Clone the git repository ===<br />
<br />
Before we begin we need to clone the official git repository. Here we will use the '''fido''' branch.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git poky<br />
<br />
=== python2 ===<br />
<br />
Yocto currently requires the use of python2, but the default in Arch Linux is python3.<br />
In the [[Python#Python_2|Python]] page there is an explanation about how to trick the environment.<br />
<br />
We will do almost the same, but also add a simple script file so that it can be easily sourced later.<br />
<br />
$ mkdir -p ~/bin/python2<br />
$ ln -s /usr/bin/python2 ~/bin/python2/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python2/python-config<br />
<br />
Now create the file {{ic|~/bin/python2-env}} and insert the following text within it<br />
<br />
export PATH=~/bin/python2:$PATH<br />
<br />
=== Setup and build the minimal image ===<br />
<br />
First you need to source the '''python2-env''' file we just created and then initialize the yocto environment.<br />
In the example below we create a folder named '''build-qemux86''', the source command will also place you in this folder.<br />
From here we can now build the '''core-image-minimal'''.<br />
<br />
$ cd poky<br />
$ source ~/bin/python2-env && source oe-init-build-env build-qemux86<br />
$ bitbake core-image-minimal<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.<br />
<br />
=== Run the image in QEMU ===<br />
<br />
To run this image in QEMU, start it with the '''runqemu''' command as follows<br />
<br />
<br />
$ runqemu qemux86<br />
<br />
Continuing with the following parameters:<br />
KERNEL: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin]<br />
ROOTFS: [/home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4]<br />
FSTYPE: [ext4]<br />
Setting up tap interface under sudo<br />
[sudo] password for user: <br />
Acquiring lockfile for tap0...<br />
Running qemu-system-i386...<br />
/home/user/poky/build-qemux86/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-i386 -kernel /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/bzImage-qemux86.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -cpu qemu32 -hda /home/user/poky/build-qemux86/tmp/deploy/images/qemux86/core-image-minimal-qemux86-20150804095542.rootfs.ext4 -show-cursor -usb -usbdevice wacom-tablet -vga vmware -no-reboot -m 256 --append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 "<br />
Set 'tap0' nonpersistent<br />
Releasing lockfile of preconfigured tap device 'tap0'<br />
<br />
If you have updated the host kernel (ie pacman -Syyu) but not rebooted your system, then you will most likely get into problems with tunctl. The solution is simple, reboot.</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=390037Yocto2015-08-05T07:00:16Z<p>Soderstrom: /* Setup and build the minimal image */ Added example output, and shortly described common warnings</p>
<hr />
<div>Arch Linux is currently not validated to work with Yocto/Poky, and it used to require changing the [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html build script]. That is no longer the case. This guide is written with respect to YP Core 1.8 (Fido) and newer.<br />
<br />
== Installation ==<br />
<br />
<br />
=== Multilib ===<br />
<br />
[[Multilib#Enabling|Enable Multilib]] repository by uncommenting both of these lines in /etc/pacman.conf<br />
<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
Then update the package list and upgrade with {{ic|pacman -Syu}}.<br />
<br />
=== Install dependencies ===<br />
<br />
pacman -S git diffstat unzip texinfo python2 chrpath \<br />
gcc-multilib wget xterm sdl socat cpio<br />
<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
<br />
<br />
== Test your installation ==<br />
<br />
In order to test that yocto is properly working, we will build '''core-image-minimal'''<br />
<br />
=== Clone the git repository ===<br />
<br />
Before we begin we need to clone the official git repository. Here we will use the '''fido''' branch.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git poky<br />
<br />
=== python2 ===<br />
<br />
Yocto currently requires the use of python2, but the default in Arch Linux is python3.<br />
In the [[Python#Python_2|Python]] page there is an explanation about how to trick the environment.<br />
<br />
We will do almost the same, but also add a simple script file so that it can be easily sourced later.<br />
<br />
$ mkdir -p ~/bin/python2<br />
$ ln -s /usr/bin/python2 ~/bin/python2/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python2/python-config<br />
<br />
Now create the file {{ic|~/bin/python2-env}} and insert the following text within it<br />
<br />
export PATH=~/bin/python2:$PATH<br />
<br />
=== Setup and build the minimal image ===<br />
<br />
First you need to source the '''python2-env''' file we just created and then initialize the yocto environment.<br />
In the example below we create a folder named '''build-qemux86''', the source command will also place you in this folder.<br />
From here we can now build the '''core-image-minimal'''.<br />
<br />
$ cd poky<br />
$ source ~/bin/python2-env && source oe-init-build-env build-qemux86<br />
$ bitbake core-image-minimal<br />
WARNING: Host distribution "Arch-Linux" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.<br />
Parsing recipes: 100%<br />
|########################################################################################################################################################################################################################################################################################| Time: 00:02:42<br />
Parsing of 884 .bb files complete (0 cached, 884 parsed). 1285 targets, 41 skipped, 0 masked, 0 errors.<br />
NOTE: Resolving any missing task queue dependencies<br />
<br />
Build Configuration:<br />
BB_VERSION = "1.26.0"<br />
BUILD_SYS = "x86_64-linux"<br />
NATIVELSBSTRING = "Arch-Linux"<br />
TARGET_SYS = "i586-poky-linux"<br />
MACHINE = "qemux86"<br />
DISTRO = "poky"<br />
DISTRO_VERSION = "1.8"<br />
TUNE_FEATURES = "m32 i586"<br />
TARGET_FPU = ""<br />
meta <br />
meta-yocto <br />
meta-yocto-bsp = "fido:08d32590411568e7bf11612ac695a6e9c6df6286"<br />
<br />
NOTE: Preparing RunQueue<br />
NOTE: Executing SetScene Tasks<br />
NOTE: Executing RunQueue Tasks<br />
WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz, attempting MIRRORS if available<br />
NOTE: Tasks Summary: Attempted 1989 tasks of which 9 didn't need to be rerun and all succeeded.<br />
<br />
Summary: There were 2 WARNING messages shown.<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]<br />
<br />
The first warning about Arch Linux not been validated is expected. The second warning can happen when failing to download a resource, the build system will then attempt to get that resource from the next mirror.</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Yocto&diff=389956Yocto2015-08-04T12:11:48Z<p>Soderstrom: Created an initial description of how to get Yocto working in Arch Linux. Please feel free to give feedback and discuss this page.</p>
<hr />
<div>Arch Linux is currently not validated to work with Yocto/Poky, and it used to require changing the [http://wor.github.io/bash/2013/08/11/embedded-excursions-part-1.html build script]. That is no longer the case. This guide is written with respect to YP Core 1.8 (Fido) and newer.<br />
<br />
== Installation ==<br />
<br />
<br />
=== Multilib ===<br />
<br />
[[Multilib#Enabling|Enable Multilib]] repository by uncommenting both of these lines in /etc/pacman.conf<br />
<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
Then update the package list and upgrade with {{ic|pacman -Syu}}.<br />
<br />
=== Install dependencies ===<br />
<br />
pacman -S git diffstat unzip texinfo python2 chrpath \<br />
gcc-multilib wget xterm sdl socat cpio<br />
<br />
You may recieve the following conflicts<br />
<br />
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y<br />
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y<br />
<br />
Resolve these by choosing 'y' (we actually want the multilib versions)<br />
<br />
<br />
== Test your installation ==<br />
<br />
In order to test that yocto is properly working, we will build '''core-image-minimal'''<br />
<br />
=== Clone the git repository ===<br />
<br />
Before we begin we need to clone the official git repository. Here we will use the '''fido''' branch.<br />
<br />
$ git clone --branch fido git://git.yoctoproject.org/poky.git poky<br />
<br />
=== python2 ===<br />
<br />
Yocto currently requires the use of python2, but the default in Arch Linux is python3.<br />
In the [[Python#Python_2|Python]] page there is an explanation about how to trick the environment.<br />
<br />
We will do almost the same, but also add a simple script file so that it can be easily sourced later.<br />
<br />
$ mkdir -p ~/bin/python2<br />
$ ln -s /usr/bin/python2 ~/bin/python2/python<br />
$ ln -s /usr/bin/python2-config ~/bin/python2/python-config<br />
<br />
Now create the file {{ic|~/bin/python2-env}} and insert the following text within it<br />
<br />
export PATH=~/bin/python2:$PATH<br />
<br />
=== Setup and build the minimal image ===<br />
<br />
First you need to source the '''python2-env''' file we just created and then initialize the yocto environment.<br />
In the example below we create a folder named '''build-qemux86''', the source command will also place you in this folder.<br />
From here we can now build the '''core-image-minimal'''.<br />
<br />
$ cd poky<br />
$ source ~/bin/python2-env && source oe-init-build-env build-qemux86<br />
$ bitbake core-image-minimal<br />
<br />
This will take some time to complete. For more details about yocto there is a [http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html Quick Start Guide]</div>Soderstromhttps://wiki.archlinux.org/index.php?title=User:Soderstrom&diff=380657User:Soderstrom2015-07-01T19:44:04Z<p>Soderstrom: Created page with "At the time of writing I'm an 29 year old man, born in 1986, from Sweden. I started my life in a small town named Hagfors. I moved to Linköping (Sweden) when I started my uni..."</p>
<hr />
<div>At the time of writing I'm an 29 year old man, born in 1986, from Sweden. I started my life in a small town named Hagfors. I moved to Linköping (Sweden) when I started my university studies. There I studied a master of Computer Science, during my time at the university I started my journey with learning about Linux. I've been addicted ever since. Working myself through different distributions Centos, Mandriva, Ubuntu, Fedora and finally Arch Linux. Today I'm a proud user of Arch Linux.<br />
<br />
I'm working as a Embedded System Engineer at a Swedish consultant firm where I most of the time find myself in the world of Linux. I love technology and I see myself as a true believer of open source.<br />
<br />
When I'm not working, programming or playing around kernel configurations I spend my time with my wonderful wife Annelie. Oh, and the best part is, she loves computers too! <br />
<br />
Yours sincerely<br />
Rikard Söderström</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Talk:VirtualBox&diff=380655Talk:VirtualBox2015-07-01T18:14:58Z<p>Soderstrom: /* Automounting Shared Folders also requires VBoxService to be enabled */</p>
<hr />
<div>== vdfuse ==<br />
<br />
The tool [https://aur.archlinux.org/packages.php?ID=31200 vdfuse] (if it works with archlinux) could be suggested in the [[VirtualBox#Mounting_.vdi_Images|Mounting .vdi Images]] section instead of telling that it's impossible. -- [[User:Heinrich5991|Heinrich5991]] ([[User talk:Heinrich5991|talk]]) 11:01, 3 October 2012 (UTC)<br />
: Since you use vdfuse and familiar with it, you can add these info yourself. See [[Help:Editing]] and [[Help:Style]] for a guide. -- [[User:Fengchao|Fengchao]] ([[User talk:Fengchao|talk]]) 12:17, 5 October 2012 (UTC)<br />
<br />
== DKMS ==<br />
<br />
At the time of writing this, installing virtualbox and virtualbox-host-modules from the official repositories will not work as the modules are outdated, however, following the description for the dkms package works, so it might be worth mentioning that "if the virtualbox-host-modules package is out of date, the dkms solution below can be used." {{Unsigned|13:30, 18 September 2014 (UTC)|DusteD}}<br />
<br />
:See {{Bug|40495}}, linked from [[VirtualBox#Load_the_Virtualbox_kernel_modules_2]] along with some accompanying threads. As this issue is the same for both [[VirtualBox#Installation_steps_for_Arch_Linux_hosts|hosts]] and [[VirtualBox#Installation_steps_for_Arch_Linux_guests|guests]], searching for problems with the other module could provide more information for your issue.<br />
:AFAIK, all it takes is to run {{ic|depmod $(uname -r)}} after each update of {{Pkg|virtualbox-host-modules}}/{{Pkg|virtualbox-guest-modules}} (''depmod'' should be run from the packages' ''.install'' files, see the bug), or use [[DKMS]] to (re)compile the {{Pkg|virtualbox-guest-dkms}}/{{Pkg|virtualbox-host-dkms}} module and have a whole bunch of files untracked by pacman in the filesystem...<br />
:-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:22, 18 September 2014 (UTC)<br />
<br />
== NS_ERROR_FAILURE (0x80004005) ==<br />
<br />
I found out ~/.config/VirtualBox/VirtualBox.xml was empty (size 0 Bytes) while ~/.config/VirtualBox/VirtualBox.xml-prev was not. A simple copy of the "-prev" to the original fixed this issue for me: cp ~/.config/VirtualBox/VirtualBox.xml-prev ~/.config/VirtualBox/VirtualBox.xml<br />
{{unsigned|11 January 2015 20:44|Costis}}<br />
<br />
: Cannot find the cause of the problem. Anyway, if {{ic|~/.config/VirtualBox/VirtualBox.xml}} has a 0 byte size, VirtualBox will complain at startup and will say it cannot find proper XML tags. -- [[User:wget|wget]] ([[User talk:wget|talk]]) 21:26, 12 January 2015 (UTC)<br />
<br />
== Binding to a physical drive ==<br />
<br />
In the near future, I'm gonna make some changes to this section [[VirtualBox#Create a raw disk .vmdk image]]. The latter advertises the use of the {{ic|disk}} group while it is clearly unavailable anymore since Arch migrated to systemd. And the command {{ic|VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdb -register}} does not recognize the {{ic|-register}} argument --> replacing each occurrences in the article where this statement appears is needed. Comments on these 2 topics are welcomed and even needed for me to ensure I'm right. -- [[User:wget|wget]] ([[User talk:wget|talk]]) 08:13, 5 February 2015 (UTC)<br />
<br />
== modprobe: ERROR: could not insert 'vboxguest': No such device ==<br />
My system is dual boot for windows 7 & Arch Linux. Is it possible to remove the error message?<br />
In windows 7, I use virtualbox to run the same file system of Archlinux.<br />
So, my /etc/modules-load.d/virtualbox.conf is like<br />
# for host<br />
vboxdrv<br />
# for guest<br />
vboxvideo<br />
vboxguest<br />
vboxsf<br />
<br />
It works well when I boot archlinux inside virtualbox.<br />
It shows systemd-modules-load.service failed when I boot directly.<br />
# systemctl status systemd-modules-load.service<br />
● systemd-modules-load.service - Load Kernel Modules<br />
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)<br />
Active: failed (Result: exit-code) since Wed 2015-05-20 09:58:59 CST; 6min ago<br />
Docs: man:systemd-modules-load.service(8)<br />
man:modules-load.d(5)<br />
Process: 25784 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)<br />
Main PID: 25784 (code=exited, status=1/FAILURE)<br />
<br />
May 20 09:58:58 t64 systemd[1]: Starting Load Kernel Modules...<br />
May 20 09:58:59 t64 systemd-modules-load[25784]: Failed to insert 'vboxguest': No such device<br />
May 20 09:58:59 t64 systemd-modules-load[25784]: Failed to insert 'vboxsf': No such device<br />
May 20 09:58:59 t64 systemd[1]: systemd-modules-load.service: main process exited, code=exited, status=1/FAILURE<br />
May 20 09:58:59 t64 systemd[1]: Failed to start Load Kernel Modules.<br />
May 20 09:58:59 t64 systemd[1]: Unit systemd-modules-load.service entered failed state.<br />
May 20 09:58:59 t64 systemd[1]: systemd-modules-load.service failed.<br />
<br />
== Automounting Shared Folders also requires VBoxService to be enabled ==<br />
<br />
On the wiki page section [https://wiki.archlinux.org/index.php/VirtualBox#Load_the_Virtualbox_kernel_modules_2 Load the Virtualbox kernel modules 2] the VBoxService is barely mentioned. It is written<br />
<br />
"Alternatively, enable the vboxservice service which loads the modules and synchronizes the guest's system time with the host."<br />
<br />
In my humble opinion it should state that this service is also required when you want to automount your shared folders.<br />
I would change it myself, but since I just joined the wiki, I feel I should discuss it before changing.<br />
<br />
My suggested change would be something like<br />
<br />
"Alternatively, enable the vboxservice service which loads the modules and synchronizes the guest's system time with the host. This service is also required if you wish to enable automounting of shared folders."<br />
<br />
It should probably also be mentioned in the [https://wiki.archlinux.org/index.php/VirtualBox#Automounting Automounting] section.<br />
<br />
Does anyone have any input or feedback on my somewhat limit suggestion?<br />
<br />
:This was mentioned in the article previously, but I removed it after testing that I was able to automount shared folders without the service running. Can you double check that the service is actually required? [[User:Silverhammermba|Silverhammermba]] ([[User talk:Silverhammermba|talk]]) 16:45, 1 July 2015 (UTC)<br />
<br />
::When looking through the source code for [https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.c vboxsf module] I cannot find any trace of any code that would automount the devices. This is expected as the module is only responsible for registering the filesystem type and performing the mount when requested to do so. Then again, calling it required is not actually true since you could technically get around this by adding an entry to fstab. Or setting up a script that calls "mount -t vboxsf SHARED_FOLDER_NAME MOUNT_POINT". But without an action like enable the service, adding a fstab entry or any other automation techniques the automating should not happen. So maybe in the [https://wiki.archlinux.org/index.php/VirtualBox#Automounting Automounting] section we should mention this. [[User:Soderstrom|Soderstrom]] ([[User talk:Soderstrom|talk]]) 18:14, 1 July 2015 (UTC)</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Talk:VirtualBox&diff=380654Talk:VirtualBox2015-07-01T18:09:40Z<p>Soderstrom: /* Automounting Shared Folders also requires VBoxService to be enabled */ Attempt of answering feedback</p>
<hr />
<div>== vdfuse ==<br />
<br />
The tool [https://aur.archlinux.org/packages.php?ID=31200 vdfuse] (if it works with archlinux) could be suggested in the [[VirtualBox#Mounting_.vdi_Images|Mounting .vdi Images]] section instead of telling that it's impossible. -- [[User:Heinrich5991|Heinrich5991]] ([[User talk:Heinrich5991|talk]]) 11:01, 3 October 2012 (UTC)<br />
: Since you use vdfuse and familiar with it, you can add these info yourself. See [[Help:Editing]] and [[Help:Style]] for a guide. -- [[User:Fengchao|Fengchao]] ([[User talk:Fengchao|talk]]) 12:17, 5 October 2012 (UTC)<br />
<br />
== DKMS ==<br />
<br />
At the time of writing this, installing virtualbox and virtualbox-host-modules from the official repositories will not work as the modules are outdated, however, following the description for the dkms package works, so it might be worth mentioning that "if the virtualbox-host-modules package is out of date, the dkms solution below can be used." {{Unsigned|13:30, 18 September 2014 (UTC)|DusteD}}<br />
<br />
:See {{Bug|40495}}, linked from [[VirtualBox#Load_the_Virtualbox_kernel_modules_2]] along with some accompanying threads. As this issue is the same for both [[VirtualBox#Installation_steps_for_Arch_Linux_hosts|hosts]] and [[VirtualBox#Installation_steps_for_Arch_Linux_guests|guests]], searching for problems with the other module could provide more information for your issue.<br />
:AFAIK, all it takes is to run {{ic|depmod $(uname -r)}} after each update of {{Pkg|virtualbox-host-modules}}/{{Pkg|virtualbox-guest-modules}} (''depmod'' should be run from the packages' ''.install'' files, see the bug), or use [[DKMS]] to (re)compile the {{Pkg|virtualbox-guest-dkms}}/{{Pkg|virtualbox-host-dkms}} module and have a whole bunch of files untracked by pacman in the filesystem...<br />
:-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:22, 18 September 2014 (UTC)<br />
<br />
== NS_ERROR_FAILURE (0x80004005) ==<br />
<br />
I found out ~/.config/VirtualBox/VirtualBox.xml was empty (size 0 Bytes) while ~/.config/VirtualBox/VirtualBox.xml-prev was not. A simple copy of the "-prev" to the original fixed this issue for me: cp ~/.config/VirtualBox/VirtualBox.xml-prev ~/.config/VirtualBox/VirtualBox.xml<br />
{{unsigned|11 January 2015 20:44|Costis}}<br />
<br />
: Cannot find the cause of the problem. Anyway, if {{ic|~/.config/VirtualBox/VirtualBox.xml}} has a 0 byte size, VirtualBox will complain at startup and will say it cannot find proper XML tags. -- [[User:wget|wget]] ([[User talk:wget|talk]]) 21:26, 12 January 2015 (UTC)<br />
<br />
== Binding to a physical drive ==<br />
<br />
In the near future, I'm gonna make some changes to this section [[VirtualBox#Create a raw disk .vmdk image]]. The latter advertises the use of the {{ic|disk}} group while it is clearly unavailable anymore since Arch migrated to systemd. And the command {{ic|VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdb -register}} does not recognize the {{ic|-register}} argument --> replacing each occurrences in the article where this statement appears is needed. Comments on these 2 topics are welcomed and even needed for me to ensure I'm right. -- [[User:wget|wget]] ([[User talk:wget|talk]]) 08:13, 5 February 2015 (UTC)<br />
<br />
== modprobe: ERROR: could not insert 'vboxguest': No such device ==<br />
My system is dual boot for windows 7 & Arch Linux. Is it possible to remove the error message?<br />
In windows 7, I use virtualbox to run the same file system of Archlinux.<br />
So, my /etc/modules-load.d/virtualbox.conf is like<br />
# for host<br />
vboxdrv<br />
# for guest<br />
vboxvideo<br />
vboxguest<br />
vboxsf<br />
<br />
It works well when I boot archlinux inside virtualbox.<br />
It shows systemd-modules-load.service failed when I boot directly.<br />
# systemctl status systemd-modules-load.service<br />
● systemd-modules-load.service - Load Kernel Modules<br />
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)<br />
Active: failed (Result: exit-code) since Wed 2015-05-20 09:58:59 CST; 6min ago<br />
Docs: man:systemd-modules-load.service(8)<br />
man:modules-load.d(5)<br />
Process: 25784 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)<br />
Main PID: 25784 (code=exited, status=1/FAILURE)<br />
<br />
May 20 09:58:58 t64 systemd[1]: Starting Load Kernel Modules...<br />
May 20 09:58:59 t64 systemd-modules-load[25784]: Failed to insert 'vboxguest': No such device<br />
May 20 09:58:59 t64 systemd-modules-load[25784]: Failed to insert 'vboxsf': No such device<br />
May 20 09:58:59 t64 systemd[1]: systemd-modules-load.service: main process exited, code=exited, status=1/FAILURE<br />
May 20 09:58:59 t64 systemd[1]: Failed to start Load Kernel Modules.<br />
May 20 09:58:59 t64 systemd[1]: Unit systemd-modules-load.service entered failed state.<br />
May 20 09:58:59 t64 systemd[1]: systemd-modules-load.service failed.<br />
<br />
== Automounting Shared Folders also requires VBoxService to be enabled ==<br />
<br />
On the wiki page section [https://wiki.archlinux.org/index.php/VirtualBox#Load_the_Virtualbox_kernel_modules_2 Load the Virtualbox kernel modules 2] the VBoxService is barely mentioned. It is written<br />
<br />
"Alternatively, enable the vboxservice service which loads the modules and synchronizes the guest's system time with the host."<br />
<br />
In my humble opinion it should state that this service is also required when you want to automount your shared folders.<br />
I would change it myself, but since I just joined the wiki, I feel I should discuss it before changing.<br />
<br />
My suggested change would be something like<br />
<br />
"Alternatively, enable the vboxservice service which loads the modules and synchronizes the guest's system time with the host. This service is also required if you wish to enable automounting of shared folders."<br />
<br />
It should probably also be mentioned in the [https://wiki.archlinux.org/index.php/VirtualBox#Automounting Automounting] section.<br />
<br />
Does anyone have any input or feedback on my somewhat limit suggestion?<br />
<br />
:This was mentioned in the article previously, but I removed it after testing that I was able to automount shared folders without the service running. Can you double check that the service is actually required? [[User:Silverhammermba|Silverhammermba]] ([[User talk:Silverhammermba|talk]]) 16:45, 1 July 2015 (UTC)<br />
<br />
:When looking through the source code for [https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.c vboxsf module] I cannot find any trace of any code that would automount the devices. This is expected as the module is only responsible for registering the filesystem type and performing the mount when requested to do so. Then again, calling it required is not actually true since you could technically get around this by adding an entry to fstab. Or setting up a script that calls "mount -t vboxsf SHARED_FOLDER_NAME MOUNT_POINT". But without an action like enable the service, adding a fstab entry or any other automation techniques the automating should not happen. So maybe in the [https://wiki.archlinux.org/index.php/VirtualBox#Automounting Automounting] section we should mention this.</div>Soderstromhttps://wiki.archlinux.org/index.php?title=Talk:VirtualBox&diff=380646Talk:VirtualBox2015-07-01T16:31:29Z<p>Soderstrom: Suggestion of modifying sections #Load_the_Virtualbox_kernel_modules_2 and #Automounting, feedback is welcomed</p>
<hr />
<div>== vdfuse ==<br />
<br />
The tool [https://aur.archlinux.org/packages.php?ID=31200 vdfuse] (if it works with archlinux) could be suggested in the [[VirtualBox#Mounting_.vdi_Images|Mounting .vdi Images]] section instead of telling that it's impossible. -- [[User:Heinrich5991|Heinrich5991]] ([[User talk:Heinrich5991|talk]]) 11:01, 3 October 2012 (UTC)<br />
: Since you use vdfuse and familiar with it, you can add these info yourself. See [[Help:Editing]] and [[Help:Style]] for a guide. -- [[User:Fengchao|Fengchao]] ([[User talk:Fengchao|talk]]) 12:17, 5 October 2012 (UTC)<br />
<br />
== DKMS ==<br />
<br />
At the time of writing this, installing virtualbox and virtualbox-host-modules from the official repositories will not work as the modules are outdated, however, following the description for the dkms package works, so it might be worth mentioning that "if the virtualbox-host-modules package is out of date, the dkms solution below can be used." {{Unsigned|13:30, 18 September 2014 (UTC)|DusteD}}<br />
<br />
:See {{Bug|40495}}, linked from [[VirtualBox#Load_the_Virtualbox_kernel_modules_2]] along with some accompanying threads. As this issue is the same for both [[VirtualBox#Installation_steps_for_Arch_Linux_hosts|hosts]] and [[VirtualBox#Installation_steps_for_Arch_Linux_guests|guests]], searching for problems with the other module could provide more information for your issue.<br />
:AFAIK, all it takes is to run {{ic|depmod $(uname -r)}} after each update of {{Pkg|virtualbox-host-modules}}/{{Pkg|virtualbox-guest-modules}} (''depmod'' should be run from the packages' ''.install'' files, see the bug), or use [[DKMS]] to (re)compile the {{Pkg|virtualbox-guest-dkms}}/{{Pkg|virtualbox-host-dkms}} module and have a whole bunch of files untracked by pacman in the filesystem...<br />
:-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:22, 18 September 2014 (UTC)<br />
<br />
== NS_ERROR_FAILURE (0x80004005) ==<br />
<br />
I found out ~/.config/VirtualBox/VirtualBox.xml was empty (size 0 Bytes) while ~/.config/VirtualBox/VirtualBox.xml-prev was not. A simple copy of the "-prev" to the original fixed this issue for me: cp ~/.config/VirtualBox/VirtualBox.xml-prev ~/.config/VirtualBox/VirtualBox.xml<br />
{{unsigned|11 January 2015 20:44|Costis}}<br />
<br />
: Cannot find the cause of the problem. Anyway, if {{ic|~/.config/VirtualBox/VirtualBox.xml}} has a 0 byte size, VirtualBox will complain at startup and will say it cannot find proper XML tags. -- [[User:wget|wget]] ([[User talk:wget|talk]]) 21:26, 12 January 2015 (UTC)<br />
<br />
== Binding to a physical drive ==<br />
<br />
In the near future, I'm gonna make some changes to this section [[VirtualBox#Create a raw disk .vmdk image]]. The latter advertises the use of the {{ic|disk}} group while it is clearly unavailable anymore since Arch migrated to systemd. And the command {{ic|VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdb -register}} does not recognize the {{ic|-register}} argument --> replacing each occurrences in the article where this statement appears is needed. Comments on these 2 topics are welcomed and even needed for me to ensure I'm right. -- [[User:wget|wget]] ([[User talk:wget|talk]]) 08:13, 5 February 2015 (UTC)<br />
<br />
== modprobe: ERROR: could not insert 'vboxguest': No such device ==<br />
My system is dual boot for windows 7 & Arch Linux. Is it possible to remove the error message?<br />
In windows 7, I use virtualbox to run the same file system of Archlinux.<br />
So, my /etc/modules-load.d/virtualbox.conf is like<br />
# for host<br />
vboxdrv<br />
# for guest<br />
vboxvideo<br />
vboxguest<br />
vboxsf<br />
<br />
It works well when I boot archlinux inside virtualbox.<br />
It shows systemd-modules-load.service failed when I boot directly.<br />
# systemctl status systemd-modules-load.service<br />
● systemd-modules-load.service - Load Kernel Modules<br />
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)<br />
Active: failed (Result: exit-code) since Wed 2015-05-20 09:58:59 CST; 6min ago<br />
Docs: man:systemd-modules-load.service(8)<br />
man:modules-load.d(5)<br />
Process: 25784 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)<br />
Main PID: 25784 (code=exited, status=1/FAILURE)<br />
<br />
May 20 09:58:58 t64 systemd[1]: Starting Load Kernel Modules...<br />
May 20 09:58:59 t64 systemd-modules-load[25784]: Failed to insert 'vboxguest': No such device<br />
May 20 09:58:59 t64 systemd-modules-load[25784]: Failed to insert 'vboxsf': No such device<br />
May 20 09:58:59 t64 systemd[1]: systemd-modules-load.service: main process exited, code=exited, status=1/FAILURE<br />
May 20 09:58:59 t64 systemd[1]: Failed to start Load Kernel Modules.<br />
May 20 09:58:59 t64 systemd[1]: Unit systemd-modules-load.service entered failed state.<br />
May 20 09:58:59 t64 systemd[1]: systemd-modules-load.service failed.<br />
<br />
== Automounting Shared Folders also requires VBoxService to be enabled ==<br />
<br />
On the wiki page section [https://wiki.archlinux.org/index.php/VirtualBox#Load_the_Virtualbox_kernel_modules_2 Load the Virtualbox kernel modules 2] the VBoxService is barely mentioned. It is written<br />
<br />
"Alternatively, enable the vboxservice service which loads the modules and synchronizes the guest's system time with the host."<br />
<br />
In my humble opinion it should state that this service is also required when you want to automount your shared folders.<br />
I would change it myself, but since I just joined the wiki, I feel I should discuss it before changing.<br />
<br />
My suggested change would be something like<br />
<br />
"Alternatively, enable the vboxservice service which loads the modules and synchronizes the guest's system time with the host. This service is also required if you wish to enable automounting of shared folders."<br />
<br />
It should probably also be mentioned in the [https://wiki.archlinux.org/index.php/VirtualBox#Automounting Automounting] section.<br />
<br />
Does anyone have any input or feedback on my somewhat limit suggestion?</div>Soderstrom