-
Posts
605 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by Nick A
-
@Mohammad Adel Here are the steps to make a secure boot image. In your case you want to modify the X98H defconfig. git clone https://github.com/NickAlilovic/build.git --branch v20250306 cd build pico patch/u-boot/u-boot-h616/171-add-x98h-defconfig.patch You need to add this line to the bottom. "+CONFIG_SPL_IMAGE_TYPE_SUNXI_TOC0=y" and change "@@ -0,0 +1,31 @@" to @@ -0,0 +1,32 @@. From 25669b44bab8ffdc4d07e140226c6385a9d13950 Mon Sep 17 00:00:00 2001 From: Nick Alilovic <nickalilovic@gmail.com> Date: Tue, 11 Mar 2025 22:09:15 -0400 Subject: [PATCH] add x98h defconfig add x98h defconfig --- configs/x98h_defconfig | 31 +++ .../src/arm64/allwinner/sun50i-h618-x98h.dts | 223 ++++++++++++++++++ 2 files changed, 254 insertions(+) create mode 100644 configs/x98h_defconfig create mode 100644 dts/upstream/src/arm64/allwinner/sun50i-h618-x98h.dts diff --git a/configs/x98h_defconfig b/configs/x98h_defconfig new file mode 100644 index 0000000000..b87498cd10 --- /dev/null +++ b/configs/x98h_defconfig @@ -0,0 +1,32 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_DEFAULT_DEVICE_TREE="allwinner/sun50i-h618-x98h" +CONFIG_SPL=y +CONFIG_DRAM_SUN50I_H616_DX_ODT=0x03030303 +CONFIG_DRAM_SUN50I_H616_DX_DRI=0x0e0e0e0e +CONFIG_DRAM_SUN50I_H616_CA_DRI=0x1f12 +CONFIG_DRAM_SUN50I_H616_TPR0=0xc0001002 +CONFIG_DRAM_SUN50I_H616_TPR10=0x2f1107 +CONFIG_DRAM_SUN50I_H616_TPR11=0xddddcccc +CONFIG_DRAM_SUN50I_H616_TPR12=0xeddc7665 +CONFIG_MACH_SUN50I_H616=y +CONFIG_SUNXI_DRAM_H616_DDR3_1333=y +CONFIG_DRAM_CLK=648 +CONFIG_MMC_SUNXI_SLOT_EXTRA=2 +CONFIG_R_I2C_ENABLE=y +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_SPL_I2C=y +CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_SYS_I2C_LEGACY=y +CONFIG_SYS_I2C_MVTWSI=y +CONFIG_SYS_I2C_SLAVE=0x7f +CONFIG_SYS_I2C_SPEED=400000 +CONFIG_PHY_REALTEK=y +CONFIG_SUN8I_EMAC=y +CONFIG_I2C3_ENABLE=y +CONFIG_SUPPORT_EMMC_BOOT=y +CONFIG_AXP313_POWER=y +CONFIG_AXP_DCDC3_VOLT=1360 +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_OHCI_HCD=y +CONFIG_SPL_IMAGE_TYPE_SUNXI_TOC0=y Then create the secure boot patch. pico patch/u-boot/u-boot-h616/secure-boot.patch diff --git a/root_key.pem b/root_key.pem new file mode 100644 index 0000000000..892a10ef90 --- /dev/null +++ b/root_key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCWZ7G39E+RCi+9 +B48yiD4GxnfqNzvlXOxAd+GHQuKbgynXZd5pIuNHt3ewhZTHZkdHxuO9liqX9MmU +8OhiG+Skww2LzHPPi/eLeN4vCt/waXkjFrkblkhNzB3c6MejKdiz9sfw8oeOFX1S +teP/MJBoRaj6Hexj5g/oCspU+KFfv0cOBcWuq4vZwPJ6+U44IBi7EGleShGHNhBI +xQEyvNaDLWoDCPGLrjRM0DrIbUpzEntk9KJ0z+3Th8O/FtvlW21atolIVr5F96Pw +EEv3CDUHrY+IvK0z+IwNhnYo99kMPi5djB6vviz4In530JQ+OdPxhi4cQY3Yw9wx +Sm8EFaRRAgMBAAECggEAEaEcZ+k7VU8aGuBStNPa31zui9XHD8KlT4YtuXbJzHwi +kKSYXf7woISdAyQZNQkkREHICn4aRn7zDOHy/yLxWS2ivhbsITDxBlhXxLBT4OBg +ClCcyGLEXVgWTQE8+z9Jrwh3VaL76BfVPXdj/tKwroQxwwV0Yp5CEYsIPc75zVjW +Y2tppJL9XlTfKXTSo7FAxJmjkTC8QGPSHgMglR5FOfZ/D3Nj4KV4LV1gHCkICKUy +c2jklHISy8S6/pvgpWb50TKArEhbN6uAKQBNb74ZsChKJ9h9aof/vjH/8Ab1rwUJ +g91lpkR3mEefTjJTW1JOuoT49Y3lfWmkRVh75GiCsQKBgQDUo3uMcy9VdbbmY9Gt +2JuhbSvwR/dOHZJoXvtlNYVJ+1JvavExBy2u31cYsK/2SH/Upc8AXS6H02dXbnC3 +wjlUFi21Xi7/PCQM8TUz05km3+9qOkDYw53EBBBnCdjawBpDgcUSkoZGU+ltBzcR +sj0nsmI29DjwfYHXhofnlfI52QKBgQC1E2Q0hGfk3YUtfzTjDJCfd3gs6QYGQGeT +49jvnsbYsnz9vsK4Ao2skN8nBhSefDJR8h2X+7tRXEefQB2Hy/+9qoiuoVzPJGWD +IiHjeVJDoEqA2Q483UhZ+OPjUGFDTI7O/j1A1HkEBKswdJpKlGVygdoXYaieUAfz +Sb+dCYf7OQKBgQCWkE/aSnE4vQpOJl4BEABbFFdpYzvcpxnVJ3Qw3O3NTdS4Keww +wBl72o7sX6eo5vsE0oc5hcF90ZY6FWxg4XkAblfdNZxng+ku9NisIuct3KDFAgyK +sDCU7B/FJfbUJfQy2r91gCTtxVripZo7wI6G/kuHB/UNbIE04AB5XfZPOQKBgAGw +K5f9wAY3Nn2lGPYg8Nw7vegVSBQY155eWnBpd4sfpuCqvZ//jhiUxS/U865ClCmF +a1c2ZpmslZJbg6r3cOvwwhN2t6nKuhON5uj7AZRV0zv+Sg6xNXJ5So6c+jspZI9z +eVi4YmRyMrJh8+pMFeIKaeEb7PmE334aKuoo45apAoGBAKNp7ssXgU4Ma7cUr7+L +TKGBNVsMZyM3T2qsXJjFY1f90+lwp7TlNQGVMPOSOHxyINWkuLNgAgetlhavnc0S +0l+SbSaO6SfnHfQWBFPEJfol8V/Xa4rcVP7fGxQn4phYnk14N09xKIQa24Mi2Xa5 +9G0C2VOB8Yz6OWcQZELs0uFp +-----END PRIVATE KEY----- -- 2.34.1 ./compile.sh choose "Do not change kernel configuration" choose "Show CSC/WIP/EOS/TVB" choose "I understand and agree" choose "X98H" choose "edge" rest is up to you. Your image should be in output/images directory.
-
@boggy have you tried another SD card? You have a lot of mmc errors. which miniarch image booted for you? Maybe we can use the mmc settings from that image.
-
@boggy do you have a boot log from armbian?
-
@boggy Try my Transpeed 8K618T image. It includes the most critical DTS settings for this hardware. All your Dram settings in the dts have dram_type = <0x03> or DDR3. dram_para1 { device_type = "dram_para1"; dram_clk = <0x258>; dram_type = <0x03>; cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */ sdmmc@04020000 { compatible = "allwinner,sunxi-mmc-v4p1x"; device_type = "sdc0"; . . . cd-gpios = <0x53 0x08 0x10 0x06 0x01 0x03 0xffffffff>; can you find the wifi chip on your board?
-
@José Manuel Márquez Luque try these images https://github.com/NickAlilovic/build/releases/tag/20250306
-
@Bob-the-great try these images https://github.com/NickAlilovic/build/releases/tag/20250306
-
@tin harden A7A mainline is still a WIP.
-
@Morales Morales
-
@BoringNameHave you tried building a new image? Use the image and kernel headers from that specific build. I believe the problem exists because the DTS source was updated after the header release. I updated the linux kernel headers. https://github.com/NickAlilovic/build/releases/download/20250306/linux-headers-edge-sunxi64_25.05.0-trunk_arm64__6.12.11-S62b2-Da873-P6755-C1a9bH02eb-HK01ba-Vc222-B9bbb-R448a.deb
-
@sicxnull This might be the patch that fixed it. It's in mainline u-boot now. I would use a newer u-boot. https://lists.denx.de/pipermail/u-boot/2025-March/582900.html
-
@sicxnull I would need to look at your sources. Not sure if it's a dts or u-boot patch fix.
-
@MeJune You can check out my work starting with the 'Add warpme kernel 6.17' commit here: https://github.com/NickAlilovic/build/commits/v20251014/ I’m using warpme patches from his minimyth2 repo, though I’ve modified them to ensure they apply correctly. I also used my own patches for Transpeed, as his implementation differs from mine. u-boot: https://github.com/warpme/minimyth2/tree/master/script/bootloaders/u-boot-aw/files https://github.com/warpme/minimyth2/blob/master/script/bootloaders/u-boot-aw/Makefile kernel: https://github.com/warpme/minimyth2/tree/master/script/kernel/linux-6.19/files https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.19/Makefile An easier way to do this is to create a board config and use the official Armbian patch set. While Transpeed is already mainlined, the implementation is incomplete. You will still need a patch to include your missing Transpeed DTS nodes. If you are happy with 6.17, then use this build: https://github.com/NickAlilovic/build/commits/v20251014/ This build generates a kernel .deb package in output/debs. You can use it to upgrade your existing Armbian installation. I haven't tried this myself, so I make no promises that it will work; please ensure you have a backup before proceeding. Backing Up the SD Card (from another PC) The most reliable way to back up an SD card is to create a full disk image on a separate computer. sudo dd if=/dev/sdX of=armbian_backup.img bs=1M status=progress If your system is running on eMMC, you can back it up to an external USB or SD card using built-in Armbian tools. Using armbian-ddbr: Many Armbian builds include this utility specifically for eMMC backup/restore. Boot Armbian from an external SD card (so the eMMC is not in use). Run the command: sudo armbian-ddbr. Select the backup option to create a compressed image of your internal storage. Using armbian-config: Some versions offer a "Backup" or "Clone" option under the System or Maintenance menus
-
Have Armbian for Tanix TX1 QHZIW_H313_TX1_EMCP_V2.0?
Nick A replied to Lesano's topic in Allwinner CPU Boxes
@billymore I got this from AI. It's not perfect. I haven't done this before. To convert a standard Armbian root filesystem (typically an ext4 partition) into the rootfs.cpio.lzma.uboot format required for RAM booting, you must package the file tree into a CPIO archive, compress it with LZMA, and then wrap it with a U-Boot header. 1. Extract the Armbian RootFS First, you need the actual files from your Armbian image. Mount the image to a temporary directory on your Linux PC: mkdir -p /tmp/armbian_root If you have your Armbian .img file ready, run this command to find the start sector of the root partition (usually the second partition): fdisk -l armbian_image.img Multiply that Start number by 512 to get the exact offset for the mount command. sudo mount -o loop,offset=YOUR_OFFSET armbian_image.img /tmp/armbian_root A standard Armbian rootfs doesn't have an init file in the root directory; it uses sbin/init (a symlink to systemd). A RAM disk requires an executable at /init. sudo ln -s sbin/init /tmp/armbian_root/init 2. Create the CPIO Archive Pack the entire filesystem into a newc format CPIO archive. It is critical to perform this step as root to preserve file permissions. cd /tmp/armbian_root sudo find . | sudo cpio -H newc -o > /tmp/rootfs.cpio 3. Compress with LZMA Compress the archive using the LZMA algorithm to minimize its size for RAM loading: lzma -9 /tmp/rootfs.cpio # This creates /tmp/rootfs.cpio.lzma 4. Add the U-Boot Header Use the mkimage tool (from the u-boot-tools package) to add the 64-byte legacy header that U-Boot uses to identify the ramdisk. mkimage -A arm64 -O linux -T ramdisk -C lzma -n "Armbian Initramfs" -d /tmp/rootfs.cpio.lzma /tmp/rootfs.cpio.lzma.uboot -A arm: Target architecture (use arm64 if applicable). -T ramdisk: Identifies the image type as a RAM filesystem. -C lzma: Specifies the compression used. -d: Input data file. sunxi-fel -v uboot u-boot-sunxi-with-spl.bin \ write 0x40080000 Image \ write 0x4fa00000 dtbs/allwinner/sun50i-h313-tanix-tx1.dtb \ write 0x4fe00000 rootfs.cpio.lzma.uboot (Note: If you are using a raw Image instead of a uImage, use booti instead of bootm). Once U-Boot initializes over the USB cable, it will drop to a prompt. You must run this to start the OS: Armbian’s default kernel might not have a large enough ramdisk_size allocated in its config. Update your bootargs to include a size limit (in KB). If your rootfs is 500MB: setenv bootargs "console=ttyS0,115200 root=/dev/ram0 rw" booti 0x40080000 0x4fe00000 0x4fa00000 ramdisk_size=600000 -
Have Armbian for Tanix TX1 QHZIW_H313_TX1_EMCP_V2.0?
Nick A replied to Lesano's topic in Allwinner CPU Boxes
@billymore The "Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)" error indicates that the Linux kernel could not locate or mount the root file system during startup. . This is commonly caused by a missing or corrupted initial RAM filesystem (initramfs), an incorrect root= boot parameter write 0x4ff00000 rootfs.cpio.lzma.uboot -
@Jain Ziad I'm currently working on hardware acceleration, though I can't say yet if it will outperform the official Radxa builds since it uses the same drivers. I'll keep the community updated on the results.
-
@marcosdsdba I would compile this on the box. Install kernel headers. Post the errors you are getting. https://github.com/NickAlilovic/build/releases/download/20250306/linux-headers-edge-sunxi64_25.05.0-trunk_arm64__6.12.11-S62b2-Da873-P8a5c-C1abcH02eb-HK01ba-Vc222-B9bbb-R448a.deb
-
@sicxnull
-
SV6256P WiFi Now Working on Linux 6.x (Armbian Tested)
Nick A replied to Kevin su's topic in Allwinner CPU Boxes
@Kevin su Excellent work! Porting the SV6256P driver all the way to kernel 6.12 is a huge achievement. Most users usually just give up and plug in a USB Wi-Fi adapter to avoid the headache of legacy drivers. -
@marcosdsdba
-
@zcrself Your board might be missing some components for UART to work properly. Have you tested your TTL to USB adaptor on other boards to see if it works?
-
@marcosdsdba the only driver that works is from kernel 4.4. Unless someone figures out a way to port this to a modern kernel, your only option is to use a usb wifi adapter.
-
@zcrselfhttps://github.com/NickAlilovic/build/releases/tag/Mainline try this image.
