Fick lite tips om hur man kommer igång med ARM här på forumet. Rådet var att börja med en Raspberry PI och utforska byggprocessen innan jag satte igång och etsa ett eget kort.
Jag har nu plockat ihop ett operativsystem med hjälp av buildroot och tänkte dela med mig av hur jag gått tillväga.
Jag kompilerar på min Fedora 22 laptop
Min pi är en modell B
Skriver testapplikationen I Eclipse Mars med buildroot pluginen tillhörande Juno
Om någon utav mina förklaringar är felaktiga är jag tacksam om ni påpekar detta.
Bygga operativsystem med buildroot
1. Skapa en mapp att arbeta I.
- #mkdir /home/john/dev/buildroot_raspberrypi_hello
#cd /home/john/dev/buildroot_raspberrypi_hello
- #git clone https://github.com/buildroot/buildroot.git
- #echo ”john -1 john -1 =lösenord_i_klartext /home/john /bin/sh dialout” > makeusers
- #cd buildroot
Konfigurera automatiskt för Raspberry pi mod B.
Detta innebär att man slipper tala om vilken linuxkärna som skall laddas ner, vilken processor man kompilerar mot, osv.
#make raspberrypi_defconfig
Fler inställningar
#make xconfig (eller make menuconfig om man föredrar det)
Jag väljer:- Toolchain → C library → glibc
Toolchain → Register toolchain within Eclipse Buildroot plug-in
Toolchain → Build cross gdb for the host
Target packages → Networking applications → openssh
Target packages → Debugging, profiling and benchmark → gdb
Target packages → Debugging, profiling and benchmark → gdb → full
Target packages → Debugging, profiling and benchmark → gdb → gdbserver
Target packages → Text editors and viewers → nano
System configuration → System hostname = raspi
System configuration → System banner = Kul hälsningsfras
System configuration → Root password = starkt lösenord
System configuration → Path to the user table = ../makeusers
- Toolchain → C library → glibc
- Jag fick installera ett par paket som saknades på värddatorn.
Fick felmeddelanden om miljövariabeln PERL_MM_OPT hade något värde
#export PERL_MM_OPT=""
#make -j4
Här är det läge att hitta på något annat en stund.
- Jag tycker om gparted.
Skapar först en FAT32 partition på 50MB, döper den till BOOT och sätter lba flaggan
Använder sedan resten av SD kortet till en EXT4 partition och döper den till ROOT
Mitt operativsystem monterar SD kortets partitioner automatiskt under /var/run/media/john/
- Device tree filerna
#cp output/images/*.dtb /var/run/media/john/BOOT/
Firmware och konfigurationsfiler- #cp output/images/rpi-firmware/* /var/run/media/john/BOOT/
- #./output/host/usr/bin/mkknlimg output/images/zImage /var/run/media/john/BOOT/zImage
- #sudo tar xf output/images/rootfs.tar -C /var/run/media/john/ROOT/
- #sudo echo "auto eth0" >> /var/run/media/john/ROOT/etc/network/interfaces
#sudo echo "iface eth0 inet dhcp" >> /var/run/media/john/ROOT/etc/network/interfaces
8. Provstarta pi:en