大家好,我常小乐又回来了,邦邦邦——邦
这一次的文章兴许有些难呢,起码我翻译的时候觉得挺难,不过到时候很省事,都是代码。。
这篇文章主要讲的就是如何给万博网页版登陆页派刷系统,硬功夫啊,有木有!!
对于咱们国内还拿不到的板的朋友来说,看这个东西真的没什么用,我翻译来也是给大家先预览一下,等以后真的拿到板子,你们会常来这里翻翻看看的,常回家看看回家看看~~~
另外,让我灰常开心的是,终于万博网页版登陆页派也要支持Python了~~撒花~~撒花
会用Qt的高玩们,准备点程序吧,也不枉我大热天辛辛苦苦的和我的台式机抢一个风扇……
本期闲谈就到这里吧,大家好好看文章吧~~~欢迎指正,谢绝批评~~
扎拉赞恩——常小乐 敬
万博网页版登陆页派高级设置
注意:
警告,本帖不适合普通玩家,仅适合骨灰级玩家,慎入呀慎入(欲练此功,必先……)
本文社区里的众多高玩们齐心协力准备给初学者的教程,如果有什么地方出现故障或者本文里没有提到的地方,可以直接来问我,但是在问我之前,请先好好看看FAQ
。
本文是基于Beagle Board Beginner
演化来的,所以,有一些串行端口仅在特定的条件下能通用。同样,很多万博网页版登陆页派的用户将会买我们预装系统的SD
卡,并且跳过的刚才的硬件基本设置。我们希望,一旦万博网页版登陆页派的主板的产量达标以后,每个人都可以拿到一个万博网页版登陆页派了,会有高玩帮助我们把这篇文章改写一下,使其能够完美的契合万博网页版登陆页派的运作,或者也可以把本页直接转链到其他有更好的说明文章的地方。
获取硬件及设置
上集提要:详情请见 硬件基本设置
你需要一个合适的SD
卡,一个USB
键盘,电视或者显示器(有HDMI
、DVI
、复合视频、SCART
输入均可),供电电源(USD
充电器,或者有USB
接口的USB
分线器及其他电脑等)
你可能同样想要一个USB
鼠标,一个外壳,一个USB
集线器(A
款是必备的,因为A
款只有一个USB
接口)。一个可供电的USB
集线器将会大大减少对万博网页版登陆页派的影响。要是想联网的话,你需要一个以太网的网线(仅B
款可以)或者一个USB
的WIFI
网卡(任何一款都可以)。
当一切都准备就绪了,这里强烈建议在一切都插好了,打开了之后再连接电源。
SD卡设置 提高版
现在我们想用SD
卡去装一些GNU/Linux
的套件进去,并且给你的万博网页版登陆页派增加一些空间。你可以用SD
卡或者是SDHC
卡。对于SDHC
来说,很多电脑的读卡器也是同时支持SDHC
的,这里要注意,你不是在处理一个x86
的处理器,而是一个架构完全不同的叫做ARM
的东西,所以还请不要忘记给你准备使用的套件安装一个ARM
的端口。
我们的第一步就是如何去格式化这张SD
卡。
通过mkcard.txt script来格式化SD卡
(有待完善)
1.
下载mkcard.txt
2. $ chmod +x mkcard.txt
3. $ ./mkcard.txt /dev/sdx,
中,x是卡的字母。你可以插入你的卡后找到这个东西,然后运行dmesg | tail.
你可以看到有关设备的信息在日志中纵向安装,我的装好的系统叫“sdc”。
一旦开始运行,你的卡应该被格式化了
通过硬盘分区命令 "专家模式(Expert mode)
格式化SD卡
首先,让我们先清空一下分区表
- ================================================================================
- $ sudo fdisk /dev/sdb
- Command (m for help): o
- Building a new DOS disklabel. Changes will remain in memory only,
- until you decide to write them. After that, of course, the previous
- content won't be recoverable.
- Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
- ================================================================================
复制代码 输出卡片信息:- ================================================================================
- Command (m for help): p
- Disk /dev/sdb: 128 MB, 128450560 bytes
- ....
- ================================================================================
复制代码 注意卡片的字节数,等下在下面的过程中需要用到。
然后进入“Expert mode
”- ================================================================================
- Command (m for help): x
- ================================================================================
复制代码
现在我们得设置255
的磁头数,63
个扇区数,计算本SD/MMC
卡的筒数:
- ================================================================================
- Expert command (m for help): h
- Number of heads (1-256, default 4): 255
- Expert command (m for help): s
- Number of sectors (1-63, default 62): 63
- Warning: setting sector offset for DOS compatiblity
- ================================================================================
复制代码 注意,请特别注意一下下一步,首先按着以下步骤计算筒数:
[li]B = Card size in bytes (you got it before, in the second step when you printed the info out) [/li][li]C = Number of cylinders [/li]
当你得到这个值,你得把他后面的小数位省略,比如,如果你得到108.8
,你用108
就可以了。- ================================================================================
- Expert command (m for help): c
- Number of cylinders (1-1048576, default 1011): 15
- ================================================================================
复制代码 照这样算来,128MB
的卡可以用(用以上的硬盘分区命令应该被记录为128450560 bytes
),因此,128450560 / 255 / 63 / 512 = 15.6
,去掉小数位是15
个筒数,数值就有255
个磁头,63
个分区,每个分区512 bytes
。
到目前为止一切都进展完好,现在我们就要制造两个分区,一个引导系统图像,另一个给我们的套件使用。
划分一个FAT32
的分区给引导系统和从Windows
里传输文件使用。标记为bootable
(可引导)。
- ================================================================================
- Expert command (m for help): r
- Command (m for help): n
- Command action
- e extended
- p primary partition (1-4)
- p
- Partition number (1-4): 1
- First cylinder (1-245, default 1): (press Enter)
- Using default value 1
- Last cylinder or +size or +sizeM or +sizeK (1-245, default 245): +50
- Command (m for help): t
- Selected partition 1
- Hex code (type L to list codes): c
- Changed system type of partition 1 to c (W95 FAT32 (LBA))
- Command (m for help): a
- Partition number (1-4): 1
- ================================================================================
复制代码 制造一个Linux
分区给引导文件系统
- ================================================================================
- Command (m for help): n
- Command action
- e extended
- p primary partition (1-4)
- p
- Partition number (1-4): 2
- First cylinder (52-245, default 52): (press Enter)
- Using default value 52
- Last cylinder or +size or +sizeM or +sizeK (52-245, default 245):(press Enter)
- Using default value 245
- ================================================================================
复制代码 输出并且保存新的分区记录- ================================================================================
- Command (m for help): p
- Disk /dev/sdc: 2021 MB, 2021654528 bytes
- 255 heads, 63 sectors/track, 245 cylinders
- Units = cylinders of 16065 * 512 = 8225280 bytes
- Device Boot Start End Blocks Id System
- /dev/sdc1 * 1 51 409626 c W95 FAT32 (LBA)
- /dev/sdc2 52 245 1558305 83 Linux
- Command (m for help): w
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
- The kernel still uses the old table. The new table will be used at the next reboot.
- WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk
- manual page for additional information.
- Syncing disks.
- ================================================================================
复制代码
现在我们有了个两个分区吗,下一步就是格式化他们。
注意,如果分区(/dev/sdc1 and /dev/sdc2)
不存在,你需要把卡退出来然后再插回去,Linux
现在才能侦测到新分区。- ================================================================================
- $ sudo mkfs.msdos -F 32 /dev/sdc1 -n LABEL
- mkfs.msdos 2.11 (12 Mar 2005)
- $ sudo mkfs.ext3 /dev/sdc2
- mke2fs 1.40-WIP (14-Nov-2006)
- Filesystem label=
- OS type: Linux
- Block size=4096 (log=2)
- Fragment size=4096 (log=2)
- 195072 inodes, 389576 blocks
- 19478 blocks (5.00%) reserved for the super user
- First data block=0
- Maximum filesystem blocks=402653184
- 12 block groups
- 32768 blocks per group, 32768 fragments per group
- 16256 inodes per group
- Superblock backups stored on blocks:
- 32768, 98304, 163840, 229376, 294912
- Writing inode tables: done
- Creating journal (8192 blocks): done
- Writing superblocks and filesystem accounting information:
- ================================================================================
复制代码
好了,一切都完成了。\\
译者注:开心么?总之我是很开心,总算又快译完了一篇了\\
注意:为了方便起见,你可以给mkfs.ext3命令添加 –L
选项来给新的ext3
文件系统指派一个新的磁盘标签。 如果你那样做了,当你把卡插到一些Linux
的主机时,在/media下,
这个新的(自动的)装载点就会建立在这个标签上,这个新挂载点会很有可能会成为一个长型的16
进制的字符串, 所以指派一个标签使得在主机上手工挂载变得非常方便。
设置引导系统分区
这个引导系统分区必须包括一下的文件,在官方的文件中你可以找到他们:
ISC
[li]bootcode.bin : 2nd stage bootloader, starts with SDRAM disabled [/li][li]loader.bin : 3rd stage bootloader, starts with SDRAM enabled
[/li][li]start.elf: The GPU binary firmware image, provided by the foundation. [/li][li]kernel.img: The OS kernel to load on the
ARM processor. Normally this is Linux - see instructions for compiling a kernel. [/li][li]cmdline.txt: Parameters passed to the kernel on boot[/li]
可选择文件:
isc[li]config.txt: A configuration file read by the GPU. Use this to override set the video mode, alter system clock speeds, voltages, etc. [/li][li]
vlls directory: Additional GPU code, e.g. extra codecs. Not present in the initial release. [/li]
基金会所提供的额外的文件:
这些文件都提供在基金会所提供的SD
卡片映像中额外的内核。 使用他们之前你得先重命名kernel.img
(请确保首先你要准备一份原始内核kernel.img
的备份)
isc
[li]kernel_emergency.img : kernel with busybox rootfs. 如果Linux分区崩溃的话,你可以使用这个去修复Linux的使用e2fsck的主分区。[/li]
额外的GPU
固件文件, 复制start.elf
来使用他们:
isc
[li]arm128_start.elf : 128M ARM, 128M GPU split (用这个带大型3D工作,它可能需要一些视频解码) [/li][li]arm192_start.elf : 192M ARM, 64M GPU split (这是系统默认的) [/li][li]arm224_start.elf : 224M ARM, 32M GPU split (这个就是给Linux专门提供无3D和视频文件处理时用的,这个对于1080P的绘图缓冲存储是完全足够的,但是不能再多了) [/li]
最后 引导启动 GNU/Linux
软件的开发与审查
万博网页版登陆页派所支持的平台是Qt
。Qt是一个多平台的C/C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。
Python也已经在基金会的推动下紧锣密鼓的筹备当中。
当编译完成后,使用QEMU 和一个 Linux VM将是你测试软件的一个不错的选择,他同时也能在Windows上运作。
编程语言的选择,在万博网页版登陆页派上的 IDEs和其他的工具主要是又以下3点决定的:
1. 系统的兼容性(当下所使用的Linux的系统版本)
2. 不同的ARM封装的套件库的状态和他们的二进制兼容性
3. 建造其他软件的可能性 + 它从来源上来说对于万博网页版登陆页的相关性和依赖性(取决于C的交叉编译)
本文是坛友常小乐同学辛苦翻译的,原创,转载请注明出处,标明论坛网址。谢谢。提示一下,转载不标网址的,会遭报应的。。。