メインコンテンツへスキップ
  1. Posts/

Checkpoint V-80にUbuntu入れたときのメモ

·3 分·
Ubuntu V-80
目次

前置き
#

FortiGate 50EにOpenwrtを入れてガチャガチャしているときにgithubを見ていたら@musashino_205氏によるcortexa72のヤバそうなルーターをサポートするプルリクエストを見つけた。
ヤフオクの相場を見ると¥2000~。テンション上がっちまって買ってしまった。
その後届くまでの間情報収集をしていると@djed736氏がDebianを起動するために作業しているのを発見したので
イメージが公開されていて手軽にできそうなDebian実行路線で触っていく事になりました。
御二方にはこの場で御礼を申し上げます。作業の成果にフリーライドする形になってごめんなさい。

USBメモリーを用意する
#

一応ディスクイメージを作成してあるので面倒だったら使ってみてください。(おまけ参照)

パーティション分け
#

partedを使った。
mklabelでgptラベルを貼って、boot(1GB),rootパーティションを作る。
bootパーティションはfat32で、rootはext4でフォーマットして/mnt/{boot,root}にマウントする。

USBメモリーにmmdebstrapしてubuntuをインストール
#

mmdebstrapについてはこちらを参照されたし。

mmdebstrapで/mnt/rootにubuntu24.04LTS arm64をいれる
usbメモリーだとかなり時間がかかる。

sudo apt install mmdebstrap qemu-user-static binfmt-support
sudo mmdebstrap --architecture=arm64 noble /mnt/root
sudo chroot /mnt/root

セットアップ
#

必要なこと

  • ユーザーを作る
    adduser user sudo

  • カーネルのインストール

apt update && apt install initramfs-tools
cd /tmp
wget https://github.com/junk-labs/debian-mvebu_cortexa72/releases/download/dockerworkingnow/linux-headers-6.6.52-mvebu-cortexa72_6.6.52-mvebu-cortexa72-20241003061437_arm64.deb
wget https://github.com/junk-labs/debian-mvebu_cortexa72/releases/download/dockerworkingnow/linux-image-6.6.52-mvebu-cortexa72-dbg_6.6.52-mvebu-cortexa72-20241003061437_arm64.deb
wget https://github.com/junk-labs/debian-mvebu_cortexa72/releases/download/dockerworkingnow/linux-image-6.6.52-mvebu-cortexa72_6.6.52-mvebu-cortexa72-20241003061437_arm64.deb
wget https://github.com/junk-labs/debian-mvebu_cortexa72/releases/download/dockerworkingnow/linux-libc-dev_6.6.52-mvebu-cortexa72-20241003061437_arm64.deb

sudo dpkg -i /tmp/*.deb
  • u-bootが読み込むためのあれこれ
    chrootから抜けてからcd /mnt/rootしてsudo vim boot/extlinux.conf
    内容は
label ubuntu
    kernel /boot/vmlinux-6.6.52-mvebu-cortexa72
    initrd /boot/initrd.img-6.6.52-mvebu-cortexa72
    fdt /boot/armada-7040-v-80.dtb
    append console=ttyS0,115200 earlycon=uart8250,mmio32,0xf0512000 earlyprink root=/dev/sda2 rw rootwait mvpp2x.queue_mode=1 ethaddr=${ethaddr} eth1addr=${eth1addr} eth2addr=${eth2addr}  eth3addr=${eth3addr}

gzip圧縮イメージは使えないのでgunzipする。
ついでにdtbを移動させる。

sudo mv boot/vmlinuz-6.6.52-mvebu-cortexa72 boot/vmlinux-6.6.52-mvebu-cortexa72.gz
sudo gunzip boot/vmlinux-6.6.52-mvebu-cortexa72.gz
sudo cp usr/lib/linux-image-6.6.52-mvebu-cortexa72/marvell/armada-7040-v-80.dtb boot/
  • bootパーティションに/mnt/root/bootをコピーする
sudo cp -r boot ../boot 

ルーターの準備
#

シリアルコンソールでルーターを操作してusbブートできるようにする。
起動後expertと叩くと色々いじれるのに入れる。

expert # ここで初期状態だとパスワードの設定が入る。
fw_setenv bootcmd_ow_sysboot 'usb start; sysboot usb 0:1 any ${loadaddr} /boot/extlinux.conf;'
fw_setenv bootcmd 'set cp_quiet; run set_bootargs_vx; run bootcmd_ow_sysboot; run bootcmd_ow_usb; run bootcmd_ow_emmc; run bootcmd_part${activePartition};'

USBメモリーを刺して起動するとubuntuが立ち上がる。
chrootでいじる段階でユーザーを作ってないとログインできない。

HDDぶっ飛んだのでセットアップ用イメージも消えた ## おまけ usbメモリーにセットアップする作業をまとめたイメージを作りました。 user:userでログインできます。 8GBのメモリー想定で作ったので足りなかったらrootパーティションを拡張してresize2fsしてください。 - [ubuntu24.04_v-80.img](https://downloads.n4ne.com/v-80/ubuntu/)

関連記事

中華ES品マザボのススメ
·4 分
PC AliExpress ES Board
kvmでIntel ARCをパススルーする。
·6 分
kvm Linux kvm
ubuntu serverをルーター化する2
·4 分
Network Linux network
ubuntu serverをルーター化する
·3 分
Network Linux network
新しいルートソリューション、APatchのススメ
·4 分
Android Android
HyperVにGPUを割り当てて優勝したかった
·3 分
Linux Linux