kernel PinePhone i PineTab¶
Aquest document descriu com construir i instal·lar el nucli PinePhone o PineTab. Primer s’explica el sistema de recuperació. Després, l’edifici i la instal·lació reals. A la part inferior hi ha algunes referències.
Recuperació¶
La imatge d’Ubuntu Touch conté un mode d’arrencada recovery basat en «jumpdrive». Per entrar a la recuperació premeu i mantingueu els botons d’encesa i volum fins que el led s’encengui.
La recuperació presenta el PinePhone com un dispositiu de xarxa a través d’USB i executa un servidor telnet. Quan connecteu el PinePhone a l’escriptori a través d’USB, veureu que el dispositiu rndis es mostra a dmesg:
usb 1-7.2: Product: PinePhone
usb 1-7.2: Manufacturer: Pine64
usb 1-7.2: SerialNumber: Jumpdrive
rndis_host 1-7.2:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-7.2, RNDIS device
Podeu iniciar sessió al sistema de recuperació amb telnet 172.16.42.1.
La recuperació també exposa l’eMMC i la targeta microSD a través d’USB. Suposant que ja heu instal·lat l’Ubuntu Touch a la vostra targeta microSD veureu alguna cosa així a dmesg:
usb-storage 1-7.2:1.2: USB Mass Storage device detected
scsi host3: usb-storage 1-7.2:1.2
scsi 2:0:0:0: Direct-Access JumpDriv e eMMC PQ: 0 ANSI: 2
scsi 2:0:0:1: Direct-Access JumpDriv e microSD PQ: 0 ANSI: 2
sd 2:0:0:0: Attached scsi generic sg1 type 0
scsi 2:0:0:1: Attached scsi generic sg2 type 0
sd 2:0:0:0: [sdb] 30785536 512-byte logical blocks: (15.8 GB/14.7 GiB)
sd 2:0:0:1: [sdc] 124735488 512-byte logical blocks: (63.9 GB/59.5 GiB)
sdb: sdb1 sdb2
sd 2:0:0:0: [sdb] Attached SCSI removable disk
sdc: sdc1 sdc2 sdc3 sdc4 sdc5 sdc6 sdc7 sdc8 sdc9 sdc10
L’eMMC amb jumpdrive conté dues particions: pmOSboot i pmOSroot.
La targeta microSD amb Ubuntu Touch conté 10 particions: carregador, scr, persist, boota, bootb, recoverya, recoveryb, cache, system i userdata. Per actualitzar el nucli voleu muntar l’arrencada. Comproveu quin dispositiu és el SDcard al vostre SO i monteu boot_a. En l’exemple anterior aquest és sdc4. Dins d’aquesta partició veureu el nucli vmlinuz i fitxers relacionats: config-5.6.0-pine64 dtb initrd.img modules/ System.map-5.6.0-pine64 vmlinuz.
Compilació de la imatge¶
Per instal·lar dependències, obteniu el codi font, configureu i construïu el nucli, executeu el següent:
sudo apt install build-essential flex bison gcc-aarch64-linux-gnu libssl-dev
git clone -b pine64-kernel-ubports https://gitlab.com/pine64-org/linux.git
cd linux
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KBUILD_VERSION=arm64 LOCALVERSION=-pine64 make pine64_defconfig
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KBUILD_VERSION=arm64 LOCALVERSION=-pine64 make -j18 bindeb-pkg
Instal·leu el nucli¶
Arrencar en recuperació i muntar boot_a. Feu una còpia de seguretat si cal. Després copieu sobre el vostre nucli acabat de construir i si cal mòduls:
cp -v linux/debian/linux-image/boot/vmlinuz-5.6.0-pine64 [MOUNT POINT BOOT_A]/vmlinuz
cp -v linux/debian/linux-image/boot/config-5.6.0-pine64 [MOUNT POINT BOOT_A]
cp -v linux/debian/linux-image/boot/System.map-5.6.0-pine64 [MOUNT POINT BOOT_A]
sudo rm -rf [MOUNT POINT BOOT_A]/modules
sudo cp -rv linux/debian/linux-image/lib/modules [MOUNT POINT BOOT_A]
Després assegureu-vos de desmuntar la partició perquè s’escrigui netament. Ara podeu reiniciar el PinePhone. Un cop arrencat, podeu verificar que el nucli s’ha actualitzat correctament comprovant la data de construcció amb uname -a al dispositiu.
Referències¶
, wiki de Pine64 <https://wiki.pine64.org/index.php/PinePhone>, té informació general de HW, apuntadors d’altres projectes de PinePhone OS, revisions HW, UART en sèrie sobre auriculars jack (també a la seva botiga), fulls especulatius, problemes HW coneguts, etc
El repositori principal d’UBports té instruccions per a instal·lar imatges UT al PinePhone
Seguidor d’emissions d’UBPorts <https://gitlab.com/ubports/community-ports/pinephone/-/issues>
theFòrum de PinePhone de Pine64 <https://forum.pine64.org/forumdisplay.php?fid=120> the és on es reuneixen moltes altres comunitats que treballen amb PinePhone
La comunitat sunxi és on té lloc gran part de l”esforç de manteniment per a dispositius Allwinner, incloent el PinePhone. Tingueu en compte les seves instruccions de construcció.
El .microprogramari de confiança <https://github.com/crust-firmware/crust>. implementa un estat de son profund i s’executa en un processador de control de sistema dedicat fora de la CPU principal i la DRAM.