以前的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コマンドを用い行っています。

如果你仍然珍惜着现在,把这个古老而美好的事物看得很重要,并因时代的变迁而感到担忧,那请看一看。

スクリーンショット 2023-11-26 005851.png

您可以使用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!!!...(失敗スナップ▽有り)
スクリーンショット 2023-11-24 203107.png
#@ 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、サービス起動後、タカオフォントインストール、サービス再起動後

スクリーンショット 2023-11-24 233411.png

元々付属したqt系のLEDチカチカ、G-センサーアプリが起動しない対応

sudo apt install libqt5widgets5

# LED,G-sensor ControlPanel @ RDP内のLxTerminalより実行
sudo /root/Desktop/ControlPanel
スクリーンショット 2023-11-25 000415.png

ダイレクト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
スクリーンショット 2023-11-25 014037.png
スクリーンショット 2023-11-25 020249.png
スクリーンショット 2023-11-25 021830.png
スクリーンショット 2023-11-25 023413.png
スクリーンショット 2023-11-25 024358.png
スクリーンショット 2023-11-25 023853.png
image.png
スクリーンショット 2023-11-25 025445.png
image.png

更に、18来てる。対応しだしたの?

スクリーンショット 2023-11-25 043126.png

一旦、rootでのRDP接続対応セット:

TSUSER_NAME=`cat /etc/xrdp/sesman.ini |egrep '^TerminalServerUsers='|perl -pe 's/^[^\=]*\=(.+)$/$1/'`
usermod -a -G $TSUSER_NAME $USER
image.png
image.png

从do-release2开始的第二个迭代的台风。

用户登录后发现新版本发布
例如:发现新版本’18.04.6 LTS’可用。

ssh localhost -l root
#> root@localhost's password:..........
#root@localhost
do-release-upgrade

选择将维护工作交给专业人员(若有疑问或不明白,请按d键查看详细信息并记录下来,按q键退出)。

…台风

スクリーンショット 2023-11-25 025230.png

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 <これを確認>

日志

スクリーンショット 2023-11-26 003423.png

EDS来源

 

帮助者

主要/重要:

 

我昨天跟朋友去看电影了。

 

主要以记录为主:

 

点击下一个地图

スクリーンショット 2023-11-25 205842.png

过去的文章 de

 

请参考链接。

SD卡系列

 

(免费范围内使用)

HPS Linux系

 

广告
将在 10 秒后关闭
bannerAds