https://wiki.archlinux.org/api.php?action=feedcontributions&user=H+f&feedformat=atomArchWiki - User contributions [en]2024-03-28T15:22:00ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Talk:Solid_state_drive/Memory_cell_clearing&diff=507666Talk:Solid state drive/Memory cell clearing2018-01-17T05:12:25Z<p>H f: thoughts on use of USB enclosures/interfaces for hdparm, article cautions that drives will be bricked, but it seems to be otherwise now</p>
<hr />
<div>== the lt;dr section ==<br />
I added this back since it is a nice and convenient place for a copy/paste from a text-based browser while booted into a live CD environment.<br />
[[User:Graysky|Graysky]] ([[User talk:Graysky|talk]]) 10:58, 10 October 2013 (UTC)<br />
<br />
== USB Enclosures ==<br />
<br />
from the <tt>hdparm</tt> manual page:<br />
<br />
<blockquote>hdparm provides a command line interface to various kernel interfaces supported by the Linux SATA/PATA/SAS "libata" subsystem and the older IDE driver subsystem. Many newer (2008 and later) USB drive enclosures now also support "SAT" (SCSI-ATA Command Translation) and therefore may also work with hdparm. Eg. recent WD "Passport" models and recent NexStar-3 enclosures. Some options may work correctly only with the latest kernels.</blockquote><br />
<br />
It may be possible to use SATA/USB interfaces for this purpose, but without a way to test whether or not a particular interface will support this, I'm reluctant to modify the article contents.</div>H fhttps://wiki.archlinux.org/index.php?title=Firefox&diff=492271Firefox2017-10-03T20:02:09Z<p>H f: /* Multimedia playback */ Note on potential gotcha when configuring firefox to work with apulse.</p>
<hr />
<div>[[Category:Web browser]]<br />
[[ar:Firefox]]<br />
[[cs:Firefox]]<br />
[[de:Firefox]]<br />
[[es:Firefox]]<br />
[[fr:Firefox]]<br />
[[it:Firefox]]<br />
[[ja:Firefox]]<br />
[[ko:Firefox]]<br />
[[ru:Firefox]]<br />
[[zh-hans:Firefox]]<br />
{{Related articles start}}<br />
{{Related|Browser plugins}}<br />
{{Related|Firefox/Tweaks}}<br />
{{Related|Firefox/Privacy}}<br />
{{Related|Chromium}}<br />
{{Related|Opera}}<br />
{{Related articles end}}<br />
[https://www.mozilla.org/firefox Firefox] is a popular open-source graphical web browser from [https://www.mozilla.org Mozilla].<br />
<br />
== Installing ==<br />
<br />
Firefox can be [[installed]] with the {{Pkg|firefox}} package. For printing support, see [[Gtk#Printers not shown in the GTK print dialog]].<br />
<br />
Other alternatives include:<br />
<br />
* {{App|Firefox Extended Support Release|long-term supported version|https://www.mozilla.org/firefox/organizations/|{{AUR|firefox-esr}} or {{AUR|firefox-esr-bin}}}}<br />
* {{App|Firefox Beta|cutting-edge version|https://www.mozilla.org/firefox/channel/desktop/#beta|{{AUR|firefox-beta}} or {{AUR|firefox-beta-bin}}}}<br />
* {{App|Firefox Developer Edition|for developers|https://www.mozilla.org/firefox/developer/|{{AUR|firefox-developer}} or {{AUR|firefox-dev}}}}<br />
* {{App|Firefox Nightly|nightly builds for testing ([https://developer.mozilla.org/Firefox/Experimental_features experimental features])|https://www.mozilla.org/firefox/channel/desktop/#nightly|{{AUR|firefox-nightly}}}} <br />
* {{App|Firefox KDE|Version of Firefox that incorporates an OpenSUSE patch for better KDE integration than is possible through simple Firefox plugins.|https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox|{{AUR|firefox-kde-opensuse}}}}<br />
* On top of the different Mozilla build channels, a number of forks exist with more or less special features; see [[List of applications#Gecko-based]].<br />
<br />
Here you can find an overview of Mozilla's [https://wiki.mozilla.org/Releases releases].<br />
<br />
There are a number of language packs available for Firefox, other than the standard English. Language packs are usually named as {{ic|firefox-i18n-''languagecode''}} (where {{ic|''languagecode''}} can be any language code, such as '''de''', '''ja''', '''fr''', etc.). For a list of available language packs see [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 this].<br />
<br />
== Add-ons ==<br />
<br />
Firefox is well known for its large library of add-ons which can be used to add new features or modify the behavior of existing features of Firefox. You can find new add-ons or manage installed add-ons with Firefox's "Add-ons Manager."<br />
<br />
For a list of popular add-ons, see [https://addons.mozilla.org/firefox/extensions/?sort=popular Mozilla's add-on list sorted by popularity]. See also [[Wikipedia:List of Firefox extensions|List of Firefox extensions]] on Wikipedia.<br />
<br />
=== Adding search engines ===<br />
<br />
Search engines can be added to Firefox through normal add-ons, see [https://addons.mozilla.org/firefox/search-tools/ this page] for a list of available search engines.<br />
<br />
A very extensive list of search engines can be found at the [http://mycroftproject.com/ Mycroft Project].<br />
<br />
Also, you can use the [https://firefox.maltekraus.de/extensions/add-to-search-bar add-to-searchbar] extension to add a search to your search bar from any web site, by simply right clicking on the site's search field and selecting ''Add to Search Bar...''<br />
<br />
==== arch-firefox-search ====<br />
<br />
Install the {{Pkg|arch-firefox-search}} package to add Arch-specific searches (AUR, wiki, forum, etc, as specified by user) to the Firefox search toolbar.<br />
<br />
== Configuration ==<br />
<br />
Firefox exposes a number of configuration options. To examine them, enter:<br />
<br />
about:config<br />
<br />
in the Firefox address bar.<br />
<br />
Once set, these affect the user's current profile, and may be synchronized across all devices via [https://www.mozilla.org/firefox/sync/ Firefox Sync]. Please note that only a subset of the {{ic|about:config}} entries are synchronized by this method, and the exact subset may be found by searching for {{ic|services.sync.prefs}} in {{ic|about:config}}. Additional preferences and 3rd party preferences may be synchronized by creating new boolean entries prepending the config value with {{ic|services.sync.prefs.sync}} ([https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Firefox_Sync/Syncing_custom_preferences documentation] is still applicable.) To synchronize the whitelist for the extension [https://addons.mozilla.org/firefox/addon/noscript/ NoScript]:<br />
<br />
services.sync.prefs.sync.capability.policy.maonoscript.sites<br />
<br />
The boolean {{ic|noscript.sync.enabled}} must be set to {{ic|true}} to synchronize the remainder of NoScript's preferences via Firefox Sync.<br />
<br />
Firefox also allows configuration for a profile via a {{ic|user.js}} file: [http://kb.mozillazine.org/User.js_file user.js] kept in the profile folder, usually {{ic|~/.mozilla/firefox/''xxxxxxxx''.default/}}. For a useful starting point, see e.g [https://github.com/pyllyukko/user.js custom user.js] which is targeted at privacy/security conscious users.<br />
<br />
One drawback of the above approach is that it is not applied system-wide. Furthermore, this is not useful as a "pre-configuration", since the profile directory is created after first launch of the browser. You can, however, let ''firefox'' create a new profile and, after closing it again, [https://support.mozilla.org/en-US/kb/back-and-restore-information-firefox-profiles#w_restoring-a-profile-backup copy the contents] of an already created profile folder into it. <br />
<br />
Sometimes it may be desired to lock certain settings, a feature useful in widespread deployments of customized Firefox. In order to create a system-wide configuration, follow the steps outlined in [http://kb.mozillazine.org/Locking_preferences Locking preferences]:<br />
<br />
1. Create {{ic|/usr/lib/firefox/defaults/pref/local-settings.js}}:<br />
<br />
pref("general.config.obscure_value", 0);<br />
pref("general.config.filename", "mozilla.cfg");<br />
<br />
2. Create {{ic|/usr/lib/firefox/mozilla.cfg}} (this stores the actual configuration):<br />
<br />
//<br />
//...your settings...<br />
// e.g to disable Pocket, uncomment the following line<br />
// lockPref("browser.pocket.enabled", false);<br />
<br />
Please note that the first line must contain exactly {{ic|//}}. The syntax of the file is similar to that of {{ic|user.js}}.<br />
<br />
=== Multimedia playback ===<br />
<br />
Firefox uses [[FFmpeg]] for playing multimedia inside HTML5 {{ic|<audio>}} and {{ic|<video>}} elements. Go to [https://www.youtube.com/html5 YouTube's HTML5 page], [https://www.quirksmode.org/html5/tests/video.html video-test page] or [https://hpr.dogphilosophy.net/test/ audio-test page] to check which formats are actually supported.<br />
<br />
HTML5 DRM playback is supported by the Google Widevine CDM, it is however not enabled by default. See ''Preferences > Content > DRM content'' if you want to learn more.<br />
<br />
See [[Firefox tweaks#Enable additional media codecs]] for advanced configuration and enabling support for Widevine (Netflix, Amazon Video, etc.).<br />
<br />
Starting with version 54, Firefox uses [[PulseAudio]] for audio playback and capture. For sound to work, you need to install the {{Pkg|pulseaudio}} package.<br />
<br />
In case, for whatever reason, [[PulseAudio]] is not an option for you, you can use [[Advanced Linux Sound Architecture#PulseAudio compatibility|apulse]] instead. To make this work, it is necessary to exclude {{ic|/dev/snd/}} from Firefox' sandboxing by adding it to the comma-separated list in {{ic|about:config}}:<br />
<br />
security.sandbox.content.write_path_whitelist<br />
<br />
'''Note:''' The trailing slash on <code>/dev/snd/</code> is important, otherwise apulse will report "Permission denied" errors.<br />
<br />
=== Dictionaries for spell checking ===<br />
<br />
To enable spell checking for a specific language right click on any text field and check the ''Check Spelling'' box. To select a language for spell checking to you have right click again and select your language from the ''Languages'' sub-menu.<br />
<br />
To get more languages just click ''Add Dictionaries...'' and select the dictionary you want to install from the list.<br />
<br />
Alternatively, you can install the {{Pkg|hunspell}} package. You also need to install dictionaries for your language, such as {{Pkg|hunspell-fr}} (for the French language) or {{Pkg|hunspell-he}} (for Hebrew).<br />
<br />
By default, Firefox will try to symlink all your hunspell dictionaries in {{ic|/usr/lib/firefox/dictionaries}}. If you want to have less dictionaries offered to you in Firefox, you can remove some of those links. Be aware that it may not stand an upgrade of Firefox.<br />
<br />
When your default language choice does not stick, see [[#Firefox does not remember default spell check language]].<br />
<br />
=== KDE/GNOME integration ===<br />
<br />
* To bring the [[KDE]] look to GTK apps (including Firefox), install {{Pkg|breeze-gtk}} and {{Pkg|kde-gtk-config}}. Afterwards, go to ''System Settings > Application Style > GTK''. Be sure to choose 'Breeze' in 'Select a GTK2/GTK3 Theme' and check 'Show icons in GTK buttons' and 'Show icons in GTK'.<br />
<br />
* For integration with KDE’s mime type system and file dialogs, one can use {{AUR|firefox-kde-opensuse}} variant from AUR with OpenSUSE’s patches applied.<br />
<br />
* Add-ons may provide some integration, such as [https://addons.mozilla.org/firefox/addon/kde5-wallet-password-integrati/ KWallet integration], [https://addons.mozilla.org/firefox/addon/gnotifier/ GNotifier] (soon to be [https://github.com/mkiol/GNotifier/issues/162 discontinued]), [https://addons.mozilla.org/firefox/addon/unityfox-revived/ Unityfox Revived] (or e10s compatible {{AUR|firefox-extension-unity-launcher-api-e10s}}), and [https://addons.mozilla.org/firefox/addon/plasma-integration/ Plasma Integration].<br />
<br />
* Install {{AUR|mozilla-extension-gnome-keyring-git}} (all-JavaScript implementation) to integrate Firefox with [[GNOME Keyring]]. To make firefox-gnome-keyring use your login keychain, set extensions.gnome-keyring.keyringName to "login" (without the double quotes) in about:config. Note the lowercase 'l' despite the the keychain name having an uppercase 'L' in Seahorse.<br />
<br />
* To make the left mouse button warp the scrollbar instead of the middle one on KDE, go to ''System Settings > Application Style > GTK'' and set the checkbox for "Left mouse button warps scrollbar".<br />
<br />
== Plugins ==<br />
<br />
{{Note|Firefox [https://support.mozilla.org/en-US/kb/npapi-plugins has removed support] for [[w:NPAPI|NPAPI]] plugins, except for Flash. Firefox ESR will support plugins until 2018.}}<br />
<br />
See the main article: [[Browser plugins]]<br />
<br />
To find out what plugins are installed/enabled, enter:<br />
<br />
about:plugins<br />
<br />
in the Firefox address bar or go to the ''Add-ons'' entry in the Firefox Menu and select the ''Plugins'' tab.<br />
<br />
== Tips and tricks ==<br />
<br />
For general enhancements see [[Firefox/Tweaks]], for privacy related enhancements see [[Firefox/Privacy]].<br />
<br />
=== Screenshot of webpage ===<br />
<br />
To use Firefox to take a screenshot of a webpage open the developer console using {{ic|Shift+F2}}. Then type in:<br />
<br />
screenshot ''filename''<br />
<br />
where ''filename'' is optional.<br />
<br />
To take a screenshot of the entire page, not just the section displayed on the screen, use the {{ic|--fullpage}} option:<br />
<br />
screenshot --fullpage ''filename''<br />
<br />
== Troubleshooting ==<br />
<br />
=== Firefox startup takes very long ===<br />
<br />
If Firefox takes much longer to start up than other browsers, it may be due to lacking configuration of the localhost in {{ic|/etc/hosts}}. See [[Network configuration#Local network hostname resolution]] on how to set it up. <br />
<br />
=== Font troubleshooting ===<br />
<br />
See [[Font configuration]].<br />
<br />
Firefox has a setting which determines how many replacements it will allow from fontconfig. To allow it to use all your replacement-rules, change {{ic|gfx.font_rendering.fontconfig.max_generic_substitutions}} to {{ic|127}} (the highest possible value).<br />
<br />
=== Setting an email client ===<br />
<br />
Inside the browser, {{ic|mailto}} links by default are opened by a web application such as Gmail or Yahoo Mail. To set an external email program, go to ''Preferences > Applications'' and modify the ''action'' corresponding to the {{ic|mailto}} content type; the file path will need to be designated (e.g. {{ic|/usr/bin/kmail}} for Kmail).<br />
<br />
Outside the browser, {{ic|mailto}} links are handled by the {{ic|x-scheme-handler/mailto}} mime type, which can be easily configured with [[xdg-mime]]. See [[Default applications]] for details and alternatives.<br />
<br />
=== File association ===<br />
<br />
See [[Default applications]].<br />
<br />
=== Firefox keeps creating ~/Desktop even when this is not desired ===<br />
<br />
Firefox uses {{ic|~/Desktop}} as the default place for download and upload files. To change it to another folder, set the {{ic|XDG_DESKTOP_DIR}} option as explained in [[XDG user directories]].<br />
<br />
=== Make plugins respect blocked pop-ups ===<br />
<br />
Some plugins can misbehave and bypass the default settings, such as the Flash plugin. You can prevent this by doing the following:<br />
<br />
# Type {{ic|about:config}} into the address bar.<br />
# Right-click on the page and select ''New > Integer''.<br />
# Name it {{ic|privacy.popups.disable_from_plugins}}.<br />
# Set the value to {{ic|2}}.<br />
<br />
The possible values are:<br />
<br />
* {{ic|'''0'''}}: Allow all popups from plugins.<br />
* {{ic|'''1'''}}: Allow popups, but limit them to {{ic|dom.popup_maximum}}.<br />
* {{ic|'''2'''}}: Block popups from plugins.<br />
* {{ic|'''3'''}}: Block popups from plugins, even on whitelisted sites.<br />
<br />
=== Middle-click errors ===<br />
<br />
A common error message you can get while using the middle mouse button in Firefox is:<br />
<br />
The URL is not valid and cannot be loaded.<br />
<br />
Another symptom is that middle-clicking results in unexpected behavior, like accessing a random web page.<br />
<br />
The reason stems from the use of the middle mouse buttons in UNIX-like operating systems. The middle mouse button is used to paste whatever text has been highlighted/added to the clipboard. Then there is the possibly conflicting feature in Firefox, which defaults to loading the URL of the corresponding text when the button is depressed. This can be easily disabled by going to {{ic|about:config}} and setting the {{ic|middlemouse.contentLoadURL}} option to {{ic|false}}.<br />
<br />
Alternatively, having the traditional scroll cursor on middle-click (default behavior on Windows browsers) can be achieved by searching for {{ic|general.autoScroll}} and setting it to {{ic|true}}.<br />
<br />
=== Backspace does not work as the 'Back' button ===<br />
<br />
According to [http://kb.mozillazine.org/Browser.backspace_action mozillaZine], the {{ic|Backspace}} key was mapped based on which platform the browser was running on. As a compromise, this preference was created to allow the {{ic|Backspace}} key to either go back/forward, scroll up/down a page, or do nothing.<br />
<br />
To make {{ic|Backspace}} behave like the back button type {{ic|about:config}} in the address bar and search for the property {{ic|browser.backspace_action}}, then set it to {{ic|0}}.<br />
<br />
You can also set the property {{ic|browser.backspace_action}} to {{ic|1}} so the {{ic|Backspace}} key will scroll up the page, whereas {{ic|Shift+Backspace}} scrolls down. Setting this property to any other value will leave the key unmapped (Arch Linux defaults to {{ic|2}}, in other words, it is unmapped by default).<br />
<br />
=== Firefox does not remember login information ===<br />
<br />
It may be due to a corrupted {{ic|cookies.sqlite}} file in [https://support.mozilla.org/t5/Firefox/Profiles-Where-Firefox-stores-your-bookmarks-passwords-and-other/ta-p/4608#w_how-do-i-find-my-profile Firefox's profile] folder. In order to fix this, just rename or remove {{ic|cookie.sqlite}} while Firefox is not running.<br />
<br />
Open a terminal of choice and type the following:<br />
<br />
$ rm -f ~/.mozilla/firefox/<profile id>.default/cookies.sqlite<br />
<br />
The profile id is a random 8 character string.<br />
<br />
Restart Firefox and see if it solved the problem.<br />
<br />
=== Unreadable input fields with dark GTK+ themes ===<br />
<br />
{{Merge|Firefox tweaks#Appearance|Anything on that page might be in troubleshooting section as well, so let us keep the info in one place.}}<br />
<br />
When using a dark [[GTK+]] theme, one might encounter Internet pages with unreadable input and text fields (e.g. Amazon can have white text on white background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme. The extension [https://addons.mozilla.org/firefox/addon/text-contrast-for-dark-themes/ Text Contrast for Dark Themes] sets the other color as needed to maintain contrast.<br />
<br />
Another workaround is to explicitly setting standard colors for all web pages in {{ic|~/.mozilla/firefox/''xxxxxxxx''.default/chrome/userContent.css}} or using [https://addons.mozilla.org/firefox/addon/stylish/ stylish add-on].<br />
<br />
The following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:<br />
<br />
{{Note|If you want {{ic|urlbar}} and {{ic|searchbar}} to be {{ic|white}} remove the two first {{ic|:not}} css selectors.}}<br />
<br />
{{bc|1=<br />
input:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']):not([type='radio']) {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
#downloads-indicator-counter {<br />
color: white;<br />
}<br />
<br />
textarea {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
}}<br />
<br />
Alternatively, force Firefox to use a light theme (e.g. "Adwaita:light"):<br />
<br />
# Copy {{ic|/usr/share/applications/firefox.desktop}} to {{ic|~/.local/share/applications/firefox.desktop}} and replace all occurrences of {{ic|1=Exec=firefox}} with {{ic|1=Exec=env GTK_THEME=Adwaita:light firefox}}.<br />
# Close all running instances of Firefox and restart your window manager/desktop environment.<br />
<br />
=== "Do you want Firefox to save your tabs for the next time it starts?" dialog does not appear ===<br />
<br />
From the [https://support.mozilla.com/en-US/questions/767751 Mozilla support] site:<br />
<br />
# Type {{ic|about:config}} in the address bar.<br />
# Set {{ic|browser.warnOnQuit}} to {{ic|true}}.<br />
# Set {{ic|browser.showQuitWarning}} to {{ic|true}}.<br />
<br />
=== Silently fails when installing desktop apps from marketplace ===<br />
<br />
Installation of apps from Firefox OS Marketplace will silently fail if there is no {{ic|~/.local/share/applications}} folder.<br />
<br />
=== Firefox detects the wrong version of my plugin ===<br />
<br />
When you close Firefox, the latter saves the current timestamp and version of your plugins inside {{ic|pluginreg.dat}} located in your profile folder, typically in {{ic|~/.mozilla/firefox/''xxxxxxxx''.default/}}.<br />
<br />
If you upgraded your plugin when Firefox was still running, you will thus have the wrong information inside that file. The next time you will restart Firefox you will get that message {{ic|Firefox has prevented the outdated plugin "XXXX" from running on ...}} when you will be trying to open content dedicated to that plugin on the web. This problem often appears with the official [[Browser plugins#Flash Player|Adobe Flash Player plugin]] which has been upgraded while Firefox was still running.<br />
<br />
The solution is to remove the file {{ic|pluginreg.dat}} from your profile and that is it. Firefox will not complain about the missing file as it will be recreated the next time Firefox will be closed. [https://bugzilla.mozilla.org/show_bug.cgi?id=1109795#c16]<br />
<br />
=== Javascript context menu does not appear on some sites ===<br />
<br />
In {{ic|about:config}}, unset the {{ic|dom.w3c_touch_events.enabled}} setting.<br />
<br />
=== Firefox does not remember default spell check language ===<br />
<br />
The default spell checking language can be set as follows:<br />
<br />
# Type {{ic|about:config}} in the address bar.<br />
# Set {{ic|spellchecker.dictionary}} to your language of choice, for instance {{ic|en_GB}}.<br />
# Notice that the for dictionaries installed as a Firefox plugin the notation is {{ic|en-GB}}, and for {{Pkg|hunspell}} dictionaries the notation is {{ic|en_GB}}.<br />
<br />
When you only have system wide dictionaries installed with {{Pkg|hunspell}}, Firefox might not remember your default dictionary language settings. This can be fixed by having at least one [https://addons.mozilla.org/firefox/language-tools/ dictionary] installed as a Firefox plugin. Notice that now you will also have a tab '''Dictionaries''' in '''add-ons'''.<br />
<br />
Related questions on the '''StackExchange''' platform: [https://stackoverflow.com/questions/26936792/change-firefox-spell-check-default-language/29446115], [https://stackoverflow.com/questions/21542515/change-default-language-on-firefox/29446353], [https://askubuntu.com/questions/184300/how-can-i-change-firefoxs-default-dictionary/576877]<br />
<br />
Related bug reports: [https://bugzilla.mozilla.org/show_bug.cgi?id=776028 Bugzilla 776028], [https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1026869 Ubuntu bug 1026869]<br />
<br />
=== Some MathML symbols are missing ===<br />
<br />
You need some Math fonts, namely Latin Modern Math and STIX (see this MDN page: [https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts#Linux]), to display MathML correctly.<br />
<br />
In Arch Linux, these fonts are provided by {{Pkg|texlive-core}} '''and''' {{Pkg|texlive-fontsextra}}, but they are not available to fontconfig by default. See [[TeX Live#Fonts]] for details. You can also try other [[Fonts#Math|Math fonts]].<br />
<br />
=== Picture flickers while scrolling ===<br />
<br />
{{Accuracy|Most likely a driver issue, useless without reference}}<br />
{{Note|Problem available in some MATE desktops}}<br />
<br />
Uncheck the "Use smooth scrolling" setting in ''Edit > Settings > Advanced > General''.<br />
<br />
=== Tearing video in fullscreen mode ===<br />
<br />
If you are using the Xorg Intel or Nouveau drivers and experience tearing video in fullscreen mode, try [[Firefox tweaks#Enable OpenGL Off-Main-Thread Compositing (OMTC)]].<br />
<br />
=== Firefox looks bad with GTK+ >=3.20 ===<br />
<br />
{{Note|Firefox has removed GTK2 support in version 53 and will support an ESR 52 version until mid 2018.}}<br />
<br />
Firefox (as of version 47) [https://bugzilla.mozilla.org/show_bug.cgi?id=1264079 does not support] GTK+ >=3.20 and may look unsightly as a result. A possible resolution is compiling Firefox against GTK2 instead, see {{AUR|firefox-esr-gtk2}}. Alternatively, you may use the [[Unofficial_user_repositories#archlinuxcn|archlinuxcn]] repository (x86_64 only) for pre-built GTK2 Firefox packages.<br />
<br />
=== Firefox WebRTC module cannot detect a microphone ===<br />
<br />
WebRTC applications for instance [https://mozilla.github.io/webrtc-landing/gum_test.html Firefox WebRTC getUserMedia test page] say that microphone cannot be found. Issue is reproducible for both ALSA or Pulseaudio setup. Firefox debug logs show the following error:<br />
<br />
{{hc|1=$ NSPR_LOG_MODULES=MediaManager:5,GetUserMedia:5 firefox|2=<br />
...<br />
[Unnamed thread 0x7fd7c0654340]: D/GetUserMedia VoEHardware:GetRecordingDeviceName: Failed 1<br />
}}<br />
<br />
You can try setting {{ic|media.navigator.audio.full_duplex}} property to {{ic|false}} at {{ic|about:config}} Firefox page and restart Firefox.<br />
<br />
This can also help if you are using the PulseAudio [[PulseAudio/Troubleshooting#Enable Echo/Noise-Cancelation|module-echo-cancel]], and Firefox does not recognise the virtual echo canceling source.<br />
<br />
=== Make Firefox 54 use more than one "Web content" process ===<br />
<br />
{{Move|Firefox/Tweaks|Not a troubleshooting. Explain why 4 is better than 1 along the way.}}<br />
<br />
Firefox 54 supports multiple "Web Content" processes but the default installation uses only one. To solve that, go to {{ic|about:config}} and set {{ic|dom.ipc.processCount}} to {{ic|4}}. The recommended maximum is four, but you can set up to seven. [https://arstechnica.com/information-technology/2017/06/firefox-multiple-content-processes/] [https://support.mozilla.org/en-US/kb/performance-settings]<br />
<br />
With {{ic|dom.ipc.processCount}} set to {{ic|1}} (Default):<br />
<br />
{{hc|# ps -e {{!}} grep 'Web Content'|<br />
13421 tty1 00:00:14 Web Content<br />
}}<br />
<br />
With {{ic|dom.ipc.processCount}} set to {{ic|4}}:<br />
<br />
{{hc|# ps -e {{!}} grep 'Web Content'|<br />
13991 tty1 00:00:04 Web Content<br />
14027 tty1 00:00:09 Web Content<br />
14031 tty1 00:00:20 Web Content<br />
14040 tty1 00:00:26 Web Content<br />
}}<br />
<br />
== See also ==<br />
<br />
* [https://www.mozilla.org/firefox/ Official website]<br />
* [https://www.mozilla.org/ Mozilla Foundation]<br />
* [https://wiki.mozilla.org/Firefox Firefox wiki]<br />
* [https://addons.mozilla.org/ Firefox Add-ons]<br />
* [https://addons.mozilla.org/firefox/themes/ Firefox themes]</div>H fhttps://wiki.archlinux.org/index.php?title=Flashing_BIOS_from_Linux&diff=481760Flashing BIOS from Linux2017-07-12T01:24:28Z<p>H f: /* FreeDOS */ Documentation of successful BIOS upgrade using a newer version of FreeDOS (impossible with Unetbootin, and v1.0 wouldn't boot on newer hardware)</p>
<hr />
<div>[[Category:Mainboards and BIOS]]<br />
[[ja:Linux から BIOS を書き換える]]<br />
This article aims on providing information on flashing your system BIOS under Linux. Most manufacturers provide a Windows executable or a BIOS executable that can only be run under Windows. However, there are a few utilities, that allow you to upgrade your system BIOS under Linux.<br />
<br />
{{Warning|Flashing motherboard BIOS is a dangerous activity that can render your motherboard inoperable! While the author of this article has successfully run this procedure many times, your mileage may vary. Be careful! You may want to consider updating [[microcode]] instead if it is supported by your system.}}<br />
<br />
{{Note|HP users may download Windows BIOS updater from HP website, extract *.exe file and locate ISO image for burning to a CD. Using CD, upgrade is possible from BIOS menu using 'Firmware Upgrade' without using below tools. See [https://h30434.www3.hp.com/t5/Notebook-Operating-System-and-Recovery/How-to-update-BIOS-on-Linux/td-p/4869835 this] thread for details.}}<br />
<br />
== BiosDisk ==<br />
[https://github.com/dell/biosdisk BiosDisk] BiosDisk simplifies the process of flashing your system BIOS under Linux<br />
<br />
=== Installation ===<br />
[[Install]] the {{AUR|biosdisk-git}} package.<br />
<br />
=== Usage ===<br />
To use the biosdisk utility to create a BIOS flash image, first download the latest raw BIOS image for your system from your manufacturer's website. Make sure however, that you always get the BIOS executable and NOT the Windows executable. You then have one of several options: create a floppy, create a dd floppy image, create a user-installable distribution-specific package (e.g. RPM), or actually install the image for your bootloader.<br />
<br />
* The mkfloppy action will create the biosdisk image and write it directly to a floppy disk. Usage is the following:<br />
<br />
biosdisk mkfloppy [-o option] [-d device] [-k baseimage] /path/to/.exe <br />
<br />
* The mkimage action will create a floppy image on the user's hard drive. Usage is the following:<br />
<br />
biosdisk mkimage [-o option] [-i destination] [-k baseimage] /path/to/.exe <br />
<br />
* The mkpkg action will create the floppy image, and use it to create a user-installable package specific to the distribution (example: RPM). When the package is installed, it will use the distribution's built-in tools to update the system's bootloader so that the user can boot to the image from the hard drive to flash the BIOS, without needing a floppy drive. Currently only Red Hat/Fedora RPM packages are supported. Usage is as follows:<br />
<br />
biosdisk mkpkg [-o option] [--install] [--distro=] [--name=] [--version=] [--release=] /path/to/{.exe | .img}<br />
<br />
* The install action will create the biosdisk image, copy the image file to /boot, and then update the bootloader with an entry for the image. Then all the user has to do is boot the system and select the image to flash the BIOS; this will load the biosdisk image directly from the hard drive and flash the BIOS.<br />
<br />
biosdisk install [-o option] [--name=] /path/to/{.exe | .img}<br />
<br />
== Flashrom ==<br />
[http://www.flashrom.org/Flashrom Flashrom]is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various programmer devices.<br />
<br />
{{Warning|If you have a laptop/notebook/netbook, please do NOT try flashrom because interactions with the EC on these machines might crash your machine during flashing. flashrom tries to detect if a machine is a laptop, but not all laptops follow the standard, so this is not 100% reliable.[https://www.flashrom.org/Board_Testing_HOWTO]}}<br />
<br />
=== Installation ===<br />
<br />
[[Install]] the {{pkg|flashrom}} or {{AUR|flashrom-svn}} package.<br />
<br />
=== Usage ===<br />
Find out if your motherboard and chipset (internal) is supported by flashrom at this website. [http://www.flashrom.org/Supported_hardware Supported Hardware]<br />
You can also find out if your hardware is supported by issuing the following command<br />
# flashrom --programmer internal<br />
<br />
The above command will tell you your motherboard and chipset. You can then find out if yours is supported by issuing this command:<br />
# flashrom --programmer internal -L | grep CHIPNAMEfrompreviouscommand<br />
<br />
On modern mainboards you probably get more than one rom chip listed. You have to select the chipname you get from the upper command. Then you use the {{ic|-c}} option to select which rom is affected by the command<br />
# flashrom --programmer internal -c "CHIPNAME" -r backup_CHIPNAME.bin<br />
<br />
Write and verify the new BIOS image (proprietary or Coreboot) on the ROM chip:<br />
# flashrom --programmer internal internal -c "CHIPNAME" -w newbios.bin<br />
<br />
If you want to flash other flash chips on your mainboard, you will find all options with<br />
# flashrom<br />
<br />
{{Note|1=With Linux kernel versions greater than 4.4, CONFIG_IO_STRICT_DEVMEM a new kernel security measure can make flashrom stop working, in that case you can try adding "iomem=relaxed" to your kernel parameters. [https://www.flashrom.org/FAQ FAQ].}}<br />
<br />
== FreeDOS ==<br />
[http://www.freedos.org/ FreeDOS] a free DOS-compatible operating system, is up to the challenge, no need for proprietary DOS versions. So, all you need is a bootable floppy disk image with FreeDOS kernel on it.<br />
<br />
=== Unetbootin ===<br />
By far the easiest way to make a bootable FreeDOS USB Stick is using {{pkg|unetbootin}}, available in the [[Official repositories]].<br />
<br />
You should format a pendrive with FAT16 and flag it as "boot" (you may do this through a GUI with {{Pkg|gparted}}, {{AUR|qtparted}}{{Broken package link|{{aur-mirror|qtparted}}}} or {{Pkg|partitionmanager}}). Then, after mounting the flash drive, select under distribution '''FreeDOS''' and your mounted stick. The app will automatically download the image for you and copy it to the drive. Finally, you may copy everything you want to flash there (BIOS, firmwares, etc).<br />
<br />
{{Warning|Unetbootin may not function properly on some Lenovo systems. It may be necessary to create the bootable stick on a different device. See [http://reboot.pro/topic/9849-blinking-cursor-at-boot/ here].}}<br />
<br />
=== Gentoo ===<br />
Check out [https://wiki.gentoo.org/wiki/BIOS_Update#FreeDOS_environment FreeDOS Flash Drive] on the Gentoo Wiki if you want to create a bootable FreeDOS Flash drive.<br />
<br />
=== Prebuilt images ===<br />
<br />
Yet another simple solution: [http://chtaube.eu/computers/freedos/bootable-usb/ FreeDOS prebuilt bootable USB flash drive image by Christian Taube]{{Dead link|2017|07|11}}<br />
<br />
=== Using a FreeDOS-provided Disk Image + USB stick ===<br />
<br />
As of writing (2017-07-11), {{pkg|unetbootin}} doesn't support versions of FreeDOS more recent than 1.0 (current version is 1.2). The following procedure worked to upgrade an Inspiron 17-3737 to the A09 BIOS. (Dell offers this as a possibility [http://www.dell.com/support/article/ca/en/cabsdt1/SLN171755/updating-the-dell-bios-in-linux-and-ubuntu-environments?lang=EN#Creating%20a%20USB%20Bootable%20Storage%20Device on their site])<br />
<br />
Some notes before starting:<br />
<br />
* You can check your current BIOS version with {{pkg|dmidecode}}. You might already be at the latest version.<br />
* Ensure that your hardware vendor has verified this method works (use of FreeDOS to run BIOS update <code>.exe</code>)<br />
* Laptop users should not attempt this without AC power<br />
* This is dangerous, and you assume all risk for following this procedure.<br />
<br />
Procedure:<br />
<br />
# Grab the latest USB installer from the [http://www.freedos.org/download/ FreeDOS Download Page]<br />
#* author note: used the "Full" version on suspicion that it might include more drivers, etc (pure speculation)<br />
# Extract the archive, you get a <code>.img</code> file<br />
# Determine which of <code>/dev/sdX</code> is your USB stick (use <code>fdisk -l</code>)<br />
# Write the image directly to the block device:<br />
#* <code>dd if=FD12FULL.img of=/dev/sdX status=progress</code> (where <code>X</code> is the letter representing your USB stick as a block device, don't write the image to a partition)<br />
# Double-check that the image copying worked:<br />
#* <code>fdisk -l</code> (you should see a single partition on a DOS disk with the bootable ("boot") flag set)<br />
# Mount the partition, and copy over the <code>.exe</code> used to update your firmware<br />
#* Stay on the safe side and limit the filename to 8 characters (without extension), upper case<br />
#* Ensure that you verified any checksums provided by your hardware vendor<br />
# Unmount and reboot. Do whatever is needed to boot from the USB drive<br />
<br />
Now you will find yourself in the FreeDOS live installation environment.<br />
<br />
# Select your language<br />
# You will be prompted to install FreeDOS<br />
#* Select "No - Return to DOS"<br />
# You should see a prompt (<code>C:\></code>)<br />
# Run <code>dir /w</code> and verify that your firmware upgrade tool is present<br />
# Run the executable<br />
#* author note: in the case of the Dell tool, the machine displayed a spash screen and then rebooted. Upon reboot, it started the firmware upgrade automatically, and ran for about 2 minutes with the fan at full speed)<br />
# Once the process specific to your vendor completes, optionally verify through the BIOS setup screen, as well as by running {{pkg|dmidecode}} when you're back in linux<br />
<br />
=== Images that are too large for a floppy ===<br />
If your flash image is too large for a floppy, go to the [http://www.fdos.org/bootdisks/ FreeDos bootdisk website], and download the 10Mb hard-disk image. This image is a full disk image, including partitions, so adding your flash utility will be a little trickier:<br />
<br />
First find the first partition (at time of writing, the first partition starts at block 63; this means that the partitions starts at offset <tt>512 * 63 = 32256</tt>).<br />
You can either use:<br />
# file -sk ''<image-file>'' | sed -r 's/.*startsector ([0-9]+).*/\1/'<br />
'''63'''<br />
<br />
Or:<br />
<br />
# fdisk -l ''<image-file>''<br />
…<br />
Units = sectors of 1 * '''512''' = 512 bytes<br />
…<br />
Device Boot Start End Blocks Id System<br />
* '''63''' 19151 9544+ 1 FAT12<br />
<br />
Now you can mount the image:<br />
<br />
# mount -oloop,offset=$((63 * 512)) ''<image-file>'' /mnt<br />
<br />
Then you can copy your flash utility onto the filesystem as normal.<br />
Once you're done:<br />
<br />
# umount /mnt<br />
<br />
The image can now be copied to a USB stick for booting, or booted as a memdisk as per normal instructions.<br />
<br />
=== Usage ===<br />
<br />
The OEM Bootdisk version is recommended, as it only includes {{ic|kernel}} and {{ic|command.com}} thus leaving more space for the flash utility and new BIOS image. Download and decompress the FreeDOS image:<br />
<br />
$ wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz<br />
$ gunzip FDOEM.144.gz<br />
<br />
Copy your BIOS flash utility and new BIOS image to the mounted floppy disk image. Load the necessary modules:<br />
<br />
# modprobe vfat<br />
# modprobe loop<br />
<br />
{{ic|/proc/fileystems}} shows if the needed file systems are supported. "loop mount" the floppy disk image to a temporary path:<br />
<br />
$ mkdir /tmp/floppy<br />
$ mount -t vfat -o loop FDOEM.144 /tmp/floppy<br />
<br />
If the mount went without errors, copy the BIOS flash utility and new BIOS image to the mounted floppy disk image. You will probably have to unzip the archive you downloaded from your motherboard vendor site, to get to those two files. For example:<br />
<br />
# unzip 775Dual-VSTA\(2.60\).zip<br />
Archive: 775Dual-VSTA(2.60).zip<br />
inflating: 75DVSTA2.60<br />
inflating: ASRflash.exe<br />
# cp 75DVSTA2.60 ASRflash.exe /tmp/floppy<br />
<br />
Check that the two files were not too big for the floppy:<br />
<br />
Filesystem 1K-blocks Used Available Use% Mounted on<br />
/tmp/FDOEM.144<br />
1424 990 434 70% /tmp/floppy<br />
Unmount the floppy disk image:<br />
<br />
umount /tmp/floppy<br />
<br />
The next step is to burn the floppy image to a CD/DVD-RW media, but in a way that it can be booted afterwards. First create a bootable CD image, and then burn it.<br />
<br />
genisoimage -o bootcd.iso -b FDOEM.144 FDOEM.144<br />
wodim -v bootcd.iso<br />
<br />
You may alternatively add your image to the [[GRUB]] menu. Install [[syslinux]] and copy {{ic|memdisk}} and your image to {{ic|/boot}}:<br />
<br />
cp /usr/lib/syslinux/memdisk /boot<br />
cp FDOEM.144 /boot/flashbios.img<br />
<br />
Now add an entry to {{ic|/boot/grub/menu.lst}}:<br />
<br />
title Flash BIOS<br />
kernel /memdisk<br />
initrd /flashbios.img<br />
<br />
Or for GRUB2 in {{ic|/boot/grub/grub.cfg}}:<br />
<br />
menuentry "Flash BIOS" {<br />
linux16 /boot/memdisk<br />
initrd16 /boot/flashbios.img<br />
}<br />
<br />
Or for syslinux in {{ic|/boot/syslinux/syslinux.cfg}}:<br />
<br />
LABEL flashbios<br />
MENU LABEL Flash BIOS<br />
LINUX ../memdisk<br />
INITRD ../fdboot.img<br />
<br />
Finally reboot your machine, making sure the CD drive is first in the boot sequence, and run the BIOS upgrade procedure when the CD boots. If using the GRUB method, choose the new entry on the list, and it should boot into FreeDOS.<br />
<br />
== Bootable optical disk emulation ==<br />
The script Geteltorito.pl will extract the [[wikipedia:El Torito (CD-ROM standard)|El Torito]] boot image. It has worked on Lenovo laptops like X220, X230, W540 and T450s. It may work for other vendors as well.<br />
<br />
=== Installation ===<br />
Install the {{AUR|geteltorito}} package.<br />
<br />
=== Usage ===<br />
<br />
Get the bios update iso from the vendor support site. Run the ''geteltorito'' image extraction:<br />
<br />
$ geteltorito.pl -o <image>.img <image>.iso<br />
<br />
Copy the image to the usb thumbdrive:<br />
<br />
# dd if=<image>.img of=<destination> bs=512K<br />
<br />
Reboot and boot from the USB drive, follow vendor directions.<br />
<br />
{{Note|If you get the message "Secure Flash Authentication failed!", it means that some security check did not allow the flash to happen. It can help to go to the BIOS options page "Security" > "UEFI BIOS Update Option" and disable "Secure RollBack Prevention" and enable "Flash BIOS Updating by End-Users". You can set them to what you want after flashing.}}<br />
<br />
== fwupd ==<br />
fwupd is a simple daemon to allow session software to update device firmware on your local machine. It's designed for desktops, but this project is also usable on phones, tablets and on headless servers. You can either use a GUI software manager like GNOME Software to view and apply updates, the command-line tool or the system D-Bus interface directly.<br />
<br />
Large vendors including Dell and Logitech use this way to distribute firmware updates to Linux.<br />
<br />
A list of hardware currently available in stable tree can be viewed [https://secure-lvfs.rhcloud.com/lvfs/devicelist here].</div>H fhttps://wiki.archlinux.org/index.php?title=Flashing_BIOS_from_Linux&diff=481749Flashing BIOS from Linux2017-07-12T00:50:13Z<p>H f: /* Prebuilt images */ Marking dead link</p>
<hr />
<div>[[Category:Mainboards and BIOS]]<br />
[[ja:Linux から BIOS を書き換える]]<br />
This article aims on providing information on flashing your system BIOS under Linux. Most manufacturers provide a Windows executable or a BIOS executable that can only be run under Windows. However, there are a few utilities, that allow you to upgrade your system BIOS under Linux.<br />
<br />
{{Warning|Flashing motherboard BIOS is a dangerous activity that can render your motherboard inoperable! While the author of this article has successfully run this procedure many times, your mileage may vary. Be careful! You may want to consider updating [[microcode]] instead if it is supported by your system.}}<br />
<br />
{{Note|HP users may download Windows BIOS updater from HP website, extract *.exe file and locate ISO image for burning to a CD. Using CD, upgrade is possible from BIOS menu using 'Firmware Upgrade' without using below tools. See [https://h30434.www3.hp.com/t5/Notebook-Operating-System-and-Recovery/How-to-update-BIOS-on-Linux/td-p/4869835 this] thread for details.}}<br />
<br />
== BiosDisk ==<br />
[https://github.com/dell/biosdisk BiosDisk] BiosDisk simplifies the process of flashing your system BIOS under Linux<br />
<br />
=== Installation ===<br />
[[Install]] the {{AUR|biosdisk-git}} package.<br />
<br />
=== Usage ===<br />
To use the biosdisk utility to create a BIOS flash image, first download the latest raw BIOS image for your system from your manufacturer's website. Make sure however, that you always get the BIOS executable and NOT the Windows executable. You then have one of several options: create a floppy, create a dd floppy image, create a user-installable distribution-specific package (e.g. RPM), or actually install the image for your bootloader.<br />
<br />
* The mkfloppy action will create the biosdisk image and write it directly to a floppy disk. Usage is the following:<br />
<br />
biosdisk mkfloppy [-o option] [-d device] [-k baseimage] /path/to/.exe <br />
<br />
* The mkimage action will create a floppy image on the user's hard drive. Usage is the following:<br />
<br />
biosdisk mkimage [-o option] [-i destination] [-k baseimage] /path/to/.exe <br />
<br />
* The mkpkg action will create the floppy image, and use it to create a user-installable package specific to the distribution (example: RPM). When the package is installed, it will use the distribution's built-in tools to update the system's bootloader so that the user can boot to the image from the hard drive to flash the BIOS, without needing a floppy drive. Currently only Red Hat/Fedora RPM packages are supported. Usage is as follows:<br />
<br />
biosdisk mkpkg [-o option] [--install] [--distro=] [--name=] [--version=] [--release=] /path/to/{.exe | .img}<br />
<br />
* The install action will create the biosdisk image, copy the image file to /boot, and then update the bootloader with an entry for the image. Then all the user has to do is boot the system and select the image to flash the BIOS; this will load the biosdisk image directly from the hard drive and flash the BIOS.<br />
<br />
biosdisk install [-o option] [--name=] /path/to/{.exe | .img}<br />
<br />
== Flashrom ==<br />
[http://www.flashrom.org/Flashrom Flashrom]is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various programmer devices.<br />
<br />
{{Warning|If you have a laptop/notebook/netbook, please do NOT try flashrom because interactions with the EC on these machines might crash your machine during flashing. flashrom tries to detect if a machine is a laptop, but not all laptops follow the standard, so this is not 100% reliable.[https://www.flashrom.org/Board_Testing_HOWTO]}}<br />
<br />
=== Installation ===<br />
<br />
[[Install]] the {{pkg|flashrom}} or {{AUR|flashrom-svn}} package.<br />
<br />
=== Usage ===<br />
Find out if your motherboard and chipset (internal) is supported by flashrom at this website. [http://www.flashrom.org/Supported_hardware Supported Hardware]<br />
You can also find out if your hardware is supported by issuing the following command<br />
# flashrom --programmer internal<br />
<br />
The above command will tell you your motherboard and chipset. You can then find out if yours is supported by issuing this command:<br />
# flashrom --programmer internal -L | grep CHIPNAMEfrompreviouscommand<br />
<br />
On modern mainboards you probably get more than one rom chip listed. You have to select the chipname you get from the upper command. Then you use the {{ic|-c}} option to select which rom is affected by the command<br />
# flashrom --programmer internal -c "CHIPNAME" -r backup_CHIPNAME.bin<br />
<br />
Write and verify the new BIOS image (proprietary or Coreboot) on the ROM chip:<br />
# flashrom --programmer internal internal -c "CHIPNAME" -w newbios.bin<br />
<br />
If you want to flash other flash chips on your mainboard, you will find all options with<br />
# flashrom<br />
<br />
{{Note|1=With Linux kernel versions greater than 4.4, CONFIG_IO_STRICT_DEVMEM a new kernel security measure can make flashrom stop working, in that case you can try adding "iomem=relaxed" to your kernel parameters. [https://www.flashrom.org/FAQ FAQ].}}<br />
<br />
== FreeDOS ==<br />
[http://www.freedos.org/ FreeDOS] a free DOS-compatible operating system, is up to the challenge, no need for proprietary DOS versions. So, all you need is a bootable floppy disk image with FreeDOS kernel on it.<br />
<br />
=== Unetbootin ===<br />
By far the easiest way to make a bootable FreeDOS USB Stick is using {{pkg|unetbootin}}, available in the [[Official repositories]].<br />
<br />
You should format a pendrive with FAT16 and flag it as "boot" (you may do this through a GUI with {{Pkg|gparted}}, {{AUR|qtparted}}{{Broken package link|{{aur-mirror|qtparted}}}} or {{Pkg|partitionmanager}}). Then, after mounting the flash drive, select under distribution '''FreeDOS''' and your mounted stick. The app will automatically download the image for you and copy it to the drive. Finally, you may copy everything you want to flash there (BIOS, firmwares, etc).<br />
<br />
{{Warning|Unetbootin may not function properly on some Lenovo systems. It may be necessary to create the bootable stick on a different device. See [http://reboot.pro/topic/9849-blinking-cursor-at-boot/ here].}}<br />
<br />
=== Gentoo ===<br />
Check out [https://wiki.gentoo.org/wiki/BIOS_Update#FreeDOS_environment FreeDOS Flash Drive] on the Gentoo Wiki if you want to create a bootable FreeDOS Flash drive.<br />
<br />
=== Prebuilt images ===<br />
<br />
Yet another simple solution: [http://chtaube.eu/computers/freedos/bootable-usb/ FreeDOS prebuilt bootable USB flash drive image by Christian Taube]{{Dead link|2017|07|11}}<br />
<br />
=== Images that are too large for a floppy ===<br />
If your flash image is too large for a floppy, go to the [http://www.fdos.org/bootdisks/ FreeDos bootdisk website], and download the 10Mb hard-disk image. This image is a full disk image, including partitions, so adding your flash utility will be a little trickier:<br />
<br />
First find the first partition (at time of writing, the first partition starts at block 63; this means that the partitions starts at offset <tt>512 * 63 = 32256</tt>).<br />
You can either use:<br />
# file -sk ''<image-file>'' | sed -r 's/.*startsector ([0-9]+).*/\1/'<br />
'''63'''<br />
<br />
Or:<br />
<br />
# fdisk -l ''<image-file>''<br />
…<br />
Units = sectors of 1 * '''512''' = 512 bytes<br />
…<br />
Device Boot Start End Blocks Id System<br />
* '''63''' 19151 9544+ 1 FAT12<br />
<br />
Now you can mount the image:<br />
<br />
# mount -oloop,offset=$((63 * 512)) ''<image-file>'' /mnt<br />
<br />
Then you can copy your flash utility onto the filesystem as normal.<br />
Once you're done:<br />
<br />
# umount /mnt<br />
<br />
The image can now be copied to a USB stick for booting, or booted as a memdisk as per normal instructions.<br />
<br />
=== Usage ===<br />
<br />
The OEM Bootdisk version is recommended, as it only includes {{ic|kernel}} and {{ic|command.com}} thus leaving more space for the flash utility and new BIOS image. Download and decompress the FreeDOS image:<br />
<br />
$ wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz<br />
$ gunzip FDOEM.144.gz<br />
<br />
Copy your BIOS flash utility and new BIOS image to the mounted floppy disk image. Load the necessary modules:<br />
<br />
# modprobe vfat<br />
# modprobe loop<br />
<br />
{{ic|/proc/fileystems}} shows if the needed file systems are supported. "loop mount" the floppy disk image to a temporary path:<br />
<br />
$ mkdir /tmp/floppy<br />
$ mount -t vfat -o loop FDOEM.144 /tmp/floppy<br />
<br />
If the mount went without errors, copy the BIOS flash utility and new BIOS image to the mounted floppy disk image. You will probably have to unzip the archive you downloaded from your motherboard vendor site, to get to those two files. For example:<br />
<br />
# unzip 775Dual-VSTA\(2.60\).zip<br />
Archive: 775Dual-VSTA(2.60).zip<br />
inflating: 75DVSTA2.60<br />
inflating: ASRflash.exe<br />
# cp 75DVSTA2.60 ASRflash.exe /tmp/floppy<br />
<br />
Check that the two files were not too big for the floppy:<br />
<br />
Filesystem 1K-blocks Used Available Use% Mounted on<br />
/tmp/FDOEM.144<br />
1424 990 434 70% /tmp/floppy<br />
Unmount the floppy disk image:<br />
<br />
umount /tmp/floppy<br />
<br />
The next step is to burn the floppy image to a CD/DVD-RW media, but in a way that it can be booted afterwards. First create a bootable CD image, and then burn it.<br />
<br />
genisoimage -o bootcd.iso -b FDOEM.144 FDOEM.144<br />
wodim -v bootcd.iso<br />
<br />
You may alternatively add your image to the [[GRUB]] menu. Install [[syslinux]] and copy {{ic|memdisk}} and your image to {{ic|/boot}}:<br />
<br />
cp /usr/lib/syslinux/memdisk /boot<br />
cp FDOEM.144 /boot/flashbios.img<br />
<br />
Now add an entry to {{ic|/boot/grub/menu.lst}}:<br />
<br />
title Flash BIOS<br />
kernel /memdisk<br />
initrd /flashbios.img<br />
<br />
Or for GRUB2 in {{ic|/boot/grub/grub.cfg}}:<br />
<br />
menuentry "Flash BIOS" {<br />
linux16 /boot/memdisk<br />
initrd16 /boot/flashbios.img<br />
}<br />
<br />
Or for syslinux in {{ic|/boot/syslinux/syslinux.cfg}}:<br />
<br />
LABEL flashbios<br />
MENU LABEL Flash BIOS<br />
LINUX ../memdisk<br />
INITRD ../fdboot.img<br />
<br />
Finally reboot your machine, making sure the CD drive is first in the boot sequence, and run the BIOS upgrade procedure when the CD boots. If using the GRUB method, choose the new entry on the list, and it should boot into FreeDOS.<br />
<br />
== Bootable optical disk emulation ==<br />
The script Geteltorito.pl will extract the [[wikipedia:El Torito (CD-ROM standard)|El Torito]] boot image. It has worked on Lenovo laptops like X220, X230, W540 and T450s. It may work for other vendors as well.<br />
<br />
=== Installation ===<br />
Install the {{AUR|geteltorito}} package.<br />
<br />
=== Usage ===<br />
<br />
Get the bios update iso from the vendor support site. Run the ''geteltorito'' image extraction:<br />
<br />
$ geteltorito.pl -o <image>.img <image>.iso<br />
<br />
Copy the image to the usb thumbdrive:<br />
<br />
# dd if=<image>.img of=<destination> bs=512K<br />
<br />
Reboot and boot from the USB drive, follow vendor directions.<br />
<br />
{{Note|If you get the message "Secure Flash Authentication failed!", it means that some security check did not allow the flash to happen. It can help to go to the BIOS options page "Security" > "UEFI BIOS Update Option" and disable "Secure RollBack Prevention" and enable "Flash BIOS Updating by End-Users". You can set them to what you want after flashing.}}<br />
<br />
== fwupd ==<br />
fwupd is a simple daemon to allow session software to update device firmware on your local machine. It's designed for desktops, but this project is also usable on phones, tablets and on headless servers. You can either use a GUI software manager like GNOME Software to view and apply updates, the command-line tool or the system D-Bus interface directly.<br />
<br />
Large vendors including Dell and Logitech use this way to distribute firmware updates to Linux.<br />
<br />
A list of hardware currently available in stable tree can be viewed [https://secure-lvfs.rhcloud.com/lvfs/devicelist here].</div>H f