1. 96boards?

    So today Linaro announced their first board from 96boards project. It is named HiKey and is based on HiSilicon cpu for mobile phones.

    I had an occasion to see that board during FOSDEM and decided to write something about it after it land on my desk (which will happen sooner or later). But I have read specification for this and next boards and decided to write few words from my perspective.

    First thing? Footprint. Good that two sizes are available for designs as not everyone may want to squeeze into small one.

    Second? Ports. 2015 year and no Ethernet, no SATA? Sure, first board is based on SoC from a mobile phone but there is no place on small board for them and extended version looks like not allow for extra ports too.

    Next? Power supply. 8-18V in a world where everything is on 5V already. The only place where 12V is mentioned in spec is “external fan power”.

    So as we are on voltage… Serial at pins and 1.8V level. Nice way of forcing everyone to buy new serial dongle (Arduino ones are 3.3 or 5V).

    But assume that we got it powered and have serial connected. How to boot it? According to specs mainline kernel (or AOSP one or LTE one) has to be used. I wonder how HiSilicon cpu is supported in any of those. From what I read during day (on quite slow connection) it is still not in a kernel…

    Graphics situation is still shitty. Vendor is allowed to provide binary blobs to get display working. Did they not learnt from OMAP? PowerVR again someone? But sure, plain framebuffer is all you need. OpenGL is for weak.

    I prefer not to discuss about selection of signals on low/high connectors. There are more capable people for it. I only wonder why 2mm raster where nearly all boards I had played with had 2.500 one.

    I like list of distributions listed as ones to choose. No longer Android/Ubuntu but also Debian, Fedora or OpenEmbedded based one

    But give them time. It is just first board and next ones are announced. Marvell will produce one (they are in a Linaro group for it), other will (probably) follow. Hope that there will be something better.

    Written by Marcin Juszkiewicz on
  2. Gained new power

    Today Dennis Gilmore asked me on #fedora-arm “Are you a packager in Fedora?” so I answered that I am in “packager” group but do not own a package in Fedora and do not have plans to change it.

    It turned out that the question was part of thinking that maybe I should get membership in the secondary arch group which would allow me to commit my fixes directly. Normally I prefer to grab maintainer’s attention with new reported bug or even IRC discussion about an issue. But sometimes there is no response and fix is aarch64 related without any changes for primary architectures.

    So now I can commit fixes to Fedora packages directly to git repositories. Will not overuse this privilege and make it only when it is really required.

    Written by Marcin Juszkiewicz on
  3. Started X11 on AArch64 (hardware this time)

    Took me some time but finally I managed to workaround all issues and got X11 running on real AArch64 hardware.

    Two years ago I started X11 on AArch64 using emulator. But planned to make it on real hardware one day. And that day came today.

    Mandatory screenshot
    Mandatory screenshot

    What took so long? Several things. First I lacked hardware - but APM Mustang arrived one day. Then lack of PCI-Express support but it got solved.

    So I started collecting graphic cards. Finally ended with Radeon HD5450 and Geforce GTS250 - both with 512MB ram. After last firmware update (to 0.14) they even got whole memory assigned. But none of them worked ;(

    After few discussions it got finally confirmed that something is going on with supporting more than 64MB of memory on PCI cards. I prefer not to go to details. Anyway I digged and found Matrox G550 card in local computer scrapyard. Seller wrote that it has 32MB ram (Linux says that only 16MB is present).

    Bought card, inserted into pinkiepie (Mustang) and after kernel rebuild I got nice 1920x1080x32-60 framebuffer and X11 over it. Maybe it is not the fastest but it works.

    Tomorrow will reconfigure kernel to get USB working (and submit patch for Fedora config) which will give me keyboard, mouse and audio.

    Next step? XFCE, GNOME, KDE testing of course ;D And building MPlayer so I will be able to watch movies too.

    Written by Marcin Juszkiewicz on
  4. Fedora 21 RC5 released for AArch64

    Today Peter Robinsson released RC5 of Fedora 21 installation ISO for AArch64 architecture. As usual I grabbed it for tests.

    As usual I used “clean Mustang, just hdd” method as it is one of easiest to setup. Grabbed fresh F21 RC5 ISO, prepared partitions and rebooted.

    There was an issue with “FS0:EFI\BOOT\BOOTAA64.EFI” as it tried to run “EFI\BOOT\grubx64.efi” instead of “EFI\BOOT\grubaa64.efi” but if second one is started then installer booted fine.

    New EFI binary was added: MokManager.efi - can be used it for managing keys used to sign kernel modules. Not tried that yet but good to have.

    Also noticed that ‘this is testing’ nagging requester got removed. Also nice side/top graphics with “fedora SERVER” information were added.

    Installed without issues and rebooted into fresh Fedora 21 Server installation. Things look good for final release.

    Written by Marcin Juszkiewicz on
  5. USB on Mustang

    When I got APM Mustang at home I knew that one day I will use it to test desktop environments. Lack of graphics and USB kept me away from it. And I am closer now…

    Yesterday Mark Langsdorf wrote two patches which allow to use USB3 ports from Mustang’s backplate. I applied first version of them, altered DeviceTree blob a bit and after reboot I got that:

    16:36 hrw@pinkiepie-rawhide:~$ lsusb
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 002: ID 1234:2088 Brain Actuated Technologies
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    

    All with slightly modified 3.18-rc2 kernel from Fedora rawhide.

    Now need to sort out graphics… But first need to buy yet another card…

    Written by Marcin Juszkiewicz on
  6. How to install Fedora 21 on APM Mustang with just HDD?

    After my previous posts I got an email with question “how to install Fedora 21 on Mustang without DVD and network?” so decided to describe hard drive based method.

    Requirements:

    • APM Mustang with UEFI
    • hard drive
    • another computer to prepare hdd
    • Fedora 21 installation ISO
    • serial cable connected to Mustang and other computer
    • Ethernet cable to get network on Mustang
    • VNC viewer to control installation (not needed but recommended)

    First step is preparing hard drive. Create 100MB GPT partition type “ef00” (EFI System), format it as FAT and copy “/EFI” and “/images” directories from DVD. Edit “/EFI/BOOT/grub.cfg” file and change “Fedora-S-21_A-aarch64” to “Fedora-S-21_A” because ext4 labels are shorter than ISO9660 ones.

    Then do another partition — 2GB size. I used ext4 (other ones may work too). Format and label it as ‘Fedora-S-21_A’ using e2label or other tool. Copy content of DVD image into it.

    Now put hard drive into Mustang and power on. From UEFI menu select shell and start run “FS0:EFIBOOTBOOTAA64.efi” to get into GRUB. Press Enter to begin installation.

    As before I went VNC way, selected hard drive and automatic partitioning. After few minutes system was installed and ready to reboot.

    This time there were no issues with adding bootloader into UEFI boot order. Maybe because I left previous entries there?

    And layout of partitions was not changed:

    Fedora release 21 (Twenty One)
    Kernel 3.17.0-301.fc21.aarch64 on an aarch64 (ttyS0)
    
    localhost login: hrw
    [hrw@localhost ~]$ lsblk
    NAME                    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda                       8:0    0 298.1G  0 disk
    ├─sda1                    8:1    0   127M  0 part /boot/efi
    ├─sda2                    8:2    0     2G  0 part
    ├─sda3                    8:3    0   500M  0 part /boot
    └─sda4                    8:4    0 294.1G  0 part
      ├─fedora--server-swap 253:0    0     8G  0 lvm  [SWAP]
      ├─fedora--server-root 253:1    0    50G  0 lvm  /
      └─fedora--server-home 253:2    0   236G  0 lvm  /home
    

    So if you have APM Mustang with one hdd and no external network connection on site then looks like this is an easiest way. Sure, it requires some work but allows to make an installation without any extra hardware connected to Mustang.

    Written by Marcin Juszkiewicz on
  7. Let’s install Debian on AArch64

    Today I took a small break and decided to install Debian on APM Mustang. How it went? Read on.

    Requirements: - kernel and initramfs from Debian daily d-i builds - USB stick with GRUB from Fedora (one from my second Fedora installation - APM Mustang with UEFI - serial cable connected to Mustang and other computer - Ethernet cable to get network on Mustang

    Why did I used GRUB from Fedora? Debian one had issues with finding own modules (or something like that).

    Ok, so let’s boot into GRUB. Once there load kernel and initramfs:

    linux /debian/vmlinux console=ttyS0,115220
    initrd /debian/initrd.gz
    boot
    

    Installation went smooth. To the point when installer tried to install GRUB :(

    Rebooted, loaded freshly installed kernel/initramfs from Fedora boot loader but still failed:

    Begin: Loading essential drivers ... done.
    Begin: Running /scripts/init-premount ... done.
    Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
    Begin: Waiting for root file system ... done.
    Gave up waiting for root device.  Common problems:
     - Boot args (cat /proc/cmdline)
       - Check rootdelay= (did the system wait long enough?)
       - Check root= (did the system wait for the right device?)
     - Missing modules (cat /proc/modules; ls /dev)
    

    So will not check how Debian works on APM Mustang. But bug will be reported.

    Written by Marcin Juszkiewicz on
  8. Installation of Fedora 21 on clean APM Mustang

    Last week I wrote a blog post about installing Fedora 21 on APM Mustang with use of already existing GRUB. But let’s consider it cheating ;D

    This time I am going to write how to install on fresh clean APM Mustang. I am assuming UEFI firmware not U-Boot so it you use latter then follow Updating to UEFI page on Fedora wiki.

    Requirements:

    • DVD drive
    • DVD disk with Fedora 21 AArch64 DVD image written to it
    • PCI Express SATA controller
    • USB thumb drive (128MB is enough)
    • APM Mustang with UEFI
    • serial cable connected to Mustang and other computer
    • Ethernet cable to get network on Mustang
    • VNC viewer to control installation (not needed but recommended)

    First step is preparing USB thumbdrive. Create GPT partition type ‘ef00’ (EFI System), format it as FAT and copy “/EFI” and “/images” directories from DVD. Then plug it into one of USB ports on back of Mustang. Why only those files instead of whole image? Reason is simple: UEFI knows how to handle USB but Linux kernel does not ;(

    Put PCI Express SATA controller into PCIe slot and connect DVD drive to it. This is needed cause X-Gene SATA controller is unable to handle DVD drive — see bug #1150676. Put Fedora installation disk into drive.

    Now reboot Mustang and wait for UEFI prompt (you may press a key before it goes for PXE boot):

    TianoCore 1.1-rh-0.12-1 UEFI 2.4.0 Aug 21 2014 13:35:29
    CPU: APM ARM 64-bit Potenza 2400MHz PCP 2400MHz
         32 KB ICACHE, 32 KB DCACHE
         SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz
    Board: X-Gene Mustang Board
    The default boot selection will start in   1 second
    Attempting PXE boot on MAC: 00:01:73:02:0B:73
    
    
    InstallProtocolInterface: 245DCA21-FB7B-11D3-8F01-00A0C969723B 43FE9600E0
    .PXE-E18: Server response timeout.
    -----------------------
    Global FDT Config
            - VenHw(F40A3869-92C4-4275-8501-4491A1A20C19)/mustang.dtb
    -----------------------
    [a] Boot Manager
    [b] Shell
    [c] Reboot
    [d] Shutdown
    Start: ?
    

    Select “Shell” option. After few seconds UEFI will present you list of recognized filesystems and block devices (I have one clean hard drive connected):

    UEFI Interactive Shell v2.0
    EDK II
    UEFI v2.40 (X-Gene Mustang Board EFI Aug 21 2014 13:43:15, 0x00000000)
    Mapping table
          FS0: Alias(s):HD10a0b:;BLK2:
              PciRoot(0x8)/Pci(0x0,0x0)/USB(0x0,0x0)/HD(1,GPT,07A2CC65-FF01-48F7-9E54-CCB05A154A1D,0x800,0x3B801)
         BLK4: Alias(s):
              VenHw(6C9CEEF0-A406-11E3-A5E2-0800200C9A66)
         BLK3: Alias(s):
              VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
         BLK6: Alias(s):
              VenHw(F40A3869-92C4-4275-8501-4491A1A20C19)
         BLK5: Alias(s):
              VenHw(B225ED30-6DFD-43A9-BF6B-5753358F2F70)
         BLK0: Alias(s):
              PciRoot(0x7)/Pci(0x0,0x0)/Sata(0x1,0x0,0x0)
         BLK1: Alias(s):
              PciRoot(0x8)/Pci(0x0,0x0)/USB(0x0,0x0)
    

    Enter shell and then enter one command (you can use key for completion): “fs0:EFIBOOTBOOTAA64.efi” to boot Grub from USB:

    Install Fedora-Server 21_Alpha
    Test this media & install Fedora-Server 21_Alpha
    Troubleshooting -->
    
    Use the  and  keys to change the selection.
    Press 'e' to edit the selected item, or 'c' for a command prompt.
    

    Select first option and then it is standard Fedora installation. Anaconda starts and suggests using VNC to control installation as serial line interface lacks many options.

    Fedora installer
    Fedora installer

    Installation takes several minutes. But there is another bug there: unable to add bootloader entry into EFI so we have to fix it before final release.

    Fedora installer bug
    Fedora installer bug

    But bootloader itself is loaded so after reboot we land in UEFI shell again. This time need to run “fs0:\EFI\fedora\grubaa64.efi” and there it goes: fresh Fedora 21 installation.

    Written by Marcin Juszkiewicz on
Page 25 / 106