mirror of
				https://github.com/mayfrost/guides.git
				synced 2025-11-03 20:52:45 +00:00 
			
		
		
		
	Update CROSS-COMPILING.md
This commit is contained in:
		@@ -44,16 +44,16 @@ Name of "_CROSS_COMPILE_" variable will change depending on the choosen option.
 | 
				
			|||||||
* create root partition  
 | 
					* create root partition  
 | 
				
			||||||
`n`  
 | 
					`n`  
 | 
				
			||||||
* press enter twice to use the rest of the disk  
 | 
					* press enter twice to use the rest of the disk  
 | 
				
			||||||
Make 
 | 
					* Make root filesystem  
 | 
				
			||||||
`mkfs.<ROOT_FILESYSTEM> /dev/sda2`  
 | 
					`mkfs.<ROOT_FILESYSTEM> /dev/mmcblk0p2`  
 | 
				
			||||||
* Make boot filesystem according to supported bootloader or just "_mkfs.vfat_" if on UEFI.  
 | 
					* Make boot filesystem according to supported bootloader (only "_mkfs.vfat_")  
 | 
				
			||||||
`mkfs.<BOOTLOADER_FILESYSTEM> /dev/sda1`  
 | 
					`mkfs.<BOOTLOADER_FILESYSTEM> /dev/mmcblk0p1`  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## BOOTLOADER
 | 
					## BOOTLOADER
 | 
				
			||||||
Minimum 3072 bytes free at the start of the drive and before the boot partition.
 | 
					Minimum 3072 bytes free at the start of the drive and before the boot partition.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* VERSION 1: compile
 | 
					* VERSION 1: compile  
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
git clone https://github.com/hardkernel/u-boot.git -b odroidc2-v2015.01
 | 
					git clone https://github.com/hardkernel/u-boot.git -b odroidc2-v2015.01
 | 
				
			||||||
cd u-boot
 | 
					cd u-boot
 | 
				
			||||||
@@ -62,60 +62,60 @@ make -j4
 | 
				
			|||||||
cd boot
 | 
					cd boot
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* VERSION 2: download and extract the binary
 | 
					* VERSION 2: download and extract the binary  
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
wget http://odroid.in/guides/ubuntu-lfs/boot.tar.gz # http://dn.odroid.com/S905/BootLoader/ODROID-C2/c2_boot_release_ubuntu.tar.gz
 | 
					wget http://odroid.in/guides/ubuntu-lfs/boot.tar.gz # http://dn.odroid.com/S905/BootLoader/ODROID-C2/c2_boot_release_ubuntu.tar.gz
 | 
				
			||||||
tar -zxvf boot.tar.xz
 | 
					tar -zxvf boot.tar.xz
 | 
				
			||||||
cd boot
 | 
					cd boot
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* flash bootloader
 | 
					* flash bootloader  
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
chmod +x sd_fusing.sh
 | 
					chmod +x sd_fusing.sh
 | 
				
			||||||
./sd_fusing.sh /dev/sdX
 | 
					./sd_fusing.sh /dev/sdX
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
* notice the target is the device NOT any partition
 | 
					* notice the target is the device NOT any partition  
 | 
				
			||||||
* set resolution by editing file root/boot/boot.ini
 | 
					* set resolution by editing file root/boot/boot.ini  
 | 
				
			||||||
* might want to comment-out the display-autodetect option
 | 
					* might want to comment-out the display-autodetect option  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## BOOT PARTITION
 | 
					## BOOT PARTITION
 | 
				
			||||||
Must be FAT32 and 64 MB minimum.
 | 
					Must be FAT32 and 64 MB minimum.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* cloning kernel repo to destination "odroidc2-kernel-folder"
 | 
					* cloning kernel repo to destination "odroidc2-kernel-folder"  
 | 
				
			||||||
`git clone --depth 1 --single-branch https://github.com/hardkernel/linux.git --branch odroidc2-v3.16.y odroidc2-kernel-folder`
 | 
					`git clone --depth 1 --single-branch https://github.com/hardkernel/linux.git --branch odroidc2-v3.16.y odroidc2-kernel-folder`
 | 
				
			||||||
* enter destination folder
 | 
					* enter destination folder  
 | 
				
			||||||
`cd odroidc2-kernel-folder`
 | 
					`cd odroidc2-kernel-folder`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* OPTION 1: making kernel config
 | 
					* OPTION 1: making kernel config  
 | 
				
			||||||
`make ARCH=arm64 CROSS_COMPILE=arm-none-eabi- odroidc2_defconfig`
 | 
					`make ARCH=arm64 CROSS_COMPILE=arm-none-eabi- odroidc2_defconfig`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* OPTION 2: making kernel config
 | 
					* OPTION 2: making kernel config  
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
export ARCH=arm64
 | 
					export ARCH=arm64
 | 
				
			||||||
export CROSS_COMPILE=arm-none-eabi-
 | 
					export CROSS_COMPILE=arm-none-eabi-
 | 
				
			||||||
make odroidc2_defconfig
 | 
					make odroidc2_defconfig
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Refine configuration
 | 
					* Refine configuration  
 | 
				
			||||||
`make menuconfig`
 | 
					`make menuconfig`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## COMPILING
 | 
					## COMPILING
 | 
				
			||||||
* Compiling devicetree blobs to destination "INSTALL_DTBS_PATH=/mnt/boot/dtbs/meson64_odroidc2.dtb"
 | 
					* Compiling devicetree blobs to destination "INSTALL_DTBS_PATH=/mnt/boot/dtbs/meson64_odroidc2.dtb"  
 | 
				
			||||||
`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_DTBS_PATH=/mnt/boot/dtbs/ dtbs`
 | 
					`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_DTBS_PATH=/mnt/boot/dtbs/ dtbs`
 | 
				
			||||||
* Compiling kernel to destination "INSTALL_PATH=/mnt/boot/Image"
 | 
					* Compiling kernel to destination "INSTALL_PATH=/mnt/boot/Image"  
 | 
				
			||||||
`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_PATH=/mnt/boot/ Image`
 | 
					`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_PATH=/mnt/boot/ Image`
 | 
				
			||||||
* Compiling the modules to destination "INSTALL_MOD_PATH=/mnt/"
 | 
					* Compiling the modules to destination "INSTALL_MOD_PATH=/mnt/"  
 | 
				
			||||||
`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_MOD_PATH=/mnt/ modules_install`
 | 
					`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_MOD_PATH=/mnt/ modules_install`
 | 
				
			||||||
* Compiling firmware to destination "INSTALL_FW_PATH=/mnt/lib/firmware/"
 | 
					* Compiling firmware to destination "INSTALL_FW_PATH=/mnt/lib/firmware/"  
 | 
				
			||||||
`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_FW_PATH=/mnt/lib/firmware/ firmware_install`
 | 
					`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_FW_PATH=/mnt/lib/firmware/ firmware_install`
 | 
				
			||||||
* Compiling kernel C headers to destination "INSTALL_HDR_PATH=/mnt/usr/"
 | 
					* Compiling kernel C headers to destination "INSTALL_HDR_PATH=/mnt/usr/"  
 | 
				
			||||||
`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_HDR_PATH=/mnt/usr/ headers_install`
 | 
					`make -j 4 ARCH=arm64 CROSS_COMPILE=arm-none-eabi- INSTALL_HDR_PATH=/mnt/usr/ headers_install`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## ROOT PARTITION
 | 
					## ROOT PARTITION
 | 
				
			||||||
Can be the rest of the disk.
 | 
					Can be the rest of the disk.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Download CRUX image
 | 
					* Download CRUX image  
 | 
				
			||||||
`wget -c http://resources.crux-arm.nu/files/devel-test/3.3/crux-arm-rootfs-3.3-64b-RC2.tar.xz`
 | 
					`wget -c http://resources.crux-arm.nu/files/devel-test/3.3/crux-arm-rootfs-3.3-64b-RC2.tar.xz`
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user