From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 17 18:04:26 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B43FDFAB; Mon, 17 Mar 2014 18:04:26 +0000 (UTC) Received: from freebsd.czest.pl (freebsd.czest.pl [212.87.224.105]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id F2601604; Mon, 17 Mar 2014 18:04:25 +0000 (UTC) Received: from freebsd.czest.pl (freebsd.czest.pl [212.87.224.105]) by freebsd.czest.pl (8.14.5/8.14.5) with ESMTP id s2HI2hgo076101; Mon, 17 Mar 2014 18:02:43 GMT (envelope-from wkoszek@freebsd.czest.pl) Received: (from wkoszek@localhost) by freebsd.czest.pl (8.14.5/8.14.5/Submit) id s2HI2h6u076100; Mon, 17 Mar 2014 18:02:43 GMT (envelope-from wkoszek) Date: Mon, 17 Mar 2014 18:02:42 +0000 From: "Wojciech A. Koszek" To: Ganbold Tsagaankhuu Subject: Re: [GSoC 2014] Interested in ARM bringup tasks Message-ID: <20140317180242.GJ37327@FreeBSD.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Status: No, score=-0.4 required=5.0 tests=RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on freebsd.czest.pl X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (freebsd.czest.pl [212.87.224.105]); Mon, 17 Mar 2014 18:02:48 +0000 (UTC) Cc: freebsd-hackers@freebsd.org, "freebsd-arm@freebsd.org" , Alexander Tarasikov X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Mar 2014 18:04:26 -0000 On Mon, Mar 17, 2014 at 08:39:24AM +0800, Ganbold Tsagaankhuu wrote: > Alexander, > > > On Mon, Mar 17, 2014 at 7:19 AM, Alexander Tarasikov < > alexander.tarasikov@gmail.com> wrote: > > > Hello, FreeBSD community! > > > > I am interested in participating in GSoC this year and I'd like to > > pick up one of the tasks related to porting FreeBSD to new > > architectures. I'm now doing my master's degree in software > > engineering at the "Higher School of Economics" in Moscow. > > > > Since I love ARM and smartphones, I've chosen the project to port > > FreeBSD to a smartphone. If that task is already occupied (which > > doesn't seem so), I would be happy to pick up another task suggested > > by the community. > > > > I want to port FreeBSD to the Sony Xperia Z phone. This phone has the > > Qualcomm APQ8064 SoC which is used in a large number of smartphones, > > including Google Nexus 4. Besides, Qualcomm SoCs are developed > > incrementally so there's a high chance that the code for current > > generation of chips will benefit future revisions as well. > > > > Interesting. I'm not quite sure how accessible is some pins like uart in > Experia Z. > I have it here, but I still didn't try to open it yet to see the pins etc. > Probably you meant here some embedded boards like ifc6410. > Plus ifc6410 has docs so that could be useful too. Alexander, Ganbold, To get an access to UART in modern phones you typically get it via phone jack. By building/buying special adapter, you make your microphone jack become a serial cable. There are schematics online. For Nexus 4 the cable looked really simple. > > It is known that debugging like JTAG and flash recovery is not > > available on consumer devices because of DRM and general love for > > obfuscation among the vendors. Therefore, to prevent bricking the > > device, > > > That is the hell, it seems Qualcomm uses lauterbach jtag adapter in that > case. > I and my friend and also some people have tried some adapters like > flyswatter2 with ifc6410, still no luck. > I suggest using the chainloading approach, that is using the > > bootloader that ships with the device and pretend to be a linux image. > > > > That can be done. Their bootloader like maybe LK in case of ifc6410 can > boot freebsd kernel. > Actually I did that for ifc6410. > > > > > > For the mid-term I want to port the u-boot bootloader and add the > > support for accessing the microSD card from it. The u-boot will be > > flashed to the device instead of the linux kernel. If this project was to be attacked, I'd try to check if there's a way to re-use existing bootloader (on the phone) and just try to boot different kernel. Otherwise (if you have to work on U-boot) it's no longer a FreeBSD project. So I'd say: try to research the platform accessibility first. If U-boot work is absolutely necessary, it's probably fine to do something there, but if it's lots of time working on some other stuff, I'm not convinced. Can modern phones netboot/USB boot somehow? > > That could be cool. > > > > > > Since the proprietary bootloader already initializes the display (we > > can also port linux driver to u-boot), it should be possible, at least > > during the initial stage, to use a simple driver in FreeBSD that would > > write to the framebuffer allocated by the bootloader or only write the > > framebuffer address to the display controller. > > > > > That is nice. However first we need uart driver, then either usb ehci, mmc > or sata driver needs to mount rootfs in order to boot freebsd to multiuser > mode. I already have timer driver and minimal console driver so it makes > booting little bit easier. > > > > > > In the past I've successfully ported linux to an Intel XScale-based > > Asus P525 smartphone, ported Android with all hardware working to boot > > from NAND on the Sony Xperia X1 phone and have ported various boards > > from OEM to vanilla kernel trees. Recently I've experimented with the > > XNU kernel (the one which is used in the fruity operating system) and > > ported it to the OMAP5 board. So I think I'll be able to pull it off. > > > > Cool. In case of android or linux there are many people working on various > stuffs so in most case drivers are either written or somebody has got > started working on particular driver already. For FreeBSD case it is > different. You maybe know that very few people are working in case of ARM > platform bringup, so we need more developers and I'm happy that you decided > to work on this direction. > I wonder if SDK shipped by Google could be used to emulate given smartphone. They already ship with the emulator, and pre-defined profiles for devices. I wonder if Android kernel developers know more about running emulated kernels. -- Wojciech A. Koszek wkoszek@FreeBSD.czest.pl http://FreeBSD.czest.pl/~wkoszek/