以前的DE0-nano-SOC内置了”intel Altera CycloneV FPGA和HPS ARM®Cortex®-A9″,让人们更容易玩转它(升级到Ubuntu 22.04/X.Org 1.21.14的方法)
首先
我想要将我的De0-nano-SOC从供应商官方网站提供的LXDE图像创建的启动盘升级到更新的Ubuntu Linux环境。这是为了个人目的所做的,也是为了在一昔前的DE0-nano-SOC「intel Altera CycloneV FPGA・HPS ARM®Cortex®-A9」上玩得更广泛(升级到Ubuntu22.04/X.Org1.21.14的道路)。
調べても、Aiへ尋ねても時代遅れと見捨てられた結果。
根気とボードへの強い想いにより。
よりポピュラーに今後使えるであろうLinux環境(Ubuntu 22.04.LTS)への最新化迄を行った記録です。
また、この手順では、いわゆるxogxrdp(RDPクライアント向けに最適化されたXWindowサーバ)への置換を数行のaptコマンドを用い行っています。
如果你仍然珍惜着现在,把这个古老而美好的事物看得很重要,并因时代的变迁而感到担忧,那请看一看。
您可以使用Rufus或其他工具,首先在电脑上将这个官方网站的LXDE版镜像文件制作成引导盘,并将其保存到SD卡槽的SD卡上,然后按照本文底部的过去文章中的详细镜像链接进行安装。在这个过程中需要一定程度的编译和安装xrdp源代码的技能才能完成。
操作步骤
我从过去的记录中再次进行了另一个SD卡(128GB)的重新构建研究。
突然的工作日志总结是,在脚本中参考注释并完成此步骤。在此过程中,
将Linaro 13.04升级至Ubuntu 14.04.6 LTS,
并源代码编译安装xrdp-0.9.4,
然后升级至16.04.7 LTS。
通过这样做,您的De0-nano-SOC的HPS将连接到Ubuntu Linux环境,实现了Ubuntu的升级路径。
以降は、do-release2回目以降のサイクロンを最終log迄実施します。
需要的是一个稳定的互联网环境,以及没有安全问题的本地网络等工作条件。
そして貴方の根気です。
ステップ詳細(概要?)は
スクリプト中のコメント参照
# extエリアとして、LXDEイメージングからrufusしたSDCARD(128GB)をDesikGinusで空きに新規パーティションを作成、Save時にext3形式選択しフォーマットし
# DE0-nano-SOCに差し込み、再構築
# https://qiita.com/engbJapans/items/73e817dc216c7e06c649
# を参照し手続きを変える
#@COMport,接続のROOTからスタートアップ確認後
ntpdate time.windows.com
#追加パーティションが見えるか?
df -h
#>Filesystem Size Used Avail Use% Mounted on
#>/dev/root 4.2G 2.7G 1.4G 66% /
#>devtmpfs 504M 4.0K 504M 1% /dev
#>none 101M 112K 101M 1% /run
#>none 5.0M 0 5.0M 0% /run/lock
#>none 504M 0 504M 0% /run/shm
#>none 100M 0 100M 0% /run/user
#::この段階では見えない。がこのまま続ける。ここで足掻いてはいけない。
rm -r /.Trash-0
df -h
#>Filesystem Size Used Avail Use% Mounted on
#>/dev/root 4.2G 1.6G 2.5G 39% / <--増えたので
#@シリアル接続(USART/USB/COMport)では、コピペや長い表示等が見えづらいからsshを有効にする。
passwd root
apt-get install openssh-server --fix-missing
#@sudo ユーザ作成とsudoコマンドのROOTはく奪
adduser engbjapan
usermod -aG sudo engbjapan
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
#@LAN経由ssh接続でのセッティングへ移行。
shutdown -r now # 一旦再起動
#...起動してきたら時間合わせ
ntpdate time.windows.com
#::@なお起動後以下のエラーは何時も出るしこのボードそのままだけでは実装していない様なので以後無視
#:: root@localhost:~# ...fail!
#:: * ALSA is not active, cannot start TiMidity++ ALSA midi emulation
#@WindowsPCのSSH接続ターミナルソフトで該、ボードIPへ接続 sudoユーザでログイン
# そして、ref https://homecircuits.eu/blog/ubuntu-12-10-to-13-10-and-to-14-04/ の通りにLinux環境アップグレードを進める。
sudo cp -p /etc/apt/sources.list /etc/apt/sources.list.org1
cat <<SEOF | sudo tee /etc/apt/sources.list
#deb http://ports.ubuntu.com/ubuntu-ports/ quantal main universe
deb http://old-releases.ubuntu.com/ubuntu/ quantal main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ quantal-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ quantal-security main restricted universe multiverse
#deb-src http://ports.ubuntu.com/ubuntu-ports/ quantal main universe
deb-src http://old-releases.ubuntu.com/ubuntu/ quantal main universe
SEOF
#@アップグレードその1
sudo apt-get update
sudo apt-get upgrade
#...数十分?
sudo apt-get dist-upgrade
#:シリアル接続ポートにWindowsPCのUSB差し込んで,再起動
sudo shutdown -r now
#@COM接続のターミナルソフトで起動を確認後、時間合わせ(root)
ntpdate time.windows.com
df -h
#>Filesystem Size Used Avail Use% Mounted on
#>/dev/root 4.2G 1.7G 2.4G 42% /
#>devtmpfs 504M 4.0K 504M 1% /dev
#>none 101M 116K 101M 1% /run
#>none 5.0M 0 5.0M 0% /run/lock
#>none 504M 0 504M 0% /run/shm
#>none 100M 0 100M 0% /run/user
#>/dev/mmcblk0p4 112G 61M 106G 1% /media/root/7XXXXXXXXXX
#>/dev/mmcblk0p1 20M 8.0M 12M 40% /media/root/4175-FB2B
#@拡張パーティションが現れたので、
# fstabに設定しmount
cp -a /etc/fstab /etc/fstab.org1
mkdir /mnt/ext3p4
echo '/dev/mmcblk0p4 /mnt/ext3p4 ext4 defaults 0 2' >> /etc/fstab
mount -a
#################################################################
# パッケージアーカイブキャッシュを拡張エリアへ移動
cp -a /var/cache/apt/archives /mnt/ext3p4/var_cache_apt_archives
rm -r /var/cache/apt/archives
ln -s /mnt/ext3p4/var_cache_apt_archives /var/cache/apt/archives
#################################################################
#@そしたらLAN経由のSSH接続にて、sudo ユーザでログインし以降を作業
#:/tmpのアクセス権開放
sudo chmod -R 1777 /tmp
#@ここからソースリストを更新しアップグレードする。
# <多分ここがマジック。実際にARMhfなのにAMDからみたARMhfになった模様。要はクロス開発環境はアップデートされているという事>
# origiinal ref [arm cross-compilation under amd64](https://gist.github.com/piotrMocz/580649306537d58d78b2) からArmアーキテクチャのみを取り出した物
sudo cp -p /etc/apt/sources.list /etc/apt/sources.list.org2
cat <<SEOF | sudo tee /etc/apt/sources.list
# sources.list file for arm cross-development under amd64
deb [arch=armhf] http://ports.ubuntu.com/ trusty main restricted universe multiverse
deb [arch=armhf] http://ports.ubuntu.com/ trusty-security main restricted universe multiverse
deb [arch=armhf] http://ports.ubuntu.com/ trusty-updates main restricted universe multiverse
deb [arch=armhf] http://ports.ubuntu.com/ trusty-backports main restricted universe multiverse
deb-src http://pl.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://pl.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://pl.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://pl.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://pl.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://pl.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://pl.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://extras.ubuntu.com/ubuntu trusty main
SEOF
#@アップグレードその2
sudo apt-get update
#> W: GPG error: http://extras.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 16126D3A3E5C1192
# 一旦、無視
sudo apt-get upgrade
#...待つ
#> Configuring console-setup メニューダイアログ出るので`UTF-8`を選択<TABや矢印>し、OK選択でスペース
#> まだ続くので、デフォルト選択の`. Combined - Latin; Slavic Cyrillic; Greek`のまま、OK選択でスペース
#...待つ
#: 以降の質問にはデフォルト指定で通す
#> Configuring libc6 メニューにOKのままスペース
#...待つ、時々?にEnterで通す
#sudo apt-get autoremove #<--今回は必要なかった
sudo apt-get dist-upgrade
#...Yしたら待つ...Configuring openssh-serverメニューも一旦、デフォルトのNOで選択しスペース...待つ、Settingup/Installingメッセージをそのまま流し待つ...数十分,,
#> Processing triggers for initramfs-tools (0.103ubuntu4.11) ...
#@無事終わったら、
lsb_release -a
#>No LSB modules are available.
#>Distributor ID: Ubuntu
#>Description: Ubuntu 14.04.6 LTS
#>Release: 14.04
#>Codename: trusty
#@ここで2回目の再起動をシリアル接続とターミナルソフトを準備(していたら、そのまま)し、行う。
sudo shutdown -r now
#...
#@シリアル接続のターミナルソフトで(root)で再起動確認し、時刻同期
ntpdate time.windows.com
#@同期したら、LAN経由のssh接続ターミナルソフトでsudoユーザでログインし、時間とローケルを日本に
sudo mv /etc/localtime /etc/localtime.org
sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
date
sudo apt install locales # <--もうaptで行けるはず
#@このときメッセージ中に`Use 'apt-get autoremove' to remove them.`がでるので従う
sudo apt-get autoremove
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
export LANG=ja_JP.UTF-8
date
cp -p ~/.bashrc ~/.bashrc.org
echo "export LANG=ja_JP.UTF-8" | tee -a ~/.bashrc
#@apt公開鍵取得
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192
#@時刻同期セット
sudo apt update
sudo apt install ntp
#@起動後同期セット
sudo cp -a /etc/rc.local /etc/rc.local.org1
sudo cat /etc/rc.local.org1 | perl -pe 's/^exit.+$/service ntp stop\nntpdate time\.windows\.com\nservice ntp start\nexit 0/' | sudo tee /etc/rc.local
sudo chmod +x /etc/rc.local
#@再起動その3。シリアル接続は一旦だしているならターミナルソフトレベルで接続を切る(シリアル通信がエコーバックしなくなるので)。
sudo shutdown -r now
#@数分?待って。LAN接続をしてsudoユーザでログイン
date #時刻設定されていると
#@拡張パーティションのアクセス確認
ls -la /mnt/ext3p4/
#OK?
#@ Xrdpをaptインストール
sudo apt install xrdp
#@ 該ユーザにxrdp権限付与
TSUSER_NAME=`cat /etc/xrdp/sesman.ini |egrep '^TerminalServerUsers='|perl -pe 's/^[^\=]*\=(.+)$/$1/'`
echo $TSUSER_NAME
sudo groupadd $TSUSER_NAME
sudo usermod -a -G $TSUSER_NAME $USER
exit
#@ 該ユーザで再度ログイン
id -a
#> 例:uid=1002(engbjapan) gid=1003(engbjapan) groups=1003(engbjapan),27(sudo),1004(tsusers)<--これ
#@ NETのポートリスニング確認
sudo netstat -nap|grep LISTEN
#>[sudo] password for engbjapan:
#>tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN 2139/xrdp-sesman
#>tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 466/sshd
#>tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN 2137/xrdp
#>tcp6 0 0 :::22 :::* LISTEN 466/sshd
#@該ユーザでWindowsPCからRDP接続
#Failed!!!...(失敗スナップ▽有り)
#@ xrdpをリムーブ
sudo apt remove xrdp
sudo apt update
sudo apt upgrade
#@再起動その4
sudo shutdown -r now
#@しばし待ってLAN経由SSH接続のsudoユーザでログインし、
#ソースから./bootstrapコンフィグメークインストール
cd /mnt/ext3p4/
sudo mkdir X11rdpbuilds
sudo chmod -R 777 X11rdpbuilds
cd X11rdpbuilds
# ref https://github.com/neutrinolabs/xrdp/wiki/Building-on-Debian-8#build--install-xrdp
wget https://github.com/neutrinolabs/xrdp/releases/download/v0.9.4/xrdp-0.9.4.tar.gz
tar xvzf xrdp-0.9.4.tar.gz
XRDP_SRC_DIR="${PWD}"/xrdp
mv xrdp-0.9.4 "${XRDP_SRC_DIR}"
cd "${XRDP_SRC_DIR}"
sudo apt install build-essential xorg-dev libxfont-dev libx11-dev libxfixes-dev libxrandr-dev
sudo apt install libssl-dev libpam0g-dev
sudo apt install autoconf libtool
./bootstrap
#...
./configure
# ./configure # korera tukenai #--enable-fuse --enable-mp3lame --enable-pixman
make
sudo make install
sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin
sudo apt upgrade
#>パッケージリストを読み込んでいます... 完了
#>依存関係ツリーを作成しています
#>状態情報を読み取っています... 完了
#>アップグレードパッケージを検出しています ... 完了
#>アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
ls -al /usr/local/sbin/xrdp{,-sesman}
#>-rwxr-xr-x 1 root root 600922 11月 24 21:26 /usr/local/sbin/xrdp
#>-rwxr-xr-x 1 root root 124920 11月 24 21:26 /usr/local/sbin/xrdp-sesman
sudo service xrdp status
#>[sudo] password for engbjapan:
#> * Checking status of Remote Desktop Protocol server xrdp [fail]
#> * Checking status of RDP Session Manager sesman [fail]
sudo service xrdp start
#> * Starting Remote Desktop Protocol server [ OK ]
sudo service xrdp status
#> * Checking status of Remote Desktop Protocol server xrdp [ OK ]
#> * Checking status of RDP Session Manager sesman [ OK ]
#@タカオフォントインストール
sudo apt update
sudo apt install fonts-takao fonts-takao-gothic fonts-takao-mincho fonts-takao-pgothic
#@xrdpサービス再起動
sudo service xrdp restart
xrdpソースbuild、サービス起動後、タカオフォントインストール、サービス再起動後
元々付属したqt系のLEDチカチカ、G-センサーアプリが起動しない対応
sudo apt install libqt5widgets5
# LED,G-sensor ControlPanel @ RDP内のLxTerminalより実行
sudo /root/Desktop/ControlPanel
ダイレクトCPU32bitマシーン上限16.04.7 LTS迄上げる
sudo apt update && sudo apt upgrade
sudo apt install update-manager-core
sudo do-release-upgrade -c
#>Checking for a new Ubuntu release
#>New release '16.04.7 LTS' available.
#>Run 'do-release-upgrade' to upgrade to it.
sudo do-release-upgrade
# 控えSSH接続:1022
#...
#>リポジトリ情報のアップデート
#>サードパーティが提供するリポジトリを使わない設定にしました
#>sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。アップグレード完了後、'ソフトウェアソース'
#>ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができます。
#>続けるには [ENTER] キーを押してください <---Enter
#...
#>アップグレードを開始しますか?
#>3 個のインストール済みパッケージは Canonical
#>によってサポートされなくなりました。ただしコミュニティからのサポートは受けることができます。
#>16 個のパッケージが削除されます。 336 個の新規パッケージがインストールされます。 771 個のパッケージがアップグレードされます。
#>合計 431 M をダウンロードする必要があります。 このダウンロードは約 5 分 かかります。
#>アップグレードをインストールするのに数時間かかることがあります。ダウンロードが完了してしまうと、処 理はキャンセルできません。
#> 続行する[yN] 詳細 [d]y
更に、18来てる。対応しだしたの?
一旦、rootでのRDP接続対応セット:
TSUSER_NAME=`cat /etc/xrdp/sesman.ini |egrep '^TerminalServerUsers='|perl -pe 's/^[^\=]*\=(.+)$/$1/'`
usermod -a -G $TSUSER_NAME $USER
从do-release2开始的第二个迭代的台风。
用户登录后发现新版本发布
例如:发现新版本’18.04.6 LTS’可用。
ssh localhost -l root
#> root@localhost's password:..........
#root@localhost
do-release-upgrade
选择将维护工作交给专业人员(若有疑问或不明白,请按d键查看详细信息并记录下来,按q键退出)。
…台风
y进入 (y
这时,用USB-B端口连接电脑并确认启动,以替代使用日记本。
[ OK ] Reached target Timers.
[ OK ] Started Set the CPU Frequency Scaling governor.
[ OK ] Started D-Bus System Message Bus.
#... こんなの中に上にスクロールすると▽が出てる
Welcome to Ubuntu 18.04.6 LTS!
systemd[1]: Set hostname to <localhost.localdomain>.
完成重启后,再次使用SSH连接以root用户登录。
#> Welcome to Ubuntu <これを確認>
#root@localhost
#@RDP接続で一通り確認しOKなら
apt clean
apt autoremove
exit
#@ユーザでログインし直し
#> Welcome to Ubuntu <これを確認>
日志
EDS来源
帮助者
主要/重要:
我昨天跟朋友去看电影了。
主要以记录为主:
点击下一个地图
过去的文章 de
请参考链接。
SD卡系列
(免费范围内使用)
HPS Linux系