[{"data":1,"prerenderedAt":1118},["ShallowReactive",2],{"$fxnbfcq8kkg2b":3,"$f36thwiac6tgpp":10},{"id":4,"type":5,"meta":6},"archive\u002Farch-on-arm","markdown",{"title":7,"date":8,"description":9},"Arch on (generic) ARM","3\u002F9\u002F2023","Installing Arch Linux ARM on a generic device.",{"frontmatter":11,"meta":12,"nodes":89},{"title":7,"date":8,"description":9},{"toc":13},{"title":14,"searchDepth":15,"depth":15,"links":16},"",2,[17,20,23,26,29,32,35,38,41,44,47,50,61,80,83,86],{"id":18,"depth":15,"text":19},"why","Why?",{"id":21,"depth":15,"text":22},"note","Note",{"id":24,"depth":15,"text":25},"preparations","Preparations",{"id":27,"depth":15,"text":28},"partitioning-the-disks","Partitioning the disks",{"id":30,"depth":15,"text":31},"formatting-mounting-our-partitions","Formatting & Mounting our partitions",{"id":33,"depth":15,"text":34},"downloading-the-os","Downloading the OS",{"id":36,"depth":15,"text":37},"making-the-fstab","Making the fstab",{"id":39,"depth":15,"text":40},"making-the-startup-script","Making the startup script",{"id":42,"depth":15,"text":43},"getting-ready-for-first-boot","Getting ready for first boot",{"id":45,"depth":15,"text":46},"using-the-startupnsh","Using the startup.nsh",{"id":48,"depth":15,"text":49},"networking","Networking",{"id":51,"depth":15,"text":52,"children":53},"getting-a-proper-boot-setup","Getting a proper boot setup",[54,58],{"id":55,"depth":56,"text":57},"using-efistub",3,"Using efistub",{"id":59,"depth":56,"text":60},"using-grub","Using GRUB",{"id":62,"depth":15,"text":63,"children":64},"finishing-up","Finishing up",[65,68,71,74,77],{"id":66,"depth":56,"text":67},"hostname","Hostname",{"id":69,"depth":56,"text":70},"hosts","Hosts",{"id":72,"depth":56,"text":73},"time-zone","Time zone",{"id":75,"depth":56,"text":76},"localization","Localization",{"id":78,"depth":56,"text":79},"users","Users",{"id":81,"depth":15,"text":82},"and-youre-done","And you're done",{"id":84,"depth":15,"text":85},"what-next","What next?",{"id":87,"depth":15,"text":88},"credits","Credits",[90,93,108,115,117,134,136,139,162,164,167,179,186,207,214,221,224,235,246,252,258,260,271,281,287,307,310,325,328,341,343,346,349,360,363,373,376,379,386,389,407,410,433,436,438,449,452,509,511,522,561,563,566,583,586,595,597,600,607,610,612,615,627,630,640,642,645,653,656,671,674,686,693,705,708,714,731,759,762,770,772,775,786,789,808,811,826,829,837,839,849,875,878,891,893,900,910,912,919,929,932,934,937,966,972,982,984,995,998,1007,1014,1021,1023,1030,1051,1054,1067,1070,1078,1085,1098,1100,1103,1105,1108,1110],[91,92,19],"h2",{"id":18},[94,95,96,97,101,102,107],"p",{},"Arch Linux is a good distro, but it doesn't ",[98,99,100],"strong",{},"officially"," support ARM. Thus, the unofficial ",[103,104,106],"a",{"href":105},"https:\u002F\u002Farchlinuxarm.org\u002F","Arch Linux ARM"," project exists, aiming to support lots of ARM computers. There is a problem however, if you are trying to install it on a generic VM or a computer not explicitly mentioned by their guides then you need to use the generic guide, which is essentially boils down to: \"DIY\".",[94,109,110,111,114],{},"So, if you want to install Arch Linux ARM on a ",[98,112,113],{},"generic"," ARM computer (like QEMU or UTM on Apple M1), then read on.",[91,116,22],{"id":21},[94,118,119,120,124,125,129,130,133],{},"This might work or might not. It will only work on UEFI systems and I have only tested this on a VM, be cautious if you are doing it on real hardware. Also, if you are using something like the raspberry pi, you should use the ",[103,121,123],{"href":122},"https:\u002F\u002Farchlinuxarm.org\u002Fplatforms","official documentation"," instead. Check the list, and only proceed with this guide if your device is not there.\nThis guide doesn't cover dual-boots. Finally, you should have an ARM v8 (aka. ",[126,127,128],"code",{},"aarch64",", aka. ",[126,131,132],{},"arm64",") processor, this guide does not cover older\u002F32 bit ARM CPU's.",[91,135,25],{"id":24},[94,137,138],{},"You will need to use another distro to actually do the installation. I used Fedora, but any distro should in theory work.\nFor the rest of this guide (unless explicitly stated), it is assumed you will be root.\nSo, switch over to root:",[140,141,144],"pre",{"language":142,"class":143},"sh","shj shiki shj-lang-sh",[126,145,147],{"class":146},"language-sh",[148,149,152,157],"span",{"class":150,"style":151},"line","display: inline",[148,153,156],{"class":154,"style":155},"shj-syn-func shj-func","color:#1e66f5;--shiki-dark:#89b4fa","sudo",[148,158,161],{"class":159,"style":160},"shj-syn-kwd shj-kwd","color:#8839ef;--shiki-dark:#cba6f7"," -s",[91,163,28],{"id":27},[94,165,166],{},"This part generally assumes you already know how to partition disks, and it doesn't matter how you do it. I'll use fdisk, but it really doesn't matter. First, list out your drives with:",[140,168,169],{"language":142,"class":143},[126,170,171],{"class":146},[148,172,173,176],{"class":150,"style":151},[148,174,175],{"class":154,"style":155},"fdisk",[148,177,178],{"class":159,"style":160}," -l",[94,180,181,182,185],{},"And find the one you want to install with.\nNext, enter that drive like so, replace ",[126,183,184],{},"\u003Cxxx>"," with your drive:",[140,187,188],{"language":142,"class":143},[126,189,190],{"class":146},[148,191,192,194,195,200,203,204],{"class":150,"style":151},[148,193,175],{"class":154,"style":155}," ",[148,196,199],{"class":197,"style":198},"shj-syn-oper shj-oper","color:#179299;--shiki-dark:#94e2d5","\u002Fdev\u002F",[148,201,202],{"class":197,"style":198},"\u003C","xxx",[148,205,206],{"class":197,"style":198},">",[94,208,209,210,213],{},"Now that we're in the partitioner, delete all your partitions if you have any by typing ",[126,211,212],{},"d"," and then enter.\nRepeat this until you have no more partitions left.",[94,215,216,217,220],{},"Then, let's create a new GPT disklabel by pressing ",[126,218,219],{},"g"," and then enter.",[94,222,223],{},"Now, let's create our partitions.\nThis will be the UEFI partition, and it will contain our kernels and bootloaders.",[94,225,226,227,230,231,234],{},"Press ",[126,228,229],{},"n"," and then enter twice, and then type in ",[126,232,233],{},"+500M"," to make a partition 500 megabytes in size.",[94,236,237,238,241,242,245],{},"Then, press ",[126,239,240],{},"t"," and type in ",[126,243,244],{},"1",". This makes our partition have the type of EFI System.",[94,247,248,249,251],{},"For our root partition, press ",[126,250,229],{}," and then enter three times to create a root partition which takes up the rest\nof the disk.",[94,253,254,255,220],{},"Finally, to save our changes, press ",[126,256,257],{},"w",[91,259,31],{"id":30},[94,261,262,263,266,267,270],{},"First, format the root partition as ",[126,264,265],{},"ext4",".\nThe root partition would be the second partition on the drive, for example: ",[126,268,269],{},"\u002Fdev\u002Fsda2",".",[140,272,273],{"language":142,"class":143},[126,274,275],{"class":146},[148,276,277,278],{"class":150,"style":151},"mkfs.ext4 ",[148,279,280],{"class":197,"style":198},"\u002Fdev\u002Froot_partition",[94,282,283,284,270],{},"And then format the EFI System partition.\nThe EFI system partition would be the first partition on the drive, for example: ",[126,285,286],{},"\u002Fdev\u002Fsda1",[140,288,289],{"language":142,"class":143},[126,290,291],{"class":146},[148,292,293,296,194,299,194,304],{"class":150,"style":151},[148,294,295],{"class":154,"style":155},"mkfs.fat",[148,297,298],{"class":159,"style":160}," -F",[148,300,303],{"class":301,"style":302},"shj-syn-num shj-num","color:#fe640b;--shiki-dark:#fab387","32",[148,305,306],{"class":197,"style":198},"\u002Fdev\u002Fefi_system_partition",[94,308,309],{},"Then, let's mount the root partition:",[140,311,312],{"language":142,"class":143},[126,313,314],{"class":146},[148,315,316,194,319,194,321,324],{"class":150,"style":151},[148,317,318],{"class":154,"style":155},"mount",[148,320,280],{"class":197,"style":198},[148,322,323],{"class":197,"style":198},"\u002Fmnt\u002Farch"," --mkdir",[94,326,327],{},"and the EFI partition:",[140,329,330],{"language":142,"class":143},[126,331,332],{"class":146},[148,333,334,194,336,194,338,324],{"class":150,"style":151},[148,335,318],{"class":154,"style":155},[148,337,280],{"class":197,"style":198},[148,339,340],{"class":197,"style":198},"\u002Fmnt\u002Farch\u002Fboot",[91,342,34],{"id":33},[94,344,345],{},"If you've done a typical Arch\u002FGentoo install, you will notice that so far this has been very typical.\nThis is the part where things start to differ from the typical install guide.\nThis is because this guide will use efistub to boot the kernel instead of a conventional bootloader.\nefistub is basically just allows us to boot directly into the kernel without a bootloader.",[94,347,348],{},"First, cd into the drive like so:",[140,350,351],{"language":142,"class":143},[126,352,353],{"class":146},[148,354,355,194,358],{"class":150,"style":151},[148,356,357],{"class":154,"style":155},"cd",[148,359,323],{"class":197,"style":198},[94,361,362],{},"then, let's download the rootfs like so:",[140,364,365],{"language":142,"class":143},[126,366,367],{"class":146},[148,368,369,372],{"class":150,"style":151},[148,370,371],{"class":154,"style":155},"wget"," http:\u002F\u002Fos.archlinuxarm.org\u002Fos\u002FArchLinuxARM-aarch64-latest.tar.gz",[94,374,375],{},"You can also use curl, or a browser, it doesn't matter.",[94,377,378],{},"Beware that this might take a while.",[94,380,381,382,385],{},"A rootfs is essentially a linux distribution packaged into a tarball. The entire root filesystem is packaged and distributed.\nThis makes it excellent for use in containers or ",[126,383,384],{},"chroot","'s, but it can be more difficult to use if you are using it\nfor bare metal.",[94,387,388],{},"Now that it's done, extract it like so:",[140,390,391],{"language":142,"class":143},[126,392,393],{"class":146},[148,394,395,398,401,402,194,405],{"class":150,"style":151},[148,396,397],{"class":154,"style":155},"bsdtar",[148,399,400],{"class":159,"style":160}," -xpvf"," ArchLinuxARM-aarch64-latest.tar.gz",[148,403,404],{"class":159,"style":160}," -C",[148,406,323],{"class":197,"style":198},[94,408,409],{},"or if you don't have bsdtar:",[140,411,412],{"language":142,"class":143},[126,413,414],{"class":146},[148,415,416,419,420,423,428,429,194,431],{"class":150,"style":151},[148,417,418],{"class":154,"style":155},"tar"," xpvf ArchLinuxARM-aarch64-latest.tar.gz --xattrs-include",[148,421,422],{"class":197,"style":198},"=",[148,424,427],{"class":425,"style":426},"shj-syn-str shj-str","color:#40a02b;--shiki-dark:#a6e3a1","'*.*'"," --numeric-owner",[148,430,404],{"class":159,"style":160},[148,432,323],{"class":197,"style":198},[94,434,435],{},"which will unpack it into our partitions.",[91,437,37],{"id":36},[94,439,440,441,444,445,448],{},"Let's now generate the fstab, this file tells the operating system what partitions to mount at boot.\nYou can either make it yourself, or, you can use ",[126,442,443],{},"genfstab",".\nMaking it ourselves is the easier option, so we will do that.\nFirst, get your partition UUID's by running ",[126,446,447],{},"blkid",". These will also be important later on.",[94,450,451],{},"Then, edit the fstab by replacing the UUID's accordingly, with the first UUID being the one of the first partition,\nand the second UUID being the UUID of the second partition.",[140,453,454],{"language":142,"class":143},[126,455,456,472,473,472,493,472,504],{"class":146},[148,457,458,194,461,194,463,194,466,194,469],{"class":150,"style":151},[148,459,460],{"class":154,"style":155},"cat",[148,462,206],{"class":197,"style":198},[148,464,465],{"class":197,"style":198},"\u002Fmnt\u002Farch\u002Fetc\u002Ffstab",[148,467,468],{"class":197,"style":198},"\u003C\u003C",[148,470,471],{"class":425,"style":426},"\"EOF\"","\n",[148,474,475,480,482,483,486,487,194,490],{"class":150,"style":151},[148,476,479],{"class":477,"style":478},"shj-syn-var shj-var","color:#4c4f69;--shiki-dark:#cdd6f4","UUID",[148,481,422],{"class":197,"style":198},"XXXX-XXXX                               ",[148,484,485],{"class":197,"style":198},"\u002Fboot","    vfat    defaults,noatime    ",[148,488,489],{"class":301,"style":302},"0",[148,491,492],{"class":301,"style":302},"2",[148,494,495,497,499,500,194,502],{"class":150,"style":151},[148,496,479],{"class":477,"style":478},[148,498,422],{"class":197,"style":198},"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX    \u002F        ext4    noatime             ",[148,501,489],{"class":301,"style":302},[148,503,244],{"class":301,"style":302},[148,505,506],{"class":150,"style":151},[148,507,508],{"class":154,"style":155},"EOF",[91,510,40],{"id":39},[94,512,513,514,517,518,521],{},"Because we are unable to set up ",[98,515,516],{},"proper"," boot functionality without being actually booted into the OS,\nwe have to use a startup.nsh script.\nThis is the UEFI's last resort if there is absolutely nothing else available to boot.\nReplace the UUID with the UUID of the ",[98,519,520],{},"root"," partition, not the boot one.",[140,523,524],{"language":142,"class":143},[126,525,526,472,539,472,557],{"class":146},[148,527,528,194,530,194,532,194,535,194,537],{"class":150,"style":151},[148,529,460],{"class":154,"style":155},[148,531,206],{"class":197,"style":198},[148,533,534],{"class":197,"style":198},"\u002Fmnt\u002Farch\u002Fboot\u002Fstartup.nsh",[148,536,468],{"class":197,"style":198},[148,538,471],{"class":425,"style":426},[148,540,541,194,544,546,479,548,550,551,554,556],{"class":150,"style":151},[148,542,543],{"class":154,"style":155},"Image",[148,545,520],{"class":477,"style":478},[148,547,422],{"class":197,"style":198},[148,549,422],{"class":197,"style":198},"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw ",[148,552,553],{"class":477,"style":478},"initrd",[148,555,422],{"class":197,"style":198},"\\initramfs-linux.img",[148,558,559],{"class":150,"style":151},[148,560,508],{"class":154,"style":155},[91,562,43],{"id":42},[94,564,565],{},"First, unmount the partitions:",[140,567,568],{"language":142,"class":143},[126,569,570,472,577],{"class":146},[148,571,572,194,575],{"class":150,"style":151},[148,573,574],{"class":154,"style":155},"umount",[148,576,340],{"class":197,"style":198},[148,578,579,194,581],{"class":150,"style":151},[148,580,574],{"class":154,"style":155},[148,582,323],{"class":197,"style":198},[94,584,585],{},"then, reboot like so:",[140,587,588],{"language":142,"class":143},[126,589,590],{"class":146},[148,591,592],{"class":150,"style":151},[148,593,594],{"class":154,"style":155},"reboot",[91,596,46],{"id":45},[94,598,599],{},"While you reboot, enter your UEFI settings by pressing whatever key (different on every computer),\nand attempt to boot with the UEFI Shell. If you can't find it, remove the live media and attempt to reboot.",[94,601,602,603,606],{},"Then, it should give you a message about pressing escape to skip startup.nsh. Do ",[98,604,605],{},"not"," press escape.",[94,608,609],{},"With any luck, you should be booted into your brand new system! But you're not done yet.",[91,611,49],{"id":48},[94,613,614],{},"As far as I know, Archlinux ARM only comes with tools for ethernet.\nIf you use ethernet it should work out of the box, if you use wifi, you would have to figure out how to chroot into the new install.",[94,616,617,618,621,622,626],{},"Instructions for chrooting into an Arch install without ",[126,619,620],{},"arch-chroot"," can be found ",[103,623,625],{"href":624},"https:\u002F\u002Fwiki.archlinux.org\u002Ftitle\u002Fchroot#Using_chroot","on the Arch wiki",". From there you just have to install a wireless manager and whatever else you might need.",[94,628,629],{},"You can check your internet by running:",[140,631,632],{"language":142,"class":143},[126,633,634],{"class":146},[148,635,636,639],{"class":150,"style":151},[148,637,638],{"class":154,"style":155},"ping"," google.com",[91,641,52],{"id":51},[94,643,644],{},"Now that we can boot, let's make this an actual proper system.",[94,646,647,648,650,651,270],{},"Log in as ",[126,649,520],{}," with the password: ",[126,652,520],{},[94,654,655],{},"Then, let's setup the keys:",[140,657,658],{"language":142,"class":143},[126,659,660,472,666],{"class":146},[148,661,662,665],{"class":150,"style":151},[148,663,664],{"class":154,"style":155},"pacman-key"," --init",[148,667,668,670],{"class":150,"style":151},[148,669,664],{"class":154,"style":155}," --populate archlinuxarm",[94,672,673],{},"then, update the system:",[140,675,676],{"language":142,"class":143},[126,677,678],{"class":146},[148,679,680,683],{"class":150,"style":151},[148,681,682],{"class":154,"style":155},"pacman",[148,684,685],{"class":159,"style":160}," -Syu",[94,687,688,689,692],{},"Now, let's install ",[126,690,691],{},"efibootmgr",":",[140,694,695],{"language":142,"class":143},[126,696,697],{"class":146},[148,698,699,701,704],{"class":150,"style":151},[148,700,682],{"class":154,"style":155},[148,702,703],{"class":159,"style":160}," -S"," efibootmgr",[706,707,57],"h3",{"id":55},[94,709,710,711,270],{},"If you would like to use efistub for all future boots, read on.\nHowever, you can also use grub, which is a bit easier and more familiar, and if you want to read ",[103,712,60],{"href":713},"#using-grub",[94,715,716,717,719,720,723,724,727,728,730],{},"And create the boot entry:\nReplace ",[126,718,184],{}," with your ",[98,721,722],{},"disk",", not a partition. So for example, ",[126,725,726],{},"\u002Fdev\u002Fsda",".\nand the UUID with the UUID of the root partition.\nYou can get the UUID with the ",[126,729,447],{}," command.",[140,732,733],{"language":142,"class":143},[126,734,735],{"class":146},[148,736,737,739,740,743,744,746,747,750,751,754,755,758],{"class":150,"style":151},[148,738,691],{"class":154,"style":155}," --disk ",[148,741,742],{"class":197,"style":198},"\u002Fdev\u002Fxxx"," --part ",[148,745,244],{"class":301,"style":302}," --create --label ",[148,748,749],{"class":425,"style":426},"\"Arch Linux ARM\""," --loader ",[148,752,753],{"class":197,"style":198},"\u002FImage"," --unicode ",[148,756,757],{"class":425,"style":426},"'root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw initrd=\\initramfs-linux.img'"," --verbose",[94,760,761],{},"and then reboot:",[140,763,764],{"language":142,"class":143},[126,765,766],{"class":146},[148,767,768],{"class":150,"style":151},[148,769,594],{"class":154,"style":155},[706,771,60],{"id":59},[94,773,774],{},"If you would like to use grub, first, install the grub package:",[140,776,777],{"language":142,"class":143},[126,778,779],{"class":146},[148,780,781,783,785],{"class":150,"style":151},[148,782,682],{"class":154,"style":155},[148,784,703],{"class":159,"style":160}," grub",[94,787,788],{},"then install it to your ESP:",[140,790,791],{"language":142,"class":143},[126,792,793],{"class":146},[148,794,795,798,799,801,802,804,805,807],{"class":150,"style":151},[148,796,797],{"class":154,"style":155},"grub-install"," --target",[148,800,422],{"class":197,"style":198},"arm64-efi --efi-directory",[148,803,422],{"class":197,"style":198},"\u002Fboot --bootloader-id",[148,806,422],{"class":197,"style":198},"Arch",[94,809,810],{},"and generate the config:",[140,812,813],{"language":142,"class":143},[126,814,815],{"class":146},[148,816,817,820,194,823],{"class":150,"style":151},[148,818,819],{"class":154,"style":155},"grub-mkconfig",[148,821,822],{"class":159,"style":160}," -o",[148,824,825],{"class":197,"style":198},"\u002Fboot\u002Fgrub\u002Fgrub.cfg",[94,827,828],{},"and then finally reboot:",[140,830,831],{"language":142,"class":143},[126,832,833],{"class":146},[148,834,835],{"class":150,"style":151},[148,836,594],{"class":154,"style":155},[91,838,63],{"id":62},[94,840,841,842,845,846,692],{},"First, install a text editor like ",[126,843,844],{},"vim"," or ",[126,847,848],{},"nano",[140,850,851],{"language":142,"class":143},[126,852,853,472,865],{"class":146},[148,854,855,857,859,860],{"class":150,"style":151},[148,856,682],{"class":154,"style":155},[148,858,703],{"class":159,"style":160}," nano ",[148,861,864],{"class":862,"style":863},"shj-syn-cmnt shj-cmnt","color:#7c7f93;--shiki-dark:#9399b2","# for nano",[148,866,867,869,871,872],{"class":150,"style":151},[148,868,682],{"class":154,"style":155},[148,870,703],{"class":159,"style":160}," vim ",[148,873,874],{"class":862,"style":863},"# for vim",[94,876,877],{},"you can also delete the tarball we downloaded to save disk space like so:",[140,879,880],{"language":142,"class":143},[126,881,882],{"class":146},[148,883,884,194,887,890],{"class":150,"style":151},[148,885,886],{"class":154,"style":155},"rm",[148,888,889],{"class":197,"style":198},"\u002FArchLinuxARM-aarch","64-latest.tar.gz",[706,892,67],{"id":66},[94,894,895,896,899],{},"Then, pick a hostname by editing ",[126,897,898],{},"\u002Fetc\u002Fhostname",", for example:",[140,901,904],{"language":902,"class":903},"txt","shj shiki shj-lang-txt",[126,905,907],{"class":906},"language-txt",[148,908,909],{"class":150,"style":151},"bobs-pc",[706,911,70],{"id":69},[94,913,914,915,918],{},"And set the ",[126,916,917],{},"\u002Fetc\u002Fhosts"," file to:",[140,920,921],{"language":902,"class":903},[126,922,923,472,926],{"class":906},[148,924,925],{"class":150,"style":151},"127.0.0.1    localhost",[148,927,928],{"class":150,"style":151},"::1          localhost",[94,930,931],{},"for basic aliases.",[706,933,73],{"id":72},[94,935,936],{},"Set your timezone like so:",[140,938,939],{"language":142,"class":143},[126,940,941],{"class":146},[148,942,943,946,194,949,952,954,955,957,958,960,961,194,963],{"class":150,"style":151},[148,944,945],{"class":154,"style":155},"ln",[148,947,948],{"class":159,"style":160}," -sf",[148,950,951],{"class":197,"style":198},"\u002Fusr\u002Fshare\u002Fzoneinfo\u002F",[148,953,202],{"class":197,"style":198},"Region",[148,956,206],{"class":197,"style":198},"\u002F",[148,959,202],{"class":197,"style":198},"City",[148,962,206],{"class":197,"style":198},[148,964,965],{"class":197,"style":198},"\u002Fetc\u002Flocaltime",[94,967,968,969,692],{},"and run this to generate ",[126,970,971],{},"\u002Fetc\u002Fadjtime",[140,973,974],{"language":142,"class":143},[126,975,976],{"class":146},[148,977,978,981],{"class":150,"style":151},[148,979,980],{"class":154,"style":155},"hwclock"," --systohc",[706,983,76],{"id":75},[94,985,986,987,990,991,994],{},"Edit ",[126,988,989],{},"\u002Fetc\u002Flocale.gen"," and uncomment ",[126,992,993],{},"en_US.UTF-8 UTF-8"," as well as any other locales you want.",[94,996,997],{},"To generate them, run:",[140,999,1000],{"language":142,"class":143},[126,1001,1002],{"class":146},[148,1003,1004],{"class":150,"style":151},[148,1005,1006],{"class":154,"style":155},"locale-gen",[94,1008,1009,1010,1013],{},"You should also create ",[126,1011,1012],{},"\u002Fetc\u002Flocale.conf"," and set the LANG variable properly:",[140,1015,1016],{"language":902,"class":903},[126,1017,1018],{"class":906},[148,1019,1020],{"class":150,"style":151},"LANG=en_US.UTF-8",[706,1022,79],{"id":78},[94,1024,1025,1026,1029],{},"Add a new user like so:\nReplace ",[126,1027,1028],{},"\u003Cuser>"," with the name of the user.",[140,1031,1032],{"language":142,"class":143},[126,1033,1034],{"class":146},[148,1035,1036,1039,1042,1043,194,1046,1048,1049],{"class":150,"style":151},[148,1037,1038],{"class":154,"style":155},"useradd",[148,1040,1041],{"class":159,"style":160}," -G"," wheel,audio,video",[148,1044,1045],{"class":159,"style":160}," -m",[148,1047,202],{"class":197,"style":198},"user",[148,1050,206],{"class":197,"style":198},[94,1052,1053],{},"and set the password for the user:",[140,1055,1056],{"language":142,"class":143},[126,1057,1058],{"class":146},[148,1059,1060,194,1063,1048,1065],{"class":150,"style":151},[148,1061,1062],{"class":154,"style":155},"passwd",[148,1064,202],{"class":197,"style":198},[148,1066,206],{"class":197,"style":198},[94,1068,1069],{},"as well as setting the root password:",[140,1071,1072],{"language":142,"class":143},[126,1073,1074],{"class":146},[148,1075,1076],{"class":150,"style":151},[148,1077,1062],{"class":154,"style":155},[94,1079,1080,1081,1084],{},"Additionally, Arch Linux ARM comes with a normal user for ssh (",[126,1082,1083],{},"alarm","), but we do not need them, so we can delete them:",[140,1086,1087],{"language":142,"class":143},[126,1088,1089],{"class":146},[148,1090,1091,1094,1097],{"class":150,"style":151},[148,1092,1093],{"class":154,"style":155},"userdel",[148,1095,1096],{"class":159,"style":160}," -r"," alarm",[91,1099,82],{"id":81},[94,1101,1102],{},"You can now reboot the system, and login as the user you created.",[91,1104,85],{"id":84},[94,1106,1107],{},"You can try installing a graphical environment (which may be very challenging), or installing other tools.\nYou may also want to install sudo and some other convenient packages. Maybe try to get graphics working?",[91,1109,88],{"id":87},[94,1111,1112,1113,1117],{},"A massive props goes to ",[103,1114,1116],{"href":1115},"https:\u002F\u002Fgist.github.com\u002Fthalamus\u002F561d028ff5b66310fac1224f3d023c12","this github gist","\nwhich explains how to do some of the same things, just using a different approach.",1793746156621]