<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>NetworkBoot.org</name>
  </author>
  <link rel="alternate" href="http://networkboot.org/planet/" type="text/html"/>
  <title>Blog posts related to network booting</title>
  <entry xml:base="http://www.reversengineered.com/">
    <link rel="alternate" href="https://littleknife.dev/blog/2022/08/02/pxe-booting-on-the-steam-deck/" type="text/html"/>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">PXE Booting on the Steam Deck</div>
    </content>
    <id>https://littleknife.dev/blog/2022/08/02/pxe-booting-on-the-steam-deck/</id>
    <published>2022-08-02T00:00:00Z</published>
    <author>
      <name>Antony Messerli</name>
    </author>
    <title>Antony Messerli: PXE Booting on the Steam Deck</title>
  </entry>
  <entry xml:base="http://blog.toreanderson.no/">
    
    <link href="https://toreanderson.github.io/2021/02/23/ipv6-support-in-the-playstation-5.html" rel="alternate" type="text/html" title="IPv6 support in the PlayStation 5"/>
    <published>2021-02-23T00:00:00+00:00</published>
    <updated>2021-02-23T00:00:00+00:00</updated>
    <id>https://toreanderson.github.io/2021/02/23/ipv6-support-in-the-playstation-5</id>
    <content type="html" xml:base="https://toreanderson.github.io/2021/02/23/ipv6-support-in-the-playstation-5.html">&lt;p&gt;Almost five years after I &lt;a href="/2016/06/15/ipv6-support-in-the-playstation-4.html"&gt;wrote about the PlayStation 4’s lacklustre IPv6
support&lt;/a&gt;, I have finally
managed to get my hands on the PlayStation 5 – and I have of course taken a
close look at its IPv6 capabilities.&lt;/p&gt;

&lt;h2 id="does-the-playstation-5-support-ipv6-at-all"&gt;Does the PlayStation 5 support IPv6 at all?&lt;/h2&gt;

&lt;p&gt;It does indeed! In the &lt;em&gt;View Connection Status&lt;/em&gt; page of the network settings,
it displays any assigned IPv6 address, gateway and DNS server; right next to
their IPv4 counterparts.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images//ipv6-support-in-the-playstation-5/connection-status.jpg" alt="Connection Status" /&gt;&lt;/p&gt;

&lt;p&gt;This is a clear improvement over the PS4, whose IPv6 support was not
acknowledged by the user interface at all.&lt;/p&gt;

&lt;h2 id="what-does-the-the-ps5-use-ipv6-for"&gt;What does the the PS5 use IPv6 for?&lt;/h2&gt;

&lt;p&gt;Not much, really. I have seen it use IPv6 for the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;IN AAAA&lt;/code&gt; DNS queries.&lt;/li&gt;
  &lt;li&gt;A HTTP &lt;code class="language-plaintext highlighter-rouge"&gt;GET&lt;/code&gt; request towards &lt;code class="language-plaintext highlighter-rouge"&gt;http://ena.net.playstation.net/netstart/ps4&lt;/code&gt;
&lt;em&gt;[sic]&lt;/em&gt; immediately after connecting to the network. The response from the
server is &lt;code class="language-plaintext highlighter-rouge"&gt;403 Forbidden&lt;/code&gt;. As I observed back in 2016, the PS4 did the exact
same thing.&lt;/li&gt;
  &lt;li&gt;HTTPS requests towards &lt;code class="language-plaintext highlighter-rouge"&gt;https://image.api.playstation.com&lt;/code&gt; while browsing the
PlayStation Store app.&lt;/li&gt;
  &lt;li&gt;The Netflix app uses IPv6 for both API/metadata and video traffic.
Interestingly enough the Netflix app appears to use its own built-in stub
resolver with 8.8.8.8 as its upstream, so its &lt;code class="language-plaintext highlighter-rouge"&gt;IN AAAA&lt;/code&gt; queries are using
IPv4 transport.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have also seen it perform &lt;code class="language-plaintext highlighter-rouge"&gt;IN AAAA&lt;/code&gt; DNS queries for several IPv4-only
&lt;code class="language-plaintext highlighter-rouge"&gt;*.playstation.com&lt;/code&gt; and &lt;code class="language-plaintext highlighter-rouge"&gt;*.playstation.net&lt;/code&gt; domain names.&lt;/p&gt;

&lt;p&gt;Some other things that appear to be IPv4-only include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;IN A&lt;/code&gt; DNS queries.&lt;/li&gt;
  &lt;li&gt;Logging in to the PlayStation Network.&lt;/li&gt;
  &lt;li&gt;Browsing the PlayStation Store (except for images as previously noted).&lt;/li&gt;
  &lt;li&gt;Downloading games and media apps from the PlayStation Store.&lt;/li&gt;
  &lt;li&gt;Syncing game trophy lists.&lt;/li&gt;
  &lt;li&gt;Playing videos with the NRK TV, Twitch and YouTube media apps.&lt;/li&gt;
  &lt;li&gt;Online multiplayer with Fortnite.&lt;/li&gt;
  &lt;li&gt;The built-in Internet speed test.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="technical-implementation-details"&gt;Technical implementation details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;It does not realy support IPv6-only networks. If there’s no DHCPv4 service on
the network, it will claim that the network connection failed. But Netflix
works regardless, see below.&lt;/li&gt;
  &lt;li&gt;It supports SLAAC, the RA &lt;em&gt;RDNSS Option&lt;/em&gt; and DHCPv6 – both stateful and
stateless.&lt;/li&gt;
  &lt;li&gt;If no IPv6 DNS server is being provided by the RA &lt;em&gt;RDNSS Option&lt;/em&gt; or DHCPv6 it
will not configure IPv6 addressing or routing either. This is probably
because…&lt;/li&gt;
  &lt;li&gt;…it uses its IPv4 DNS server for all &lt;code class="language-plaintext highlighter-rouge"&gt;IN A&lt;/code&gt; DNS queries, and its IPv6 DNS
server for all &lt;code class="language-plaintext highlighter-rouge"&gt;IN AAAA&lt;/code&gt; queries.&lt;/li&gt;
  &lt;li&gt;When using SLAAC, the Interface ID appears to be randomised and changes on
every reconnect.&lt;/li&gt;
  &lt;li&gt;If &lt;code class="language-plaintext highlighter-rouge"&gt;OnLink=0&lt;/code&gt; is present in the RA &lt;em&gt;Prefix Information Option&lt;/em&gt;, it will not
configure an address using SLAAC even though &lt;code class="language-plaintext highlighter-rouge"&gt;Autonomous=1&lt;/code&gt;. This is probably
a bug.&lt;/li&gt;
  &lt;li&gt;If &lt;code class="language-plaintext highlighter-rouge"&gt;Managed=1&lt;/code&gt; in the RA, it will use stateful DHCPv6 to obtain an address
using &lt;code class="language-plaintext highlighter-rouge"&gt;IA_NA&lt;/code&gt;. It will also request DNS servers in the same exchange.&lt;/li&gt;
  &lt;li&gt;Stateful DHCPv6 address assignment through &lt;code class="language-plaintext highlighter-rouge"&gt;IA_NA&lt;/code&gt; works fine even though
there is no &lt;em&gt;Prefix Information Option&lt;/em&gt; in the RAs.&lt;/li&gt;
  &lt;li&gt;If addresses are available from both stateful DHCPv6 and SLAAC, it will
prefer the one from DHCPv6. The UI only shows a single globally scoped IPv6
address.&lt;/li&gt;
  &lt;li&gt;If &lt;code class="language-plaintext highlighter-rouge"&gt;Managed=0&lt;/code&gt; and &lt;code class="language-plaintext highlighter-rouge"&gt;OtherConfig=1&lt;/code&gt; in the RA, it will use stateless DHCPv6 to
obtain DNS servers.&lt;/li&gt;
  &lt;li&gt;If &lt;code class="language-plaintext highlighter-rouge"&gt;OtherConfig=1&lt;/code&gt;, it will prefer DNS servers learned from DHCPv6 over any
learned from the RA RDNSS Option. If &lt;code class="language-plaintext highlighter-rouge"&gt;OtherConfig=0&lt;/code&gt;, the opposite is true.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The PS5 was running system software version 20.02-2.50.00.08-00.00.00.0.1
during my testing.&lt;/p&gt;

&lt;h2 id="ipv6-only-and-dns64nat64"&gt;IPv6-only and DNS64/NAT64&lt;/h2&gt;

&lt;p&gt;If there is no DHCPv4 service on the LAN, the network settings UI will say
&lt;strong&gt;Failed&lt;/strong&gt; for both &lt;em&gt;Wired LAN 1&lt;/em&gt; and &lt;em&gt;Internet connection&lt;/em&gt;. In spite of that,
the &lt;em&gt;View Connection Status&lt;/em&gt; page does show an IPv6 address, DNS server and
gateway. Not much work in this state, I mostly encounter errors saying &lt;em&gt;You’re
offline&lt;/em&gt;, &lt;em&gt;No Internet connection available&lt;/em&gt;, and so forth. The exception is the
Netflix app, which continues to work just fine! (It is now using the system IPv6
DNS server instead of 8.8.8.8.)&lt;/p&gt;

&lt;p&gt;If I keep DHCPv4 disabled but start advertising a DNS64-enabled DNS server, the
PS5 still claims that &lt;em&gt;Wired LAN 1&lt;/em&gt; and &lt;em&gt;Internet connection&lt;/em&gt; is &lt;strong&gt;Failed&lt;/strong&gt;.
However the &lt;em&gt;View PlayStation Network Status&lt;/em&gt; page has begun working (this is
just an embed of
&lt;a href="https://status.playstation.com"&gt;https://status.playstation.com&lt;/a&gt;). Twitch also
starts working (using NAT64 for its Internet traffic). Fortnite, NRK TV,
PlayStation Store and YouTube, on the other hand, still do not work.&lt;/p&gt;

&lt;p&gt;Lastly, if I re-enable DHCPv4 while leaving DNS64/NAT64 in place, it does not
seem to be using IPv6 via NAT64 for much. PlayStation Store downloads, Fortnite,
NRK TV and YouTube continue to use IPv4 only.&lt;/p&gt;

&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;The PS5 does support IPv6, and the Netflix app proves that IPv6 connectivity is
available for use. Apart from Netflix, though, there is not much use of IPv6.
That goes both for the system software and its bundled apps, as well as for
third-party apps and games.&lt;/p&gt;

&lt;p&gt;Some of that might be attributable to a lack of IPv6 support on the server side,
as evidenced by &lt;code class="language-plaintext highlighter-rouge"&gt;IN AAAA&lt;/code&gt; queries for hostnames that have no IPv6 addresses. On
the other hand, when I use DNS64 to make those &lt;code class="language-plaintext highlighter-rouge"&gt;IN AAAA&lt;/code&gt; queries be answered, it
doesn’t really make much of a difference – IPv4 is still preferred most of the
time.&lt;/p&gt;

&lt;p&gt;Furthermore, most of the PS5 apps and games I tested do not make any &lt;code class="language-plaintext highlighter-rouge"&gt;IN AAAA&lt;/code&gt;
queries in the first place, so DNS64/NAT64 would not help in any case.&lt;/p&gt;

&lt;p&gt;Thus software upgrades would be necessary to make these apps and games fully
IPv6 capable. The YouTube app is a good example of this; it is well known that
the YouTube servers supports IPv6, but their PS5 app never issues any &lt;code class="language-plaintext highlighter-rouge"&gt;IN AAAA&lt;/code&gt;
queries, so it ends up using IPv4 for its video traffic.&lt;/p&gt;</content>
    
    <summary type="html">Almost five years after I wrote about the PlayStation 4’s lacklustre IPv6 support, I have finally managed to get my hands on the PlayStation 5 – and I have of course taken a close look at its IPv6 capabilities.</summary>
  <author><name>Tore Anderson</name></author><title>Tore Anderson: IPv6 support in the PlayStation 5</title></entry>
  <entry xml:base="http://www.jbmurphy.com/">
    <link rel="alternate" href="https://www.jbmurphy.com/2020/12/09/quickly-find-that-new-raspberry-pis-address/" type="text/html"/>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
<p>Saw this the other day, and I wanted to post it, so that I can remember it.</p>



<p>How to find a Raspberry Pi’s DHCP address:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
arp -na | grep -i "b8:27:eb"
</pre></div>


<p/>
</div>
    </content>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Saw this the other day, and I wanted to post it, so that I can remember it. How to find a Raspberry Pi’s DHCP address:</div>
    </summary>
    <id>http://www.jbmurphy.com/?p=8046</id>
    <published>2020-12-09T18:52:35Z</published>
    <category term="Linux"/>
    <category term="NoteToSelf"/>
    <author>
      <name>Jeffrey B. Murphy</name>
    </author>
    <title>Jeffrey B. Murphy: Quickly find that new Raspberry Pi’s address</title>
  </entry>
  <entry xml:base="http://blog.zorinaq.com/">
   
   <link href="http://blog.zorinaq.com/boot-win10-over-usb/" rel="alternate" type="text/html"/>
   <id>http://blog.zorinaq.com/boot-win10-over-usb/</id>
   <updated>2020-05-29T00:00:00-07:00</updated>
   <content type="html">&lt;p&gt;When I buy a laptop, the first thing I do is netboot into a PXE Linux
environment and make a full raw disk image backup of the pre-installed
Windows OS. I pipe &lt;code class="language-plaintext highlighter-rouge"&gt;dd if=/dev/sda&lt;/code&gt; or &lt;code class="language-plaintext highlighter-rouge"&gt;dd if=/dev/nvme0n1&lt;/code&gt; into &lt;code class="language-plaintext highlighter-rouge"&gt;lz4&lt;/code&gt;
(much faster than &lt;code class="language-plaintext highlighter-rouge"&gt;gzip&lt;/code&gt;) and write the image on a fileserver. No matter
how large the disk is, the image usually shrinks down to 20-30 GB because,
well, there are usually only 20-30 GB of files on the drive. The empty NTFS
blocks compress very well.&lt;/p&gt;

&lt;p&gt;I then wipe Windows and install a Linux distribution.&lt;/p&gt;

&lt;p&gt;Years later when I donate or sell the laptop, I restore the raw disk image.
Not only does this restore the Windows OEM image, but because all sectors are
overwritten, it &lt;em&gt;securely wipes&lt;/em&gt; the disk. Very good for security.&lt;/p&gt;

&lt;p&gt;The image backup I made turned out very useful today. I needed to
update the firmware for the trackpoint of my ThinkPad X1 Carbon
laptop. However the firmware update is &lt;em&gt;only&lt;/em&gt; possible using a &lt;a href="https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x1-carbon-type-20hr-20hq/downloads/ds122148"&gt;Windows 10
utility&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="booting-from-usb"&gt;Booting from USB&lt;/h2&gt;

&lt;p&gt;Here is how I got Windows running on my laptop, without reimaging or
swapping or repartitioning the internal drive.&lt;/p&gt;

&lt;h3 id="write-the-image-to-a-usb-drive"&gt;Write the image to a USB drive&lt;/h3&gt;

&lt;p&gt;I wrote the factory Windows 10 disk image to an external USB drive
(&lt;code class="language-plaintext highlighter-rouge"&gt;unlz4 &amp;lt;image.lz4 &amp;gt;/dev/sda&lt;/code&gt;). Being a full disk image, it includes 4
partitions: EFI System partition, Microsoft Reserved partition, Basic data
partition, Recovery partition.&lt;/p&gt;

&lt;h3 id="set-bootdriverflags-to-0x14"&gt;Set BootDriverFlags to 0x14&lt;/h3&gt;

&lt;p&gt;If you try to boot from the external USB drive as is, Windows 10
will error out during boot (INACCESSIBLE_BOOT_DEVICE).&lt;/p&gt;

&lt;p&gt;The key to make it work is to edit the obscure registry value
BootDriverFlags to change it from 0x0 to 0x14. The value is located under
&lt;code class="language-plaintext highlighter-rouge"&gt;HKLM\SYSTEM\HardwareConfig\{...uuid...}&lt;/code&gt; and can be edited by
mounting the C: partition in Linux, and using the &lt;code class="language-plaintext highlighter-rouge"&gt;chntpw&lt;/code&gt; utility:&lt;/p&gt;

&lt;div class="language-plaintext highlighter-rouge"&gt;&lt;div class="highlight"&gt;&lt;pre class="highlight"&gt;&lt;code&gt;$ chntpw -e /path/to/mounted/Windows/System32/config/SYSTEM
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;List the &lt;code class="language-plaintext highlighter-rouge"&gt;{...uuid...}&lt;/code&gt; subkey under &lt;code class="language-plaintext highlighter-rouge"&gt;HardwareConfig&lt;/code&gt;:&lt;/p&gt;

&lt;div class="language-plaintext highlighter-rouge"&gt;&lt;div class="highlight"&gt;&lt;pre class="highlight"&gt;&lt;code&gt;&amp;gt; ls HardwareConfig
Node has 1 subkeys and 2 values
  key name
  &amp;lt;{ca7bc4cc-350d-11b2-a85c-95cecf0de0fa}&amp;gt;
  size     type              value name             [value if type DWORD]
    78  1 REG_SZ             &amp;lt;LastConfig&amp;gt;
     4  4 REG_DWORD          &amp;lt;LastId&amp;gt;                   0 [0x0]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Edit BootDriverFlags with &lt;code class="language-plaintext highlighter-rouge"&gt;ed&lt;/code&gt; to set it to 0x14:&lt;/p&gt;

&lt;div class="language-plaintext highlighter-rouge"&gt;&lt;div class="highlight"&gt;&lt;pre class="highlight"&gt;&lt;code&gt;&amp;gt; ed HardwareConfig\{ca7bc4cc-350d-11b2-a85c-95cecf0de0fa}\BootDriverFlags
EDIT: &amp;lt;HardwareConfig\{ca7bc4cc-350d-11b2-a85c-95cecf0de0fa}\BootDriverFlags&amp;gt; of type REG_DWORD (4) with length 4 [0x4]
DWORD: Old value 0 [0x0], enter new value (prepend 0x if hex, empty to keep old value)
-&amp;gt; 0x14
DWORD: New value 20 [0x14], 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Finally save the changes with &lt;code class="language-plaintext highlighter-rouge"&gt;q&lt;/code&gt;:&lt;/p&gt;

&lt;div class="language-plaintext highlighter-rouge"&gt;&lt;div class="highlight"&gt;&lt;pre class="highlight"&gt;&lt;code&gt;&amp;gt; q
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;BootDriverFlags is so obscure that it is barely documented. Some online
resources say the value is under &lt;code class="language-plaintext highlighter-rouge"&gt;HKLM\System\CurrentControlSet\Control&lt;/code&gt;
or &lt;code class="language-plaintext highlighter-rouge"&gt;HKLM\SYSTEM\HardwareConfig\&lt;/code&gt; but they are wrong. The value is under
&lt;code class="language-plaintext highlighter-rouge"&gt;HKLM\SYSTEM\HardwareConfig\{...uuid...}&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That is it. Changing a single registry key is all that is needed to make
an OEM Windows 10 image boot from a USB drive.&lt;/p&gt;

</content>
 <published>2020-05-29T00:00:00-07:00</published><author><name>Marc Bevand</name></author><title>Marc Bevand: Booting unmodified Windows 10 over USB</title></entry>
  <entry xml:base="http://blog.toreanderson.no/">
    
    <link href="https://toreanderson.github.io/2020/01/11/get-ipv6-ftth.html" rel="alternate" type="text/html" title="IPv6 on Get FTTH"/>
    <published>2020-01-11T00:00:00+00:00</published>
    <updated>2020-01-11T00:00:00+00:00</updated>
    <id>https://toreanderson.github.io/2020/01/11/get-ipv6-ftth</id>
    <content type="html" xml:base="https://toreanderson.github.io/2020/01/11/get-ipv6-ftth.html">&lt;p&gt;&lt;a href="https://www.get.no"&gt;Get&lt;/a&gt; (&lt;a href="https://www.telia.no"&gt;Telia&lt;/a&gt;’s fixed broadbrand
brand in Norway) has recently launched an opt-in IPv6 pilot available to their
their fibre customers. I am happy to report that it works great and scores 10/10
on &lt;a href="https://test-ipv6.com"&gt;test-ipv6.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I first learned about this in &lt;a href="https://www.digi.no/artikler/innsikt-har-du-bare-gammeldags-internett-her-er-ipv6-planene-til-flere-norske-internettleverandorer/480306?key=Phnt5PTg"&gt;this
article&lt;/a&gt;
(Norwegian), where Get states that they provide IPv6 to a handful of test
customers on fibre.&lt;/p&gt;

&lt;p&gt;To join the pilot I simply had to ask their customer service. Shortly after I
received an e-mail with the new configuration settings: static IPv4 /30 and IPv6
/64 WAN link networks plus a static IPv6 /56 prefix for use on the LAN side.
(They do not use Neighbour Discovery or DHCPv6 for automatic configuration.)&lt;/p&gt;

&lt;p&gt;My understanding is that Get can currently not configure their own CPE to act as
an IPv6 router, so it is necessary to bring your own HGW and leave the Get CPE
in bridge mode.&lt;/p&gt;

&lt;p&gt;I am very happy to have native IPv6 at home again, and really hope that Get will
roll this out to all of their other FTTH customers in the near future.&lt;/p&gt;</content>
    
    <summary type="html">Get (Telia’s fixed broadbrand brand in Norway) has recently launched an opt-in IPv6 pilot available to their their fibre customers. I am happy to report that it works great and scores 10/10 on test-ipv6.com.</summary>
  <author><name>Tore Anderson</name></author><title>Tore Anderson: IPv6 on Get FTTH</title></entry>
  <entry xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xml:base="http://blogoless.blogspot.it/">
    <id>tag:blogger.com,1999:blog-8009822662942276789.post-5126831580586440512</id>
    <published>2017-07-14T19:31:00.000+02:00</published>
    <updated>2017-07-15T11:49:42.724+02:00</updated>
    <category scheme="http://www.blogger.com/atom/ns#" term="cns"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="fedora"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="firefox"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="linux"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="regione toscana"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="smartcard"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="spid"/>
    
    <content type="html">La presente &lt;i&gt;guida&lt;/i&gt; ha funzionato per me, su &lt;b&gt;Fedora 26&lt;/b&gt;. Probabilmente è valida per altre distribuzioni di GNU/Linux (usando il gestore di pacchetti opportuno).&lt;br /&gt;
Guida per modo di dire, poiché i passi da seguire sono veramente semplici.&lt;br /&gt;
Alla fine del conto per installare il lettore e la Carta Nazionale dei Servizi (o Tessera Sanitaria), la &lt;a href="http://www.regione.toscana.it/servizi-online/servizi-sicuri/carta-sanitaria-elettronica/guida-all-uso"&gt;procedura descritta sul sito della Regione Toscana&lt;/a&gt;&amp;nbsp; si rivela macchinosa e inutile.&lt;br /&gt;
Viene qui usato un lettore di smartcard B4ID&lt;br /&gt;
La carta invece è quella che sul sito della Regione viene identificata come &lt;i&gt;modello 2&lt;/i&gt; (AT2012).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivYY4iC5wLIkTXCs7g5Dg0gX7lzcYhqsWuig6OAXd3tw03ovXe6fKSZhggHDbyJLBGiYakHohibygc4M60eMB_H8PeP0_v2fTz0-RVf17_zK45cMW9P4UeruWG6pLDEsUKOPbdwWzGCqY/s1600/IMG_20170714_104124.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1600" data-original-width="1422" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivYY4iC5wLIkTXCs7g5Dg0gX7lzcYhqsWuig6OAXd3tw03ovXe6fKSZhggHDbyJLBGiYakHohibygc4M60eMB_H8PeP0_v2fTz0-RVf17_zK45cMW9P4UeruWG6pLDEsUKOPbdwWzGCqY/s320/IMG_20170714_104124.jpg" width="284" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
Installare i pacchetti&lt;/h2&gt;
Installate PC/SC Lite (Middleware to access a smart card using SCard API)&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;sudo dnf install pcsc-tools&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Collegate il lettore e lanciare il comando:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;pcsc_scan -n&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Inserite la carta nel lettore. Dovrebbe apparire qualcosa del genere:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;Fri Jul 14 19:51:49 2017&lt;br /&gt;Reader 0: ACS ACR 38U-CCID 00 00&lt;br /&gt;&amp;nbsp; Card state: Card inserted, &lt;br /&gt;&amp;nbsp; ATR: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX X&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Quindi ok, il lettore funziona. &lt;br /&gt;
Se non funziona: SPIPPOLATE.&lt;br /&gt;
&lt;br /&gt;
Abilitate il servizio e fatelo partire:&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;sudo systemctl start pcscd&lt;br /&gt;sudo systemctl enable pcscd.service&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Installate OpenSC (&lt;span class="col-11 text-gray-dark mr-2" itemprop="about"&gt;Open source smart card tools and middleware):&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;sudo dnf install opensc&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Firefox &lt;/h2&gt;
Andate in Preferenze -&amp;gt; Avanzate -&amp;gt; Certificati&lt;br /&gt;
Quindi Dispositivi di Sicurezza&lt;br /&gt;
Pigiate sul tasto Carica&lt;br /&gt;
Come nome del modulo mettete quel che vi pare&lt;br /&gt;
&lt;span style="line-height: 1.4;"&gt;Specificate quindi il percorso della libreria: &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;/usr/lib64/opensc-pkcs11.so&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="line-height: 1.4;"&gt;Premete ok.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="line-height: 1.4;"&gt;A questo punto dovreste vedere un nuovo device.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhASqCdu1giiVlD04Jcl7BzOBHPwKQwXN7aFEydrB3ewTj1XI3B0CcXdDrNYZ6pPH1wtG34ccQ4guSgmCyb-YV-TYYDv4XVKWxweLsr2Ja8fkHYPcERpdFke3vkUyJcCFBeFMOEqdVWAFI/s1600/Screenshot+from+2017-07-14+11-10-14.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="723" data-original-width="1464" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhASqCdu1giiVlD04Jcl7BzOBHPwKQwXN7aFEydrB3ewTj1XI3B0CcXdDrNYZ6pPH1wtG34ccQ4guSgmCyb-YV-TYYDv4XVKWxweLsr2Ja8fkHYPcERpdFke3vkUyJcCFBeFMOEqdVWAFI/s640/Screenshot+from+2017-07-14+11-10-14.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="line-height: 1.4;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="line-height: 1.4;"&gt;Inserendo la carta dovrebbe apparire il nominativo e il codice fiscale.&lt;/span&gt;&lt;br /&gt;
&lt;span style="line-height: 1.4;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTqVDYpeDp96rNFS78vzoor2-7nkygxDp9QQG3Odu6MADzileZAP-GvdOb9_mZ4sHdznbiErU3kfftzFAXeghNOTfsYplysaQakhVaGpsP_kT-qJweI83hnkdiCoDiByUGJ56YL20Qs-o/s1600/Screenshot+from+2017-07-14+11-10-30.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="768" data-original-width="1520" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTqVDYpeDp96rNFS78vzoor2-7nkygxDp9QQG3Odu6MADzileZAP-GvdOb9_mZ4sHdznbiErU3kfftzFAXeghNOTfsYplysaQakhVaGpsP_kT-qJweI83hnkdiCoDiByUGJ56YL20Qs-o/s640/Screenshot+from+2017-07-14+11-10-30.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="line-height: 1.4;"&gt;Premendo su Login dovrebbe venire richiesto il PIN della carta.&lt;/span&gt;&lt;br /&gt;
&lt;span style="line-height: 1.4;"&gt;&lt;br /&gt;Ora potete&lt;/span&gt;&lt;span style="line-height: 1.4;"&gt; provare l'effettivo funzionamento collegandovi a un sito che richiede l'autenticazione via CNS, come per esempio &lt;a href="https://accessosicuro.rete.toscana.it/"&gt;https://accessosicuro.rete.toscana.it&lt;/a&gt; (dove trovate, fra l'altro, il Fascicolo Sanitario elettronico), oppure &lt;a href="https://iris.rete.toscana.it/"&gt;https://iris.rete.toscana.it/&lt;/a&gt; (per i pagamenti online della Regione Toscana). oppure il sito dell'INPS.&lt;/span&gt;&lt;br /&gt;
&lt;span class="col-11 text-gray-dark mr-2" itemprop="about"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span class="col-11 text-gray-dark mr-2" itemprop="about"&gt;Con la tessera sanitaria è anche possibile richiedere le &lt;/span&gt;credenziali &lt;b&gt;SPID&lt;/b&gt;, il Sistema Pubblico di Identità Digitale: &lt;a href="https://www.spid.gov.it/richiedi-spid#altre-modalita"&gt;https://www.spid.gov.it/richiedi-spid#altre-modalita&lt;/a&gt;</content>
    <link rel="replies" type="application/atom+xml" href="http://blogoless.blogspot.com/feeds/5126831580586440512/comments/default" title="Post Comments"/>
    <link rel="replies" type="text/html" href="http://blogoless.blogspot.com/2017/07/firefox-usare-la-cns-su-fedora.html#comment-form" title="1 Comments"/>
    <link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8009822662942276789/posts/default/5126831580586440512"/>
    <link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8009822662942276789/posts/default/5126831580586440512"/>
    <link rel="alternate" type="text/html" href="http://blogoless.blogspot.com/2017/07/firefox-usare-la-cns-su-fedora.html" title="Firefox: usare la CNS su Fedora"/>
    
    <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivYY4iC5wLIkTXCs7g5Dg0gX7lzcYhqsWuig6OAXd3tw03ovXe6fKSZhggHDbyJLBGiYakHohibygc4M60eMB_H8PeP0_v2fTz0-RVf17_zK45cMW9P4UeruWG6pLDEsUKOPbdwWzGCqY/s72-c/IMG_20170714_104124.jpg" height="72" width="72"/>
    <thr:total>1</thr:total>
  <author><name>Al Cir</name></author><title>Al Cir: Firefox: usare la CNS su Fedora</title></entry>
  <entry xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xml:base="http://blogoless.blogspot.it/">
    <id>tag:blogger.com,1999:blog-8009822662942276789.post-1119143540077071419</id>
    <published>2017-07-12T18:30:00.001+02:00</published>
    <updated>2017-07-12T18:36:26.558+02:00</updated>
    <category scheme="http://www.blogger.com/atom/ns#" term="fedora"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="headless"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="linux"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="raspberry"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="serial"/>
    
    <content type="html">&lt;h2&gt;
&lt;/h2&gt;
&lt;h3&gt;
&lt;/h3&gt;
The Raspberry Pi is the most famous SBC (Single-Board Computer). It is a recent news that over five millions of units were sold since it came out.&lt;br /&gt;
&lt;br /&gt;
There are a lot of Linux-based and not Linux-based operating systems that runs on the Raspberry: Fedora is one of the latest landed in this platform. Due to this fact, many things still don’t work: for instance, according to what you can read on the Fedora wiki, expansion HATs, composite TV out, analog sound port and the add-on camera are not yet supported; support for displays other than the official one is not currently planned, GPIO isn't  well supported. In addition Fedora supports only Pi version 2 and later.&lt;br /&gt;
Obviously the Raspberry Pi Foundation recommends the use of Raspbian, a Debian-based Linux operating system. And as stated before, there are many distributions that have been around for a long time, therefore they probably work better on such platform. Compared to the rest of the world Fedora on ARM could look at early stages of development.&lt;br /&gt;
Then, due to these facts the question could be: why using Fedora on the Raspberry Pi when there are more feature rich and widely used distributions? The answer is: isn’t Fedora our favorite distro? So let’s give a try to the ARM version.&lt;br /&gt;
Side note: ARM is an architecture officially supported by Fedora.&lt;br /&gt;
&lt;br /&gt;
Let’s get started.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNheKtixDDxCoECsyXoR2vfW_XNKw3wCmVt3v-um_8NaAWZY7BqZhyphenhyphenP0yJ4_CanpqZuw83n6P65-pY_E4GpH87xRMqlg_2mH8Bs9XvWtE9yPSvmxEkfqUOQCu0fXeCnMc31xnf_ickYYM/s1600/Screenshot+from+2017-07-12+15-58-34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="374" data-original-width="1196" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNheKtixDDxCoECsyXoR2vfW_XNKw3wCmVt3v-um_8NaAWZY7BqZhyphenhyphenP0yJ4_CanpqZuw83n6P65-pY_E4GpH87xRMqlg_2mH8Bs9XvWtE9yPSvmxEkfqUOQCu0fXeCnMc31xnf_ickYYM/s640/Screenshot+from+2017-07-12+15-58-34.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
Preparing the SD card&lt;/h2&gt;
The installation of the Fedora ARM image on an SD card is simple as these two steps:&lt;br /&gt;
&lt;br /&gt;
- download the raw image of your choice (in this case Minimal) from &lt;a href="https://arm.fedoraproject.org/"&gt;https://arm.fedoraproject.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
- run this command (supposing you are running Fedora on your PC and that you have installed the fedora-arm-installer package via DNF)&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;sudo arm-image-installer --image=Fedora-Minimal-armhfp-26-1.5-sda.raw.xz --target=rpi3 --norootpass --resizefs --media=/dev/mmcblk0 -y&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;&lt;br /&gt;&lt;/span&gt;
Please refer to &lt;a href="https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi?rd=Raspberry_Pi#Preparing_the_SD_card"&gt;the Fedora wiki&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Such command will blanks the root password (remember to subsequently set one during first setup) and it will automatically resize the root partition in order to fill up the SD card size.&lt;br /&gt;
&lt;br /&gt;
Once done, remove the SD card from your PC.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
The serial console&lt;/h2&gt;
If you do not have an HDMI screen to connect to the Raspberry Pi, or if you want to run a completely &lt;b&gt;headless&lt;/b&gt; box, you have to enable the serial console.&lt;br /&gt;
&lt;br /&gt;
The task is different between the Raspberry 2 and 3. These steps are for the version 3:&lt;br /&gt;
&lt;br /&gt;
- insert the SD card in your PC, it should automatically mount three partitions&lt;br /&gt;
&lt;br /&gt;
- edit the file extlinux.conf&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;sudo vim /run/media/&lt;i&gt;youruser&lt;/i&gt;/__boot/extlinux/extlinux.conf&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
add "&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;console=tty0 console=ttyAMA0,115200&lt;/span&gt;" to the end of the append line&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;append ro root=UUID=&lt;i&gt;&amp;lt;uuid-uuid&amp;gt;&lt;/i&gt; console=tty0 console=ttyS0,115200&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
- edit the &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;config.txt&lt;/span&gt; file in the root partiton&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;sudo vim /run/media/&lt;i&gt;youruser&lt;/i&gt;/&lt;i&gt;sometinglike-4AC9-BABE&lt;/i&gt;/config.txt&lt;/span&gt;&lt;br /&gt;
uncomment the &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;enable_uart&lt;/span&gt; line:&lt;br /&gt;
&lt;br /&gt;
enable_uart=1&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
The onboard wifi adapter&lt;/h2&gt;
If you want to enable the onboard WiFi adapter, you have to download a file that Fedora can not currently redistribute in the raw image:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;sudo
 curl 
https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm80211/brcm/brcmfmac43430-sdio.txt
 -o /run/media/youruser/__/lib/firmware/brcm/brcmfmac43430-sdio.txt&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;&amp;nbsp;&lt;/span&gt; &lt;br /&gt;
&lt;h2&gt;
Booting the Raspberry&lt;/h2&gt;
Umount the three partitions, using something like&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;umount /run/media/&lt;i&gt;youruser&lt;/i&gt;/__boot ; umount /run/media/&lt;i&gt;youruser&lt;/i&gt;/__ ; umount /run/media/&lt;i&gt;youruser&lt;/i&gt;/&lt;/span&gt;&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;&lt;i&gt;sometinglike-4AC9-BABE&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Then insert the SD card in the Raspberry Pi, connect an Usb to Serial/TTL Adapter (the pin 8 on the Raspberry is the TX and pin 10 is the RX). Then power up the device.&lt;br /&gt;
&lt;br /&gt;
You can look at the boot process using a terminal emulator program like minicom or GTKterm, or even the simple screen command:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;screen&amp;nbsp; /dev/ttyUSB0 115200&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script async="" id="asciicast-KsNYUBmTfWOCYmcWha6yRrpvb" src="https://asciinema.org/a/KsNYUBmTfWOCYmcWha6yRrpvb.js" type="text/javascript"&gt;&lt;/script&gt;

Once the boot process will reach the end, you should see the Fedora initial setup where you can create an account, set the root password, configure the timezone, etc.&lt;br /&gt;
&lt;br /&gt;
As soon as you log in, if the Raspberry is connected to the network using the Ethernet interface, and there is a DHCP server in the LAN, you are almost done. Check if you are really online and perform a system update:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;sudo dnf update&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Setup the wifi&lt;/h2&gt;
If for some reason you can’t use the Ethernet interface and you need to connect to the WiFi network, you have to configure the wireless interface using the Network Manager command line interface (nmcli).&lt;br /&gt;
&lt;br /&gt;
For instance, if your network uses WPA or WPA2, and there is a DHCP this task is pretty simple:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;nmcli radio&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;nmcli device wifi connect &lt;i&gt;YOURSSID&lt;/i&gt; password &lt;i&gt;secretpassword&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If you need to set up a static IP there are instead various steps to perform:&lt;br /&gt;
&lt;br /&gt;
Add a connection profile and set the IP/netmask and the default gateway&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;nmcli con add con-name &lt;i&gt;ConnectionName&lt;/i&gt; ifname wlan0 type wifi ssid &lt;i&gt;YOURSSID&lt;/i&gt; ip4 &lt;i&gt;192.168.100.200/24&lt;/i&gt; gw4 &lt;i&gt;192.168.100.1&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Set up the DNS&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;nmcli con modify &lt;i&gt;ConnectionName&lt;/i&gt; ipv4.dns "&lt;i&gt;8.8.8.8 8.8.4.4&lt;/i&gt;"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Configure the wireless security (in this case wpa-psk) and the password&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;nmcli con modify &lt;i&gt;ConnectionName&lt;/i&gt; wifi-sec.key-mgmt wpa-psk&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;nmcli con modify &lt;i&gt;ConnectionName&lt;/i&gt; wifi-sec.psk &lt;i&gt;verysecurepassword&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now you can bring up the connection:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;nmcli con up ConnectionName&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Conclusion&lt;/h2&gt;
Here we have an headless and wireless Raspberry Pi 3 running our favorite GNU/Linux distribution! &lt;br /&gt;
&lt;br /&gt;
Please refer to the Fedora Project wiki for more and up to date informations:&lt;br /&gt;
&lt;a href="https://fedoraproject.org/wiki/Raspberry_Pi"&gt;https://fedoraproject.org/wiki/Raspberry_Pi &lt;/a&gt;</content>
    <link rel="replies" type="application/atom+xml" href="http://blogoless.blogspot.com/feeds/1119143540077071419/comments/default" title="Post Comments"/>
    <link rel="replies" type="text/html" href="http://blogoless.blogspot.com/2017/07/how-to-install-fedora-26-on-raspberry.html#comment-form" title="0 Comments"/>
    <link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8009822662942276789/posts/default/1119143540077071419"/>
    <link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8009822662942276789/posts/default/1119143540077071419"/>
    <link rel="alternate" type="text/html" href="http://blogoless.blogspot.com/2017/07/how-to-install-fedora-26-on-raspberry.html" title="How to install Fedora 26 on the Raspberry Pi (Headless and Wireless)"/>
    
    <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNheKtixDDxCoECsyXoR2vfW_XNKw3wCmVt3v-um_8NaAWZY7BqZhyphenhyphenP0yJ4_CanpqZuw83n6P65-pY_E4GpH87xRMqlg_2mH8Bs9XvWtE9yPSvmxEkfqUOQCu0fXeCnMc31xnf_ickYYM/s72-c/Screenshot+from+2017-07-12+15-58-34.png" height="72" width="72"/>
    <thr:total>0</thr:total>
  <author><name>Al Cir</name></author><title>Al Cir: How to install Fedora 26 on the Raspberry Pi (Headless and Wireless)</title></entry>
  <entry xml:base="http://www.reversengineered.com/">
    <link rel="alternate" href="https://littleknife.dev/blog/2016/01/07/booting-linux-isos-with-memdisk-and-ipxe/" type="text/html"/>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Booting Linux ISOs with Memdisk and iPXE</div>
    </content>
    <id>https://littleknife.dev/blog/2016/01/07/booting-linux-isos-with-memdisk-and-ipxe/</id>
    <published>2016-01-07T00:00:00Z</published>
    <author>
      <name>Antony Messerli</name>
    </author>
    <title>Antony Messerli: Booting Linux ISOs with Memdisk and iPXE</title>
  </entry>
  <entry xml:base="http://www.reversengineered.com/">
    <link rel="alternate" href="https://littleknife.dev/blog/2015/11/25/netboot-xyz/" type="text/html"/>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">netboot.xyz</div>
    </content>
    <id>https://littleknife.dev/blog/2015/11/25/netboot-xyz/</id>
    <published>2015-11-25T00:00:00Z</published>
    <author>
      <name>Antony Messerli</name>
    </author>
    <title>Antony Messerli: netboot.xyz</title>
  </entry>
  <entry xml:base="http://www.reversengineered.com/">
    <link rel="alternate" href="https://littleknife.dev/blog/2015/02/11/booting-vmware-esxi-in-ipxe/" type="text/html"/>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Booting VMware ESXi in iPXE</div>
    </content>
    <id>https://littleknife.dev/blog/2015/02/11/booting-vmware-esxi-in-ipxe/</id>
    <published>2015-02-11T00:00:00Z</published>
    <author>
      <name>Antony Messerli</name>
    </author>
    <title>Antony Messerli: Booting VMware ESXi in iPXE</title>
  </entry>
  <entry xml:base="http://blog.robin.smidsrod.no/">
    <link rel="alternate" href="https://blog.robin.smidsrod.no/2013/07/17/ipxe-hackathon/" type="text/html"/>
    <content type="html">&lt;p&gt;So, a while ago I decided that I wanted to invite the core developers of the &lt;a href="https://ipxe.org/"&gt;iPXE project&lt;/a&gt; to my home for an extended weekend of hacking on the project. The agenda was to try and merge as many outstanding patches and pull requests that we knew about. The work the various students did as part of GSoC 2012 was on the priority list. The three people that were able to come were Michael Brown, Thomas Miletich and Marin Hannache.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;TL;DR: Skip down to the summary at the bottom.&lt;/strong&gt;&lt;/p&gt;&lt;h3 id="thursday-11th-of-july"&gt;Thursday 11th of July&lt;/h3&gt;&lt;p&gt;After a busy day cleaning the house and making things ready for the arrival of the guests I headed down to Sandefjord airport (TRF) to pick up Michael. His plane was scheduled to arrive around midnight. He had brought a test machine padded in a large suitcase which packed the car quite full. Luckily Marin and Thomas missed the planned train from Oslo airport, so they arrived an hour later, which was just enough time to get Michael settled in before I had to pick them up. After everyone had arrived we ensured the sleeping arrangements were appropriate and test equipment was unpacked and set up. We finished up the evening around 3AM with strawberries with cream and sugar accompanied by white wine (brought by Marin). Finally people crashed and burned after a &lt;em&gt;long&lt;/em&gt; day.&lt;/p&gt;&lt;h3 id="friday-12th-of-july"&gt;Friday 12th of July&lt;/h3&gt;&lt;p&gt;Since the day before was quite late, people slept in a bit and woke up a little bit before noon. I had solicited food preferences in advance, which was received favorably when we had breakfast out on the patio in the sun/shade.&lt;/p&gt;&lt;p&gt;After the breakfast Thomas started working on the code review of the &lt;a href="https://ipxe.org/gsoc/via"&gt;VIA Velocity Gigabit driver&lt;/a&gt; written from scratch by Adrian Jamr&amp;#xF3;z as part of GSoC 2012. I guess we should&amp;apos;ve merged this code a long time ago, but better late than never.&lt;/p&gt;&lt;p&gt;Michael continued working on his code to allow iPXE scripts to pull out information from PCI configuration space. This is useful for e.g. including the PCI vendor/device IDs in embedded menus or sending it off to a server-side script somewhere, either for inventory purposes or dynamic driver loading. The code was merged and pushed out later the same day. Documentation on how to use it is expected to show up at &lt;a href="https://ipxe.org/settings/pci"&gt;https://ipxe.org/settings/pci&lt;/a&gt; eventually.&lt;/p&gt;&lt;p&gt;Marin worked hard on cleaning up his &lt;a href="https://ipxe.org/gsoc/nfs"&gt;NFS protocol support&lt;/a&gt; code. There were some bugs around that caused the downloaded image name to be NULL, and the URL format was a bit odd. After some discussion we decided on a new URL format and a way to derive the required mount point. Marin worked actively on that piece for the rest of the day.&lt;/p&gt;&lt;p&gt;I was performing initial testing on the new &lt;a href="https://ipxe.org/gsoc/bnx2"&gt;Broadcom NetXtreme II driver&lt;/a&gt; written by Daniel Wyatt as part of GSoC 2012. Preliminary testing indicated there was something strange with the loopback test between this card and the Intel 82541pi used as a reference. Except for performance, most of the driver seemed to be working more or less as it should, but the loopback failure required more hardcore debugging. I decided to let it rest until Michael could help me out.&lt;/p&gt;&lt;figure class="kg-card kg-image-card"&gt;&lt;a href="https://www.flickr.com/photos/robinsmidsrod/9276159642/"&gt;&lt;img src="https://live.staticflickr.com/5537/9276159642_3475d2ac80_n.jpg" class="kg-image" alt="Hacking on iPXE" loading="lazy" width="320" height="213"&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;Some time during the day we all went to the supermarket and bought various food we were planning on eating during the weekend. That avoided the trouble of trying to translate all of the names of things from Norwegian to English.&lt;/p&gt;&lt;p&gt;Later in the evening I organized a traditional Norwegian barbecue with potato salad, fresh watermelon summer salad and burgers, hot dogs and some tender beef. The guys seemed to like it. After the dinner we ate marzipan cake, which is something Michael decided to buy at the supermarket. Michael also made a traditional English drink called Pimm&amp;apos;s with lemonade to top it off. It tasted quite good, all of it, in my opinion.&lt;/p&gt;&lt;p&gt;After a break which included a few episodes of Futurama some more hacking got done, until we eventually succumbed to sleep deprivation.&lt;/p&gt;&lt;h3 id="saturday-13th-of-july"&gt;Saturday 13th of July&lt;/h3&gt;&lt;p&gt;Even before breakfast was served, Marin was hard at work with the changes on his NFS project. I helped him test it out and eventually he was able to finish it up and hand it over to Michael for final code review and merging.&lt;/p&gt;&lt;p&gt;Also before breakfast Michael rewrote the support for &lt;code&gt;netX&lt;/code&gt; by implementing symlink support between settings blocks. The &lt;code&gt;netX&lt;/code&gt; settings block now shows up first in the list of network adapters, and it directly points to the last opened network device. This now enables a clean way of abstracting out the &lt;code&gt;netX&lt;/code&gt; feature to be used in e.g. &lt;code&gt;autoboot&lt;/code&gt; and other places you can specify a network device. It also fixes a bug with &lt;code&gt;${mac}&lt;/code&gt;, &lt;code&gt;${chip}&lt;/code&gt; and &lt;code&gt;${busid}&lt;/code&gt; not representing the currently opened device if you have more than one network device, but always the first network device.&lt;/p&gt;&lt;p&gt;Thomas was still working hard on the VIA Velocity driver. It seemed like never-ending work.&lt;/p&gt;&lt;p&gt;Breakfast we enjoyed outside this day as well. I had bought cold burgers, heated in the microwave, and put them on the table together with the other normal things. Since the first meal of the day was quite late (2PM), everyone ate like the hungry wolves they were. :)&lt;/p&gt;&lt;p&gt;After looking through some iPXE configuration menu I suggested to Marin that he should add support for Home/End/PgUp/PgDown to the &lt;a href="https://ipxe.org/cmd/config"&gt;config TUI&lt;/a&gt;. It didn&amp;apos;t take him much time to shake that out of his right arm. It&amp;apos;s currently waiting for merging. After he did that he started looking into a shutdown command someone had mentioned they wanted. He spent some time trying to figure out how APM works, and sometime in the middle of the day Shao Miller showed up on IRC and helped him out, and he was able to complete a patch for that feature. It is currently lingering in the merge queue.&lt;/p&gt;&lt;p&gt;Michael started reviewing the &lt;a href="https://ipxe.org/gsoc/via"&gt;VIA Rhine driver&lt;/a&gt;, first cleaning it up and then hitting several obstacles with the loopback test not giving him what he expected. He continued figuratively banging his head against the wall for the rest of the day.&lt;/p&gt;&lt;p&gt;Sometimes it is good to take a break when you just can&amp;apos;t find any good answers. He started making a typical Asian dish called watercress &amp;amp; chicken stir-fry with rice for dinner (we couldn&amp;apos;t find watercress in the store, but he substituted with some other appropriate vegetables). Once he was done with that we sat down and enjoyed a good meal at a late hour (almost 10PM).&lt;/p&gt;&lt;p&gt;I had mentioned earlier in the day that Matthew Helton wanted a way to make the iPXE version string available to scripts. Michael encouraged me to try to write the support myself, considering it was just a few lines of code in &lt;code&gt;core/settings.c&lt;/code&gt;. While Michael was busy making dinner I had a look at it, and with some insight from Marin and Thomas I was able to push out &lt;a href="https://git.ipxe.org/ipxe.git/blobdiff/eba6bb38f2d6642efcb20d43e8b4c6c20406dd32..7016164056fb1065c1379d6ac58d1e9cc475c4db:/src/core/settings.c"&gt;my second commit&lt;/a&gt; in the C parts of the iPXE codebase. I felt so proud of myself, even though it was mostly copy and paste and two lines of changed code.&lt;/p&gt;&lt;p&gt;After a long day of extensive hacking and a good meal, we sat down with some ice cream for dessert. While we were eating we fired up the old MAME emulator and had some fun playing games like Street Fighter II, Mortal Kombat and Bubble Bobble with an authentic arcade joystick from X-Arcade. Michael even tried it!&lt;/p&gt;&lt;p&gt;Although most of us was ready for bed Michael and Thomas ended up back at the computers hacking on the troublesome VIA drivers while Marin and myself continued beating each other to a pulp in Mortal Kombat. Michael found a page with the special moves earlier which made it so much more funny.&lt;/p&gt;&lt;p&gt;At 3AM the last of us figured it was getting way too late and decided to just stop what we were doing and try again the next day with fresh eyes.&lt;/p&gt;&lt;h3 id="sunday-14th-of-july"&gt;Sunday 14th of July&lt;/h3&gt;&lt;p&gt;I had mentioned to the guys earlier that I was planning on making eggs and bacon for breakfast one morning, and this was indeed the day for that. Everything went well and my favorite brunch was served the way it was supposed to. We ate it indoors because the wind was a bit chilly. It seemed to go down very well after a long evening hacking the night before.&lt;/p&gt;&lt;p&gt;After the breakfast we went on a tour around the center of T&amp;#xF8;nsberg. We started at Slottsfjell museum where we saw the viking ship and the large whale skeletons. Both things impressed the guys. After that we walked up to Tallak and had a look around the old buildings there. The place was very busy, because a lot of construction workers were preparing for the Slottsfjell festival that is happening the next weekend. After that we walked up to the tower and had a look out over the city. For the first time in years I could see the changes in the city from an aerial view. The next stop on our route was the pier, which was reasonably active with people. We stopped at Parad-is for some long-awaited ice-cream and a walking break. Finally we walked back up to where the car was parked by the museum. All along the route me and Marin were busy hacking &lt;a href="https://www.ingress.com/"&gt;Ingress&lt;/a&gt; portals.&lt;/p&gt;&lt;figure class="kg-card kg-image-card"&gt;&lt;a href="https://www.flickr.com/photos/robinsmidsrod/9304717985/"&gt;&lt;img src="https://live.staticflickr.com/7397/9304717985_5cb979eba7_n.jpg" class="kg-image" alt="Overlooking T&amp;#xF8;nsberg" loading="lazy" width="320" height="213"&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class="kg-card kg-image-card"&gt;&lt;a href="https://www.flickr.com/photos/robinsmidsrod/9304729801/"&gt;&lt;img src="https://live.staticflickr.com/3666/9304729801_531120a2f4_n.jpg" class="kg-image" alt="Cannons are fun" loading="lazy" width="320" height="213"&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class="kg-card kg-image-card"&gt;&lt;a href="https://www.flickr.com/photos/robinsmidsrod/9307518772/"&gt;&lt;img src="https://live.staticflickr.com/3737/9307518772_74c3d887eb_n.jpg" class="kg-image" alt="Hand-built viking ship" loading="lazy" width="320" height="240"&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;Once we came back Michael continued working on his VIA Rhine reviewing, in which he had an epiphany and found out there was an interrupt bug in the Intel driver which caused packets to be lost for some reason. Once that was taken care of he was able to finally push the new &lt;code&gt;rhine&lt;/code&gt; driver.&lt;/p&gt;&lt;p&gt;Thomas continued working on the VIA Velocity driver, getting more and more annoyed at the poor quality of the data sheet and the odd behavior of the test hardware.&lt;/p&gt;&lt;p&gt;Marin said he wanted to make potatoes baked in cream for dinner one of the days, so he started preparing that after we got back, and after a good amount of time in the stove the dinner was ready. Together with some left-over watermelon salad, some sausages, burgers, grilled chicken and other goodies it was time for a feast. And boy was it true!&lt;/p&gt;&lt;p&gt;After the dinner everyone was feeling a bit sleepy after a long day with more than just hacking, so we sat back and watched an episode of Futurama and MacGyver, during which some of us fell asleep for shorter bits of time. It&amp;apos;s really nice to see that people enjoy themselves and feel like they&amp;apos;re at home. While we were cleaning the plates off the table Marin was eating out of the almost empty pot of left-over potatoes. I guess he&amp;apos;s just as much a sucker for food as I am.&lt;/p&gt;&lt;p&gt;The guys went back to hacking the code, while I decided to go to bed a bit earlier than the other days.&lt;/p&gt;&lt;h3 id="monday-15th-of-july"&gt;Monday 15th of July&lt;/h3&gt;&lt;p&gt;When I woke up I got some good news from Thomas. It seems the machine he had been using for testing the VIA Velocity driver had some hardware issues. Once he moved to another machine, all the tests passed and he was very happy with the outcome. The driver could finally be merged.&lt;/p&gt;&lt;p&gt;Once everyone was up and around we had breakfast out in the sun again. The weather had improved a bit from the day before.&lt;/p&gt;&lt;p&gt;After the breakfast Michael was busy merging all of the other outstanding patches mentioned earlier before he started in the NFS feature from Marin. After several back-and-forth bug fixes by Marin the patch was finally in a mergeable state and we could all rejoice over a job well done.&lt;/p&gt;&lt;p&gt;While the others were busy doing code reviewing, I tried to figure out why my dual-NIC test machine didn&amp;apos;t want to exit properly back to my embedded menu from my main menu script. After a lot of testing we found out that &lt;code&gt;autoboot&lt;/code&gt; had an issue with its getopt implementation which caused it to go in a loop if you specified a network adapter, but worked fine if you didn&amp;apos;t specify an adapter list.&lt;/p&gt;&lt;p&gt;We had already decided on going out to eat dinner one of the days, so this was definitely the day to do that. We went to the restaurant in the city which is supposed to have the best kitchen, La Barca. Most of us ordered reindeer, and the dish was outstanding, as usual.&lt;/p&gt;&lt;figure class="kg-card kg-image-card"&gt;&lt;a href="https://www.flickr.com/photos/robinsmidsrod/9304737691/"&gt;&lt;img src="https://live.staticflickr.com/3738/9304737691_ae59ea5ae0_n.jpg" class="kg-image" alt="Well deserved dinner" loading="lazy" width="320" height="240"&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;After we got back from the city Marin and Michael worked more on getting the file license Makefile target to work properly. They actually got it working, but it also revealed a lot of manual work that needs to be done (basically going through each source file, figuring out which license it is under and then tagging it with a single line of code - if you want to help out with this, please get it touch).&lt;/p&gt;&lt;p&gt;Thomas was at this point getting tired of the review work on the bnx2 driver, so he decided to start looking at a driver for the IC+ 1000 Gigabit Ethernet adapter he&amp;apos;s had around for a while.&lt;/p&gt;&lt;p&gt;At 1AM we started getting hungry, so we pulled out the rest of the strawberries and enjoyed (most likely) the last desert of the hackathon.&lt;/p&gt;&lt;p&gt;While eating people got grandiose ideas about implementing Pong using iPXE scripting. It was pretty obvious the sleep deprivation was starting to get to us.&lt;/p&gt;&lt;h3 id="tuesday-16th-of-july"&gt;Tuesday 16th of July&lt;/h3&gt;&lt;p&gt;The day had finally arrived when everyone had to pack up and get back home. People woke up quite late, which meant we had to eat breakfast in a hurry to avoid Thomas and Marin missing their train to the airport.&lt;/p&gt;&lt;p&gt;While I drove Thomas and Marin to the train, Michael was still hacking around on a new increment command for the iPXE scripting language. It is going to be a neat feature that should enable us to easily loop through e.g. network adapters in embedded menus and probe hardware or other information using the &lt;code&gt;pci&lt;/code&gt; or &lt;code&gt;smbios&lt;/code&gt; settings blocks.&lt;/p&gt;&lt;p&gt;When I got back we sat down and chatted a bit, watched a couple of episodes (introduced Michael to The Big Bang Theory) and I suggested to him to get in touch with Randal Schwartz to appear on &lt;a href="https://twit.tv/floss"&gt;FLOSS Weekly&lt;/a&gt;. This could give us a decent PR boost and get the word out a bit more, and hopefully grow our community.&lt;/p&gt;&lt;p&gt;Later I dropped Michael off at the airport and hacked some more Ingress portals on my way home.&lt;/p&gt;&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;&lt;p&gt;Overall these new features and drivers where published to mainline during the hackathon:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;New &lt;code&gt;hexraw&lt;/code&gt; variable format. Useful for using MAC addresses without separators.&lt;/li&gt;&lt;li&gt;A network interface&amp;apos;s PCI location can be used from scripts.&lt;/li&gt;&lt;li&gt;PCI vendor/device IDs (and more) can be used from scripts.&lt;/li&gt;&lt;li&gt;&lt;code&gt;netX&lt;/code&gt; is now a symlink settings block to most recently opened interface.&lt;/li&gt;&lt;li&gt;Version string available to scripts.&lt;/li&gt;&lt;li&gt;New VIA Rhine 100Mbit driver.&lt;/li&gt;&lt;li&gt;Backslash (like bash) continuation to break long script lines.&lt;/li&gt;&lt;li&gt;New VIA Velocity Gigabit driver.&lt;/li&gt;&lt;li&gt;Home/End/PgUp/PgDown keys now work in &lt;code&gt;config&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;APM computer shutdown command, &lt;code&gt;poweroff&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Downloading of files using NFS protocol.&lt;/li&gt;&lt;li&gt;Building the license targets now work (although we miss license info for lots of files).&lt;/li&gt;&lt;li&gt;Several minor bug fixes that have been reported and some we discovered during the weekend.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;These are the items on the agenda we weren&amp;apos;t able to complete because of lack of time:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Merge the &lt;code&gt;bnx2&lt;/code&gt; driver.&lt;/li&gt;&lt;li&gt;Make &lt;code&gt;ipxe.kpxe&lt;/code&gt; work (aka UNDI fallback).&lt;/li&gt;&lt;li&gt;Make iPXE as an EFI application work.&lt;/li&gt;&lt;li&gt;New Intel wireless driver.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;All in all it was a great event, and I&amp;apos;m happy that everyone enjoyed it as much as I did hosting it. I&amp;apos;m quite up for doing it again some time in the future, it was a blast! You can find some photos from the event on my &lt;a href="https://www.flickr.com/photos/robinsmidsrod/sets/72157634671915481/"&gt;Flickr set for the hackathon&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;If you want to participate in the iPXE community, join us on &lt;a href="https://ipxe.org/contact"&gt;IRC, the mailing-list or the forum&lt;/a&gt;. If you&amp;apos;re a beginner to network booting, you might also find the website &lt;a href="https://networkboot.org/"&gt;https://networkboot.org/&lt;/a&gt; useful.&lt;/p&gt;&lt;p&gt;If you want to get in touch with me there are links at the top of my blog with links to Twitter, Facebook and Google+. Talk to you later!&lt;/p&gt;</content>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>So, a while ago I decided that I wanted to invite the core developers of the <a href="https://ipxe.org/">iPXE project</a> to my home for an extended weekend of hacking on the project. The agenda was to try and merge as many outstanding patches and pull requests that we knew about. The work</p>
      </div>
    </summary>
    <id>64b0753f1c914a000180deec</id>
    <published>2013-07-17T11:09:09Z</published>
    <category term="Software"/>
    <category term="hackathon"/>
    <category term="ipxe"/>
    <category term="netboot"/>
    <category term="pxe"/>
    <category term="network booting"/>
    <category term="American English"/>
    <author>
      <name>Robin Smidsrød</name>
    </author>
    <title>Robin Smidsrød: iPXE hackathon in Tønsberg, Norway</title>
  </entry>
  <entry xml:base="http://nahamu.github.io/">
   
   <link href="http://nahamu.github.com/2013/04/19/smartos-wiki.html"/>
   <updated>2013-04-19T00:00:00-07:00</updated>
   <id>http://nahamu.github.com/2013/04/19/smartos-wiki</id>
   <content type="html">&lt;h1&gt;SmartOS Wiki Pages&lt;/h1&gt;

&lt;p class="meta"&gt;2013-04-19&lt;/p&gt;


&lt;h2&gt;Just a list of some SmartOS wiki pages I've spent a lot of time working on.&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="http://wiki.smartos.org/display/DOC/Simple+PXE+Server"&gt;Simple PXE Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://wiki.smartos.org/display/DOC/Spice+on+SmartOS"&gt;Spice on SmartOS&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Also, this blog (such as it is) has been added to the &lt;a href="http://networkboot.org/planet/"&gt;NetworkBoot.org blog roll&lt;/a&gt;.&lt;br /&gt;
I probably won't write a whole lot of PXE related posts, but I look forward to the broader exposure if/when I do!&lt;br /&gt;
People finding this post from that avenue might enjoy this page: &lt;a href="http://wiki.smartos.org/display/DOC/PXE+Booting+SmartOS"&gt;PXE Booting SmartOS&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
</content>
 <published>2013-04-19T00:00:00-07:00</published><author><name>Nahum Shalman</name></author><title>Nahum Shalman: SmartOS Wiki Pages</title></entry>
  <entry xml:base="http://blog.robin.smidsrod.no/">
    <link rel="alternate" href="https://blog.robin.smidsrod.no/2012/11/04/gsoc-2012-roundup-for-ipxe/" type="text/html"/>
    <content type="html">&lt;p&gt;During the summer season of 2012 (northern hemisphere) I&amp;apos;ve had the pleasure of being the coordinator of &lt;a href="http://ipxe.org/"&gt;the iPXE network boot loader&lt;/a&gt;&amp;apos;s participation in the &lt;a href="http://code.google.com/soc/"&gt;Google Summer of Code&lt;/a&gt; program. This is a summary of what happened during the summer.&lt;/p&gt;&lt;h2 id="what-is-ipxe"&gt;What is iPXE?&lt;/h2&gt;&lt;p&gt;iPXE is a network boot loader. What does that actually mean? Normally when you boot your computer, control is handed over to the boot sector on a local hard drive in your computer and an operating system is loaded. But that is not the only option you have. For a lot of years a standard called PXE (developed by Intel), has been available which allows x86-based computers to boot from the network (using DHCP and TFTP). iPXE&amp;apos;s main goal is to extend that ability to not only boot from TFTP (which is quite slow), but allow computers to boot from HTTP, FTP, iSCSI, AoE and other more esoteric sources. We also have a goal of being the main network boot loader for EFI-based systems (almost working, get in touch for details). We already support more than 60 different network cards, and cards without a native driver are also supported using a feature called &lt;a href="http://ipxe.org/howto/chainloading"&gt;chainloading&lt;/a&gt;.&lt;/p&gt;&lt;h2 id="first-time-participating-in-gsoc"&gt;First time participating in GSoC&lt;/h2&gt;&lt;p&gt;This is the first year iPXE participates in the GSoC program as an organization. Most of the mentors involved have participated earlier years as part of other organizations, such as kernel.org and Etherboot. It was the first time for me, though, and it was quite fun! My job was to keep all the students and mentors on track and ensure no deadlines were forgotten and that communication between everyone flowed smoothly. In total we had three students, which I understand is quite a lot for a first year organization. Thank you to Google for believing in us.&lt;/p&gt;&lt;h2 id="students-and-projects"&gt;Students and projects&lt;/h2&gt;&lt;p&gt;Marin Hannache from EPITA University in France wrote protocol &lt;a href="http://ipxe.org/gsoc/nfs"&gt;support for downloading boot files using NFS&lt;/a&gt;. His work is awaiting review and integration into mainline. From what I&amp;apos;ve tested it still has some issues, but it is working, and I&amp;apos;m most eager to get it in, as it will allow booting directly from an NFS3 server, not even needing a web server. This should be great news for people using small NAS boxes to do their booting, as they don&amp;apos;t always have a way to serve files using HTTP.&lt;/p&gt;&lt;p&gt;Adrian Jamr&amp;#xF3;z from Jan Kochanowski University in Poland &lt;a href="http://ipxe.org/gsoc/via"&gt;reimplemented the drivers for the VIA Rhine and VIA Velocity family of network cards&lt;/a&gt;. The existing drivers were using a deprecated API and was much bigger in size than they really needed to be. Code size is always a big challenge for a project like iPXE, which commonly is burned into ROM chips that have a limit of 64KB. His code was very good and is just awaiting final review and integration. I&amp;apos;ve personally tested it on one of my Rhine2-based cards, and it seems to work reliably.&lt;/p&gt;&lt;p&gt;Daniel Wyatt from Lord Fairfax Community College in the United States &lt;a href="http://ipxe.org/gsoc/bnx2"&gt;reimplemented the driver for the Broadcom NetExtreme II family of network cards&lt;/a&gt;. The problem with the old bnx2 driver was the same as the VIA driver. It used a very large proprietary firmware blob to run the MIPS-based microcontrollers on the card. Most of the summer was used to understand how we could minimize this firmware without losing any functionality. In the end the student got something working, but we&amp;apos;re still having issues with the legality of including the firmware inside the iPXE project. The integration with mainline is currently on the fence awaiting some kind of confirmation from Broadcom that we can actually distribute the firmware blob with iPXE. Luckily we have people from Broadcom participating in the community, so it shouldn&amp;apos;t be too impossible to get this kind of approval. I guess this student got a crash course in how licensing affects what you can do within an open-source project.&lt;/p&gt;&lt;h2 id="other-tidbits"&gt;Other tidbits&lt;/h2&gt;&lt;p&gt;All of the pages linked to above were maintained by the students as they were working on their code during the summer. You can also find links to specific Git repositories that include all of their code if you&amp;apos;re interested in testing it out before it is integrated into mainline. Most of the day-to-day collaboration was done using IRC on the #ipxe channel on irc.freenode.net. Below you can read some of the interesting things said during the summer by the students:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;20120608-010814 &amp;lt;Mareo&amp;gt;&lt;/code&gt; wow, I&amp;apos;m in the black magic part of iPXE codebase :D&lt;/li&gt;&lt;li&gt;&lt;code&gt;20120703-121824 &amp;lt;Mareo&amp;gt;&lt;/code&gt; this gsoc is awesome :D&lt;/li&gt;&lt;li&gt;&lt;code&gt;20120712-203713 &amp;lt;dewyatt&amp;gt;&lt;/code&gt; the bnx2 datasheet is horrible :(&lt;/li&gt;&lt;li&gt;&lt;code&gt;20120720-233044 &amp;lt;dewyatt&amp;gt;&lt;/code&gt; mcb30: okay...I&amp;apos;m eager to get started on the fun stuff&lt;/li&gt;&lt;li&gt;&lt;code&gt;20120728-160956 &amp;lt;budrys&amp;gt;&lt;/code&gt; meteger: but I think it can&amp;apos;t be left as is, it&amp;apos;s a dirty hack for me&lt;/li&gt;&lt;li&gt;&lt;code&gt;20120815-172646 &amp;lt;dewyatt&amp;gt;&lt;/code&gt; mcb30: mouse sent me some ROMs that have firmware in them. This made me take another look at the newest PXE ROM I have and I found compressed firmware. I hackishly extracted this by pausing the broadcom PXE ROM during DHCP and reading from the Debug UART. I can&amp;apos;t do this for RV2P and I don&amp;apos;t really know the bounds of the MIPS firmware so it&amp;apos;s still a work in progress.&lt;/li&gt;&lt;li&gt;&lt;code&gt;20120816-083313 &amp;lt;dewyatt&amp;gt;&lt;/code&gt; I don&amp;apos;t know if I can legally commit this code really :/&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="thanks-to-everyone"&gt;Thanks to everyone&lt;/h2&gt;&lt;p&gt;It is great to have taken part in this journey and seen how much the students have learned over the summer. I want to thank our three mentors, Michael Brown, Joshua Oreman and Thomas Miletich and all the other knowledgable people on the #ipxe IRC channel for the great work they&amp;apos;ve provided during the summer. Participating in GSoC has been a great experience for us all, and I hope we&amp;apos;ll be able to participate next year as well.&lt;/p&gt;&lt;p&gt;If I&amp;apos;ve whet your appetite to learn more about network booting, I invite you to &lt;a href="http://webchat.freenode.net/?channels=#ipxe"&gt;join us on IRC&lt;/a&gt;, participate in the &lt;a href="http://forum.ipxe.org/"&gt;iPXE forums&lt;/a&gt; or &lt;a href="https://lists.ipxe.org/mailman/listinfo/ipxe-devel"&gt;join the mailing-list&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Until next time,&lt;br&gt;Robin Smidsr&amp;#xF8;d,&lt;br&gt;iPXE GSoC 2012 coordinator&lt;/p&gt;</content>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>During the summer season of 2012 (northern hemisphere) I've had the pleasure of being the coordinator of <a href="http://ipxe.org/">the iPXE network boot loader</a>'s participation in the <a href="http://code.google.com/soc/">Google Summer of Code</a> program. This is a summary of what happened during the summer.</p>
        <h2 id="what-is-ipxe">What is iPXE?</h2>
        <p>iPXE is a</p>
      </div>
    </summary>
    <id>64b0753f1c914a000180deea</id>
    <published>2012-11-04T14:25:01Z</published>
    <category term="Software"/>
    <category term="gsoc"/>
    <category term="ipxe"/>
    <category term="google summer of code"/>
    <category term="network boot loader"/>
    <category term="netboot"/>
    <category term="pxe"/>
    <category term="American English"/>
    <author>
      <name>Robin Smidsrød</name>
    </author>
    <title>Robin Smidsrød: GSoC 2012 roundup for iPXE</title>
  </entry>
  <entry xml:base="http://nahamu.github.io/">
   
   <link href="http://nahamu.github.com/2011/08/17/smartos-pxe.html"/>
   <updated>2011-08-17T00:00:00-07:00</updated>
   <id>http://nahamu.github.com/2011/08/17/smartos-pxe</id>
   <content type="html">&lt;h1&gt;Serving SmartOS from your PXE server&lt;/h1&gt;

&lt;p class="meta"&gt;2011-08-17&lt;/p&gt;


&lt;p&gt;(Quick and Dirty Edition)&lt;/p&gt;

&lt;h2&gt;Assumptions&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;This guide assumes that you already have a PXE (TFTP) server set up.&lt;/li&gt;
&lt;li&gt;This guide assumes that you use &lt;a href="http://syslinux.zytor.com/wiki/index.php/PXELINUX"&gt;pxelinux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;This guide assumes that you only want to boot SmartOS.  Please adjust accordingly.&lt;/li&gt;
&lt;li&gt;This guide assumes that you know how to do all sorts of other things as well...&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;Instructions&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Download the ISO from &lt;a href="http://smartos.org/"&gt;smartos.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Extract the entire &lt;code&gt;platform&lt;/code&gt; subtree from the ISO.&lt;/li&gt;
&lt;li&gt;Download a tarball of &lt;a href="http://syslinux.zytor.com/wiki/index.php/Download"&gt;SYSLINUX&lt;/a&gt; and get the &lt;code&gt;mboot.c32&lt;/code&gt; binary out of it.&lt;/li&gt;
&lt;li&gt;In the tftp root directory, create a directory named &lt;code&gt;smartos&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Copy the &lt;code&gt;platform&lt;/code&gt; directory you got from the ISO into the &lt;code&gt;smartos&lt;/code&gt; directory&lt;/li&gt;
&lt;li&gt;Copy the &lt;code&gt;mboot.c32&lt;/code&gt; binary into the &lt;code&gt;smartos&lt;/code&gt; directory&lt;/li&gt;
&lt;li&gt;Update your &lt;code&gt;pxelinux.cfg/default&lt;/code&gt; file with this content:
&lt;pre&gt;
default smartos
prompt 1
timeout 50
label smartos
kernel smartos/mboot.c32
append smartos/platform/i86pc/kernel/amd64/unix -B console=text,standalone=true,noimport=true,root_shadow='$5$2HOHRnK3$NvLlm.1KQBbB0WjoP7xcIwGnllhzp2HnT.mDO7DpxYA' --- smartos/platform/i86pc/amd64/boot_archive
&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;References&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.ryan.net/smartos-disk-blogpost/real_disk_smartos.html"&gt;Ryan's Guide to a disk install of SmartOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://syslinux.zytor.com/wiki/index.php/Mboot.c32"&gt;mboot.c32 documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</content>
 <published>2011-08-17T00:00:00-07:00</published><author><name>Nahum Shalman</name></author><title>Nahum Shalman: Serving SmartOS from your PXE server</title></entry>
</feed>
