ProHoster > Blog > Rianachd > A’ cruthachadh ìomhaigh Ubuntu airson ARM “bhon fhìor thoiseach”
A’ cruthachadh ìomhaigh Ubuntu airson ARM “bhon fhìor thoiseach”
Nuair a thòisicheas leasachadh, gu tric chan eil e soilleir dè na pasganan a thèid gu na freumhan targaid.
Ann am faclan eile, tha e ro thràth grèim fhaighinn air LFS, buildroot no yocto (no rudeigin eile), ach feumaidh tu tòiseachadh mu thràth. Dha na daoine beairteach (tha 4GB eMMC agam air sampallan pìleat) tha slighe a-mach ann airson sgaoileadh a thoirt do luchd-leasachaidh a leigeas leotha rudeigin a tha a dhìth an-dràsta a lìbhrigeadh gu sgiobalta, agus an uairsin is urrainn dhuinn an-còmhnaidh liostaichean de phasgan a chruinneachadh agus liosta a chruthachadh airson na freumhan targaid.
Chan eil an artaigil seo ùr agus is e stiùireadh sìmplidh leth-bhreac a th’ ann.
Is e adhbhar an artaigil rootfs Ubuntu a thogail airson bùird ARM (nam chùis-sa, stèidhichte air Colibri imx7d).
A 'togail ìomhaigh
Bidh sinn a’ cruinneachadh na freumhan targaid airson ath-riochdachadh.
A’ dì-phapadh Ubuntu Base
Bidh sinn a’ taghadh an naidheachd sinn fhìn a rèir feum agus ar roghainnean fhèin. An seo tha mi air 20 a thoirt seachad.
$ mkdir ubuntu20
$ cd ubuntu20
$ mkdir rootfs
$ wget http://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04-base-armhf.tar.gz
$ tar xf ubuntu-base-20.04-base-armhf.tar.gz -C rootfs
A’ sgrùdadh taic BINFMT anns an kernel
Ma tha cuairteachadh cumanta agad, tha taic ann airson BINFMT_MISC agus tha a h-uile càil air a rèiteachadh, mura h-eil, tha mi cinnteach gu bheil fios agad mar a bheir thu comas do thaic BINFMT anns an kernel.
Dèan cinnteach gu bheil BINFMT_MISC air a chomasachadh san kernel:
Tha faidhlichean cinn kernel agus modalan na chùis air leth. Gu dearbh, cha stàlaich sinn an bootloader, kernel, modalan, craobh inneal tro Ubuntu. Thig iad thugainn bhon taobh a-muigh no cruinnichidh sinn iad fhèin no thèid an toirt dhuinn le neach-dèanamh a’ bhùird, co-dhiù tha seo taobh a-muigh raon an stiùiridh seo.
Gu ìre, tha e iomchaidh gabhail ri eadar-dhealachadh dreach, ach tha e nas fheàrr an toirt bhon togail kernel.
# apt install --yes linux-headers-generic
Chì sinn dè thachair agus thionndaidh e a-mach tòrr:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Na dìochuimhnich facal-faire a shuidheachadh.
A 'pacadh an ìomhaigh
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
A bharrachd air an sin, is urrainn dhuinn msaakeeper a chuir a-steach leis an t-suidheachadh autopush
Uill, canaidh sinn gun do sgaoil sinn ar co-chruinneachadh, thòisich an obair air an dòigh as fheàrr air dreachan eadar-dhealaichte den t-siostam againn a chruinneachadh nas fhaide air adhart.
faodaidh neach-gleidhidh tighinn gu ar cuideachadh.
Faodaidh sinn, gu dearbh, meuran a chruthachadh air an inneal ro-làimh (canamaid gun dèan sinn sgriobt no seirbheis a ruitheas a’ chiad uair a thèid a chuir air bhog).
# cat /etc/etckeeper/commit.d/40myown-push
#!/bin/sh
set -e
if [ "$VCS" = git ] && [ -d .git ]; then
branch=$(cat /proc/cpuinfo | grep Serial | cut -d':' -f 2 | tr -d [:blank:])
cd /etc/
git push origin master:${branch}
fi
Agus tha sin uile - às deidh greis is urrainn dhuinn sùil a thoirt air na h-atharrachaidhean agus liosta de phasganan a chruthachadh airson an firmware targaid.