Hi Mike, You are probably right.
At the moment the seL4 doesn't save and restore FPU state on ARM. I believe we are currently working on adding this currently within Data61. Once that's done, the vmm will need to be set up to provide the guest access to the FPU. Until then the guests have to use software floating point. Kind regards, Kent McLeod. ________________________________________ From: Mike Clark <undefinedsp...@gmail.com> Sent: Saturday, June 3, 2017 6:00 AM To: Mcleod, Kent (Data61, Kensington NSW) Cc: devel@sel4.systems Subject: Re: [seL4] Using linux-tk1-debian on camkes-arm-vm Kent, Thanks. That was very helpful. I'm assuming the Ubuntu install doesn't work because it is armhf and not armel. Is there any technical reason an armhf VM wouldn't work or is it simply a matter of having the time and putting in the effort to make it work? Mike On Fri, Jun 2, 2017 at 3:08 AM, <kent.mcl...@data61.csiro.au> wrote: > Hi Mike, > > We weren't able to get the official Nvidia Ubuntu distribution (R21.5) > working on top of the version of Linux that we provide for the arm-camkes-vm. > We created our own debian rootfs ourselves using debootstrap. The link to > one we created is here > (https://drive.google.com/uc?id=0B9-Sswvx8AZ2Tjg2UUQxWExqdnM). You would > need to extract the rootfs onto your partition by: > >> cd destination_directory >> cat debian.cpio | fakeroot cpio --extract --make-directories >> --no-preserve-owner --preserve-modification-time > > > If you don't feel comfortable running some random unsigned OS binaries you > downloaded off of the internet, you could build one yourself. When I > originally made ours I used debootstrap with software floating point > toolchains (armel). I have tried to recreate my process below. It will be > faster to do the following on local disk, then move everything over to the > sdcard partition at the end. > > Hope this helps. > > Kind regards, > Kent McLeod > > > # Get dependencies > apt-get install debootstrap qemu-user-static binfmt-support > > # First stage of debootstrap > export targetdir=`pwd`/rootfs > export distro=stretch > mkdir -p $targetdir > sudo debootstrap --arch armel --foreign $distro $targetdir > > # Copy qemu arm binary into new rootfs for chroot > sudo cp /usr/bin/qemu-arm-static $targetdir/usr/bin > sudo cp /etc/resolv.conf $targetdir/etc > > # chroot into environment and set env variables. > sudo chroot $targetdir > export distro=stretch > export LANG=C > > # Second stage debootstrap > /debootstrap/debootstrap --second-stage > > # System configuration > cat <<EOT > /etc/apt/apt.conf.d/71-no-recommends > APT::Install-Recommends "0"; > APT::Install-Suggests "0"; > EOT > cat <<EOT > /etc/apt/sources.list > deb http://httpredir.debian.org/debian $distro main contrib non-free > deb-src http://httpredir.debian.org/debian $distro main contrib non-free > deb http://httpredir.debian.org/debian $distro-updates main contrib non-free > deb-src http://httpredir.debian.org/debian $distro-updates main contrib > non-free > deb http://security.debian.org/debian-security $distro/updates main contrib > non-free > deb-src http://security.debian.org/debian-security $distro/updates main > contrib non-free > EOT > > # Set root password and hostname > passwd root > echo 'armel-root' > /etc/hostname > # Configure timezone > dpkg-reconfigure tzdata > # Update everything > apt-get update > > # Cleanup and leave > apt-get clean > rm /etc/resolv.conf > exit > > # At this stage you can create a cpio archive to then extract out onto the SD > partition of the TK1 > # Assuming your partion is mounted somewhere > cd $targetdir && find . | cpio -o -H newc > /mnt/debian.cpio > cd /mnt > cat debian.cpio | fakeroot cpio --extract --make-directories > --no-preserve-owner --preserve-modification-time > > > > ________________________________________ > From: Devel <devel-bounces@sel4.systems> on behalf of Mike Clark > <undefinedsp...@gmail.com> > Sent: Wednesday, May 31, 2017 11:52 PM > To: devel@sel4.systems > Subject: [seL4] Using linux-tk1-debian on camkes-arm-vm > > I have seL4 running on a TK1 using linux-tk1-initrd. I'd like to get > the linux-tk1-debian version running to load the userspace off of the > emmc drive of the TK1. FWIW, I did flash the TK1 to the latest > verison, R21.5. > > The default DTS has root=/dev/mmcblk0p2 in the bootargs. When booting > with this, I get a kernel panic. I also tried changing that to > root=/dev/mmcblk0p1 (since that partition was the larger one on the > emmc). It also gives a kernel panic, albeit a different message. > > With mmcblk0p1, the message I get is: > > [ 10.092841] EXT2-fs (mmcblk0p1): error: couldn't mount because of > unsupported optional features (240) > [ 10.102749] EXT4-fs (mmcblk0p1): couldn't mount as ext3 due to > feature incompatibilities > [ 10.137427] EXT4-fs (mmcblk0p1): mounted filesystem with ordered > data mode. Opts: (null) > [ 10.145696] VFS: Mounted root (ext4 filesystem) on device 179:1. > [ 10.162679] devtmpfs: mounted > [ 10.165845] Freeing unused kernel memory: 252K (c0aa9000 - c0ae8000) > [ 10.224352] Kernel panic - not syncing: Attempted to kill init! > exitcode=0x00000004 > [ 10.224352] > [ 10.233480] CPU: 0 PID: 1 Comm: init Tainted: G W 4.3.0-rc5 #1 > [ 10.240429] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree) > [ 10.246713] [<c0015d30>] (unwind_backtrace) from [<c0012b74>] > (show_stack+0x10/0x14) > [ 10.254457] [<c0012b74>] (show_stack) from [<c009247c>] (panic+0xa0/0x214) > [ 10.261330] [<c009247c>] (panic) from [<c002566c>] > (complete_and_exit+0x0/0x1c) > [ 10.268627] [<c002566c>] (complete_and_exit) from [<00000000>] ( (null)) > [ 10.275408] ---[ end Kernel panic - not syncing: Attempted to kill > init! exitcode=0x00000004 > > With mmcblk0p2, the message I get is: > > [ 10.095124] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) > - read(0x1000000) > [ 10.102907] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem > in 1th superblock > [ 10.111127] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) > - read(0xfb000000) > [ 10.118994] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem > in 2th superblock > [ 10.126711] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) > - read(0x1000000) > [ 10.134472] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem > in 1th superblock > [ 10.142167] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) > - read(0xfb000000) > [ 10.149983] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem > in 2th superblock > [ 10.159891] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) > - read(0x1000000) > [ 10.167669] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem > in 1th superblock > [ 10.175842] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) > - read(0xfb000000) > [ 10.183743] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem > in 2th superblock > [ 10.191391] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) > - read(0x1000000) > [ 10.199146] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem > in 1th superblock > [ 10.206813] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) > - read(0xfb000000) > [ 10.214653] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem > in 2th superblock > [ 10.222551] Kernel panic - not syncing: VFS: Unable to mount root > fs on unknown-block(179,2) > [ 10.230976] CPU: 0 PID: 1 Comm: swapper Tainted: G W > 4.3.0-rc5 #1 > [ 10.238184] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree) > [ 10.244462] [<c0015d30>] (unwind_backtrace) from [<c0012b74>] > (show_stack+0x10/0x14) > [ 10.252205] [<c0012b74>] (show_stack) from [<c009247c>] (panic+0xa0/0x214) > [ 10.259079] [<c009247c>] (panic) from [<c0aaa238>] > (mount_block_root+0x21c/0x230) > [ 10.266554] [<c0aaa238>] (mount_block_root) from [<c0aaa368>] > (mount_root+0x11c/0x124) > [ 10.274459] [<c0aaa368>] (mount_root) from [<c0aaa4bc>] > (prepare_namespace+0x14c/0x194) > [ 10.282451] [<c0aaa4bc>] (prepare_namespace) from [<c0aa9dec>] > (kernel_init_freeable+0x1c0/0x1d0) > [ 10.291315] [<c0aa9dec>] (kernel_init_freeable) from [<c07c4b20>] > (kernel_init+0x8/0xe8) > [ 10.299397] [<c07c4b20>] (kernel_init) from [<c000f4d8>] > (ret_from_fork+0x14/0x3c) > [ 10.306959] ---[ end Kernel panic - not syncing: VFS: Unable to > mount root fs on unknown-block(179,2) > > Is there a guide for how to setup the emmc on the TK1 to boot using > linux-tk1-debian? > > Will an older version of the TK1 image from Nvidia work or do I need > to do a custom debian install (like this > https://wiki.debian.org/InstallingDebianOn/NVIDIA/Jetson-TK1)? > > _______________________________________________ > Devel mailing list > Devel@sel4.systems > https://sel4.systems/lists/listinfo/devel _______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel