aboutsummaryrefslogtreecommitdiffstats
path: root/create_arm_img_urpmi.sh
diff options
context:
space:
mode:
authorDaniel Tartavel <contact@librepc.com>2018-12-21 22:27:43 +0100
committerDaniel Tartavel <contact@librepc.com>2018-12-21 22:27:43 +0100
commitc0c863c56003ab93b2382c321a9602dab39adc56 (patch)
treeabfc154fea5c0a03892cfdcebeb51b770a01755c /create_arm_img_urpmi.sh
parent425791a74b2b622acd51f0838780244226b3c317 (diff)
downloadmageia4arm-c0c863c56003ab93b2382c321a9602dab39adc56.tar
mageia4arm-c0c863c56003ab93b2382c321a9602dab39adc56.tar.gz
mageia4arm-c0c863c56003ab93b2382c321a9602dab39adc56.tar.bz2
mageia4arm-c0c863c56003ab93b2382c321a9602dab39adc56.tar.xz
mageia4arm-c0c863c56003ab93b2382c321a9602dab39adc56.zip
Stable with kernel update
Diffstat (limited to 'create_arm_img_urpmi.sh')
-rwxr-xr-xcreate_arm_img_urpmi.sh120
1 files changed, 66 insertions, 54 deletions
diff --git a/create_arm_img_urpmi.sh b/create_arm_img_urpmi.sh
index 3f29e9a..b95b419 100755
--- a/create_arm_img_urpmi.sh
+++ b/create_arm_img_urpmi.sh
@@ -79,7 +79,7 @@ function help()
# cleaning build space
function clean()
{
- # Unmounting /dev /proc /sys in chroot
+ # Unmounting /dev /proc /sys in chroot
title "Cleaning"
if ! [ -z "$(mountpoint -qd "$BUILD_PATH/dev")" ];then
info "Unmounting $BUILD_PATH/dev"
@@ -170,7 +170,7 @@ function createchroot()
# Create Build path
if ! [ -d "$BUILD_PATH" ];then
- warning "Build path does not exists, do you want i create it ? [Y|n] "
+ warning "Build path ( $BUILD_PATH ) does not exists, do you want i create it ? [Y|n] "
read yn
if [ -z $yn ] || [ $yn = "Y" ] || [ $yn = "y" ];then
title "Creating $BUILD_PATH"
@@ -182,9 +182,10 @@ function createchroot()
else
exit 1
fi
+ else
info "Build path exists"
fi
- #Copying qemu
+ #Copying qemu
/bin/cp /bin/qemu-arm-static "$BUILD_PATH/usr/bin/"
if [ $? -ne 0 ];then
error "line $LINENO can't copy /bin/qemu-user-static to $BUILD_PATH/usr/bin/ : exiting"
@@ -270,16 +271,16 @@ EOF
$PASSWORD
$PASSWORD
EOF" >>"$BUILD_PATH/second_stage_install.sh"
-
-
-
+
+
+
info "Copying skel in root directory"
/bin/rsync -a /etc/skel/ "$BUILD_PATH/root/"
-
-
+
+
case $TARGET in
ODROID)
- #TEMPORARY CODE
+ #TEMPORARY CODE
#copying kernel odroid not existing in mageia repos
info "copying kernel-odroid rpm in $BUILD_PATH/root"
echo "/bin/cp $SOURCE_PATH/$CONFIG_PATH/kernel-odroid-4.14.y-1.armv7hl.rpm $BUILD_PATH/root/"
@@ -371,12 +372,12 @@ function createxu3image()
formatpartitions "$BOOTFS" ext4
copyingsystem
}
-
-
+
+
function createrpiimage()
{
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
@@ -395,7 +396,7 @@ function createrpiimage()
exit 1
fi
fi
-
+
title "Making raspberry pi image"
createimage
@@ -404,9 +405,9 @@ function createrpiimage()
fi
formatpartitions $BOOTFS ext4
copyingsystem
-
+
}
-
+
createimage()
{
title " in $IMAGE"
@@ -418,7 +419,7 @@ createimage()
exit 1
fi
fi
-
+
warning "please wait until end of image creation"
/bin/dd if=/dev/zero of="$INSTALL_PATH/$IMAGE" bs=1MB count=$(( $IMAGE_SIZE * 1024 ))
if [ $? -ne 0 ];then
@@ -440,9 +441,13 @@ p
2
+a
+1
+a
+2
w
EOF
-
+
# Activate loop device
/sbin/losetup -d "$DEVICE"
DEVICE=$(/sbin/partx -va "$INSTALL_PATH/$IMAGE" | /bin/grep -m 1 -E -o '/dev/loop.?')
@@ -478,7 +483,7 @@ formatpartitions()
copyingsystem()
{
- info "mounting partitions, creating mountpoint if necessary"
+ info "mounting partitions, making mountpoint if necessary"
if ! [ -d "$BOOT" ];then
/bin/mkdir "$BOOT"
if [ $? -ne 0 ];then
@@ -506,85 +511,92 @@ copyingsystem()
info "making /etc/fstab"
echo "proc /proc proc defaults 0 0
-UUID=$BOOT_UUID /boot vfat defaults 0 0
+UUID=$BOOT_UUID /mnt/rpi_boot vfat defaults 0 0
UUID=$ROOT_UUID / ext4 defaults 0 0" > "$BUILD_PATH"/etc/fstab
-
+
case $TARGET in
rpi)
-
- info "copying config.txt, boot.cmd and 10-vchiq-permissions.rules"
+
+ info "copying 10-vchiq-permissions.rules"
cp "$SOURCE_PATH/$CONFIG_PATH/10-vchiq-permissions.rules" "$BUILD_PATH/etc/udev/rules.d/"
- # Making /etc/modules
+ info "Making /etc/modules"
echo "vchiq
snd_bcm2835
vc4
brcmfmac" >> "$BUILD_PATH"/etc/modules
+ RPI_BOOT="$BUILD_PATH/mnt/rpi_boot"
+ if ! [ -d "$RPI_BOOT" ];then
+ mkdir -p "$RPI_BOOT"
+ fi
info "copying modprobe.conf"
/bin/cp -a "$SOURCE_PATH/$CONFIG_PATH/modprobe.conf" "$BUILD_PATH/etc/"
chown root:root "$BUILD_PATH/etc/modprobe.conf"
-
+
info "making /boot/extlinux/extlinux.conf"
- mkdir "$BUILD_PATH/boot/extlinux"
+ mkdir -p "$BUILD_PATH/boot/extlinux"
sed -e s/\<UUID\>/$ROOT_UUID/g $SOURCE_PATH/$CONFIG_PATH/extlinux.conf >"$BUILD_PATH/boot/extlinux/extlinux.conf"
-
- info "copying firmware, overlays and dtb in /boot"
- cp -a "$BUILD_PATH/usr/lib/linux-"* "$BOOT/dtb"
- cp -a "$FIRMWARE_PATH/$FIRMWARE_DIR/boot/start"* "$BUILD_PATH/boot/"
- cp -a "$FIRMWARE_PATH/$FIRMWARE_DIR/boot/fixup"* "$BUILD_PATH/boot/"
- cp -a "$FIRMWARE_PATH/$FIRMWARE_DIR/boot/bootcode.bin"* "$BUILD_PATH/boot/"
- cp -a "$FIRMWARE_PATH/$FIRMWARE_DIR/boot/overlays" "$BUILD_PATH/boot/"
-
- info "copying u-boot binary to /boot"
+ KERNEL_ID=`basename $BUILD_PATH/usr/lib/linux-*`
+ sed -i -e s/\<FDTDIR\>/$KERNEL_ID/g "$BUILD_PATH/boot/extlinux/extlinux.conf"
+ info "copying firmware, overlays in rpi boot partition"
+# cp -a "$BUILD_PATH/usr/lib/linux-"* "$BOOT/dtb"
+ cp -av "$FIRMWARE_PATH/$FIRMWARE_DIR/boot/start"* "$RPI_BOOT/"
+ cp -av "$FIRMWARE_PATH/$FIRMWARE_DIR/boot/fixup"* "$RPI_BOOT/"
+ cp -av "$FIRMWARE_PATH/$FIRMWARE_DIR/boot/bootcode.bin"* "$RPI_BOOT/"
+ cp -av "$FIRMWARE_PATH/$FIRMWARE_DIR/boot/overlays" "$RPI_BOOT/"
+
+ info "copying u-boot binary to $RPI_BOOT"
case $TARGET_VERSION in
2)
info "copying u-boot for $TARGET 2"
- cp "$BUILD_PATH/usr/lib/u-boot/rpi_2/u-boot.bin" "$BUILD_PATH/boot/kernel7.img"
+ cp "$BUILD_PATH/usr/lib/u-boot/rpi_2/u-boot.bin" "$RPI_BOOT/kernel7.img"
;;
0)
info "copying u-boot for $TARGET 0"
- cp "$BUILD_PATH/usr/lib/u-boot/rpi_0_w/u-boot.bin" "$BUILD_PATH/boot/kernel7.img"
+ cp "$BUILD_PATH/usr/lib/u-boot/rpi_0_w/u-boot.bin" "$RPI_BOOT/kernel7.img"
;;
1)
info "copying u-boot for $TARGET 1"
- cp "$BUILD_PATH/usr/lib/u-boot/rpi/u-boot.bin" "$BUILD_PATH/boot/kernel7.img"
+ cp "$BUILD_PATH/usr/lib/u-boot/rpi/u-boot.bin" "$RPI_BOOT/kernel7.img"
;;
3_32)
info "copying u-boot for $TARGET 3 32 bits"
- cp "$BUILD_PATH/usr/lib/u-boot/rpi_3_32b/u-boot.bin" "$BUILD_PATH/boot/kernel7.img"
+ cp "$BUILD_PATH/usr/lib/u-boot/rpi_3_32b/u-boot.bin" "$RPI_BOOT/kernel7.img"
;;
esac
-
- info "copying raspberry optionals files in opt"
+
+# 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
- /bin/cp "$SOURCE_PATH/$CONFIG_PATH/brcmfmac43430-sdio.txt" "$ROOT/usr/lib/firmware/brcm/"
- if [ $? -ne 0 ];then
- error "line $LINENO error copying wifi firmware in $ROOTP/usr/lib/firmware/brcm/ : exiting"
- exit 1
+ if ! [ -f "$ROOT/usr/lib/firmware/brcm/brcmfmac43430-sdio.txt" ];then
+ /bin/cp "$SOURCE_PATH/$CONFIG_PATH/brcmfmac43430-sdio.txt" "$ROOT/usr/lib/firmware/brcm/"
+ if [ $? -ne 0 ];then
+ error "line $LINENO error copying wifi firmware in $ROOTP/usr/lib/firmware/brcm/ : exiting"
+ exit 1
+ fi
fi
info "copying tools in /usr/local/bin/"
/bin/cp -a "$SOURCE_PATH/tools/" "$BUILD_PATH/usr/local/bin/"
- /bin/cp -a "$SOURCE_PATH/rpi/sed_extlinux.conf.sh" "$BUILD_PATH/usr/local/bin/"
+# /bin/cp -a "$SOURCE_PATH/rpi/sed_extlinux.conf.sh" "$BUILD_PATH/usr/local/bin/"
if ! [ $? -eq 0 ];then
error "line $LINENO error copying tools"
ERRORN=$((ERRORN++))
fi
- info "copying "
+# info "copying "
;;
ODROID)
;;
esac
-
+
info "copying Mageia image to root partition"
- /bin/rsync -a --exclude "boot/" --exclude "qemu-arm-static*" "$BUILD_PATH/" "$ROOT/"
- /bin/rsync -a "$BUILD_PATH/boot/" "$BOOT/"
- /bin/mkdir "$ROOT/boot"
+ /bin/rsync -a --exclude "$RPI_BOOT/" --exclude "qemu-arm-static*" "$BUILD_PATH/" "$ROOT/"
+ /bin/rsync -a "$RPI_BOOT/" "$BOOT/"
+# /bin/mkdir "$ROOT/boot"
copyingcommon
# Syncing devices before unmounting
@@ -610,7 +622,7 @@ copyingcommon()
{
title "Copying common files and configuration"
rsync -aP "$SOURCE_PATH/common/" "$ROOT/"
- rsync -aP "$SOURCE_PATH/tools/" "$ROOT/usr/local/bin/"
+ rsync -aP "$SOURCE_PATH/tools/*.sh" "$ROOT/usr/local/bin/"
chown root:root "$ROOT/usr/local/bin/"
}
@@ -761,12 +773,12 @@ rpi)
CREATEIMG="createrpiimage"
;;
*)
- error "No Target : $TARGET"
+ error "No Target : $TARGET"
exit 1
;;
esac
-info "target : $TARGET"
+info "target : $TARGET"
info "source path: $SOURCE_PATH"
info "Install path: $INSTALL_PATH"
info "Build path: $BUILD_PATH"