玩轉樹莓派——升級NOOBS離線安裝介質到Raspbian 4.9和Windows 10 IoT C

來源:互聯網
上載者:User

標籤:tle   src   height   啟動   tps   gawk   windows   裝置   讀寫   

為樹莓派做系統升級是我一直想做的事。時間總是覺得不夠,於是也好久沒有碰。

直到前幾天MVP群裡有兄弟問大家的github來互相關注,我才突然想起之前寫過的製作離線安裝介質的文章:http://haohu.blog.51cto.com/2474833/1858600

因為之前把製作Windows 10 IoT Core需要的檔案放到了github上。前不久剛把電腦的Windows 10更新到了1703,也是時候更新樹莓派上的Windows 10 IoT Core了。(據說有不少新東西,比如Cortana~這個這個,另外寫一篇吧。)

於是我拿出了tf卡,下載了ISO,更新了NOOBS,然後自信地開啟了樹莓派的電源……WT……報錯了……848……

650) this.width=650;" title="70516299876038174" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="70516299876038174" src="http://s3.51cto.com/wyfs02/M00/9B/5C/wKioL1liQJLRWj_OAABSkinCL2M417.jpg" "225" height="300" />

那麼線上安裝呢?一覺睡醒,倒是在0.1M的速度下安裝成功了,可是,啟動完了,居然是14393!難道唯一的方法是通過IoT Dashboard每次下載安裝?

首先更新一下Dashboard App。

650) this.width=650;" title="clip_image001" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="clip_image001" src="http://s3.51cto.com/wyfs02/M01/9B/5C/wKiom1liQJOzhGPaAABKsdF_8yA135.png" "300" height="147" />

直接點開“設定新裝置”,下載新的鏡像 15063,然後寫到卡中。

650) this.width=650;" title="clip_image001[5]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="clip_image001[5]" src="http://s3.51cto.com/wyfs02/M00/9B/5C/wKiom1liQMLTseWFAAB-DL-tnMU356.png" "475" height="312" />

650) this.width=650;" title="clip_image001[7]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="clip_image001[7]" src="http://s3.51cto.com/wyfs02/M01/9B/5C/wKiom1liQMOgO12xAABEAQ9Q3a8984.png" "300" height="200" /> 650) this.width=650;" title="clip_image001[9]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="clip_image001[9]" src="http://s3.51cto.com/wyfs02/M01/9B/5C/wKioL1liQMTxrOUDAAAt_-nMEng763.png" "300" height="200" />

每次都線上?不能啊……我能怎麼辦呢,我也很絕望啊……

首先解決為啥不是15063而是14393的問題。先看日誌。

如果是通過NOOBS安裝的系統,首先是運行在Linux Based安裝環境的,然後才會引導到FAT/NTFS的檔案系統,因此,需要使用能夠讀寫EXT4分區的系統或者工具。

在嘗試了開源的ext2fd(好像是叫這個)之後,因為發現Win 10下經常無法彈出介質,後來還是選擇了用另外一張卡啟動到Raspbian系統裡面看日誌和複製。因為複製出來的日誌用notepad看太亂,也得用ultraedit之類的看。

我比較了14393和15063的成功啟動的所有log檔案:

650) this.width=650;" title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="image" src="http://s3.51cto.com/wyfs02/M00/9B/5C/wKiom1liQMbx_TLBAADAIqEgAWk648.png" "300" height="192" /> 650) this.width=650;" title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="image" src="http://s3.51cto.com/wyfs02/M00/9B/5C/wKioL1liQMfQ2TNRAADCU_pZyUw712.png" "300" height="192" />

我發現它們基本是一致的,從這個意義上來推測,14393升級到15063,安裝的架構沒有根本的變化。那麼,是什麼導致了線上安裝只能裝14393版本呢?基於之前的探索(雖然重拾這些點花了一點功夫),分區和OS的指令碼,並沒有包含相應的ISO的路徑。

於是,我在NOOBS線上安裝的時候,選擇了Windows Insider版本,失敗了:

650) this.width=650;" title="667182648009381734" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="667182648009381734" src="http://s3.51cto.com/wyfs02/M01/9B/5C/wKioL1liQMihT6_6AAA1xjlk40Q546.jpg" "300" height="125" />

調整了下思路,一個檔案一個檔案看下來,發現了成功之後有個isodlurl的檔案,記錄了下載的URL。對照分區partition_setup.sh指令碼和installtool-output.log,推測這個地址連結是寫死在installtool裡面的。

於是我拿出了ultraedit……16進位改檔案,果然發現了14393的URL,毫不客氣地改成了15063的URL:

http://go.microsoft.com/fwlink/?LinkId=821940 –> http://go.microsoft.com/fwlink/?LinkId=846058

再次開機測試,一路0.1M下載……快要睡著的時候,又報錯了……

650) this.width=650;" title="495456127197825982" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="495456127197825982" src="http://s3.51cto.com/wyfs02/M02/9B/5C/wKioL1liQMmj34cUAAAzXvJgPHI904.jpg" "300" height="111" />

倒是對了,哪裡出錯了呢?已經快淩晨3點了……

想起了重新打包installtool時候用的7zip,漫無目的地用7zip解壓iso,再解壓msi……看了hash,又看了7zip的log……難道對ISO的SHA1的HASH值也寫進了installtool?搜了一下ASCII和HEX,沒有發現……

睡不著了,問題到底出在哪?我把所有的指令檔都開啟了……為何下載ISO過程報錯了呢?為何不下載ISO安裝的時候報錯了呢?……

終於我發現了問題所在!原來的分區指令碼,scratch分區給的800M,原來的14393的ISO約600多M,所以是夠的,而現在的15063的ISO已經約700多M了,解壓估計放不下……

650) this.width=650;" title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px; padding-right: 0px" border="0" alt="image" src="http://s3.51cto.com/wyfs02/M00/9B/5C/wKioL1liQMqRd2ivAACNQtTM_5g690.png" "304" height="210" />

馬上改指令碼~順便把installtool的路徑從微軟網站改到本地。

650) this.width=650;" title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="image" src="http://s3.51cto.com/wyfs02/M01/9B/5C/wKiom1liQMzxiD12AADF67MFSrE441.png" "304" height="210" />

同時也把指令碼中鏡像路徑修改準確。開機,速度在1.2M左右,應該是本地的啦!

拔掉網線,終於,安裝成功!看到了15063的介面!

650) this.width=650;" title="clip_image001[11]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; padding-right: 0px" border="0" alt="clip_image001[11]" src="http://s3.51cto.com/wyfs02/M01/9B/5C/wKioL1liQM3BRM8NAACLE7sT1DQ753.png" "300" height="211" />

一覺醒來,已經六點半,8點開始一天的會議,有時間再更新github了:

https://github.com/HaoHoo/Windows-10-IoT

玩轉樹莓派——升級NOOBS離線安裝介質到Raspbian 4.9和Windows 10 IoT C

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.