diff options
| author | root <root@new-fish.medaka.james.internal> | 2026-01-16 18:05:48 +0000 |
|---|---|---|
| committer | root <root@new-fish.medaka.james.internal> | 2026-01-16 18:05:48 +0000 |
| commit | 3fd30876ca4e4b0e793ddf41f6c34150f729a97d (patch) | |
| tree | f96202041800836e44162784b9c63d134cad7fe7 | |
| parent | d28fcdb4a278d95927b5e7ada52601ba151806ac (diff) | |
| download | hp_instrument_lcds-master.tar.gz hp_instrument_lcds-master.tar.bz2 hp_instrument_lcds-master.zip | |
| -rw-r--r-- | fpga/ebaz4205/Makefile | 49 | ||||
| -rw-r--r-- | fpga/ebaz4205/linux-6.18.5-pq/master/endstop | 88 | ||||
| -rw-r--r-- | fpga/ebaz4205/src/bootscript | 22 | ||||
| -rw-r--r-- | fpga/ebaz4205/src/fs/boot/Makefile | 12 | ||||
| -rw-r--r-- | fpga/ebaz4205/src/fs/etc/dracut.conf.d/compress.conf | 1 | ||||
| -rw-r--r-- | fpga/ebaz4205/src/fs/etc/dracut.conf.d/omit.conf | 1 | ||||
| -rw-r--r-- | fpga/ebaz4205/src/fs/etc/dracut.conf.d/overlay.conf | 1 | ||||
| -rwxr-xr-x | fpga/ebaz4205/src/fs/usr/local/bin/mutable-chroot | 9 | ||||
| -rw-r--r-- | fpga/ebaz4205/src/uEnv.txt | 12 | ||||
| -rw-r--r-- | fpga/ebaz4205/u-boot-pq/v2019.07-ebaz4205/reset-phy.patch | 39 | ||||
| -rw-r--r-- | fpga/ebaz4205/u-boot-pq/v2019.07-ebaz4205/series | 1 |
11 files changed, 195 insertions, 40 deletions
diff --git a/fpga/ebaz4205/Makefile b/fpga/ebaz4205/Makefile index 73a6d0c..5af6da4 100644 --- a/fpga/ebaz4205/Makefile +++ b/fpga/ebaz4205/Makefile @@ -2,14 +2,15 @@ CCC=CROSS_COMPILE=arm-none-eabi- UB=u-boot UBO=${UB}/spl/boot.bin ${UB}/u-boot.img -LO=build/uImage -#LD=linux-4.19 -#LD=linux-6.16.4 +LO=build/vmlinuz-fallback LV=6.18.5 +LP=${LV}-scope LD=linux-${LV} MD=${PWD}/modules FD=../hp_lcd_driver +SD=${PWD}/staged + DP=${DIP}:/boot/uboot/ DIP=10.16.66.71 @@ -20,30 +21,29 @@ DTB=build/ebaz4205-zynq7.dtb BS=build/bootscript -OUTS=${UBO} ${LO} ${RDO} src/uEnv.txt ${DTB} ${BS} #${VIVO} +UBOUTS=${UBO} ${RDO} src/uEnv.txt ${DTB} ${BS} ${VIVO} ${L} -default:staged/stamp +default:${SD}/stamp ${BS} -staged/stamp:${OUTS} - mkdir -p staged - for i in ${OUTS}; do install -m 644 $$i staged; done +${SD}/stamp:${UBOUTS} ${SD}/lib/modules/stamp ${LD}/arch/arm/boot/zImage + mkdir -p ${SD}/boot/uboot + install -m 644 ${LD}/arch/arm/boot/zImage ${SD}/boot/vmlinuz-${LP} + install -m 644 ${LD}/.config ${SD}/boot/config-${LP} + tar cfC - src/fs . | tar xvfpBC - ${SD} + ln -sf boot/vmlinuz-${LP} ${SD}/vmlinuz + ln -sf boot/initrd.img-${LP} ${SD}/initrd.img + for i in ${UBOUTS}; do install -m 644 $$i ${SD}/boot/uboot; done touch $@ -sync: staged/stamp ${LD}/arch/arm/boot/zImage - #rsync -varP staged/ ${DP} - scp ${LD}/arch/arm/boot/zImage ${DIP}:/boot/vmlinuz-${LV}-scope - rsync -varP modules/lib/modules/ ${DIP}:/lib/modules/ - #ssh -n ${DIP} "update-initramfs -k ${LV}-scope -u" - ssh -n ${DIP} "dracut --kver ${LV}-scope --force" +sync: staged/stamp + tar cfC - staged boot etc initrd.img lib/modules usr/local/bin vmlinuz | ssh ${DIP} "tar xfpBCv - /live/image" + #ssh -n ${DIP} "chroot /live/image dracut --kver ${LV}-scope --force" #ssh -n ${DIP} "reboot" & ${BS}:src/bootscript mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d $< $@ - - - ${RDO}:build/nowt.cpio mkimage -A ARM -O Linux -T RAMDisk -C none -d $< $@ @@ -51,9 +51,6 @@ build/nowt.cpio: mkdir -p nowt cpio -Hnewc -o < /dev/null > $@ || /bin/rm -f $@ - - - ${VIVO}: (cd ${FD} && ${MAKE}) @@ -67,7 +64,11 @@ ${LO}:${LD}/arch/arm/boot/zImage ${LD}/arch/arm/boot/zImage:${LD}/Makefile ${LD}/.config LOCALVERSION="" ${MAKE} -C ${LD} ${CCC} ARCH=arm -j 32 mkdir -p ${MD} - LOCALVERSION="" ${MAKE} -C ${LD} ${CCC} ARCH=arm INSTALL_MOD_PATH=${MD} modules_install + +${SD}/lib/modules/stamp: ${LD}/Makefile ${LD}/.config + mkdir -p ${SD} + LOCALVERSION="" ${MAKE} -C ${LD} ${CCC} ARCH=arm INSTALL_MOD_PATH=${SD} modules_install + touch $@ #${LD}/.config:src/linux-config ${LD}/Makefile @@ -88,7 +89,7 @@ build/${LD}.tar.xz: wget -O $@ https://www.kernel.org/pub/linux/kernel/v6.x/${LD}.tar.xz -${UBO}:${UB}/.config #dummy +${UBO}:${UB}/.config dummy ${MAKE} ${CCC} -C ${UB} HOSTCFLAGS+=-fcommon ${UB}/.config:${UB}/config.mk @@ -96,6 +97,10 @@ ${UB}/.config:${UB}/config.mk ${UB}/config.mk: git clone --depth 1 -b v2019.07-ebaz4205 https://github.com/embed-me/u-boot.git ${UB} + ln -s ../../${UB}-pq ${UB}/.git/patches + echo -n > ${UB}-pq/v2019.07-ebaz4205/status + (cd ${UB} && guilt push -a) + touch $@ dummy: diff --git a/fpga/ebaz4205/linux-6.18.5-pq/master/endstop b/fpga/ebaz4205/linux-6.18.5-pq/master/endstop index e69de29..773978d 100644 --- a/fpga/ebaz4205/linux-6.18.5-pq/master/endstop +++ b/fpga/ebaz4205/linux-6.18.5-pq/master/endstop @@ -0,0 +1,88 @@ +diff --git a/.config b/.config +index b88dfbaab..3fef3e73a 100644 +--- a/.config ++++ b/.config +@@ -2,24 +2,22 @@ + # Automatically generated file; DO NOT EDIT. + # Linux/arm 6.18.5 Kernel Configuration + # +-CONFIG_CC_VERSION_TEXT="arm-none-eabi-gcc (15:14.2.rel1-1) 14.2.1 20241119" ++CONFIG_CC_VERSION_TEXT="arm-none-eabi-gcc (Fedora 9.2.0-1.fc30) 9.2.0" + CONFIG_CC_IS_GCC=y +-CONFIG_GCC_VERSION=140201 ++CONFIG_GCC_VERSION=90200 + CONFIG_CLANG_VERSION=0 + CONFIG_AS_IS_GNU=y +-CONFIG_AS_VERSION=24400 ++CONFIG_AS_VERSION=23200 + CONFIG_LD_IS_BFD=y +-CONFIG_LD_VERSION=24400 ++CONFIG_LD_VERSION=23200 + CONFIG_LLD_VERSION=0 + CONFIG_RUSTC_VERSION=0 + CONFIG_RUSTC_LLVM_VERSION=0 +-CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y +-CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y ++CONFIG_GCC_ASM_GOTO_OUTPUT_BROKEN=y + CONFIG_CC_HAS_ASM_INLINE=y +-CONFIG_CC_HAS_ASSUME=y + CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y + CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y +-CONFIG_PAHOLE_VERSION=130 ++CONFIG_PAHOLE_VERSION=0 + CONFIG_IRQ_WORK=y + CONFIG_BUILDTIME_TABLE_SORT=y + CONFIG_THREAD_INFO_IN_TASK=y +@@ -228,8 +226,6 @@ CONFIG_RD_ZSTD=y + CONFIG_INITRAMFS_PRESERVE_MTIME=y + CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +-CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y +-# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set + CONFIG_LD_ORPHAN_WARN=y + CONFIG_LD_ORPHAN_WARN_LEVEL="warn" + CONFIG_SYSCTL=y +@@ -713,8 +709,6 @@ CONFIG_PARAVIRT=y + # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set + CONFIG_XEN_DOM0=y + CONFIG_XEN=y +-CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y +-CONFIG_STACKPROTECTOR_PER_TASK=y + # end of Kernel Features + + # +@@ -975,8 +969,6 @@ CONFIG_HAVE_GCC_PLUGINS=y + CONFIG_GCC_PLUGINS=y + # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set + CONFIG_FUNCTION_ALIGNMENT=0 +-CONFIG_CC_HAS_MIN_FUNCTION_ALIGNMENT=y +-CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y + # end of General architecture-dependent options + + CONFIG_RT_MUTEXES=y +@@ -6559,17 +6551,10 @@ CONFIG_DEFAULT_SECURITY_DAC=y + # + # Memory initialization + # +-CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y +-CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y +-CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y + CONFIG_INIT_STACK_NONE=y +-# CONFIG_INIT_STACK_ALL_PATTERN is not set +-# CONFIG_INIT_STACK_ALL_ZERO is not set + # CONFIG_KSTACK_ERASE is not set + CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y + # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +-CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y +-# CONFIG_ZERO_CALL_USED_REGS is not set + # end of Memory initialization + + # +@@ -7090,7 +7075,6 @@ CONFIG_HAVE_ARCH_KGDB=y + # CONFIG_KGDB is not set + CONFIG_ARCH_HAS_UBSAN=y + # CONFIG_UBSAN is not set +-CONFIG_HAVE_KCSAN_COMPILER=y + # end of Generic Kernel Debugging Instruments + + # diff --git a/fpga/ebaz4205/src/bootscript b/fpga/ebaz4205/src/bootscript index d6110d5..a528892 100644 --- a/fpga/ebaz4205/src/bootscript +++ b/fpga/ebaz4205/src/bootscript @@ -1,13 +1,9 @@ -#setenv bootargs earlyprintk console=ttyPS0,115200 ip=dhcp nfsroot=10.16.64.32:/export/roots/scope,nfsvers=3,tcp rw panic=30 -#tftpboot ${kernel_load_address} /pxe/scope/uImage -#tftpboot ${ramdisk_load_address} /pxe/scope/nowt.cpio.uboot -#tftpboot ${devicetree_load_address} /pxe/scope/ebaz4205-zynq7.dtb -setenv bootargs root=/dev/mmcblk0p3 ro rootwait earlyprintk console=ttyPS0,115200 systemd.volatile=overlay panic=30 -#setenv bootargs root=/dev/mmcblk0p3 ro rootwait -#setenv bootargs root=/dev/mmcblk0p3 ro rootwait systemd.volatile=state -setenv kernel_image vmlinuz -setenv ramdisk_image initrd.img -run mmc_loadkernel -run mmc_loadramdisk -run mmc_loaddtb -bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address} +if false; then + setenv bootargs earlyprintk console=ttyPS0,115200 ip=dhcp nfsroot=10.16.64.32:/export/roots/scope,nfsvers=3,tcp rw panic=30 + tftpboot ${kernel_load_address} /pxe/scope/uImage + tftpboot ${ramdisk_load_address} /pxe/scope/nowt.cpio.uboot + tftpboot ${devicetree_load_address} /pxe/scope/ebaz4205-zynq7.dtb + bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address} +else + run defaultboot +fi diff --git a/fpga/ebaz4205/src/fs/boot/Makefile b/fpga/ebaz4205/src/fs/boot/Makefile new file mode 100644 index 0000000..ce1b042 --- /dev/null +++ b/fpga/ebaz4205/src/fs/boot/Makefile @@ -0,0 +1,12 @@ +default: uboot/vmlinuz uboot/initrd.img + +uboot/vmlinuz: /vmlinuz + mkimage -A ARM -O Linux -T Kernel -C none -d $< $@ + +uboot/initrd.img: /initrd.img + mkimage -A ARM -O Linux -T RAMDisk -C none -d $< $@ + +/initrd.img: /lib/modules/stamp + dracut --force + + diff --git a/fpga/ebaz4205/src/fs/etc/dracut.conf.d/compress.conf b/fpga/ebaz4205/src/fs/etc/dracut.conf.d/compress.conf new file mode 100644 index 0000000..45d77ab --- /dev/null +++ b/fpga/ebaz4205/src/fs/etc/dracut.conf.d/compress.conf @@ -0,0 +1 @@ +compress="gzip" diff --git a/fpga/ebaz4205/src/fs/etc/dracut.conf.d/omit.conf b/fpga/ebaz4205/src/fs/etc/dracut.conf.d/omit.conf new file mode 100644 index 0000000..9f9e855 --- /dev/null +++ b/fpga/ebaz4205/src/fs/etc/dracut.conf.d/omit.conf @@ -0,0 +1 @@ +omit_dracutmodules+=" lvm kernel-modules dm crypt " diff --git a/fpga/ebaz4205/src/fs/etc/dracut.conf.d/overlay.conf b/fpga/ebaz4205/src/fs/etc/dracut.conf.d/overlay.conf new file mode 100644 index 0000000..fcc7c42 --- /dev/null +++ b/fpga/ebaz4205/src/fs/etc/dracut.conf.d/overlay.conf @@ -0,0 +1 @@ +add_dracutmodules+=" overlayfs " diff --git a/fpga/ebaz4205/src/fs/usr/local/bin/mutable-chroot b/fpga/ebaz4205/src/fs/usr/local/bin/mutable-chroot new file mode 100755 index 0000000..2e9fd65 --- /dev/null +++ b/fpga/ebaz4205/src/fs/usr/local/bin/mutable-chroot @@ -0,0 +1,9 @@ +#!/bin/bash +mount -w -n -o remount /live/image +mount -w -n -o remount /boot +mount -w -n -o remount /boot/uboot +for i in dev dev/pts proc sys boot boot/uboot; do +mount --bind /$i /live/image/$i +done +chroot /live/image su - + diff --git a/fpga/ebaz4205/src/uEnv.txt b/fpga/ebaz4205/src/uEnv.txt index 0319721..21c5554 100644 --- a/fpga/ebaz4205/src/uEnv.txt +++ b/fpga/ebaz4205/src/uEnv.txt @@ -1,15 +1,17 @@ machine_name=ebaz4205-zynq7 -kernel_image=uImage +kernel_image=vmlinuz setmac=load mmc 0 ${ramdisk_load_address} mac.txt && env import -t ${ramdisk_load_address} ${filesize} loadkernel=load mmc 0 ${kernel_load_address} ${kernel_image} devicetree_image=ebaz4205-zynq7.dtb loaddtb=load mmc 0 ${devicetree_load_address} ${devicetree_image} -ramdisk_image=nowt.cpio.uboot +ramdisk_image=initrd.img loadramdisk=load mmc 0 ${ramdisk_load_address} ${ramdisk_image} notbootargs=earlyprintk console=ttyPS0,115200 root=/dev/mmcblk0p3 ro rootwait -bootargs=root=/dev/mmcblk0p3 ro rootwait +#bootargs=root=/dev/mmcblk0p3 ro rootwait earlyprintk console=ttyPS0,115200 systemd.volatile=overlay panic=30 +bootargs=root=/dev/mmcblk0p3 ro rootwait earlyprintk console=ttyPS0,115200 rootovl panic=30 bitstream_image=hp_lcd_driver.bin bitstream_type=load fpga_config=fpga ${bitstream_type} 0 ${bitstream_load_address} ${filesize} -notsdboot=if mmcinfo; then run leds_bootstate_0;run uenvboot;echo Setting MAC address...; run setmac ; echo Copying Linux from SD to RAM...; run mmc_loadkernel && run mmc_loaddtb && run mmc_loadramdisk && run mmc_loadfpga && run leds_bootstate_1; echo Configure FPGA...; run fpga_config && run leds_bootstate_2; echo Handoff to Linux kernel...;bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; fi -sdboot=if mmcinfo; then run leds_bootstate_0;run uenvboot;echo Setting MAC address...; run setmac ; echo Copying Linux from SD to RAM...; run mmc_loadfpga && run fpga_config && dhcp && tftpboot 0x4000000 /pxe/scope/bootscript && source 0x4000000; fi +defaultboot=echo Copying Linux from SD to RAM...; run mmc_loadkernel && run mmc_loaddtb && run mmc_loadramdisk && run mmc_loadfpga && run leds_bootstate_2; echo Handoff to Linux kernel...;bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address} +fallbackboot=if mmcinfo; then run leds_bootstate_0;run uenvboot;echo Setting MAC address...; run setmac ; echo Copying Linux from SD to RAM...; run mmc_loadfpga && run fpga_config; run defaultboot; fi +sdboot=if mmcinfo; then run leds_bootstate_0;run uenvboot;echo Setting MAC address...; run setmac ; echo Copying Linux from SD to RAM...; run mmc_loadfpga && run fpga_config; dhcp; if dhcp; then tftpboot 0x4000000 /pxe/scope/bootscript && source 0x4000000; else run defaultboot; fi; fi diff --git a/fpga/ebaz4205/u-boot-pq/v2019.07-ebaz4205/reset-phy.patch b/fpga/ebaz4205/u-boot-pq/v2019.07-ebaz4205/reset-phy.patch new file mode 100644 index 0000000..d9fea3d --- /dev/null +++ b/fpga/ebaz4205/u-boot-pq/v2019.07-ebaz4205/reset-phy.patch @@ -0,0 +1,39 @@ +diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c +index c1c1af9a..23eab241 100644 +--- a/drivers/net/phy/phy.c ++++ b/drivers/net/phy/phy.c +@@ -220,6 +220,7 @@ int genphy_config_aneg(struct phy_device *phydev) + int genphy_update_link(struct phy_device *phydev) + { + unsigned int mii_reg; ++ unsigned i; + + /* + * Wait if the link is up, and autonegotiation is in progress +@@ -234,9 +235,25 @@ int genphy_update_link(struct phy_device *phydev) + if (phydev->link && mii_reg & BMSR_LSTATUS) + return 0; + ++ u16 bmcr = phy_read(phydev,MDIO_DEVAD_NONE, MII_BMCR); ++ phy_write(phydev, MDIO_DEVAD_NONE,MII_BMCR, bmcr | BMCR_RESET); ++ udelay(1000); ++ ++ i = 0; ++ bmcr = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR); ++ while (bmcr & BMCR_RESET) { ++ if ((i++ % 500) == 0) ++ printf("."); ++ if (i > PHY_ANEG_TIMEOUT) break; ++ udelay(1000); /* 1 ms */ ++ bmcr = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR); ++ } ++ ++ //genphy_config_aneg(phydev); ++ + if ((phydev->autoneg == AUTONEG_ENABLE) && + !(mii_reg & BMSR_ANEGCOMPLETE)) { +- int i = 0; ++ i = 0; + + printf("%s Waiting for PHY auto negotiation to complete", + phydev->dev->name); diff --git a/fpga/ebaz4205/u-boot-pq/v2019.07-ebaz4205/series b/fpga/ebaz4205/u-boot-pq/v2019.07-ebaz4205/series new file mode 100644 index 0000000..ea24f62 --- /dev/null +++ b/fpga/ebaz4205/u-boot-pq/v2019.07-ebaz4205/series @@ -0,0 +1 @@ +reset-phy.patch |
