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/\/$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/\/$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" diff --git a/rpi/extlinux.conf b/rpi/extlinux.conf index 3226883..91a46a2 100644 --- a/rpi/extlinux.conf +++ b/rpi/extlinux.conf @@ -1,10 +1,10 @@ -menu title Boot menu +menu Welcome to Mageia-Minimal. timeout 20 default Mageia label Mageia - kernel /vmlinuz - append root=UUID=78fa0462-5bcf-46ea-beb3-40cab8fe97c3 dwc_otg.lpm_enable=0 console=ttyS0,115200 kgdboc=ttyS0,115200 console=tty1 rootwait fsck.repair=1 8250.nr_uarts=1 elevator=deadline cma=256M\@512M audit=0 - fdtdir /dtb/ - initrd /initrd + kernel /boot/vmlinuz + append root=UUID= dwc_otg.lpm_enable=0 console=ttyS0,115200 kgdboc=ttyS0,115200 console=tty1 rootwait fsck.repair=1 8250.nr_uarts=1 elevator=deadline cma=256M\@512M audit=0 + fdtdir /usr/lib/ + initrd /boot/initrd diff --git a/rpi/second_stage_install.sh b/rpi/second_stage_install.sh index b337a92..1848789 100644 --- a/rpi/second_stage_install.sh +++ b/rpi/second_stage_install.sh @@ -23,7 +23,7 @@ #Install all packages you need # No verifying rpm due to a bug in packages, some are not signed -/usr/sbin/urpmi --auto --no-verify-rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 +/usr/sbin/urpmi --auto --no-verify-rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 /usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony