fonctionnalisation
fonctionnalisation
This commit is contained in:
		
							
								
								
									
										122
									
								
								platforms/rpi2/specialFunctions.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								platforms/rpi2/specialFunctions.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,122 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | #RPI partitionning : | ||||||
|  | DEFAULT="" | ||||||
|  | NEW_PART=n | ||||||
|  | PRIMARY=p | ||||||
|  | CHANGE_TYPE=t | ||||||
|  | CHANGE_BOOTFLAG=a | ||||||
|  | APPLY=w | ||||||
|  |  | ||||||
|  | PART_BOOT=1 | ||||||
|  | PART_BOOT_FIRST_SECTOR=${DEFAULT} | ||||||
|  | PART_BOOT_SIZE="+128M" | ||||||
|  |  | ||||||
|  | PART_ROOT=2 | ||||||
|  | PART_ROOT_FIRST_SECTOR=${DEFAULT} | ||||||
|  | PART_ROOT_SIZE=${DEFAULT} | ||||||
|  |  | ||||||
|  | TYPE_FAT32LBA=c | ||||||
|  |  | ||||||
|  | FDISK_SCRIPT="${NEW_PART}\n${PRIMARY}\n${PART_BOOT}\n${PART_BOOT_FIRST_SECTOR}\n${PART_BOOT_SIZE}\n${CHANGE_TYPE}\n${TYPE_FAT32LBA}\n${NEW_PART}\n${PRIMARY}\n${PART_ROOT}\n${PART_ROOT_FIRST_SECTOR}\n${PART_ROOT_SIZE}\n${CHANGE_BOOTFLAG}\n${PART_BOOT}\n${CHANGE_BOOTFLAG}\n${PART_ROOT}\n${APPLY}\n" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | function preImgCreation() | ||||||
|  | { | ||||||
|  |     title "Creating Pi image" | ||||||
|  |  | ||||||
|  |     if ! [ -d "${FIRMWARE_PATH}/${FIRMWARE_DIR}" ]; then                    # the firmware directory does not exists | ||||||
|  |         echo "$(ls *.zip| wc -l)" | ||||||
|  |         if [ "$(ls *.zip| wc -l)" -eq 0 ]; then             # the firmware archive does not exists | ||||||
|  |             warning "The raspberry pi firmware need to be downloaded" | ||||||
|  |             info "Downloading FIRMWARE_FILENAME" | ||||||
|  |             wget ${FIRMWARE_DOWNLOAD_URL} | ||||||
|  |             if [ ${?} -ne 0 ]; then | ||||||
|  |                 error "line ${LINENO} error downloading raspberry firmware at ${FIRMWARE_DOWNLOAD_URL}: exiting" | ||||||
|  |                 exit 1 | ||||||
|  |             fi | ||||||
|  |         fi | ||||||
|  |         info "extracting firmware" | ||||||
|  |         unzip -d "${FIRMWARE_PATH}" *.zip | ||||||
|  |         if [ ${?} -ne 0 ]; then | ||||||
|  |             error "line ${LINENO} error unzipping ${FIRMWARE_PATH} : exiting" | ||||||
|  |             exit 1 | ||||||
|  |         fi | ||||||
|  |     fi | ||||||
|  |  | ||||||
|  |     title "Making raspberry pi image" | ||||||
|  |     return 0 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function postPrepareChroot() | ||||||
|  | { | ||||||
|  |     #Nothing to do. (Except replacing default function.) | ||||||
|  |     return 0 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function bunrningBootloader() | ||||||
|  | { | ||||||
|  |     info "copying 10-vchiq-permissions.rules" | ||||||
|  |     cp --preserve=mode "${CONFIG_PATH}/10-vchiq-permissions.rules" "${BUILD_PATH}/etc/udev/rules.d/" | ||||||
|  |     info "Making /etc/modules" | ||||||
|  |     echo -e "vchiq\nsnd_bcm2835\nvc4\nbrcmfmac" >> "${BUILD_PATH}"/etc/modules | ||||||
|  |  | ||||||
|  |     ARM_BOOT="${BUILD_PATH}/mnt/arm_boot" | ||||||
|  |     if ! [ -d "${ARM_BOOT}" ]; then | ||||||
|  |         mkdir -p "${ARM_BOOT}" | ||||||
|  |     fi | ||||||
|  |     info "copying modprobe.conf" | ||||||
|  |     /usr/bin/cp -v --preserve=mode "${CONFIG_PATH}/modprobe.conf" "${BUILD_PATH}/etc/" | ||||||
|  |     chown root:root "${BUILD_PATH}/etc/modprobe.conf" | ||||||
|  |  | ||||||
|  |     info "copying firmware, overlays in rpi boot partition" | ||||||
|  | #   cp -v --preserve=mode "${BUILD_PATH}/usr/lib/linux-"* "${BOOT}/dtb" | ||||||
|  |     cp -v --preserve=mode "${FIRMWARE_PATH}/${FIRMWARE_DIR}/boot/start"* "${ARM_BOOT}/" | ||||||
|  |     cp -v --preserve=mode "${FIRMWARE_PATH}/${FIRMWARE_DIR}/boot/fixup"* "${ARM_BOOT}/" | ||||||
|  |     cp -v --preserve=mode "${FIRMWARE_PATH}/${FIRMWARE_DIR}/boot/bootcode.bin"* "${ARM_BOOT}/" | ||||||
|  |     cp -vR --preserve=mode "${FIRMWARE_PATH}/${FIRMWARE_DIR}/boot/overlays" "${ARM_BOOT}/" | ||||||
|  |  | ||||||
|  |     info "copying u-boot binary to ${ARM_BOOT}" | ||||||
|  |     case ${TARGET_VERSION} in | ||||||
|  |         "0") | ||||||
|  |             info "copying u-boot for ${TARGET} 0" | ||||||
|  |             cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi_0_w/u-boot.bin" "${ARM_BOOT}/kernel.img" | ||||||
|  |             ;; | ||||||
|  |         "1") | ||||||
|  |             info "copying u-boot for ${TARGET} 1" | ||||||
|  |             cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi/u-boot.bin" "${ARM_BOOT}/kernel.img" | ||||||
|  |             ;; | ||||||
|  |         "2") | ||||||
|  |             info "copying u-boot for ${TARGET} 2" | ||||||
|  |             cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi_2/u-boot.bin" "${ARM_BOOT}/kernel.img" | ||||||
|  |             ;; | ||||||
|  |         "3_32") | ||||||
|  |             info "copying u-boot for ${TARGET} 3 32 bits" | ||||||
|  |             cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi_3_32b/u-boot.bin" "${ARM_BOOT}/kernel.img" | ||||||
|  |             ;; | ||||||
|  |         "3+") | ||||||
|  |             info "copying u-boot for ${TARGET} 3b+ 32 bits" | ||||||
|  |             cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi_3_32b/u-boot.bin" "${ARM_BOOT}/kernel.img" | ||||||
|  |             ;; | ||||||
|  |     esac | ||||||
|  |  | ||||||
|  | #   info "copying raspberry optionals files in opt" | ||||||
|  | #   /bin/rsync -rlptDH "${FIRMWARE_PATH}/${FIRMWARE_DIR}/opt/" "${BUILD_PATH}/opt/" | ||||||
|  |  | ||||||
|  |     info "copying wifi firmware file missing in kernel-firmware-nonfree" | ||||||
|  |     if ! [ -d "${ROOT}/usr/lib/firmware/brcm/" ]; then | ||||||
|  |         /bin/mkdir -p "${ROOT}/usr/lib/firmware/brcm/" | ||||||
|  |     fi | ||||||
|  |     if ! [ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]; then | ||||||
|  |         /bin/cp --preserve=mode "${CONFIG_PATH}/brcmfmac434"* "${ROOT}/usr/lib/firmware/brcm/" | ||||||
|  |         if [ ${?} -ne 0 ]; then | ||||||
|  |             error "line ${LINENO} error copying wifi firmware in ${ROOTP}/usr/lib/firmware/brcm/ : exiting" | ||||||
|  |             exit ${ERR_1} | ||||||
|  |         fi | ||||||
|  |     fi | ||||||
|  |  | ||||||
|  |     info "copying Mageia image to root partition" | ||||||
|  |     /bin/rsync -rlptogDH --exclude "${ARM_BOOT}/" --exclude "qemu-arm-static*" "${BUILD_PATH}/" "${ROOT}/" | ||||||
|  |     /bin/rsync -rlptogDH "${ARM_BOOT}/" "${BOOT}/" | ||||||
|  |     return 0 | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user