changeset 38:3aa2defe6f56

backup 2021-02-04
author autobackup
date Thu, 04 Feb 2021 00:10:03 +0900
parents 6433952b3356
children 888faddb0903
files user/Okud/メモ/2021/02/03.md user/anatofuz/note/2021/02/03.md
diffstat 2 files changed, 65 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/user/Okud/メモ/2021/02/03.md	Thu Feb 04 00:10:03 2021 +0900
@@ -0,0 +1,54 @@
+# gnu-efi Hello World
+## AARCH64(ARM64)
+### クロスコンパイラ環境を整える
+- Docker fileを作る
+```
+FROM ubuntu:18.04
+
+RUN apt-get update && \
+    apt-get upgrade -y && \
+    DEBIAN_FRONTEND=noninteractive \
+    apt-get install -y \
+    qemu-utils \
+    qemu-efi-aarch64 \
+    qemu-system-arm \
+    build-essential \
+    uuid-dev \
+    git \
+    python \
+    iasl \
+    nasm && \
+    DEBIAN_FRONTEND=noninteractive \
+    apt-get install -y \
+    crossbuild-essential-armhf
+
+WORKDIR /workdir
+RUN git clone --recursive https://github.com/naoki9911/xv6_uefi.git
+```
+- ```docker build -t xv6-uefi .``` して```docker images```
+- ```mkdir build```でディレクトリを作って
+- ```docker run --rm -it --name xv6 -v $PWD/build:/tmp/build xv6-uefi bash```
+
+- docker内で
+    - ```cd edk2```edk2に移動し
+    - ```make -C BaseTools```
+    - ``` source edksetup.sh```
+    - ``` export GCC5_ARM_PREFIX=arm-linux-gnueabihf-```
+    - ``` build -a ARM -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc```
+    - これで```QEMU_EFI.fd```を作成
+    ### gnu-efiをbuild
+    - gnu-efiをダウンロード(ver3.0.12)
+```https://sourceforge.net/projects/gnu-efi/files/?source=navbar```
+    - cd gnu-efi-3.0.12
+    - ```make CROSS_COMPILE=arm-linux-gnueabihf-```
+    - ``` make CROSS_COMPILE=arm-linux-gnueabihf- apps```
+    - ```cp -r arm /tmp/build```
+ 
+## 起動
+- dockerから抜けて
+- ```cd build```で移動して
+- QEMUで起動
+- ```qemu-system-arm -m 128  -M virt -bios ./QEMU_EFI.fd -serial stdio -hda fat:rw:arm/apps```
+- qemuのshellで```fs0:```でデバイスに移動して
+- ```t.efi```でHelloWorldが出力
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/user/anatofuz/note/2021/02/03.md	Thu Feb 04 00:10:03 2021 +0900
@@ -0,0 +1,11 @@
+```
+{
+  primitive =>  [
+      AtomicT => [qw/AtomicT_int/],
+      AtomicTImpl => [qw/AtomicT_intImpl_int/],
+    ],
+    Innver => [
+      PhilsImopl => tAtomicT => AtomicT_int
+    ]
+};
+```