User avatar
maribu
Posts: 143
Joined: Mon Feb 13, 2012 9:56 pm

Re: Arch Linux Arm and QEMU

Tue Mar 27, 2012 4:21 am

Hey, Black Mamba!

Sorry, I thought you were trying to start debian. Yes, you're right, there's no preinstalled graphic system in Arch Linux. This means that the problem is not starting the graphical system, but starting the terminal. Like the graphical system the terminal interface is configured in a way, that the terminal will be restartet (respawning) if it crashes.

Usually you can see kernel messages and some other system messages with the command dmesg. You probably don't want to see the whole output of dmesg (severel screens full of output), but just the last few lines. You can get this by:

dmesg | tail -n 15

The "|"-sign is called a "pipe". With it you are redirecting the output from dmesg to the tail command. The tail command just prints the last lines of its input, here the last 15 lines (-n 15). So instead of printing the whole output on the screen, tail reduces it to the last 15 lines.

But because the terminal won't start all this bash  Kung Fu won't help you.

I think that the terminal won't start because you are using a Kernel which doesn't support devtmpfs. But this is required by Arch Linux.

I'm able to start Arch Linux with this Kernel , posted by smithae. But this kernel does not support the graphic card of qemu (at leat on my qemu version), so you won't be able to use it.


Also when I installed the debian squeeze distro in Qemu I didn't get these messages and I would have thought the Qemu drivers would be the same for both distros



Yes, you are right. Actually you would be able to use the graphic card if it worked on debian, but the system doesn't start properbly beacause of the lack of devtmpfs.

You will still not be able to load modules and get an error message on boot up because the kernel does not support "net.ipv4.tcp_syncookies". All this would be solved by using the original Arch Linux Kernel, but I wasn't succesfull at this (see "Forum --> Distributions --> Arch Linux ARM").

Note that qemu might be even slower than the Raspberry Pi depending on the hardware which is running qemu. So don't be frustrated if it's slow.

BlackMamba
Posts: 3
Joined: Sat Mar 24, 2012 9:47 pm

Re: Arch Linux Arm and QEMU

Tue Mar 27, 2012 7:32 pm

I have finally managed to get Qemu and the Arch distro working (yipeeeeeeeee). I went back to a fresh install of Qemu 0.15.0 rather than v1.0.1 and used the zImage-devtmpfs that you recommended Marian with this command line

qemu-system-arm.exe -M versatilepb -cpu arm1136-r2 -hda archlinuxarm-01-03-2012.img -kernel zImage-devtmpfs -m 256 -append "root=/dev/sda2" -net nic -net tap,ifname=my-tap

Got to the login screen and managed to log in - updated the package list and installed LXDE - only thing I couldn't do was get online, so I will have to look into that.

Thank you for your help Marian and it just proves if I can do it then anyone can

User avatar
maribu
Posts: 143
Joined: Mon Feb 13, 2012 9:56 pm

Re: Arch Linux Arm and QEMU

Wed Mar 28, 2012 3:52 am

Hey, Black Mamba!

Congratulations!

To get network workintg try "-net user -net nic" instead of "-net nic -net tap,ifname=my-tap". I don't know if this works on Windows, but on Linux this works out of the box.

Good luck,

Marian

attos
Posts: 3
Joined: Thu May 03, 2012 5:27 pm

Re: Arch Linux Arm and QEMU

Thu May 03, 2012 6:37 pm

You couldn't get on line because Qemu only emulates NE2000 PCI, RTL8139, PCNET and NE2000 ISA network adapters.

The Raspberry PI uses a SMC91C11xFD and the driver is built into the kernel (smc91x.c)

The only way to get the network working under Qemu is to build a custom kernel and either build the driver into the kernel or use a loadable module.

Cheers!

AJ

attos
Posts: 3
Joined: Thu May 03, 2012 5:27 pm

Re: Arch Linux Arm and QEMU

Thu May 03, 2012 8:36 pm

It actually works.

In Windows I'm using the following command:

qemu-system-arm.exe -M versatilepb -cpu arm1136-r2 -hda archlinuxarm-19-04-2012.img -kernel zImage-devtmpfs -m 256 -append "root=/dev/sda2" -net nic -net user

I'm not using the tun device and a latest image.

Sorry for making noise.

manfat2000
Posts: 4
Joined: Fri May 04, 2012 12:35 pm

Re: Arch Linux Arm and QEMU

Fri May 04, 2012 3:48 pm

I got both distributions up and running in QEMU with the following command lines -

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -M versatilepb -serial stdio -append "root=/dev/sda2 panic=1" -hda archlinuxarm-19-04-2012.img -clock dynticks

and

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 panic=1" -hda debian6-19-04-2012.img -clock dynticks

I needed to download the very latest QEMU binaries from http://qemu.weilnetz.de/ and grabbed the 3.1.9 kernel image from http://xecdesign.com/downloads.....ernel-qemu

See these links for more help -

http://xecdesign.com/qemu-emul.....-easy-way/

http://www.cnx-software.com/20.....with-qemu/

http://www.cnx-software.com/2012/03/08/ ... x-in-qemu/

All credit goes to original posters at links above

ShiftPlusOne
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 6229
Joined: Fri Jul 29, 2011 5:36 pm
Location: The unfashionable end of the western spiral arm of the Galaxy

Re: Arch Linux Arm and QEMU

Thu May 10, 2012 4:33 am

Thanks, I have updated the post on xecdesign to include the link to proper binaries.

ak_hepcat
Posts: 1
Joined: Thu May 24, 2012 8:32 pm

Re: Arch Linux Arm and QEMU

Thu May 24, 2012 8:36 pm

smithae wrote:I just cross-compiled a version of 3.1.9 that seems to work, module dependencies are still broken, but it gets it up and running...
i don't suppose you've got a tarball of the modules available as well? Or the .config
for this kernel?

trying to get ipv6 running, but it's not built-in, and neither is /proc/config....

Thanks!

Return to “General discussion”