1
0
This commit is contained in:
Jybz 2019-11-09 18:39:37 +00:00
parent 7f2671342e
commit 95c26b0ce4
3 changed files with 62 additions and 48 deletions

View File

@ -1,24 +1,17 @@
setenv KERNEL_FILE /boot/vmlinuz setenv KERNEL_FILE /boot/uvmlinuz
setenv INIT_FILE /boot/initrd.img
setenv DTB_FILE /boot/u-boot.dtb setenv DTB_FILE /boot/u-boot.dtb
#setenv DTB_FILE /boot/sun7i-a20-bananapro.dtb setenv INIT_FILE /boot/initrd
setenv KERNEL_ADDR 0x40008000 setenv KERNEL_ADDR 0x40008000
setenv DTB_ADDR 0x48000000 setenv DTB_ADDR 0x45000000
setenv INIT_ADDR 0x45000000 setenv INIT_ADDR 0x48000000
#setenv INIT_ADDR - setenv INIT_ADDR -
ext4load mmc 0:1 ${KERNEL_ADDR} ${KERNEL_FILE} ext4load mmc 0:1 ${KERNEL_ADDR} ${KERNEL_FILE}
ext4load mmc 0:1 ${DTB_ADDR} ${DTB_FILE} ext4load mmc 0:1 ${DTB_ADDR} ${DTB_FILE}
ext4load mmc 0:1 ${INIT_ADDR} ${INIT_FILE} #ext4load mmc 0:1 ${INIT_ADDR} ${INIT_FILE}
setenv bootargs console=ttyS0,115200 disp.screen0_output_mode=EDID:1024x768p50 hdmi.audio=EDID:0 root=/dev/mmcblk0p1 rootfstype=ext4 elevator=deadline rootwait setenv bootargs console=ttyS0,115200 disp.screen0_output_mode=EDID:1024x768p50 hdmi.audio=EDID:0 root=/dev/mmcblk0p1 rootfstype=ext4 elevator=deadline rootwait
#printenv #printenv
bootz ${KERNEL_ADDR} ${INIT_ADDR} ${DTB_ADDR} bootz ${KERNEL_ADDR} ${INIT_ADDR} ${DTB_ADDR}
#Compile boot.scr : mkimage -C none -A arm -T script -d "${CONFIG_PATH}/boot.cmd" "${CONFIG_PATH}/boot.scr"
# ext4load mmc 0:1 0x40008000 /boot/vmlinuz
# ext4load mmc 0:1 0x48000000 /boot/u-boot.dtb
# bootz 0x40008000 - 0x48000000

View File

@ -24,42 +24,62 @@ export ARCH=arm
#Install all packages you need #Install all packages you need
/usr/sbin/urpmi --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 basesystem chrony polkit lockdev rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make rsync kernel-desktop-latest binutils # systemd-bootchart libcap-utils keyutils mindi-busybox plymouth-scripts lvm2 #dmsetup /usr/sbin/urpmi --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 basesystem chrony polkit lockdev rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make rsync kernel-desktop-latest binutils # systemd-bootchart libcap-utils keyutils mindi-busybox plymouth-scripts lvm2 #dmsetup
#For dracut : #For dracut :
/usr/sbin/urpmi --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 u-boot-tools mindi-busybox plymouth-scripts #systemd-bootchart libcap-utils keyutils lvm2 #dmsetup /usr/sbin/urpmi --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 u-boot-tools mindi-busybox plymouth-scripts #systemd-bootchart libcap-utils keyutils lvm2 #dmsetup
# ############################
# ## For compiling a module ##
# ############################
# /usr/sbin/urpmi --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 kernel-source-latest
# #See if it is a Server or Desktop kernel :
# rpm -q kernel-serveur-latest
# if [ 0 -ne ${?} ]; then
# K_INST_VERSION=$(rpm -q kernel-desktop-latest | sed -e 's/kernel-\([[:alnum:]]*\)-latest-\([\.[:digit:]]*\)-\([\.[:alnum:]]*\).*$/\2-\1-\3/' )
# else
# K_INST_VERSION=$(rpm -q kernel-serveur-latest | sed -e 's/kernel-\([[:alnum:]]*\)-latest-\([\.[:digit:]]*\)-\([\.[:alnum:]]*\).*$/\2-\1-\3/' )
# fi
# #Recover the kernel module path :
# K_MOD_PATH=$(urpmf "modules/${K_INST_VERSION}$" | cut -d ':' -f 2)
# #Recover the source version :
# K_SRC_VERSION=$(rpm -q kernel-source-latest | sed -e 's/kernel-source-latest-\([\.[:digit:]]*\)-\([\.[:alnum:]]*\).*$/\1-\2/' )
# #Recover the source path :
# K_SRC_PATH=$(urpmf "src/kernel-${K_SRC_VERSION}$" | cut -d ':' -f 2)
# #Set the default Mageia's configuration file into the source path :
# cp /boot/config-${K_INST_VERSION} ${K_SRC_PATH}/.config
# ## Can't go further... Make does not like to build inside chroot. It doesn't find tools.
# ## Impossible to build any module there.
# echo "Install kernel from testing :"
# /usr/sbin/urpmi.update Testing
# /usr/sbin/urpmi --media Testing kernel-desktop-5.3.2-1.mga7
# /usr/sbin/urpme kernel-desktop-5.2.13-2.mga7-1-1.mga7.armv7hl
# echo "Urpmi finished."
# dracut --no-compress --force 2>&1
cd /boot
# -H, --hostonly # ####################################################
# Host-Only mode: Install only what is needed for booting the local host instead of a generic host and generate host-specific configuration. # ## To embed a module inside the early boot initrd ##
# # ####################################################
# Warning # #Set the kernel name :
# If chrooted to another root other than the real root device, use "--fstab" and provide a valid /etc/fstab. # KERNELVERSION="5.3.7-desktop-4.mga7"
# #Set the list of added modules and omitted modules :
# DRIVER_ADD_LIST="8250_dw"
# DRIVER_OMI_LIST="drm"
# #Create a configuration file inside the FS, it will be used by dracut for all kernel update
# echo -e "# Omiting drm as it failed for arm :\nomit_dracutmodules+=\" ${DRIVER_OMI_LIST} \"\n\n# Driver to add for banana Pro (serial) :\nadd_drivers+=\" ${DRIVER_ADD_LIST} \"\n" > /etc/dracut.conf.d/30-bananapro.conf
# #Generate the initrd :
# OUTPUT=$(ARCH=arm CROSS_COMPILE=arm-linux-gnu- dracut --no-compress --force --no-hostonly --local --no-early-microcode --confdir "/etc/dracut.conf.d" --kmoddir="/lib/modules/${KERNELVERSION}" --xz --printsize --kernel-image /boot/vmlinuz --fstab initrd-${KERNELVERSION}.img ${KERNELVERSION} 2>&1 | tee /dev/tty )
# #Add the uboot header to the initrd file, first, find the file :
# INITRD_FILE="$(echo "${OUTPUT}" | grep "Creating initramfs image file" | sed -e "s/^[*:[:space:][:alnum:]]*'//" -e "s/'.*$//" )"
# #Add the uboot header, the result file will contain a 'u' as prefix-name.
# mkimage -A arm -T ramdisk -C lzma -n initrd -d ${INITRD_FILE} "$(dirname "${INITRD_FILE}")/u$(basename "${INITRD_FILE}")"
# #generate a symlink relative r and symbolic s :
# rm -f /boot/initrd
# ln -r -s "$(dirname "${INITRD_FILE}")/u$(basename "${INITRD_FILE}")" /boot/initrd
#The FSTAB is not yet created... It is created only after the image creation... ###############################################
## Create a symlink for the lastest kernel : ##
###############################################
#Last rpm package :
KERNELRPM=$(rpm -qa --last | grep "^kernel-[sd]e[[:alpha:]]*-[[:digit:]]" | head -n 1 | cut -d ' ' -f 1 | sed -e 's/\(kernel-[[:alnum:]]*-[\.[:digit:]]*-[\.[:alnum:]]*\)-.*/\1/' )
#Get the vmlinuz file :
VMLINUZ=$(urpmf ${KERNELRPM} | grep "boot/vmlinuz" | cut -d ':' -f 2)
ln -r -s "${VMLINUZ}" /boot/uvmlinuz
# --fstab
# Use /etc/fstab instead of /proc/self/mountinfo.
ARCH=arm CROSS_COMPILE=arm-linux-gnu- dracut --no-hostonly --local --no-early-microcode --add systemd --xz --printsize --kernel-image /boot/vmlinuz --fstab
# ls -v1r /boot/vmlinuz*
# echo "--"
# ls -v1r /boot/vmlinuz-[[:digit:]]*
# rm -f /boot/vmlinuz
# ln -r -s $(ls -v1r /boot/vmlinuz-[[:digit:]]* | grep -m 1 "vmlinuz") ./boot/vmlinuz
# ls -v1r /boot/initrd-[[:digit:]]*
# rm -f /boot/initrd.img
cd /boot/
# ln -r -s $(ls /initrd-* ) ./initrd.img
# echo "--"
# dracut --print-cmdline
/usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony /usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony
/usr/bin/chown :daemon /etc/wpa_supplicant.conf /usr/bin/chown :daemon /etc/wpa_supplicant.conf
@ -68,4 +88,5 @@ cd /boot/
/usr/bin/chown :bin /sbin/traceroute /usr/bin/chown :bin /sbin/traceroute
/usr/bin/chown polkitd /etc/polkit-1/rules.d /usr/bin/chown polkitd /etc/polkit-1/rules.d
# sleep 5s
#DO NOT EXIT THE SCRIPT. A second part is automatically added in this script during the process in order to create the default user and set root password. #DO NOT EXIT THE SCRIPT. A second part is automatically added in this script during the process in order to create the default user and set root password.

View File

@ -37,14 +37,14 @@ function preImgCreation()
function postPrepareChroot() function postPrepareChroot()
{ {
info "copying kernel-desktop, dtb, boot.scr and vmlinuz symlink in ${BUILD_PATH}/boot" # info "copying kernel-desktop, dtb, boot.scr and vmlinuz symlink in ${BUILD_PATH}/boot"
# /usr/bin/cp --preserve=mode "${CONFIG_PATH}/kernel-desktop-5.3.1-2.mga7-1-1.mga7.armv7hl.rpm" "${BUILD_PATH}/root/" info "copying dtb and boot.scr in ${BUILD_PATH}/boot"
#Generating uboot autoboot script :
mkimage -C none -A arm -T script -d "${CONFIG_PATH}/boot.cmd" "${BUILD_PATH}/boot/boot.scr" mkimage -C none -A arm -T script -d "${CONFIG_PATH}/boot.cmd" "${BUILD_PATH}/boot/boot.scr"
/usr/bin/cp --preserve=mode "${CONFIG_PATH}/sun7i-a20-bananapro.dtb" "${BUILD_PATH}/boot/"
/usr/bin/cp --preserve=mode "${CONFIG_PATH}/u-boot.dtb" "${BUILD_PATH}/boot/" /usr/bin/cp --preserve=mode "${CONFIG_PATH}/u-boot.dtb" "${BUILD_PATH}/boot/"
# /usr/bin/cp --preserve=mode "${CONFIG_PATH}/uboot.env" "${BUILD_PATH}/boot/" # /usr/bin/cp --preserve=mode "${CONFIG_PATH}/sun7i-a20-bananapro.dtb" "${BUILD_PATH}/boot/"
/usr/bin/cp --preserve=mode -d "${CONFIG_PATH}/vmlinuz" "${BUILD_PATH}/boot/" # /usr/bin/cp --preserve=mode -d "${CONFIG_PATH}/vmlinuz" "${BUILD_PATH}/boot/"
/usr/bin/cp --preserve=mode -r "${CONFIG_PATH}/lib" "${BUILD_PATH}/" # /usr/bin/cp --preserve=mode -r "${CONFIG_PATH}/lib" "${BUILD_PATH}/"
return 0 return 0
} }