rk 3399-sd-friendlydesktopシステムミラーをコンパイルしてカスタムパーティションサイズを実現
7642 ワード
次に、ミラーのコンパイル手順を示します.まず、カスタムパーティションの部分について説明します.
カスタムパーティションを使用すると、2つのパーティションのサイズを変更し、異なるサイズのsdカードに適応できます.
ファイルをyourに置いたとします.dirフォルダの下
主な修正line 61
このうち29696はsdカードのサイズで、単位MB
主にline 10-line 11で、以下は修正されたファイルです.
flash=mmc,1:rootfs:ext4:0x6000000,0x6da050000:rootfs.img;
「0 x 600000」:パーティションの開始ノードを表し、「0 x 6 da 050000」:パーティションのサイズを表します.同じuserdataの開始ノードも変更します.
sd-fuse_rk3399
カスタムパーティションを使用すると、2つのパーティションのサイズを変更し、異なるサイズのsdカードに適応できます.
ファイルをyourに置いたとします.dirフォルダの下
変更./your_dir/mk-sd-image.sh
主な修正line 61
friendlydesktop-arm64)
RAW_FILE=${SOC}-sd-friendlydesktop-${CODENAME}-4.4-arm64-$(date +%Y%m%d).img
RAW_SIZE_MB=29696 ;;
このうち29696はsdカードのサイズで、単位MB
変更./your_dir/sd-fuse_rk3399/friendlydesktop-arm64/partmap.txt
主にline 10-line 11で、以下は修正されたファイルです.
flash=mmc,1:loader:idb:0x8000,0x280000:idbloader.img;
flash=mmc,1:env:env:0x3F8000,0x8000;
flash=mmc,1:parm:parm:0x400000,0x0400000:param4sd.txt;
flash=mmc,1:uboot:raw:0x800000,0x0400000:uboot.img;
flash=mmc,1:trust:raw:0xC00000,0x0400000:trust.img;
flash=mmc,1:misc:raw:0x1000000,0x0400000;
flash=mmc,1:resc:raw:0x1400000,0x0C00000:resource.img;
flash=mmc,1:kern:raw:0x2000000,0x2000000:kernel.img;
flash=mmc,1:boot:raw:0x4000000,0x2000000:boot.img;
flash=mmc,1:rootfs:ext4:0x6000000,0x6da050000:rootfs.img;
flash=mmc,1:userdata:ext4:0x6ea050000,0x0:userdata.img;
flash=mmc,1:rootfs:ext4:0x6000000,0x6da050000:rootfs.img;
「0 x 600000」:パーティションの開始ノードを表し、「0 x 6 da 050000」:パーティションのサイズを表します.同じuserdataの開始ノードも変更します.
sd-fuse_rk3399
Create bootable SD card for NanoPC T4/NanoPi M4/NanoPi NEO4
How to find the /dev name of my SD Card
Unplug all usb devices: ls -1 /dev > ~/before.txt
plug it in, then ls -1 /dev > ~/after.txt
diff ~/before.txt ~/after.txt
Build friendlycore bootable SD card
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git
cd sd-fuse_rk3399
sudo ./fusing.sh /dev/sdX friendlycore-arm64
You can build the following OS: friendlycore-arm64, friendlydesktop-arm64, lubuntu, eflasher. Because the android system has to run on the emmc, so you need to make eflasher img to install Android.
Notes: fusing.sh will check the local directory for a directory with the same name as OS, if it does not exist fusing.sh will go to download it from network. So you can download from the netdisk in advance, on netdisk, the images files are stored in a directory called images-for-eflasher, for example: cd sd-fuse_rk3399
tar xvzf ../images-for-eflasher/friendlycore-arm64-images.tgz
sudo ./fusing.sh /dev/sdX friendlycore-arm64
Build an sd card image
First, download and unpack: git clone https://github.com/friendlyarm/sd-fuse_rk3399.git
cd sd-fuse_rk3399
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/friendlycore-arm64-images.tgz
tar xvzf friendlycore-arm64-images.tgz
Now, Change something under the friendlycore-arm64 directory, for example, replace the file you compiled, then build friendlycore-arm64 bootable SD card: sudo ./fusing.sh /dev/sdX friendlycore-arm64
or build an sd card image: sudo ./mk-sd-image.sh friendlycore-arm64
The following file will be generated: out/rk3399-sd-friendlycore-bionic-4.4-arm64-yyyymmdd.img
You can use dd to burn this file into an sd card: dd if=out/rk3399-sd-friendlycore-bionic-4.4-arm64-20181112.img of=/dev/sdX bs=1M
Build an sdcard-to-emmc image (eflasher rom)
Enable exFAT file system support on Ubuntu: sudo apt-get install exfat-fuse exfat-utils
Generate the eflasher raw image, and put friendlycore image files into eflasher: git clone https://github.com/friendlyarm/sd-fuse_rk3399.git
cd sd-fuse_rk3399
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/emmc-flasher-images.tgz
tar xzf emmc-flasher-images.tgz
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/friendlycore-arm64-images.tgz
tar xzf friendlycore-arm64-images.tgz
sudo ./mk-emmc-image.sh friendlycore-arm64
The following file will be generated: out/rk3399-eflasher-friendlycore-bionic-4.4-arm64-yyyymmdd.img
You can use dd to burn this file into an sd card: dd if=out/rk3399-eflasher-friendlycore-bionic-4.4-arm64-20181112.img of=/dev/sdX bs=1M
Replace the file you compiled
Install cross compiler and tools
Install the package: apt install liblz4-tool android-tools-fsutils
Install Cross Compiler: git clone https://github.com/friendlyarm/prebuilts.git
sudo mkdir -p /opt/FriendlyARM/toolchain
sudo tar xf prebuilts/gcc-x64/aarch64-cortexa53-linux-gnu-6.4.tar.xz -C /opt/FriendlyARM/toolchain/
Build U-boot and Kernel for Lubuntu, FriendlyCore and FriendlyDesktop
Download image files: cd sd-fuse_rk3399
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/lubuntu-desktop-images.tgz
tar xzf lubuntu-desktop-images.tgz
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/friendlycore-arm64-images.tgz
tar xzf friendlycore-arm64-images.tgz
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/friendlydesktop-arm64-images.tgz
tar xzf friendlydesktop-arm64-images.tgz
Build kernel: cd sd-fuse_rk3399
git clone https://github.com/friendlyarm/kernel-rockchip --depth 1 -b nanopi4-linux-v4.4.y out/kernel-rk3399
# lubuntu
./build-kernel.sh lubuntu
# friendlycore-arm64
./build-kernel.sh friendlycore-arm64
# friendlydesktop-arm64
./build-kernel.sh friendlydesktop-arm64
Build uboot: cd sd-fuse_rk3399
git clone https://github.com/friendlyarm/uboot-rockchip --depth 1 -b nanopi4-v2014.10_dev
cd uboot-rockchip
make CROSS_COMPILE=aarch64-linux- rk3399_defconfig
export PATH=/opt/FriendlyARM/toolchain/6.4-aarch64/bin/:$PATH
make CROSS_COMPILE=aarch64-linux-
cp uboot.img trust.img ../lubuntu
cp uboot.img trust.img ../friendlycore-arm64
cp uboot.img trust.img ../friendlydesktop-arm64
cp rk3399_loader_v1.12.109.bin ../lubuntu/MiniLoaderAll.bin
cp rk3399_loader_v1.12.109.bin ../friendlycore-arm64/MiniLoaderAll.bin
cp rk3399_loader_v1.12.109.bin ../friendlydesktop-arm64/MiniLoaderAll.bin
Custom rootfs for Lubuntu, FriendlyCore and FriendlyDesktop
Custom rootfs in the bootable SD card
Use FriendlyCore as an example: git clone https://github.com/friendlyarm/sd-fuse_rk3399.git
cd sd-fuse_rk3399
wget http://112.124.9.243/dvdfiles/RK3399/rootfs/rootfs-friendlycore-arm64-YYMMDD.tgz
tar xzf rootfs-friendlycore-arm64-YYMMDD.tgz
Now, change something under rootfs directory, like this: echo hello > friendlycore/rootfs/root/welcome.txt
Remake rootfs.img: ./build-rootfs-img.sh friendlycore/rootfs friendlycore/rootfs.img
Make sdboot image: sudo ./mk-sd-image.sh friendlycore
or make sd-to-emmc image (eflasher rom): sudo ./mk-emmc-image.sh friendlycore
Build Android8
git clone https://gitlab.com/friendlyelec/rk3399-android-8.1 --depth 1 -b master
cd rk3399-android-8.1
./build-nanopc-t4.sh -F -M
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/android-oreo-images.tgz
tar xzf android-oreo-images.tgz
cp rockdev/Image-nanopc_t4/* android8
Copy the new image files to the exfat partition of the eflasher sd card: cp -af android8 /mnt/exfat/
ls -1 /dev > ~/before.txt
ls -1 /dev > ~/after.txt
diff ~/before.txt ~/after.txt
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git
cd sd-fuse_rk3399
sudo ./fusing.sh /dev/sdX friendlycore-arm64
cd sd-fuse_rk3399
tar xvzf ../images-for-eflasher/friendlycore-arm64-images.tgz
sudo ./fusing.sh /dev/sdX friendlycore-arm64
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git
cd sd-fuse_rk3399
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/friendlycore-arm64-images.tgz
tar xvzf friendlycore-arm64-images.tgz
sudo ./fusing.sh /dev/sdX friendlycore-arm64
sudo ./mk-sd-image.sh friendlycore-arm64
out/rk3399-sd-friendlycore-bionic-4.4-arm64-yyyymmdd.img
dd if=out/rk3399-sd-friendlycore-bionic-4.4-arm64-20181112.img of=/dev/sdX bs=1M
sudo apt-get install exfat-fuse exfat-utils
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git
cd sd-fuse_rk3399
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/emmc-flasher-images.tgz
tar xzf emmc-flasher-images.tgz
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/friendlycore-arm64-images.tgz
tar xzf friendlycore-arm64-images.tgz
sudo ./mk-emmc-image.sh friendlycore-arm64
out/rk3399-eflasher-friendlycore-bionic-4.4-arm64-yyyymmdd.img
dd if=out/rk3399-eflasher-friendlycore-bionic-4.4-arm64-20181112.img of=/dev/sdX bs=1M
apt install liblz4-tool android-tools-fsutils
git clone https://github.com/friendlyarm/prebuilts.git
sudo mkdir -p /opt/FriendlyARM/toolchain
sudo tar xf prebuilts/gcc-x64/aarch64-cortexa53-linux-gnu-6.4.tar.xz -C /opt/FriendlyARM/toolchain/
cd sd-fuse_rk3399
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/lubuntu-desktop-images.tgz
tar xzf lubuntu-desktop-images.tgz
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/friendlycore-arm64-images.tgz
tar xzf friendlycore-arm64-images.tgz
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/friendlydesktop-arm64-images.tgz
tar xzf friendlydesktop-arm64-images.tgz
cd sd-fuse_rk3399
git clone https://github.com/friendlyarm/kernel-rockchip --depth 1 -b nanopi4-linux-v4.4.y out/kernel-rk3399
# lubuntu
./build-kernel.sh lubuntu
# friendlycore-arm64
./build-kernel.sh friendlycore-arm64
# friendlydesktop-arm64
./build-kernel.sh friendlydesktop-arm64
cd sd-fuse_rk3399
git clone https://github.com/friendlyarm/uboot-rockchip --depth 1 -b nanopi4-v2014.10_dev
cd uboot-rockchip
make CROSS_COMPILE=aarch64-linux- rk3399_defconfig
export PATH=/opt/FriendlyARM/toolchain/6.4-aarch64/bin/:$PATH
make CROSS_COMPILE=aarch64-linux-
cp uboot.img trust.img ../lubuntu
cp uboot.img trust.img ../friendlycore-arm64
cp uboot.img trust.img ../friendlydesktop-arm64
cp rk3399_loader_v1.12.109.bin ../lubuntu/MiniLoaderAll.bin
cp rk3399_loader_v1.12.109.bin ../friendlycore-arm64/MiniLoaderAll.bin
cp rk3399_loader_v1.12.109.bin ../friendlydesktop-arm64/MiniLoaderAll.bin
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git
cd sd-fuse_rk3399
wget http://112.124.9.243/dvdfiles/RK3399/rootfs/rootfs-friendlycore-arm64-YYMMDD.tgz
tar xzf rootfs-friendlycore-arm64-YYMMDD.tgz
echo hello > friendlycore/rootfs/root/welcome.txt
./build-rootfs-img.sh friendlycore/rootfs friendlycore/rootfs.img
sudo ./mk-sd-image.sh friendlycore
sudo ./mk-emmc-image.sh friendlycore
git clone https://gitlab.com/friendlyelec/rk3399-android-8.1 --depth 1 -b master
cd rk3399-android-8.1
./build-nanopc-t4.sh -F -M
wget http://112.124.9.243/dvdfiles/RK3399/images-for-eflasher/android-oreo-images.tgz
tar xzf android-oreo-images.tgz
cp rockdev/Image-nanopc_t4/* android8
cp -af android8 /mnt/exfat/